1 / 47

NRS

NRS. NAMENSKI RAČUNARSKI SISTEMI PART 3. Autor : Nenad Jovičić. Projektni zadatak 2.

summer
Download Presentation

NRS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NRS NAMENSKI RAČUNARSKI SISTEMI PART 3 Autor: NenadJovičić

  2. Projektnizadatak2 Napisati C projekatza razvojni sistem RS-MSP430F449 kojiobezbeđujeserijskuvezu mikrokontrolera sa PC računarom. Brzina komunikacije treba da bude 2400 bit/s, bez bita parnosti i sa jednim stop bitom. Pritiskom na tastera potrebno je generisati slanje podatka u promenljivoj data. Sa druge strane, numerički jednocifreni podatak primljen preko serijske veze treba snimiti u promenljivu data i ispisati ga na sedmosegmentni LED displej.

  3. Opis hardvera Razvojni sistem RS-MSP430 poseduje više funkcionalnih celina od kojih su one interesantne za ovaj projekat prikazane na slici

  4. Kreiranje projekta S obzirom da je tražena implementacija u C-u, u dijalogu kreiranja projekta se bira C-ovski template.

  5. Osnovni fajl Predefinisani Template za C-ovski projekat je prikazan na slici

  6. UART • Podatak dužine 7 ili 8 bita i bit parnosti • Nezavisan rad prijemnika i predajnika • Baferisani prijemni i predajni registri • Ugrađena podrška za multiprocesorsku komunikaciju • Mogućnost buđenja iz LPMx moda na startnu ivicu signala na ulazu u prijemnik • Mogućnost podešavanja brzine prenosa u širokom opsegu i sa velikom rezolucijom • Hardverska detekcija greški u prenosu • Dva nezvisna prekida prijemnika i predajnika

  7. UART – blok šema

  8. Format prenosa podatka

  9. Baud rate generator

  10. Baud rate generator • Generator sadrži 16-bitni brojač, 16-bitni delitelj/preskaler i modulator • Bitska učestanost BITCLK može biti najviše jedna trećina BRCLK • Faktor N kojim se deli učestanost BRCLK u cilju dobijanje željene bitske učestanosti se dobija kao N=BRCLK/baud rate • U opštem slučaju N nije ceo broj

  11. Baud rate generator • Ceo deo odnosa N se upisuje u UxBR registar a decimalni deo se predstavlja sa osam bita upisanih u registar UxMCTL

  12. Algoritam

  13. Inicijalizacija 1

  14. Inicijalizacija 2

  15. Inicijalizacija 3

  16. Program

  17. Program

  18. Testiranje

  19. Drugi pristup - UART prekidi • UART posedujedvaodvojenaprekidnavektora – jedanzaprijemnikidrugizapredajnik • Prekidprijemnika se događakada je podatakprimljeniupisan u UxRXBUFregistar • Prekidpredajnika se događakada je sadržajpredajnogregistraUxTXBUFprebačen u izlaznipomeračkiregistarimože se upisatinovipodatak

  20. Algoritam sa prekidima

  21. Multiprocesorski mod • UART daje mogućnost da se iz serijskog niza karaktera izdvajaju adrese i podaci • Na taj način se omogućava paralelno vezivanje više uređaja (procesora) na serijsku magistralu • Dva načina multiprocesorske komunikacije: • “idle line” protokol • protokol sa bitom markerom adrese

  22. “idle line” protokol • Jednom serijskom porukom se smatra niz karaktera koji se šalje u kontinuitetu tako da je vremensko rastojanje između dva karaktera manje od deset perioda serijskog takta • Prvi karakter u nizu predstavlja adresu • Niz karaktera koji slede su podaci • Svaki vemenski razmak veći od deset perioda serijskog takta se smatra za kraj poruke

  23. “idle line” protokol

  24. “idle line” protokol • Predajnik automatski generiše idle line stanje kada se setuje odgovarajući bit u kontrolnom registru • Prijemnik može biti podešen da izaziva prekid samo po prijemu karaktera adrese, a da ostale karaktere ignoriše • Po prijemu adrese u prekidnoj rutini se rekonfiguriše prijemnik za prijem podataka

  25. Multiprocesorski mod sa adresnim bitom • U okvir serijskog podatka koji sadrže 7 ili 8 bita može se dodati i deveti bit koji služi kao marker adrese kod serijske produžne magistrale • Kao i kod idle_line moda prijemnik može biti podešen da izaziva prekid samo po prijemu karaktera adrese, a da ostale karaktere ignoriše • Po prijemu adrese u prekidnoj rutini se rekonfiguriše prijemnik za prijem podataka

  26. Multiprocesorski mod sa adresnim bitom

  27. Greške u prenosu • Prijemnik automatski prepoznaje geške u prenosu i setuje odgovarajuće flegove

  28. SPI – serial peripheral interface • USART modul podržava i sinhronu komunikaciju • Sinhronaserijskakomunikacija • Fizički se ostvarujekorišćenjem tri pina SIMO, SOMI i UCLK • U slučajuvezivanjavišeuređajaparalelnonamagistralukoristi se i pin STE • Podražavaprenos 7 ili 8 bitapodataka

  29. USART u SPI modu

  30. SPI – MSP kao Master

  31. SPI – MSP kao Master • Proces slanja počinje upisom podatka u UxTXBUF. Nakon toga podatak se prebacuje u pomerački registar i kreće slanje sa prvim bitom najveće težine. Uporedo sa slanjem podatka, od druge strane (slave) se dobija podatak koji se upisuje u prijemni pomerački registar. Po prijemu podatak se prebacuje iz pomeračkog registra u UxRXBUF i izaziva se prekid. • Operacije predaje i prijema podatka su povezane i funkcionišu isključivo u paru • U slučaju više paralelno vezanih uređaja master je onaj koji na svom STE pinu ima visok logički nivo

  32. SPI – MSP kao Slave

  33. SPI – MSP kao Slave • Podaci upisani u UxTXBUF i prebačeni u pomerački registar pre pojave takta od strane mastera se šalju preko SOMI linije • Na suprotnu ivicu takta upisuju se podaci u ulazni pomerački registar • Po prijemu svih bita izaziva se prekid • Dok je nivo na STE pinu nizak SPI funkcioniše normalno. STE na visokom nivou zaustavlja prijem podataka, SOMI se konfiguriše kao ulazni pin

  34. Generator takta

  35. Kontrola takta

  36. Prekidi • Dva posebna prekida : • Jedan za prijemnik koji se događa po prijemu podatka u UxRXBUF • Drugi za predajnik koji se događa kada je UxTXBUF spreman da primi sledeći podatak. Slanje upisanog podatka u UxTXBUF se startuje tek pošto se završi slanje prethodnog podatka.

  37. I2C (inter-IC control) modul • Prisutankodpodfamilije MSP430x1x kaodeo USART0 modula • ZadovoljavaPhilips-ov I2C standard v2.1 • 7-bitne ili 10-bitne adrese • Master ili slave mod rada • Prenosbajtailireči • Brzineprenosa do 400kb/s u fast modu • Multi-master arbitracija • Automatskobrojanjeprenetihpodataka • MogućnoststartovanjaiizLPMxmoda

  38. I2C modul

  39. I2C povezivanje na magistralu • Svaki uređaj na magistrali može da radi i kao predajnik i kao prijemnik • Svaki uređaj može takođe da bude ili master ili slave • Svakom uređaju je dodeljena jedinstvena 7-bitna ili 10-bitna adresa

  40. I2C signali na magistrali • Master je onaj uređaj koji diktira takt SCL. Svi ostali su slave-ovi. • Master započinje prenos obaranjem SDA signala dok je takt SCL na visokom nivou (START) • Prvi podatak u nizu je adresa, a posle nje idu podaci • U zavisnosti od R/W bita master će u nastavku prenosa biti ili predajnik ili prijemnik • Slave posle primljene adrese ili prijemnik posle svakog primljenog podatka izdaje odziv ACK (prijemnik može da bude ili master ili slave). ACK se generiše kao držanje niskog nivoa na SDA liniji dok je takt aktivan. • Po završetku prenosa master završava prenos podizanjem nivoa na SDA liniji dok je signal takta na visokom nivou (STOP)

  41. Adresiranje • 7-bitno adresiranje • 10-bitno adresiranje

  42. I2C Prekidi • Jedan prekidni vektor je zajednički za sve izvore prekida • Postoji osam različitih izvora prekida koji svi setuju posebne flegove • Slično kao i kod tajmera postoji registar generator vektora I2CIV, koji se koristi za skok na početku prekidne rutine u zavisnosti od izvora prekida

  43. Prekidi I2C

  44. TO BE CONTINUED 

More Related