提高SPI传输速度

时间:2018-09-04 05:31:08

标签: c++ embedded-linux beagleboneblack spi ioctl

我正在尝试通过Linux嵌入式系统am335x(Beaglebone:pocketbeagle版本)使用SPI发送恒定且大量的字节。问题是,我正在尝试提高其传输速率。

当前,我正在spidev(ioctl调用)上通过以下配置通过用户空间访问SPI:

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

很慢!我没有测量mb / s,但是即使在100MHz时,它也无法发送正确的数值。

我读到某个地方,在使用mcSPI驱动程序时会自动调用DMA。但是,我不确定它是否适用于诸如spidev之类的用户空间驱动程序。

我的问题是:如何增加SPI的MB / s传输数据?

到目前为止我已经考虑过的事情:

1)寻找一个kernel = space驱动程序,而不是使用spidev。

2)增加单词长度。

不过,不确定如何建议您显着提高SPI的传输速率?

0 个答案:

没有答案