临时要用fpga 求助

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:37:47
毕业设计题目为波形发生器,本以为可以简单的用51单片机加两个da转换器就能搞掂,后来发觉单片机做不到很高的频率,查看人家的方案发觉,唯有用FPGA来做波形发生的部分是最好的。但我对FPGA的了解几乎为零,只是大概知道他是用VHDL或者VerilogHDL来编程的,也能看懂一点hdl的程序,其他具体设计流程就没什么了解,请高手给点意见。毕业设计5月初就要答辩。谢谢!!
twang61同学 可以解释一下你说的dds的原理编波形,具体是用什么芯片什么方法来实现呢??谢谢!!

需要fpga+rom或者fpga+ram
rom/ram内部储存波形.

比如要产生正弦波,一个周期内有128个采样点,
rom/ram就储存正弦波每个采样的的幅度值(比如用8bit表示每个幅度值),
一个完整的正弦波就需要8*128bit的储存空间.
由于正弦波的对称性,你还可以减少储存空间.

然后用fpga控制rom/ram的输出即可得到正弦信号.
读取的快慢决定了信号的频率.

如何得到正弦波的幅度值?
网上搜下就知道了, 我是用c语言的sin(x)函数的.

这里有你要的吧!我做过一个设计!http://edacn.net/index.php/227564/spacelist-blog.html

用VerilogHDL吧,这个跟C接近,容易看懂,
用DDS的原理编波形很方便的,原理还是查找表,把一个周期的波形数据事先放在一个ROM中,然后用DDS算法来实现查找表速度的控制,跟单片机思路一样,单片机就是把那张表里的数据一个个拉出来放到DA那然后转换输出,我们竞赛的时候做过