取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
Observer
Observer
250 次查看
注册日期: ‎11-29-2019

SPI transfer timed out 问题请教

大家好

       axi_quard_spi设备 ,transfer timed out 的原因是什么?谢谢!

      在/dev中已经识别为 spidev1.0 。 

  echo 1 > /dev/spidev1.0
[ 33.799425] spidev spi1.0: SPI transfer timed out
-sh: echo: write error: Connection timed out

  在ila中已经可以观测到spi信号线发出数据。

 论坛上有很多类似问题,没有找到有效的解决方法。根据论坛上的建议已经通过xlconstant将ss_i设置为常1

 

 

0 项奖励
4 回复数
Highlighted
Observer
Observer
175 次查看
注册日期: ‎11-29-2019

是问题描述的不够清楚吗?还是这类问题应该发到嵌入式硬件开发 论坛?

能支持一下吗?谢谢

应用:射频类spi期间在PL侧,想通过axi_quard_spi 作为主模式,对射频器件进行配置。

0 项奖励
Xilinx Employee
Xilinx Employee
149 次查看
注册日期: ‎06-02-2017

Hi @round_chen 

看上去/dev/spidev1.0应该是qspi控制器设备,不像是你的外设的。

你的devicetree中qspi节点是怎么写的?具体驱动的是什么SPI的设备?

你抓到的SPI的波形具体发送的内容是什么?

0 项奖励
Highlighted
Observer
Observer
29 次查看
注册日期: ‎11-29-2019

感谢您的答复!

我是参考这篇教程https://www.beyond-circuits.com/wordpress/tutorial/tutorial26/

kernel中将User mode SPI device driver support使能就可以在dev中识别spi设备

pl.dtsipetalinux自己产生的

axi_quad_spi_0: axi_quad_spi@b0000000 {
bits-per-word = <8>;
clock-names = "ext_spi_clk", "s_axi_aclk";
clocks = <&zynqmp_clk 71>, <&zynqmp_clk 71>;
compatible = "xlnx,axi-quad-spi-3.2", "xlnx,xps-spi-2.00.a";
fifo-size = <16>;
num-cs = <0x1>;
reg = <0x0 0xb0000000 0x0 0x1000>;
xlnx,num-ss-bits = <0x1>;
xlnx,spi-mode = <0>;
};

system_user.dtsi

&axi_quad_spi_0 {
device@0 {
compatible = "spidev";
reg = <0x0>;
spi-max-frequency = <0xf4240>;
#address-cells = <0x1>;
#size-cells = <0x1>;
};
};

具体驱动的是射频类器件如adi4350

因为板卡还没回制作完,所以是在开发板上测试(用ila观测spi4根管脚)。下图是zynqmp器件的时序图,可以看出只有片选信号发出来了

zynq器件的开发板上有所不同,片选,时钟,数据(数据也是对的)均能发出,后续我把zynq器件的时序图也发出来

0 项奖励
Highlighted
Observer
Observer
101 次查看
注册日期: ‎11-29-2019

感谢您的答复!

我是参考这篇教程https://www.beyond-circuits.com/wordpress/tutorial/tutorial26/

kernel中将User mode SPI device driver support使能就可以在dev中识别spi设备

pl.dtsipetalinux自己产生的

axi_quad_spi_0: axi_quad_spi@b0000000 {
bits-per-word = <8>;
clock-names = "ext_spi_clk", "s_axi_aclk";
clocks = <&zynqmp_clk 71>, <&zynqmp_clk 71>;
compatible = "xlnx,axi-quad-spi-3.2", "xlnx,xps-spi-2.00.a";
fifo-size = <16>;
num-cs = <0x1>;
reg = <0x0 0xb0000000 0x0 0x1000>;
xlnx,num-ss-bits = <0x1>;
xlnx,spi-mode = <0>;
};

system_user.dtsi

&axi_quad_spi_0 {
device@0 {
compatible = "spidev";
reg = <0x0>;
spi-max-frequency = <0xf4240>;
#address-cells = <0x1>;
#size-cells = <0x1>;
};
};

具体驱动的是射频类器件如adi4350

因为板卡还没回制作完,所以是在开发板上测试(用ila观测spi4根管脚)。下图是zynqmp器件的时序图,可以看出只有片选信号发出来了

zynq器件的开发板上有所不同,片选,时钟,数据(数据也是对的)均能发出,后续我把zynq器件的时序图也发出来

1111.PNG

0 项奖励