LinuxCNC Documentation

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.0 heiß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.