Carte de conversion analogique ð numérique Retour vers page ANA12T   Accueil

VERSION 3.0

  NAUTIL© 

  NOUVELLE CARTE ANA12-T REVISION 3.0 ! 

Logo News1

NOUVEAU TIMER 82C54 

 

 

CONTENU DE CE DOCUMENT

   A) INTRODUCTION

   B) INSTALLATION DES PROGRAMMES DOS

   C) DESCRIPTION DU CONTENU DES DISQUETTES

   D) UTILISATION DU LOGICIEL ANA12LIB AVEC LE LANGAGE BASIC

   E) MODIFICATION APPORTEE PAR ANA12LIB VERSION 1.4 (+ ETALON2.EXE)

   F) NOTE SUR L'UTILISATION DU TIMER 82C54 (HORLOGE PROGRAMMABLE)

  G) NOTE SUR L'UTILISATION DE LA CARTE EN MULTIVOIES

  H) NOUVELLE CARTE ANA12T révision 3.0

  I) DEVELOPPEMENT D'APPLICATIONS AVEC DELPHI (Borland©)

  J) DEVELOPPEMENT D'APPLICATIONS AVEC Visual BASIC (Microsoft©)

  K) DEVELOPPEMENT D'APPLICATIONS SUR MESURES :

Société S.E.R.I.A.N.E.

) 06 5290 4970   EMail : nautil@seriane.fr  

 

  A) INTRODUCTION

 ü Le nouveau programme WINANA12 fonctionnant sous Windows95 permet de tester rapidement la carte ANA12T en affichant de manière graphique les valeurs converties sur chacune des 16 voies. La version 3.20 de juin 98 corrige le problème d'aquisition en mode normal. En effet seul le mode de mesures différentielles était opérationnel.
Logo New2 Une version spécifique pour Windows NT4 est disponible en téléchargement.

 ü Un programme de démonstration sous Windows (3.x ou 95) est disponible sur les disquettes dont les sources écrits sous VisualBASIC 4.0 (VB4) sont fournis (cf. DEMO_VB4.VBP). Il illustre la manière d'exploiter la carte ANA12T depuis VB4. Ces sources utilisent la compilation conditionnelle de VB4 permettant de générer des programmes exécutables 16 ou 32 bits.
Logo New2 Un driver ana12t.sys et une dll associée ana12t.dll pour Windows NT4 sont disponibles en téléchargement ainsi que des programmes d'exemples en VisualBASIC 4 et 5.

 ü La version d'ANA12LIB livrée actuellement est 1.4. Des modifications au niveau matériel (hardware) et logiciel (software) ont été apportés à l'ANA12-T depuis la version 1.0.

Les fonctions TIME_ON et AUTO_AC ont été modifiées afin de permettre l'acquisition de données jusqu'à 198 kHz (150 kHz avec 386DX40 + 128 Ko cache).

ATTENTION ! Pour faire fonctionner ces deux fonctions à des fréquences supérieures à 19 kHz, vous devez IMPERATIVEMENT avoir une carte NAUTIL ANA12T révision 3.0 ou supérieure (Eventuellement contacter votre revenduer pour effectuer une mise à niveau).

 ü Un oscilloscope et un voltmètre numérique sont également disponibles sur les disquettes (développés par la société SERIANE).

  Retour...

  B) INSTALLATION DES PROGRAMMES DOS

Pour installer les logiciels DOS sur le disque C insérez la disquette 2/2 dans votre lecteur A: et entrez les commandes suivantes :

A: ¿

INSTALL A: C: ¿

 

Note : Remplacer C par D pour installer les logiciels DOS sur le disque D.

 

L'installation crée un répertoire ANA12V30 sur le disque C (ou D).

Si vous installez l'oscilloscope de démonstration et le voltmètre de la société SERIANE, ces deux outils se trouvent dans le sous-répertoire SANA12.

  Retour...

  C) DESCRIPTION DU CONTENU DES DISQUETTES

xxxxxxxx.xx_ Fichiers compressés utilisés par WinANA12.

SETUP.EXE Programme d'installation du logiciel WINANA12 et des sources du programme de démonstration.

(A exécuter depuis le menu Démarrer de Windows 95)

 

\

INSTALL.BAT Fichier de commandes pour l'installation des programmes.

WININST.BAT Fichier de commandes affichant un écran d'explication pour l'installation des logiciels Windows®.

LISEZMOI.DOC C'est le fichier que vous lisez mais au format DOS et non Windows !

LISEZMOI.EXE Programme permettant de lire le LISEZMOI.DOC (sous DOS).

xxxxxxxx.xx_ Fichiers compressés utilisés par WinANA12 et les sources du programme de démonstration DEMO_VB4 sous Windows95.

 

\DOS

ANA12T.ASM Source Assembleur du programme exemple de fonctionnement sous

interruptions.

ANA12T.EXE Exécutable du programme Assembleur.

ANA12LIB.ASM Source Assembleur de la bibliothèque ANA12LIB.

ANA12LIB.EXE Bibliothèque de fonctions permettant de gérer la carte ANA12-T.

DEMO_BAS.BAS Programme exemple en BASICA ou GWBASIC pilotant la carte

ANA12-T avec le logiciel ANA12LIB.

DEMO_QBC.BAS Source d'un programme exemple en QBASIC (livré avec DOS 6.x)

pilotant la carte ANA12-T avec le logiciel ANA12LIB.

DEMO_QB.BAS Source d'un programme exemple en QuickBASIC 4.x pilotant la carte

ANA12-T avec le logiciel ANA12LIB.

DEMO_QBA.EXE Programme exemple en QuickBASIC 4.x pilotant la carte ANA12-T

avec le logiciel ANA12LIB (exécutable déjà compilé).

ETALON.BAS Source du programme BASIC (Quick-BASIC 4.x) d'étalonnage de la

carte ANA12-T version standard.

ETALON.EXE Programme d'étalonnage de la carte ANA12-T version standard.

ETALON2.BAS Source du programme BASIC (Quick-BASIC 4.x) d'étalonnage de la

carte ANA12-T (version test timer à 198 kHz).

ETALON2.EXE Programme d'étalonnage de la carte ANA12-T (version test timer à

198 kHz).

INTANA12.BIN Fichier utilisé par DEMO_BAS.BAS.

 

\SANA12 Sous-répertoire SANA12

INSTALL.BAT Programme d'installation du logiciel exemple développé par la société

SERIANE () 06 5290 4970  EMail : nautil@seriane.fr)

INSTAN12.EXE Fichier compressé contenant l'oscilloscope de démonstration ANA12T

et le voltmètre numérique (SERIANE© 1993-97).

 

\TEMP Sous-répertoire temporaire utilisé par l'installation

 

  Retour...

  D) UTILISATION DU LOGICIEL ANA12LIB AVEC LE BASIC

 Pour utiliser le programme DEMO_QBA.BAS avec le QuickBASIC 4.x, il faut charger le QuickBASIC par la commande : QB DEMO_QBA /L

 

Cette commande charge une librairie nommée QB.QLB, obligatoire pour utiliser la fonction INTERRUPT. Reportez vous à la documentation fournie avec la carte.

  Retour...

  E) MODIFICATION APPORTEE PAR ANA12LIB VERSION 1.4

 Bibliothèque ANA12LIB :

 

Le chargement de la bibliothèque accepte à présent n'importe quel numéro compris entre ØØ et FFh pour le vecteur d'interruption logiciel.

Les numéros recommandés sont : 60 à 66, 78 à 7F et F1 à FF.

 Le source des fonctions Mise en route du timer et Acquisition automatique a été modifié afin d'accélérer l'acquisition automatique de valeurs.

 

Modification de la fonction n° Ø :

 

Cette fonction doit être OBLIGATOIREMENT la première appelée dans un

programme utilisant la librairie ANA12LIB.

Cette fonction retourne maintenant un code identificateur (en ASCII) de la

librairie dans les variables OutRegs.bx et OutRegs.cx :

 

OutRegs.bx = 6578h ð Valeur hexadécimale des codes ASCII du caractère A (65)

et du caractère N (78). Cette chaîne de caractères AN correspond au code famille de la librairie.

OutRegs.cx = 485Øh ð Valeur hexadécimale des codes ASCII du caractère Ø

(48) et du caractère 2 (5Ø). Cette chaîne de caractères Ø2

correspond au code dans la famille de la librairie.

 

Les deux variables, OutRegs.bx et OutRegs.cx, permettent de vérifier que la librairie

appelée est bien la librairie de la carte ANA12T, dans le cas où des librairies de cartes

différentes ou des drivers serait déjà chargés en mémoire.

 

Exemple :

 

IDANA12LIB$="AN02"

InRegs.ax = 0

CALL INTERRUPT (Intnum,InRegs,OutRegs)

IDLib$ = CHR$ (OutRegs.bx/256) + CHR$ (OutRegs.bx MOD 256)

IDLib$ = IDLib$ + CHR$ (OutRegs.cx/256) + CHR$(OutRegs.cx MOD 256)

IF IDLib$ <> IDANA12LIB$ THEN

CLS

PRINT "La librairie appelée n'est pas la librairie ANA12LIB"

END

END IF

 

 

Le programme d'étalonnage de la carte ANA12T (ETALON.EXE) a été modifié pour tenir compte des nouvelles possibilités de la bibliothèque (n° du vecteur d'interruption pouvant être choisi entre 6Ø et FF hexadécimal et teste l'identificateur de la bibli-

othèque retourné par la fonction n° Ø).

D'autre part ETALON2.EXE permet de tester les acquisitions faîtes avec le timer jusqu'à la fréquence de 198 kHz (ETALON étant limité à 10 kHz afin de rester compatible avec les versions de la carte ANA12T antérieures à la version 3.0.

Les sources ETALON.BAS et ETALON2.BAS sont fournis.

 

  Retour...

  F) NOTE SUR L'UTILISATION DU TIMER (HORLOGE PROGRAMMABLE)

 Le nouveau Timer de l'ANA12T (INTEL 82C54) est exactement le même que ceux disponibles dans chaque PC.

L'horloge programmable est constituée de deux compteurs 16 bits montés en cascade. La sortie du compteur 0 est relié à l'entrée horloge du compteur 1.

La sortie du compteur 1 est reliée à la logique de déclenchement d'acquisition d'une valeur analogique.

Cette configuration permet de disposer d'un compteur 32 bits, le compteur 0 représentant la partie basse du long mot (LsWord) et le compteur 1 la partie haute du long mot (MsWord).

(Note : Un long mot est composé de 4 octets (4x8 bits) ou 2 mots (2x16 bits)).

 

L'horloge pilotant le compteur 0 a une fréquence de 2,385815 MHz.

Les compteurs disposent de plusieurs modes de fonctionnement, mais dans le cadre de la carte ANA12-T ils doivent être utilisés en mode générateur de signal carré (mode n°3).

Une fois initialisé, chargement d'une valeur dans le compteur comprise entre 2 et 65535, ce dernier décompte et reboucle automatiquement en fin de décomptage. La sortie passe à 1 dès qu'il est programmé et reste à 1 pendant (valeur compteur+1)/2 puis passe à 0. Dès que le compteur reboucle la sortie passe à nouveau à 1 et ainsi de suite.

 

ATTENTION ! NE JAMAIS PROGRAMMER UNE VALEUR EGALE À 1 DANS UN COMPTEUR. En effet en mode 3, une valeur de 1 réalise une division de la fréquence du signal d'entrée par 65535 (voir explication ci-dessous).

 

Lorsque la valeur programmée (N) dans le compteur est paire, le signal carré généré en sortie a un rapport cyclique de 50%.

Par contre, dans le cas d'une valeur impaire, le signal est à l'état haut pendant (N+1)/2 et à

l'état bas pendant le temps restant soit (N-1)/2. Une valeur de 1 est donc à proscrire.

 

La fréquence du signal de sortie se calcule de la manière suivante :

  Fout = 2,385815 MHz / ValCpt0 x ValCpt1

 

Exemple :

Une valeur égale à 2 dans le compteur 0 permet d'obtenir en sortie de ce compteur un signal de fréquence 1,192908 MHz (soit l'horloge d'entrée divisée par deux) qui sert d'horloge au compteur 1. Si on programme une valeur égale à 6 dans le compteur 1 on réalise une division globale par 12 (2 x 6) et on obtient alors une fréquence d'acquisition de 198 kHz.

(Rappel : La sortie du compteur 1 est reliée à la logique de déclenchement d'acquisition d'une valeur analogique).

 

Cette fréquence est la fréquence maximale que l'on peut obtenir en acquisition mono-voie avec un convertisseur à 5 µs (convertisseur livré en standard). Elle peut être portée théoriquement à 330 kHz avec un convertisseur à 3 µs.

 

 

Modification du tableau page 33 du manuel ANA12T SC0=1 et SC1=1 n'est plus illégal mais correspond à une nouvelle mode appelé READBACK.

 

- Description de la commande READBACK :

 

D7 D6  D5      D4    D3   D2   D1 DØ

1  1 !COUNT !STATUS CPT2 CPT1 CPTØ Ø

 

D5 = Ø Mémorisation du/des compteur(s) sélectionnés

D4 = Ø Mémorisation de l'état du/des compteur(s) sélectionnés

D3 = 1 Sélectionne le compteur n° 2

D2 = 1 Sélectionne le compteur n° 1

D1 = 1 Sélectionne le compteur n° Ø

Le ! signifie que la commande est active à l'état bas (Ø)

 

!COUNT : Cette commande (D5 = Ø) permet de mémoriser un ou plusieurs compteurs. Le ou les compteurs restent mémorisés tant qu'ils n'ont pas été lus ou reprogrammés.

 

!STATUS : Cette commande (D4=Ø) permet de mémoriser l'état d'un ou plusieurs compteurs.

 

- Description du registre d'état :

  D7   D6 D5  D4  D3 D2 D1 DØ

OUTPUT X  RL1 RLØ M2 M1 MØ BCD

 

Les bits D5 à DØ sont le reflet des bits programmés dans le registre de contrôle.

OUTPUT est le reflet de l'état de la sortie du compteur sélectionné.

D7 = 0 => La sortie du compteur sélectionné est à 0.

D7 = 1 => La sortie du compteur sélectionné est à 1.

 

Note : Le registre d'état est lu de la même manière et à la même adresse que la valeur du compteur. Dans le cas d'une commande mixte !COUNT=Ø et !STATUS=Ø la première lecture retournera le status, la ou les suivantes retourneront la valeur du compteur (celà dépend du mode de lecture programmé (cf.p34).

 

Remarque :

Le Timer INTEL 82C54 est exactement le même que ceux disponibles dans chaque PC.

 

  Retour...

  G) NOTE SUR L'UTILISATION DE LA CARTE EN MULTIVOIES

 Il faudra veiller à respecter une temporisation de 25 micro-secondes entre chaque changement de voie afin de respecter le temps d'établissement de l'amplificateur de précision. Dans le cas contraire, des valeurs erronées seront retournées par le convertisseur.

La fonction permettant de sélectionner une voie dans la bibliothèque ANA12LIB gère cette temporisation automatiquement.

 

  Retour...

  H) NOUVELLE CARTE ANA12T révision 3.0

Le timer de l'ANA12T est désormais l'INTEL 82C54 supprimant le bug du 8253 et est plus souple d'utilisation (Voir chapitre NOTE SUR L'UTILISATION DU TIMER 82C54).

 Les lignes d'interruptions (IRQ) disponibles sur la carte ont changées. Les lignes d'interruption 2, 6 et 7 ne sont plus gérées par la carte et sont remplacées par les lignes 10, 11 et 12.

La gestion de ces nouvelles lignes diffère des précédentes. Ce chapitre complète le chapitre UTILISATION SOUS INTERRUPTIONS du manuel.

 

La ligne IRQ3 correspond à COM2, IRQ4 à COM1 et IRQ5 à LPT2.

Les lignes IRQ10 et IRQ11 sont normallement libres, IRQ12 correspondant au port souris

compatible PS2.

 

a - Pour les lignes 3, 4 et 5

Le numéro de l'interruption se calcule en ajoutant 8 au numéro physique de la ligne.

Exemple pour IRQ5 :

MOV DX,OFFSET GESTIONIRQ

MOV AL,8+5

MOV AH,25H

INT 21H

 

b - Pour les lignes 10, 11 et 12

Le numéro de l'interruption se calcule en ajoutant 104 (68h) au numéro physique de la ligne.

Exemple pour IRQ10 :

MOV DX,OFFSET GESTIONIRQ

MOV AL,104+10

MOV AH,25H

INT 21H

 

a - Pour les lignes 3, 4 et 5

La validation de la ligne d'IRQ pour le premier contrôleur 8259 se trouve à l'adresse 21h. Le bit 0 (Lsb) correspond à IRQ0 le bit 7 (Msb) à IRQ7.

Exemple pour IRQ3 :

IN AL,21H

AND AL,0F7H ; Bit 3 à 0 pour valider IRQ3

OUT 21H,AL

 

b - Pour les lignes 10, 11 et 12

La validation de la ligne d'IRQ pour le second contrôleur 8259 se trouve à l'adresse A1h. Le

bit 0 (Lsb) correspond à IRQ8 le bit 7 (Msb) à IRQ15.

Exemple pour IRQ11 :

IN AL,0A1H

AND AL,0F7H ; Bit 3 à 0 pour valider IRQ11

OUT 0A1H,AL

 

a - Pour les lignes 3, 4 et 5

La dévalidation de la ligne d'IRQ pour le premier contrôleur 8259 se trouve à l'adresse 21h. Le bit 0 (Lsb) correspond à IRQ0 le bit 7 (Msb) à IRQ7.

Exemple pour IRQ3 :

IN AL,21H

OR AL,8 ; Bit 3 à 1 pour dévalider IRQ3

OUT 21H,AL

 

b - Pour les lignes 10, 11 et 12

La dévalidation de la ligne d'IRQ pour le second contrôleur 8259 se trouve à l'adresse A1h. Le bit 0 (Lsb) correspond à IRQ8 le bit 7 (Msb) à IRQ15.

Exemple pour IRQ11 :

IN AL,0A1H

OR AL,8 ; Bit 3 à 1 pour dévalider IRQ11

OUT 0A1H,AL

 

 

a - Pour les lignes 3, 4 et 5

L'acquittement de l'interruption pour le premier contrôleur 8259 se fait à l'adresse 20h.

Exemple :

MOV AL,20H

OUT 20H,AL

 

b - Pour les lignes 10, 11 et 12

L'acquittement de l'interruption pour le second contrôleur 8259 se fait à l'adresse A0h. Les lignes d'IRQ 8 à 15 étant cascadées sur la ligne IRQ2 du premier contrôleur on devra également acquitter le premier contrôleur.

Exemple :

MOV AL,20H

OUT 0A0H,AL

OUT 20H,AL

 

  Retour...

  I) DEVELOPPEMENT D'APPLICATION AVEC DELPHI (Borland©)

Un nouveau chapitre a été ajouté dans le manuel concernant la programmation de la carte ANA12T avec DELPHI de Borland (page 36).

Les instructions d'entrée/sortie n'existant plus dans le compilateur PASCAL inclu dans DELPHI on aura recours à la programmation en assembleur. En effet DELPHI inclu un assembleur permettant de mixer du code PASCAL avec du code assembleur.

 

  Retour...

  J) DEVELOPPEMENT D'APPLICATIONS AVEC Visual BASIC (Microsoft©)

Un programme de démonstration sous Windows (3.x ou 95) est disponible sur les disquettes dont les sources écrits sous VisualBASIC 4.0 (VB4) sont fournis (cf. DEMO_VB4.VBP).

Ces sources utilisent la compilation conditionnelle de VB4 permettant de générer des programmes exécutables 16 ou 32 bits.

Par défaut ce programme est installé dans le répertoire Program Files\WINANA12.

 

Le programme de démonstration pourra être utilisé en totalité ou en partie pour générer une nouvelle application. Il est scindé en deux modules, un module standard DEMO_VB4.BAS et un module de feuille DEMO_VB4.FRM.

 

Le module standard contient les déclarations des procédures externes ainsi que les variables partagées (Public).

De plus, il contient la procédure MAIN qui est la première procédure appelée au démarrage du programme (Le projet utilise la feuille de démarrage Sub Main. Menu Outils, Options, Projet...). Cette procédure contient la boucle principale de gestion des évênements du programme.

 

Toutes les procédures concernant directement la carte sont contenues dans le module de feuille DEMO_VB4.FRM.

La procédure Form_Load du module de feuille contient toutes les initialisations pour la gestion de la carte ANA12T : L'adresse de la carte, les adresses des différents registres et surtout le chargement de la DLL NAUTIL via la procédure ChargeDll.

Cette DLL doit être chargée en mémoire avant tout appel aux instructions INP et OUT.

La procédure ChargeDll utilise la compilation conditionnelle de VB4 (voir plus loin), puisqu'il y a une DLL 16 bits (NAUTDLL.DLL) et une DLL 32 bits (NAUTDLL2.DLL).

Si votre application doit fonctionner sous Windows 3.x et 95, elle devra obligatoirement être compilé en 16 bits et fera appel à NAUTDLL.DLL.

Si votre application doit fonctionner uniquement sous Windows 95, elle devra obligatoirement être compilé en 32 bits et fera appel à NAUTDLL2.DLL.

 

Note :

La fonction TestCarteANA12 retourne la valeur True (Vraie) si une carte a été détectée à l'adresse hexadécimale 330 (816 décimale) ce qui permet de positionner la variable simulation à False (faux). L'adresse de base de la carte AdrBase est définie dans la procédure Form_Load.

 

Les constantes de compilation WIN32 et WIN16 permettent d'inclure dans le même source du code spécifique 32 et 16 bits. Ces constantes sont initialisées automatiquement à partir de l'environnement de développement de Visual BASIC. Dans l'environnement 32 bits, WIN32 est vraie et WIN16 est fausse. Dans l'environnement 16 bits, WIN16 est vraie et WIN32 est fausse.

 

  Retour...

  K) DEVELOPPEMENT D'APPLICATION SUR MESURE : SERIANE

La société S.E.R.I.A.N.E. développe des applications autour des produits NAUTIL.

Les applications peuvent être sous DOS, Windows® , WindowsNT® , UNIX, sous un environnement propriétaire, sous DTVEE, LabView, etc ...

Un exemple d'applicatif développé sous une interface propriétaire est présent sur cette disquette dans le répertoire SANA12 (Osciloscope + voltmètre numérique).

) 06 5290 4970   EMail : nautil@seriane.fr  

Pour aller sur le site de la société S.E.R.I.A.N.E.

logo SERIANE

  Retour...                   ANA12T...              Accueil...