我正在尝试通过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的传输速率?