SYNTAX
#include <hostmot2-serial.h>
int hm2_bspi_setup_chan(char* name, int chan, int cs, int bits, float mhz,
int delay, int cpol, int cpha, int noclear, int noecho)
BESCHREIBUNG
hm2_bspi_setup_chan allows a realtime component to claim and configure a BSPI channel on a previously configured hostmot2 board.
- name
-
Eine eindeutige Zeichenfolge, die dem BSPI-Kanal während der Einrichtung von hostmot2 zugewiesen wird. Die Namen der verfügbaren Kanäle whm2_board-name.board-index.bspi.bspi-index.. Zum Beispiel würde der erste Index auf der ersten hm2_5i23-Karte
hm2_5i23.0.bspi.0heißen. - chan
-
Die Kanäle sind von 0 bis 15 nummeriert. Der Wert auf den Chip-Select-Leitungen wird durch cs festgelegt und muss nicht mit der Kanalnummer übereinstimmen.
- cs
-
Die Chip-Select-Leitung(en), die beim Zugriff auf diesen Kanal aktiviert werden soll(en). BSPI unterstützt 4 Chip-Select-Leitungen, daher ist der gültige Bereich für cs 0-15.
- bits
-
legt die Bit-Länge des SPI-Pakets fest. Die maximal unterstützte Länge beträgt 64 Bits, aber dies überspannt zwei FIFO-Einträge und erfordert eine besondere Handhabung (Werte 32 und darunter erfordern keine besondere Behandlung).
- mhz
-
legt die Chip-Kommunikationsrate fest. Der Maximalwert hierfür ist die Hälfte der FPGA-Basisfrequenz, so dass z.B. bei einem 5I23 mit 48 MHz die maximale SPI-Frequenz 24 MHz beträgt. Werte, die über den maximal unterstützten Wert hinausgehen, werden stillschweigend abgerundet.
- Verzögerung
-
legt die Verzögerung für die Chipauswahl fest (in ns)
- cpha und cpol
-
Stellen Sie die Taktphase und -polarität ein (gemäß dem Datenblatt des Geräts).
- noclear
-
Steuert, ob das Frame-Clear-Bit nach der Übertragung des 32-Bit-Puffers gesetzt wird. Dieser Parameter sollte auf 1 gesetzt werden, wenn die Rahmenlänge größer als 32 Bit ist und die nächsten Daten im FIFO die anderen Bits enthalten.
- noecho
-
Legen Sie den Wert auf 1 für Geräte fest, die keine Daten zurückgeben (z. B. DACs).
- samplelate
-
Setzen Sie diesen Wert auf 1, um die empfangenen SPI-Daten 1/2 SPI-Takt später als normal abzutasten. Dies ist nützlich, wenn hohe Taktraten oder Isolation zu erheblichen Verzögerungen zwischen Takt und empfangenen Daten führen.
REALTIME CONSIDERATIONS
Aufruf nur aus dem Echtzeit Init/Cleanup-Code oder Nicht-Echzeit-Komponenten, nicht aus Echtzeit-Tasks.
RETURN VALUE
Gibt bei Erfolg 0 und bei Misserfolg -1 zurück.
SIEHE AUCH
hm2_allocate_bspi_tram(3), hm2_bspi_set_read_function(3), hm2_bspi_set_write_function(3), hm2_bspi_write_chan(3), hm2_tram_add_bspi_frame(3)
Siehe src/hal/drivers mesa_7i65.comp für ein Anwendungsbeispiel.