Cuprins
- 1. Prezentarea generală a aplicaţiei.2
- 2. Componente implementate.6
- DDRB.6
- PORTB.7
- SCI0BD.9
- SCI0CR1.10
- SCI0CR2.10
- SCI0SR1.11
- SCI0SR2. .11
- SCI0DR.12
- 3. Organigramele aplicaţiei software de recepţie.13
- 4. Bibliografie.14
Extras din proiect
1. Prezentarea generală a aplicaţiei
Proiectul urmăreşte dezvoltarea unei aplicaţii soft prin intermediul căreia se va comunica cu una dintre interfeţele seriale ale sistemului de dezvoltare ZK-S12-A. Interfaţa serială folosită va fi una dintre cele două interfeţe de comunicaţie serială asincronă SCI.
O astfel de comunicaţie serială, între emisie şi recepţie, se realizează printr-o singură linie. Din această cauză la un moment dat, nu se poate transfera decât un singur bit între cele două echipamente. Transferul serial al unui cuvânt (octet) de la emiţător la receptor se realizează prin multiplexare, respectiv demultiplexare.
În implementare se va utiliza pentru emisie un sistem de calcul (PC), care intermediul unei interfaţe de comandă (program C++ Builder) transmite cuvinte serial către microcontroler, utilizând un cablu serial. Totul se desfăşoară cu ajutorul unei a doua interfeţe (program CodeWarrior) care se ocupă de partea de recepţie. Odată ce aceste cuvinte ajung la intrarea modulului serial al plăcii, SCI, vor fi transmise mai departe către procesor şi apoi după prelucrare, se va afişa pe cele 8 LED-uri ale ZK-S12-A codul corespunzător fiecăruia. Prelucrarea presupune conversia serie-paralel, adică datele sosite în format serie de la PC vor fi transformate în format paralel deoarece aprinderea LED-urilor presupune folosirea unui port paralel al sistemului.
Conexiunile la liniile de comunicaţie serială se realizează prin pinul de recepţie date (RXD Data In) şi prin pinul de transmisie date (TXD DataOut).
Un asemenea proces necesită sincronizare. Extrem de importantă, această cerinţă presupune ca în timpul transferului de date, fiecare cuvânt transmis să fie încadrat între un bit de start şi un bit de stop. În general, un cuvânt cuprinde o secvenţă de 8 sau 9 biţi de date. În cazul de faţă vom avea secvenţe de 8 biţi cu 1 bit de start şi 1, deci 10 biţi transmiţi în final. Rolul celor doi biţi suplimentari ar fi e a înlocui semnalul de tact comun pentru emiţător şi receptor care nu se foloseşte în cazul acestui tip de transmisie.
Emiţătorul, în acest caz aplicaţia soft, încarcă succesiv pe linia de comunicaţie biţii corespunzători cuvântului introdus de la perifericele sistemului de calcul (mouse sau tastatură), cu frecvenţa de comunicaţie fc, programată şi exprimată în biţi/s.
În aşteptarea secvenţei de biţi încărcată la emisie, linia de comunicaţie este monitorizată continuu şi testată periodic, în vederea recepţiei acestei secvenţe. Avem deci partea de recepţie serială. După bitul de start cu nivel logic “0” urmează emisia celor 8 biţi de date, începând cu bitul de semnificaţie minimă. În cazul general, ultimul bit de date emis poate fi bit de paritate utilizat la recepţie pentru verificare de erori. Acestui bit deşi i se poate seta tipul de paritate, nu va fi folosit de către aplicaţie. După ultimul bit de date urmează emisia unui bit de stop cu nivel logic “1”.
Comunicaţia serială asincronă între două echipamente se poate realiza în ambele, sau chiar printr-o singură linie, în cazul comunicaţiei semiduplex (half-duplex) sau simultan, prin două linii, , în cazul comunicaţiei duplex (full-duplex). În aplicaţie se va folosi de semiduplex.
Modulul de interfaţă pentru cumunicaţie serială asincronă SCI (Serial Communication Interface) al unui microcontroler din familia HCS12X conţine 6 canale cu structuri identice. Dintre acestea aplicaţia foloseşte SCI0. Interfaţa serială de pe placă poate fi găsită fizic sub denumirea de RS-232, iar pentru SCI0 aceasta va fi RS-232-0.
Acum, în ceea ce priveşte conectarea PC-sistem de dezvoltare ZK-S12-A vom considera următoarea figură:
Preview document
Conținut arhivă zip
- Procesoare - Comunicatia Seriala.doc