SERIJSKA KOMUNIKACIJA RAČUNARA I USART MODULA MIKROKONTROLERA PIC16F877A Elektronski fakultet Niš
Download ReportTranscript SERIJSKA KOMUNIKACIJA RAČUNARA I USART MODULA MIKROKONTROLERA PIC16F877A Elektronski fakultet Niš
Elektronski fakultet Niš Katedra za elektroniku SERIJSKA KOMUNIKACIJA RAČUNARA I USART MODULA MIKROKONTROLERA PIC16F877A Dejan Lazić 10520 Ivan Novaković 10305 Prenos podataka (osnovne podele) (I) Serijski Paralelni (II) Asinhroni Sinhroni Serijski prenos podataka Prenose se podaci preko jedinstvene linije Laka detekcija grešaka Razvijeni su brojni pouzdani protokoli za serijski prenos Paralelni prenos podataka Veliki broj potrebnih veza (jedna linija po bitu podatka) Prenosi se n bitova istovremeno Koristi se, kada se prenose podaci na kraćim rastojanjima (sistemska magistrala procesora, GPIB magistrala itd.) Asinhroni prenos podataka Predajnik može da pošalje podatak bilo kada Asinhroni prijemnik ne regeneriše takt na osnovu dolazećeg signala Start-stop metodom se utvrđuje početak i kraj podatka Sinhroni prenos podataka Predajnik i prijemnik su sinhronizovani Predajnik generiše taktni signal koji se prenosi do prijemnika preko posebnog kanala ili je direktno regenerisan od strane prijemnika iz dolazećeg signala Princip regenerisanja takta kod ovog načina prenosa prikazan je na Slici Sinhroni prenos podataka – ram podatka Uobičajeno se podaci predaju kao okviri, tj. ramovi (frame) fiksnog obima Svaku informaciju na početku i kraju prate preambule (preamble). Serijski port Bidirekcioni komunikacijski (COM) port Duplex ili half-duplex prenos Ima ugrađene FIFO bafere Serijski port – EIA standard PARAMETAR način rada EIA 232 RS 423-A RS 422-A RS 485 nebalansirani nebalansirani diferencijalni diferencijalni 1 drajver 1 prijemnik 1 drajver 10 prijemnik 1 drajver 10 prijemnik 32 drajvera 32 prijemnika 15 1200 1200 1200 maksimalna brzina prenosa podataka [bps] 20 K 100 K 10 M 10 M maksimalni napon na zajedničkim krajevima [V] + 25 +6 6 do –0.25 12 do –7 broj drajvera i prijemnika maksimalna dužina kabla [m] Serijski port – DSUB konektori Serijski port – signali 1/2 DSUB-25 DSUB-9 Signal Opis signala pin 2 pin 3 TD Transmit Data pin 3 pin 2 RD Receive Data pin 4 pin 7 RTS Request To Send pin 5 pin 8 CTS Clear To Send pin 6 pin 6 DSR Data Set Ready pin 7 pin 5 SG Signal Ground pin 8 pin 1 CD Carrier Detect pin 20 pin 4 DTR pin 22 pin 9 RI Data Terminal Ready Ring Indicator Serijski port – signali 2/2 Signal Značenje signala Opis signala TD Transmit Data Serijski izlaz podataka (TXD) RD Receive Data Serijski ulaz podataka (RXD) RTS Request ToSend Indicira spremnost modema za razmenu podataka CTS Clear To Send Kada modem detektuje signal "Carrier" od modema sa druge strane linije, onda ona postaje aktivna DSR Data Set Ready DCE signalizira da je spreman za rad SG Signal Ground Masa CD Carrier Detect DCE javlja da je veza uspostavljena DTR RI Data Terminal Ready Indicira DCE uređaju da je DTE spreman Ring Indicator Signalizira detekciju signala "zvona" na tel. liniji USART Univerzalni sinhroni i asinhroni prijemnik/predajnik (USART) čine: Takt generator, Delitelji frekvencije, Ulazni pomerački registar, Izlazni pomerački registar, Kontrolna logika čitanja i upisa, Kontrolna logika slanja i prijema, Bafer prijemnika (opciono), Bafer predajnika (opciono), FIFO (opciono). USART – blok-šema čipa Intel 8251A USART – prenos podatak preko modema i telefonske linije Mikrokontroler PIC16F877A PIC16F877A – osnovne karakteristike 1/3 RISC mikroprocesor visokih performansi 35 instrukcija obima jedne reči Radna frekvencija do 20 MHz Trajanje taktnog intervala 200 ns, pri frekvenciji 20 MHz Opkôd obima 14 bita Harverski magacin sa osam nivoa Tri načina adresiranja (direktno, indirektno i relativno) Programska flash memorija kapaciteta 8 k X 14-bitnih reči Memorije za podatke tipa RAM kapaciteta 368 X 8 bita Memorije za podatke EEPROM tipa kapaciteta 256 X 8 bita Prekidi (do 14 izvora prekida) U/I portovi: A, B, C, D, E PIC16F877A – osnovne karakteristike 2/3 Tri tajmera: - Timer0 (TMR0): 8-bitni tajmer/brojač_događaja - Timer1 (TMR1): 16-bitni tajmer/brojač_događaja - Timer2 (TMR2): 8-bitni tajmer/brojač_događaja 10-bitni 8-kanalni analogno-digitalni (A/D) konvertor Serijska komunikacija: MSSP, USART Paralelna komunikacija: PSP Power-on Reset - reset pri uključenju napajanja (POR) Power-up timer - unošenje kašnjenja nakon uključenja napajanja (PWRT) Oscillator Start-up Timer - unošenje kašnjenja nakon stabilizovanja radne frekvencije oscilatora (OST) PIC16F877A – osnovne karakteristike 3/3 Sleep mode - režim rada sa malim utroškom energije Watchdog tajmer sa sopstvenim integrisanim RC oscilatorom za nezavisan rad Izbor tipa oscilatora Radni napon od 2V do 5.5V Mala potrošnja energije: <0.6 mA pri naponu od 3V i radnoj frekvenciji od 4 MHz 20µA pri naponu od 3V i radnom taktu od 32kHz <1µA u standby režimu rada. PIC16F877A – arhitektura PIC16F877A – programska memorija PIC16F877A – registri PIC16F877A – izbor kristala kvarca i keramičkih kondenzatora PIC16F877A – blok šema A/D konvertora mikroC – softver za PIC mikrokontrolere Kvalitetan editor sa automatskom kontrolom Jasan asemblerski kôd i standardna kompatibilnost generisanih HEX datoteka Preglednost strukture programa (kôda) Veliki broj integrisanih biblioteka i rutina, koje značajno ubrzavaju pisanje programa Detaljni izveštaji i grafičko predstavljanje mape RAM i ROM memorija, statistike kôda i slično. mikroC – osnovni prozor mikroC – UART terminal mikroC – parametri UART terminala Parametri koji se podešavaju: Serijski port (COM1, COM2, COM3) Brzina prenosa Broj stop bitova (1, 1.5 ili 2) Izbor parnosti (bez, parna, neparna itd.) Broj bitova koji čine karakter (5, 6, 7 ili 8) Uključivanje/isključivanje handshaking signala (RTS i DTR) Izbor formata podatka koji se šalje (ASCII, HEX ili DEC) Način slanja. mikroC – tablica ASCII simbola Programiranje mikrokontrolera Za programiranje mikrokontrolera potrebni su Bootstrap loader (na primer ALLPIC) i Softver (na primer IC-Prog). ALLPIC bootstrap loader Jednostavan i jeftin (do 10 evra) Pripada grupi JDM loadera Programiranje preko serijskog porta. ALLPIC – električna šema IC Prog – softver za programiranje Jednostavan za korišćenje Kompatibilan sa 10-ak bootstrap loadera Projekat – električna šema VDD U2 LED1 LED2 VDD D1 D2 LED LED R2 R3 1 0K 1 0K SW2 P1 R4 R5 4 K7 4 K7 SW3 AD1 Gn d 1 0K VDD C4 Gn d 1 00 n F 7 -1 5 V F1 1 2 1 Gnd J1 U1 LM7 80 5 Vin FUSE CON2 Vo ut Gn d 3 C2 R1 1 0K C3 2 C1 VDD 1 00 0 u F MCLR PB7 PA0 PB6 PA1 PB5 PA2 PB4 PA3 PB3 PA4 PB2 PA5 PB1 RD PB0 WR VDD CS VSS VDD PD7 VSS PD6 OSC1 PD5 OSC2 PD4 PC0 PC7 PC1 PC6 PC2 PC5 PC3 PC4 PD0 PD3 PD1 PD2 X1 X2 1 00 n F SW1 Gn d Gn d Gn d C8 Gn d Gn d C5 2 7p F Gn d C6 2 7p F 1 00 n F Gn d C1 0 1 00 n F C1 1 1 00 n F Gn d RXD RTSD TXD CTSD C7 1 00 n F MAX2 32 Gn d 1 6 2 7 3 8 4 9 5 Gn d CON6 DB9 Gn d VDD VDD PD0 PD1 PD2 PD3 16 15 Gn d 14 RXD 13 TXD 12 TX 11 RX 10 CTS 9 RTS 1 2 3 4 5 6 C9 1 00 n F C1 + Vcc V+ Gn d C1 T1o u t C2 + R1 in C2 R1 ou t VT1in T2o u t T2in R2 in R2 ou t Gn d J2 U3 1 2 3 4 5 6 7 CTSD 8 RTSD 40 39 38 37 36 35 34 33 RTS 32 VDD 31 Gn d 30 29 28 27 26 TX 25 RX 24 23 22 PD3 21 PD2 PIC1 6F8 7 7A Y1 4 MHz MCLR 1 00 u F 1 MCLR 2 AD1 3 LED1 4 LED2 5 6 7 8 9 10 11 12 Gn d 13 X1 14 X2 15 16 17 CTS 18 19 PDO 20 PD1 Projekat – štampana ploča Projekat – osnovne komponente Napajanje preko linearnog regulatora napona LM7805 Kvarc od 4MHz Mikrokontroler PIC16F877A. Kolo za prilagođenje MAX232 Dve LED (žuta i crvena) Tri tastera Potenciometar. Projekat – komande 1/2 Isključivanje/gašenje obe LED Uključivanje/paljenje crvene LED (D1) Paljenje žute LED (D2) Paljenje obe LED Naizmenično paljenje žute i crvene LED u ukupnom trajanju od 2s Generisanje sekvence_1 na D1 (prati se osciloskopom) Generisanje sekvence_2 na D1 (prati se osciloskopom) Generisanje sekvence_3 na D1 (prati se osciloskopom) Projekat – komande 2/2 Generisanje sekvence_4 na D2 (prati se osciloskopom) Generisanje sekvence_5 na D2 (prati se osciloskopom) Generisanje sekvence_6 na D2 (prati se osciloskopom) Merenje napona na potenciometru (P1) Pritisak tastera SW2. Projekat – ilustracija slanja komandi Zaključak Opisani su prenos podataka, serijski port i USART čip Detaljno je obrađen mikrokontroler PIC16F877A Dat je prikaz softvera mikroC Ilustrovan je proces programiranja mikrokontrolera PIC16F877A Realizovano je električno kolo koje omogućava komunikaciju računara i PIC16F877A preko USART-a Formirana je laboratorijska vežba koja demonstrira USART komunikaciju Biografija prvog autora Prezime: Lazić Ime: Dejan Datum rođenja: 30.03.1982. Nacionalnost: Srbin Bračno stanje: Neoženjen Vozačka dozvola: C kategorija Adresa: selo Stanjevo, 37230 Aleksandrovac E-mail: [email protected] Telefon: 037759207 Mobilni telefon: 064 24 23 102 Biografija prvog autora Obrazovanje: Elektrotehnička škola Kruševac Smer: Elektrotehničar energetike, IV stepen Menadžerske veštine: Preduzimljivost, usredsređenost na razvoj, pregovaračke sposobnosti, samosvest, samopouzdanje, realističnost o svojim sposobnostima, sposobnost prihvatanja nejasne komunikacije, motiv za uspehom. Biografija prvog autora Sopstvene veštine: Orjentisanost ka ostvarenju zadatih ciljeva, postavljanje prioriteta, preuzimanje problema na sebe i rešavanje istih, komunikativnost, kreativnost, inovacije, spremnost na saradnju i rad pod stresom. Poznavanje jezika: Engleski jezik – osrednje, Ruski jezik – osrednje. Iskustvo sa kompjuterom: Operativni sistemi: Windows NT, XP. Programski paketi: MS Office, AHDL, Protel 2004 (DXP). Biografija drugog autora Prezime: Novaković Ime: Ivan Datum rođenja: 13.10.1981. Nacionalnost: Srbin Bračno stanje: Neoženjen Vozačka dozvola: B kategorija Adresa: Kneza Pavla 36, 37000 Krusevac E-mail: [email protected] Telefon: 037490860 Mobilni telefon: 064 21 71 329 Biografija drugog autora Obrazovanje: Elektrotehnička škola Kruševac Smer: Elektrotehničar automatike, IV stepen Menadžerske veštine: Preduzimljivost, usredsređenost na razvoj, pregovaračke sposobnosti, samosvest, samopouzdanje, sposobnost prihvatanja nejasne komunikacije, motiv za uspehom. Biografija drugog autora Sopstvene veštine: Preuzimanje inicijative, orjentisan ka ostvarenju rezultata, definisanje prioritetnih ciljeva i njihovo ostvarenje, rešavanje problema različite težine, komunikativnost, kreativnost, uvek spreman na saradnju i rad pod manjim stresom, međukulturalna osetljivost. Poznavanje jezika: Engleski jezik – dobro. Iskustvo sa kompjuterom: Operativni sistemi: Windows 95, 98, 2000, NT, XP. Programski paketi: MS Office, AHDL, OrCad 9.2.