Hallo,
ich arbeite zur Zeit an einem Package das ein SPI BFM bereitstellt. Dazu
stelle ich einen Speicher bereit in dem die zusenden Daten eingetragen
werden und die dann über einen weiteren procedure Aufruf abgeschickt
werden. Dieses Pacakge unterstützt zunächst nur den übertragungsnmode 0.
Daher zu jeder fallenden Flanke wird das Datenbit angelegt und zu jeder
steigenden eingellatcht. Das senden von Master zu Slave Seite
funktioniert auch schon fehlerfrei. Allerdings bin ich mir beim
aufzeichenen der Daten, die der Slave zurückschickt, nicht sicher ob ich
wirklich zu steigenden Flanke den wert greife. Die Procedure zum Senden
sieht so aus:
1 | while (TxBuff.EndOfBitstream = false) loop
|
2 | SCK <= '0';
|
3 | MOSI <= TxBit;
|
4 | wait for C_SPI_CLK/2; --warten halbe taktperiode von SCK
|
5 | SCK <= '1';
|
6 | RxBuff <= MISO
|
7 | wait for C_SPI_CLK/2; --warten halbe taktperiode von SCK
|
8 | end loop;
|
Vielen Dank für die Antworten!
Viele Grüße Andreas