您的位置:首页 > 其它

SAMA5D3的SPI10M速率传输

2015-08-21 18:13 204 查看
调试SAMA5D3的spi通信,Linux版本3.19.5,以10M速率通信,一次性发5个字节的时候,在FPGA上看到,每个字节间的间隔在40-50us之间。仔细研究一边寄存器,没找到能减少时间间隔的寄存器设置。

一次性发200个字节,每个字节间的时间间隔成为100ns左右。

由此可推论,

struct spi_ioc_transfer xfer = {
.tx_buf = (unsigned long)sendbuf,
.rx_buf = (unsigned long)recvbuf,
.len = length,
.delay_usecs = 0,
.bits_per_word = 8,
.cs_change = 0,
};
ret = ioctl(ctrlfd, SPI_IOC_MESSAGE(1), &xfer);


在用上述代码发送SPI数据的时候,在数据长度限定的一定范围内,每组数据发送的时间长度相同。发的数据少,字节间的间隔就长,数据多,字节间的间隔小。

另外一个问题:cs_change字段,当赋值为1的时候,CS引脚竟然一直为低。赋值为0,则在发送一组数据前拉低,发送结束后拉高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: