UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Contributor
Contributor
438 次查看
注册日期: ‎09-09-2017

XCZU3的SPI为什么会回环?

转到解答

linux内核版本 4.9

在使用XCZU3开发板时,SPI控制器用EMIO接出(据接出人员说没有问题), 但我在使用时,发现发出的数据同时在RXFIFO能收到,这是为啥?使用spidev.c测试,看zu3的配置中也没有任何回环的描述和配置。
///zynqmp.dtsi 

spi0: spi@ff040000 {
compatible = "cdns,spi-r1p6";
status = "disabled";
interrupt-parent = <&gic>;
interrupts = <0 19 4>;
reg = <0x0 0xff040000 0x1000>;
clock-names = "ref_clk", "pclk";
#address-cells = <1>;
#size-cells = <0>;
power-domains = <&pd_spi0>;
};

//zynqmp-zcu102.dts

&spi0 {
status = "okay";
num-cs=<0x1>;
bifdev@0x00 {
compatible = "rohm,dh2228fv";
reg = <0>;
spi-tx-bus-width = <0x1>;
spi-rx-bus-width = <0x1>;
spi-max-frequency = <1000000>;
};
};

 

驱动中config选中spidev.c编译进去即可和设备树匹配上,
测试程序是:https://blog.csdn.net/orz415678659/article/details/8617647 
SPI控制器的配置寄存器值打印出来分别是:
[ 154.284397] CR REG IS 0x7839  
[ 154.289580] ISR REG IS 0x14
[ 154.292351] IER REG IS 0x00
[ 154.295129] IDR REG IS 0x00
[ 154.297906] IMR REG IS 0x06
[ 154.300684] ER REG IS 0x01
[ 154.303375] DR REG IS 0x00

//TX和RX不打印
[ 154.306066] SICR REG IS 0xff
[ 154.308930] THLD REG IS 0x01
[ 154.311795] RX THLD REG IS 0x01
[ 154.314920] SPI MODID REG IS 0x90108
测试时在irq中断处理函数读取RXFIFO到数据和tx的一致。
https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html  //zu3的配置寄存器列表

麻烦各位大神了。

0 项奖励
1 个已接受解答

已接受的解答
Moderator
Moderator
418 次查看
注册日期: ‎05-23-2018

回复: XCZU3的SPI为什么会回环?

转到解答

Hi, @love23by223

 

你们在Vivado中的SPI接口是如何引出的呢?可以参考以下链接尝试解决你们的问题。

 

https://forums.xilinx.com/t5/Embedded-Processor-System-Design/MPSoC-EMIO-SPI-wired-incorrectly/td-p/705742

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
4 条回复4
Moderator
Moderator
401 次查看
注册日期: ‎05-23-2018

回复: XCZU3的SPI为什么会回环?

转到解答

Hi, @love23by223

 

使用SPI直接从外设中读取数据的话可以正常接收到吗?如果这个问题对你的设计功能没有影响的话,可以不必太过关注。

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Contributor
Contributor
366 次查看
注册日期: ‎09-09-2017

回复: XCZU3的SPI为什么会回环?

转到解答

有影响,我就是在调试外设, 我们的外设必须要有ACK,现在连上外设,收到的数据是自己发送的,不确定外设有没有回数据,由于接口原因,不好示波器来测; 将外设拔下来发现SPI也回环 ; 今天测试时发现使用MIO不回环(因为上拉,读出来全0xff); 但不知道EMIO为什么会导致回环???;

0 项奖励
Moderator
Moderator
419 次查看
注册日期: ‎05-23-2018

回复: XCZU3的SPI为什么会回环?

转到解答

Hi, @love23by223

 

你们在Vivado中的SPI接口是如何引出的呢?可以参考以下链接尝试解决你们的问题。

 

https://forums.xilinx.com/t5/Embedded-Processor-System-Design/MPSoC-EMIO-SPI-wired-incorrectly/td-p/705742

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
Contributor
Contributor
315 次查看
注册日期: ‎09-09-2017

回复: XCZU3的SPI为什么会回环?

转到解答

非常感谢,已解决

0 项奖励