LinuxCNC Documentation

СИНТАКСИС

#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)

ОПИС

hm2_bspi_setup_chan allows a realtime component to claim and configure a BSPI channel on a previously configured hostmot2 board.

ім’я

Унікальний рядок, що надається каналу BSPI під час налаштування hostmot2. Імена доступних каналів виводяться на стандартний вивід під час завантаження драйвера і мають вигляд hm2_назва_плати.індекс_плати.bspi.індекс_bspi. Наприклад, перший індекс на першій платі hm2_5i23 буде називатися hm2_5i23.0.bspi.0.

Чан

Канали пронумеровані від 0 до 15. Значення на лініях вибору мікросхеми встановлюється параметром cs і не обов’язково має збігатися з номером каналу.

cs

Лінія(ї) вибору мікросхеми, які слід активувати під час доступу до цього каналу. BSPI підтримує 4 лінії вибору мікросхеми, тому дійсний діапазон для cs становить від 0 до 15.

біти

встановлює бітову довжину SPI-пакета. Максимальна підтримувана довжина становить 64 біти, але вона охоплюватиме два записи FIFO для читання та потребуватиме спеціальної обробки (значення 32 і нижче не потребують спеціальної обробки).

mhz

встановлює швидкість передачі даних мікросхеми. Максимальне значення становить половину базової частоти FPGA, тому, наприклад, для 48 МГц 5I23 максимальна частота SPI становить 24 МГц. Значення, що перевищують максимально підтримуване, будуть без попередження округлені в меншу сторону.

затримка

встановлює затримку дії вибору чіпа (у нс)

cpha і cpol

Встановіть фазу та полярність тактової частоти (відповідно до технічного опису пристрою).

безпрозорий

Керує встановленням біта очищення кадру після передачі 32-бітного буфера. Цей параметр слід встановити на 1, коли довжина кадру перевищує 32 біти, а наступні дані в FIFO містять інші біти.

noecho

Встановіть значення 1 для пристроїв, які не повертають дані (таких як DACs).

samplelate

Встановіть значення 1, щоб вибірка отриманих даних SPI відбувалася на 1/2 тактової частоти SPI пізніше, ніж зазвичай. Це корисно, коли високі тактові частоти або ізоляція спричиняють значні затримки від тактової частоти до отриманих даних.

МІРКУВАННЯ В РЕАЛЬНОМУ ЧАСІ

Викликати лише з коду ініціалізації/очищення в реальному часі або з компонентів, що не працюють у реальному часі, а не із завдань реального часу.

ПОВЕРНЕНЕ ЗНАЧЕННЯ

Повертає 0 у разі успіху та -1 у разі невдачі.

ДИВІТЬСЯ ТАКОЖ

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)

Див. src/hal/drivers mesa_7i65.comp для прикладу використання.