完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我是一个非常新的SoC.I在我的块设计中包含了一个四SPI,并希望通过在其中一个ARM处理器上运行的Linux与它进行通信。 我需要SPI在一个突发中发送/接收32位并处理来自C ++的通信。 但是,我无法让它发挥作用。 四SPI设置为标准,无FIFO和事务宽度= 32位。 我更新了Linux设备树,如下所示: axi_quad_spi_0 @ 41E00000 {compatible =“xlnx,xps-spi-2.00.b”,“xlnx,xps-spi-2.00.a”; #address-cells =; #size-cells =; interrupt-parent =; 中断=; reg =; xlnx,fifo-exist =; xlnx,num-ss-bits =; xlnx,num-transfer-bits =; xlnx,sck-ratio =; device @ 0 {compatible =“spidev”; reg =; spi-max-frequency =; }; device @ 1 {compatible =“spidev”; reg =; spi-max-frequency =; }; 在此之后,我可以按预期在/ dev中看到spidev0.0和spidev.0.1。 此外,当使用bits_per_word = 8写入器件文件时,我从四SPI中获得8位突发但有32个时钟周期,即我得到的第一个字节输出对应于32位突发的1/4(见调试探针) 在Vivado)。 我想我看到了这一点,因为事务宽度设置为32位。 但是,当我想将突发更改为32位(bits_per_word = 32)时,它不起作用 - 我在Linux终端中收到消息“xilinx_spi_setup_transfer,unsupported bits_per_word = 32”。 我在C ++中使用以下代码: uint8_t tx [] = {0xAD,0xEF,0x01,0x23}; uint8_t rx [4] = {0}; struct spi_ioc_transfer tr [2]; tr [0] .tx_buf =(unsigned long)tx; tr [0] .rx_buf =(unsigned long)rx; tr [0] .len = 4; tr [0] .delay_usecs = delay; tr [0] .speed_hz = speed; tr [0] .bits_per_word = 32; tr [0] .cs_change = 0; ret = ioctl(fd,SPI_IOC_MESSAGE(1),& tr); 我曾尝试编译xilinx驱动程序xilinx-spi.c但是当我尝试安装它时(在Linux中使用“modprobe xilinx_spi”)它会说“设备或资源忙”。 如何让它支持32位,这样我就能在一次突发中发送/接收32位? 有人可以帮帮我吗? 谢谢! BR。 雅各 |
|
相关推荐
1个回答
|
|
谢谢你的回复。
实际上我已经做到了这一点:在整个突发期间,我可以传输任意数量的连续字节,芯片选择为低。 每个字节之间有一个~20us的延迟,但由于芯片选择仍然很低,这已经证明不是问题。 然而,最初的问题是我不能让QSPI一次传输4个字节,即使它应该支持它。 因此,原始问题没有解决,但存在一种解决方法。 |
|
|
|
只有小组成员才能发言,加入小组>>
2323 浏览 7 评论
2736 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2222 浏览 9 评论
3301 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2371 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
663浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
468浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
236浏览 1评论
675浏览 0评论
1870浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-5 22:52 , Processed in 1.138034 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号