有大神接触过redpitaya吗?小白求教
时间:10-02
整理:3721RD
点击:
rt,lz研一,非电子专业。最近刚从导师手里接了一个项目,他们想用FPGA做实时反馈,入手了一台redpitaya。当时导师也说,我们这儿没人有经验,你得自学。我也想挑战一下自己,就自己看书加尝试。我选用的通信方式用的是ssh,软件是Vivado2013.3,HDL自己看了看verilog。
但是我觉得他的官网根本不是写给初学者看的,再加上我本身几乎没有基础,本身只懂一点数电模电。都一个多月过去了我连一个helloworld都没搞出来,这也太让人沮丧了。
我有好多问题,想找接触过redpitaya或类似带arm的FPGA的大神请教。
1、 请问要如何将生成的bin文件烧到FPGA里?
在官网上介绍是这样的。
cat red_pitaya_top.bin > /dev/xdevcfg
我将官网给的源代码用vivado synthesis,implementation,generate bit file,用promgen将生成的bit文件转化成bin文件,再用上面的代码搞到xdevcfg里面去, 成功了。
但是,我想搞一个自己写的全新的程序烧进去,它就挂了,完全是通信不能。我想知道这种烧程序的方法有没有问题,有人成功的尝试过吗?要求FPGA和arm能通信对verilog代码有什么要求呢?如果没有,那我猜测就是程序写的有问题。
2、请问constraint要如何写?
因为redpitaya源代码的constraint是写在xdc文件里的,为了保持一致性导师要求我也用xdc文件。我仿照原代码的格式写了一点,但是失败了。好像这方面的资料不是那么好找,请问有大神知道这个的参考资料或参考书吗?
3、ADC 和DAC的使用
这个完全是一头雾水,我去看了源代码中analog.v和generate.c, acquire.c以及相关代码。表示很多地方完全看不懂啊 T T,感觉C还可以一知半解看个大概,他的verilog程序我连北都没找到。大概c程序最后都是通过某个reg的具体地址进行读取和写入操作的。我觉得这就意味这或许可以完全不管arm, 直接用FPGA进行一切操作(?)。
比如我现在最想做一个输出=输入的程序,就是OUT1 = IN 1,模拟信号从IN 1 进入ADC,得到的数字信号(14位)通过FPGA原封不动的进入DAC,最后模拟信号从OUT1出口出来。但是现在还一点成功的希望都没有。希望耐心看到这里的大神能指点一下,不胜感激~~~。分开来说,怎样得到从ADC出来的信号呢?又怎样给DAC发命令呢?我去翻了一下ADC和DAC的datasheet,也没找到什么头续。
我觉得现在主要是这些问题,恳求大神能帮帮忙,小女子在此感激不尽。
看出来你的问题是完全没搞过fpga,所以这是一个模糊的系统性问题。
我只大概说一下你的第三个问题。AD和DA一般来说与fpga连接有一排数据线,如你说的14bit。首先需要从fpga产生一个时钟拍给AD芯片,然后用这个时钟从AD数据线上得到数据流。DA也是同样,只是输出数据流。
你需要做的事情是:
1、搞清楚开发板上FPGA的板载基准时钟(一般是晶振)连在芯片哪个管脚上。
2、将时钟带入gclk资源
3、如果需要改变时钟频率,连入时钟管理器。
4、搞清AD的数据时钟连在FPGA哪个管脚上,用该管脚把FPGA内部时钟输出。
5、搞清AD数据线连在FPGA哪些管脚上,读入数据。
DA也是一样。