Un terminal?Dans cette section nous évoquons les différents moyens de communiquer avec un processeur. Ce n'est bien entendu pas spécifique à rforth1 ni aux PIC - même si certains éléments évoqués ici le sont... Le port sérieLes communications en série sont des communications très simples - qui consistent à envoyer bit à bit sur un fil des niveaux hauts ou bas qui sont la représentation de chaque bit des octets que l'on veut envoyer. Protocole électrique
Un des problèmes que l'on rencontre avec les ports série vient de l'incompatibilité de ses niveaux électriques avec la logique CMOS. Comme la plupart des circuits intégrés, le PIC18F est réalisé en logique CMOS. Il faut donc effectuer une adaptation de niveaux si jamais on veut le faire parler aver un PC... qui suit la norme RS232. Conséquences opérationnellesPour faire parler un PIC avec un PC, il faut un circuit d'adapation de niveaux de type MAX232. TODO: Mettre le schéma de notre cable RS232<->PIC Protocole logiqueSignal d'horlogeLes protocoles série existent en deux familles : les protocoles synchrones et les protocole asynchrones.
Dans le cas du PIC, on va faire le plus simple possible au niveau matériel : donc pas de contrôle de flux matériel, pas de signal d'horloge. C'est d'autant plus aisé que l'UART intégré ne gère pas le contrôle de flux ni le synchrone. Protocole de communicationL'envoi d'un octet sur le port série s'effectue de la façon suivante:
Dans le cas de l'asynchrone, faute de signal d'horloge il faut en plus une vitesse de transmission approximative, qui sera affinée automatiquement par le matériel de réception. On passera sous silence les contrôles de flux matériel (avec des fils supplémentaires) et logiciels (XON, XOFF). So what?En résumé: la transmission série est une des plus simple qu'il soit - au moins au niveau matériel. Par contre, cette simplicité se fait au prix d'une grosse contrainte: l'utilisateur doit paramétrer exactement de la même façon les deux extrémitées de la ligne.
Réglons la cibleLe processeur n'a en général aucune notion de sa vitesse de fonctionnement. Il n'a donc aucun moyen de savoir comment il doit diviser son horloge interne afin de générer (ou de recevoir) les données. Pour ça, pas de secret, il faut se palucher la notice technique.
|
|||



