完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的Xilinx社区,
因为我的应用需要3个SPI控制器,而且我已经在Zynq中使用了现有的2个SPI控制器。 我知道在生成比特流后如何在linux内核中完成此操作 但是,因为我是vivado的新手,你能不能帮我解决以下问题 1.对于第3个SPI控制器,可以将GPIO转换为SPI吗? 你能告诉我如何在vivado中配置4个gpio信号为spi_clk,spi_cs,spi_mosi,spi_miso吗? 请尽早做好 等待你的回复 提前谢谢了 |
|
相关推荐
9个回答
|
|
@srinivasando你想用PS MIO或PL IO作为SPI引脚吗?
对于PS MIO,正如您所注意到的,只有2个spi控制器,因此您可以选择在sw中实现一个bit-banging spi控制器,或者通过扩展芯片选择逻辑将您的设备添加到现有控制器(您确定需要第三个) 控制器而不是芯片选择引脚?) 另一种选择是将PL IO用于SPI引脚,并使用fpga结构向PL添加一个spi控制器。 一旦正确配置设备树,这看起来就像是现有的linux控制器。 - 如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。 |
|
|
|
非常感谢您的快速回复,
我有两个要求 1.第一个要求:我需要第三个SPI控制器,我计划在linux和设备树中实现一个bit-banging spi控制器,我计划使用gpio 0 bank的4个引脚(ps7-gpio @ e000a000) 您能否请求生成比特流需要做哪些更改?或者您可以提供一些示例,说明如何配置gpio引脚并将其映射到PL引脚以及如何在设备树中为bit bang指定库号? 2.第二个要求:请您告诉我如何在vivado,设备树和Linux内核中使用芯片选择引脚来使用现有的控制器。 请告诉我如何在用户空间中验证这一点 请尽早做好 等待你的回复 提前谢谢了 |
|
|
|
|
|
|
|
亲爱的社区
1.我通过MIO而不是MIO使用GPIO,因为我们不需要Quad spi用于我们的应用程序我使用了4个引脚作为GPIO0_1,GPIO0_2,GPIO0_3和GPIO0_4用于我的SPI gpio bit bang驱动程序在linux中 那么请告诉我下一步如何在.vhd,.bd和.xdc中以vivado映射,声明和约束这4个gpios引脚,并举例说明 2.因此我可以在devicetree和linux中为SPI bit bang配置这4个引脚 请告诉我这种配置即GPIO作为MIO并在linux中访问它的方式是否可行 请尽早做好 热切期待你的回复 提前谢谢了 |
|
|
|
嗨,
能不能让我知道什么时候我可以得到上述查询的回复,因为我急切地等待你的输入,并且在没有你输入的情况下被卡住而无法继续前进 能否请您纠正我,如果我错过了在配置现有的GPIO控制任何东西(我刨使用gpio0_0,gpio0_1,gpio0_2,gpio0_3) 我需要配置gpio0_0 - 输入 gpio0_1 - 输出 gpio0_2 - 输出 gpio0_3 - 输出 1.所以在附加的快照中修改了块设计 你可以帮我修改附件中的system_top.vhd以获得上述gpio配置的连接吗? 3.Constraints文件已修改set_property PACKAGE_PIN L21 [get_ports {GPIO_SPI [0]}] set_property PACKAGE_PIN L22 [get_ports {GPIO_SPI [1]}] set_property PACKAGE_PIN J21 [get_ports {GPIO_SPI [2]}] set_property PACKAGE_PIN J22 [get_ports {GPIO_SPI [3 ]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI [1]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI [3]} ] files.zip 1068 KB |
|
|
|
我按照我的知识和尝试修改了system_top.vhd。
我附上了.bd和system_top.vhd的快照 但面对错误,请你告诉我为什么会遇到这个错误 [Synth 8-1789]无法更新'in'对象gpio_spi_in [“/media/n008/SECONDDRIVE/local_workspace/svn_src/trunk/platform/zynq/rtl/system_top.vhd":441] [共17-69]命令失败: 合成失败 - 请参阅控制台或运行日志文件以获取详细信息 2.xdc更改如下 #FPGA模块上的LED set_property PACKAGE_PIN L21 [get_ports {GPIO_SPI_IN [0]}] set_property PACKAGE_PIN L22 [get_ports {GPIO_SPI_OUT [1]}] set_property PACKAGE_PIN J21 [get_ports {GPIO_SPI_OUT [2]}] set_property PACKAGE_PIN J22 [get_ports {GPIO_SPI_OUT [3 ]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI_IN [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI_OUT [1]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI_OUT [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {GPIO_SPI_OUT [3]} ] 请尽早做好 提前谢谢了 file.zip 454 KB |
|
|
|
亲爱的社区
任何人都可以回复以下查询,1。生成比特流请你告诉我如何配置一个基于GPIO -EMIO的引脚作为输入,因为我已将3个引脚配置为输出,我需要将一个引脚配置为输入 在GPIO-EMIO中(在vhdl代码中要做什么)2。 我试图通过在设备树别名中添加以下内容来创建虚拟节点{ethernet0 =& ps7_ethernet_0; i2c0 =& ps7_i2c_0; i2c1 =& ps7_i2c_1; serial0 =& ps7_uart_1; serial1 =& ps7_uart_0; spi0 =& ps7_spi_0; / * spi1 =& ps7_qspi_0; * / spi1 =& ps7_spi_1; spi_gpio =& spi_gpio; }; spi_gpio:spi-gpio {compatible =“spi-gpio”; #address-cells =; #size-cells =; / *范围; * / gpio-mosi =; gpio-miso =; gpio-sck =; cs-gpios =; num-chipselects =; status =“ok”; spidev @ 2 {compatible =“linux,spidev”; reg =; / *#address-cells =; * / / *#size-cells =; * / spi-max-frequency =; }; 我已经在内核中配置了(CONFIG_SPI_GPIO = y)内核启动之后会抛出以下错误,是否由于gpio配置不正确而对比特流有任何依赖性?spi_gpio spi-gpio:找不到gpio-sck属性 请尽早做好 等待你的回复 |
|
|
|
嗨muzaffer,
我的查询的任何更新/输入都被阻止输入,因为我等待您的输入安静很长时间? 主要是我需要你的两个输入 1.我已将4个引脚配置为GPIO EMIO输出,其中可以使用部分GPIO EMIO引脚作为输入,如果是,可以在.vhdl中完成此配置。 .bd和xdc更改,请求您提供相同的代码片段 2.如何在设备树中映射这个GPIO EMIO号如前面提到的那样,下面的引脚映射在设备树中是否正确? gpio-mosi =; gpio-miso =; gpio-sck =; cs-gpios =; 如果您不是此查询的相关人员,请将其重定向到相应的人员 热切期待你的回复 |
|
|
|
嗨muzaffer,
我的查询的任何更新/输入都被阻止输入,因为我等待您的输入安静很长时间? 主要是我需要你的两个输入 1.我已将4个引脚配置为GPIO EMIO输出,其中可以使用部分GPIO EMIO引脚作为输入,如果是,可以在.vhdl中完成此配置。 .bd和xdc更改,请求您提供相同的代码片段 2.如何在设备树中映射这个GPIO EMIO号如前面提到的那样,下面的引脚映射在设备树中是否正确? gpio-mosi =; gpio-miso =; gpio-sck =; cs-gpios =; 如果您不是此查询的相关人员,请将其重定向到相应的人员 热切期待你的回复 |
|
|
|
只有小组成员才能发言,加入小组>>
2416 浏览 7 评论
2821 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2292 浏览 9 评论
3372 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2459 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1141浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
581浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
447浏览 1评论
2002浏览 0评论
726浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:15 , Processed in 1.486942 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号