深圳市航顺芯片技术研发有限公司
直播中

湛蓝

12年用户 448经验值
擅长:控制/MCU
私信 关注
[问答]

怎样去设计一种基于FPGA的正弦信号发生器

怎样去设计一种基于FPGA的正弦信号发生器?
如何对基于FPGA的正弦信号发生器进行仿真

回帖(1)

李汉荣

2021-9-28 15:22:47
  应用知识储备说明
  用FPGA做正弦信号发生器,从专业学科角度来说它属于通信行业了。在通信行业里,信号的处理肯定要用到两种信号类型:模拟信号和数字信号(这个概念大家可以自己上网查一下,这里不详细介绍)。这两种信号之间如何进行转化呢,就要用到AD芯片和DA芯片。
  我想大家都知道AD和DA这两个名词吧,我们现在就用正弦信号发生器做个说明吧。
  
  我把上大学期间做个实验给大家讲一下,如上图所展示的一样。当时我是通过信号发生器产生一定频率的正弦信号,然后再通过AD芯片(模拟转数字)将信号发生器输出的模拟信号转为数字信号;再将转化后的数字信号通过FPGA进行采集,把采集到的数据传递给DA芯片(数字转模拟),最后通过示波器观察信号是不是正弦波。
  今天我们要做的实验,由于没有真实额信号源发生器,以及AD、DA和示波器;只能通过在FPGA中模拟正弦波的数字信号来搞了,然后通过仿真软件进行测试。
  程序设计
  我们这里要用到FPGA的ROM-IP来做实验,原理就是把正弦信号波形的数据存储到ROM中,然后从里面读出来就行了,如下图所示。
  注意:由于大家使用的FPGA芯片不同(alter 或者Xilinx),生成的ROM操作流程也不同,这里不再介绍。
  
  我们使用波形软件生成自己想要的波形参数,然后把生成的数据转换为coe文件,如下图所示。
  
  
  这些准备后,我们调用一个ROM-IP将参数导入,就可以写代码控制ROM了。(此时,感觉自己又回到了大学时代,心情激动。。.。。.。)
  代码:
  
  测试文件:
  
  仿真结果:如下图所示,对data_out通过鼠标右键选择为模拟信号,数据信号就会变成正弦波形模式。
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分