打印

怎样通过DSP控制FPGA端的LED灯亮灭的速度

[复制链接]
1217|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tmmdh|  楼主 | 2016-3-16 20:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样通过DSP控制FPGA端的LED灯亮灭的速度
如题,本人最近遇到一个困难,就是通过DSP控制FPGA端的LED亮灭的频率,LED是接在FPGA上面的,其亮灭的频率由DSP控制。本人的思路如下
在FPGA里面下一个寄存器,映射到DSP里面的地址是0x60008000(地址只是举个例子),DSP可以向该段寄存器里面写入数据,FPGA段读取该寄存器里面的内容作为计数器count的计数值,在fpga段count一直在执行减一操作,当count减到1的时候,LED灯的状态实现反转。以上就是我的思路,但是在写FPGA段的代码的时候出现问题,不知道大家发现没有,如果按照上面的方法,FPGA段使用的count就会有两个驱动源,一个是count在自减的时候count<=count-1'b1; 另一个是读取寄存器的值;这个在语法上面是不允许的,卡在这里了。。。。还请大家指点一下对于我以上的思路,FPGA端计数器的程序应该怎么写?
或者对于上面的项目,大家有没有别的好的思路,要求:通过DSP灵活控制FPGA端的LED亮灭频率。有两点注意的地方,1.一定要是DSP控制 2.一定要能灵活控制,即不允许在FPGA端设几个档位,然后由DSP去选择LED按照哪个档位亮灭,如果那样的话,问题就简单了。

相关帖子

沙发
zhangmangui| | 2016-3-16 22:09 | 只看该作者
最好是用FPGA只作为译码电路
比如你在片选了FPGA之后    对地址01写数据
通过FPGA里面的译码代码   判断地址后知道这个数据是要送到外设LED上去
这样DSP就直接控制LED等了

使用特权

评论回复
板凳
zhangmangui| | 2016-3-16 22:14 | 只看该作者
你有没有一些厂家提供的CPLD的代码?  一看就很清楚了

使用特权

评论回复
地板
shero_zhuzi| | 2016-9-9 09:57 | 只看该作者
zhangmangui 发表于 2016-3-16 22:14
你有没有一些厂家提供的CPLD的代码?  一看就很清楚了

C:\Users\Administrator\Desktop\CPLD

使用特权

评论回复
5
shero_zhuzi| | 2016-9-9 10:02 | 只看该作者
zhangmangui 发表于 2016-3-16 22:14
你有没有一些厂家提供的CPLD的代码?  一看就很清楚了

      您好,我现在大致的明白了CPLD的功能就是一个地址译码      但是具体是怎么个过程呢,刚接触,看前面的帖子里您说看代码,第一张图是
厂家发货时给的,但是我找不到具体的“代码”在哪里。第二张图是打开了工程之后
的文件,和原理图上的CPLD部分引脚是一样的,请问这是什么?
      期待您的回复,先谢谢了。

QQ截图20160909095614.png (67.52 KB )

QQ截图20160909095614.png

QQ截图20160909095702.png (31.23 KB )

QQ截图20160909095702.png

使用特权

评论回复
6
zhangmangui| | 2016-9-10 23:26 | 只看该作者
shero_zhuzi 发表于 2016-9-9 10:02
您好,我现在大致的明白了CPLD的功能就是一个地址译码      但是具体是怎么个过程呢,刚接触,看前 ...

好吧  这个不是用Verilog或VHDL写的  直接是通过逻辑电路搭建的  
你的贴图就是它的 逻辑   你慢慢跟着研究一下吧

使用特权

评论回复
7
zhangmangui| | 2016-9-10 23:27 | 只看该作者
顺便给你分享一个吧
CPLD.rar (4.41 KB)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

30

帖子

0

粉丝