PIC16LF876 Spi slave mód

Bóta László botal at ecity.agria.hu
Mon Sep 6 19:13:34 CEST 2004


Sziasztok !

Adva van két panel, ami SPI-n beszélget. A master egy AVR-el, a slave a fenti PIC-el megvalósítva. Köztük egy 74HC00-ból jelszint illesztő, mivel a PIC-es panel 3.5 v-ról megy. A feladat egyelőre annyi, hogy az  AVR soros vonalon kap infót, ezt átküldi SPI-n a PIC-nek. A PIC spi-je interrupttal dolgozik, első egy parancsbájt, majd ennek függvényében eltárolja a kapott 20 bájtot, majd ennek végeztével továbbküldi soros vonalon. Ha kap választ a soros vonalon, akkor egy külön lábon jelzi az AVR-es panelnak, ami indítja az SPI átvitelt, kimegy a parancsbájt, majd egy ures olvasás a szinkronhoz és folyamatosan a többi byte olvasása. A jelszinteket, alakokat a PIC lábain tárolós szkóppal nézem, jónak tűnnek. A PIC-nél az spi üzemmódot az SS láb vezérli, üzemmód beállítások jók. A progit az MPLAB-al szimuláltam, logikailag nem találtam hibát. A buszsebesség már lent van 67 KHz-en.
Ami a legbosszantóbb: semmilyen adatot nem ad ki olvasáskor, az SDO lábon, illetve a csak a legelső bemenő adatot, a parancsbájtot ismétli.
  Mivel még slave módban nem használtam, az lenne a kérdésem (kérésem), hogy mire kell itt még figyelni, esetleg az SS lábat minden byte irása-olvasása után működtetni kell, vagy csak az adatfolyam elején-végén ? Volna esetleg egy müködő példaprogi valakinek, lehetőleg C-ben ? Ja, a byte irások-olvasások között jókora várakozások vannak, időt hagyva az adatok előkészítésre.

Előre is köszönettel:
BL.





More information about the Elektro mailing list