Улучшение скорости передачи SPI - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь отправить постоянное и большое количество байтов с SPI из встроенной системы Linux - am335x (Beaglebone: версия pocketbeagle). Дело в том, что я пытаюсь увеличить скорость передачи.

В настоящее время я обращаюсь к SPI через пространство пользователя со следующей конфигурацией spidev (вызовы ioctl):

// SPI init -- (const char *device, int mode, int bits, int speed)
retv = spi_bus.spi_init(LCD_SPI_DEVICE,0,8,100000000);

Это медленно! Я не измерял мбит / с, но даже на 100 МГц он не посылает нужную сумму.

Я где-то читал, что DMA автоматически вызывается при использовании драйвера mcSPI. Однако я не совсем уверен, применимо ли это к драйверам пользовательского пространства, таким как spidev.

Мой вопрос: как я могу увеличить скорость передачи данных в МБ / с для SPI?

То, о чем я думал до сих пор:

1) Ищите драйвер ядра = пространства вместо использования spidev.

2) Увеличьте длину слова.

Не уверен, однако, что бы вы посоветовали значительно увеличить скорость передачи SPI?

...