Dans ce projet, notre but est de connaître le fonctionnement du port série et de programmer en assembleur des protocoles de communication entre deux PC. Pour établir la communication entre les deux PC, nous allons transmettre les 8 bits de données les uns après les autres, au lieu de les transmettre simultanément comme dans le cas d'une liaison parallèle
[...] Il suffit de taper ECHAP pour quitter. ; en-tête standard COM EQU 2E8h ; COM 4 RBR EQU COM THR EQU COM DLL EQU COM DLM EQU COM+1 LCR EQU COM+3 LSR EQU COM+5 CALL INITPORT ; appelle la fonction d'initialisation du port série BOUCLE: mov ah,01h ;on regarde si une touche est pressée int 16h jz SUITE CALL VERIFENVOI ; Vérifie si le port COM est pret à emettre JNE SUITE mov ah,00h int 16h ;récupère la touche saisie au clavier CALL envoi ;envoie le caractère saisi au clavier sur le port COM cmp ;Si le caractère était alors on quitte je FIN SUITE: CALL VERIFlecture ;on regarde sur le port série si un caractère est en attente JNE BOUCLE CALL lecture ;on lit le caractère en attente cmp ; si c'est Q alors on quitte je FIN mov dl,al mov ah,02h ; on affiche le caractère int 21h JMP BOUCLE FIN: MOV AX,4C00h ; fin du prog, retour au DOS INT 21h ;Fonction qui initialise le port COM INITPORT: ;acces registre divisions MOV DX,LCR MOV AL,10011111b OUT DX,AL ;vitesse de tranfert MOV DX,DLM XOR AL,AL OUT DX,AL MOV DX,DLL MOV AL,01h OUT DX,AL ;blocage config MOV DX,LCR MOV AL,00011111b OUT DX,AL RET ;Retour à l'appelant ;Fonction qui vérifie si on peut envoyer des données sur le port série VERIFENVOI: MOV DX,LSR IN AL,DX AND AL,01000000b CMP AL,01000000b RET ;Retour à l'appelant ;Fonction qui vérifie si on peut lire sur le port série VERIFlecture: MOV DX,LSR in AL,DX AND AL,00000001b CMP AL,00000001b RET ;Retour à l'appelant ;Fonction qui envoie le caractère contenu dans AL sur le port série envoi: MOV DX,THR OUT DX,AL RET ;Retour à l'appelant ;Fonction qui stocke dans AL la donnée lue sur le port série lecture: MOV DX,RBR IN AL,DX RET ;Retour à l'appelant END III Protocole logiciel STX/ETX: En protocole logiciel, tout est contrôlé par le programme, on ne fait plus appel aux registres de contrôles et d'état. [...]
[...] Nous avons donc utilisé un amplificateur opérationnel monté en comparateur. Nous avons ensuite relié le montage aux PCs, la transmission fonctionnait en protocole BIOS Simplex. Conclusion Ce TPM nous a permis de comprendre comment les transmissions série et optique fonctionnent. Avec les nombreux moyens de transmissions mis à notre disposition, il était essentiel de connaître les bases de la transmission sérielle. De plus, nous avons pu aborder les dernières technologies de communication, comme la fibre optique, ce qui fut une partie très motivante. [...]
[...] Voici le schéma de fonctionnement de la fibre optique. IV Montage électronique Pour établir une communication par fibre optique nous les émetteurs et les récepteurs de référence HFBR-15X1/25X1, dont le schéma de branchement est le suivant : Nous avons d'abord testé le montage le signal généré par un GBF. Puis nous avons remplacé le GBF par le l'ordinateur et nous avons placé un autre ordinateur à la réception. En utilisant, un des programmes présentés précédemment, nous avons pu faire communiquer les deux ordinateurs. [...]
[...] ;en-tête pile segment stack ; définition du segment pile pile ends donnee segment byte ; définition du segment pile donnee ends code segment public ; définition du segment code assume cs:code,ds:donnee,ss:pile COM equ 03h ; on définit l'adresse du port COM4 dans la variable COM ;initialisation du port série mov AH,00h mov AL,11100011b ; 9600 bauds - pas de parité - 1 bit d'arrêt - mot de 8 bits mov DX,COM int 14h boucle: mov AH,01h int 21h cmp AL,0DH ; 0D=entree jnz emission jmp fin ;envoie d'1 caractere emission: mov AH,01h mov DX,COM int 14h verification: ; vérifie que la transmission du caractère est terminée mov AH,03h mov DX,com int 14h and AH,40H jz verification ; réception d'1 caractere mov AH,02h mov DX,COM int 14h ;affichage d'1 caractere mov AH,0Eh int 10h jmp boucle fin : mov AH,4Ch mov AL,00h int 21h code ends end Simplex La transmission simplex correspond à une communication unidirectionnelle.L'ordinateur est soit récepteur soit émetteur. Pour pouvoir transmettre des données à l'autre PC, nous avons relié la ligne TD à la ligne RD, et vice-versa. Il faut synchroniser les vitesses de transmission et les différents paramètres d'initialisation des ports séries des deux PC. [...]
[...] Les Trois types de protocoles sont : -le protocole BIOS. -le protocole Matériel. -le protocole Logiciel. Finalement, nous finirons par établir une connexion par fibre optique. Protocole BIOS : Interruption 14H L'interruption 14H est une interruption logicielle contenue dans la ROM BIOS qui comporte plusieurs fonctions appelées dans le programme, comme par exemple l'initialisation du port de communication, la lecture et écriture d'un caractère sur un port série. Le programme bouchon est essentiel pour la suite du projet car il suffit de le modifier pour obtenir les programmes de transmission simplex, half- duplex et full-duplex. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture