搜索
bottom↓
回复: 13

自己学习FPGA的一点成果

[复制链接]

出0入0汤圆

发表于 2009-10-19 17:04:24 | 显示全部楼层 |阅读模式
经过了,将近三个月的学习,自己终于利用FPGA做出里一点像点样的东西--一个基本的DDS
这个东西困扰了我好久啊,今天终于弄完了,心情这个High & relax 啊,如释重负!
现在把一些相关的图片传上给大家看看,程序过些天整理好后再发上来!



开机后显示画面 (原文件名:002.jpg)


可以通过按键选择波形 (原文件名:003.jpg)


正弦波显示画面 (原文件名:004.jpg)


正弦波,不过还是不是很好 (原文件名:005.jpg)


三角波 (原文件名:006.jpg)


液晶和按键(按键只是一个用了) (原文件名:010.jpg)


FPGA核心板 (原文件名:011.jpg)


波形输出 (原文件名:012.jpg)


背面 (原文件名:013.jpg)



希望大家都给点建议和意见啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-10-20 18:04:32 | 显示全部楼层
挺好,继续更新吧

出0入0汤圆

发表于 2009-10-26 22:49:36 | 显示全部楼层
我觊觎楼主的dds源代码。。。楼主能分享一个么,我是初学。

出0入0汤圆

发表于 2009-10-26 23:12:12 | 显示全部楼层
AD9834?

出0入0汤圆

发表于 2009-10-27 09:08:30 | 显示全部楼层
核心板是艾米电子那款吧 呵呵
不知道你的输出频率范围是多少?
看样子应该是DDS的IP 不是使用DDS芯片的吧

出0入0汤圆

 楼主| 发表于 2009-10-28 16:13:07 | 显示全部楼层
都不是,用的nios II 驱动12864  
用Verilog 写的波形发生模块。
代码我还没有整理好,需要的话,关注吧。

出0入0汤圆

 楼主| 发表于 2009-10-28 19:54:07 | 显示全部楼层
这部分代码就是实现波形输出的代码。
module wave_out(Key,
                                clk,
                                D_out,
                                );
input clk ;
input [1:0] Key ;
output [7:0] D_out ;

wire[7:0]temp1,temp2,temp3;
reg [7:0] clk_d;
reg [7:0] temp;
reg [7:0] count ;
reg [5:0] Addr ;
/*******************/
assign D_out=temp;
/*****************


/************************/
always@(posedge clk)
begin
                if(count<25)
                count<=count+1;
                else begin
                          count<=0;
                          clk_d<=~clk_d;
                         end
end
/*******************/
always@(posedge clk_d)
begin
if(Addr<64)
Addr<=Addr+1;
else
Addr<=0;
end
/********************/
rom_sine rom_sine(
        .address(Addr),
        .clock(clk_d),
        .q(temp1));
rom_tri roms_tri(
        .address(Addr),
        .clock(clk_d),
        .q(temp2));
rom_pulse roms_pulse(
        .address(Addr),
        .clock(clk_d),
        .q(temp3));
/********************/
endmodule

出0入0汤圆

发表于 2009-12-21 15:09:22 | 显示全部楼层
朋友,能否发点这方面的资料给我,我的是邮箱是846003042@qq.com!最近在搞波形发生器,不知如何用液晶把波形显示出来,看到你这个真的很有美感,希望能分享一下,谢谢了^_^

出0入0汤圆

发表于 2009-12-26 23:49:23 | 显示全部楼层
偷_窥中~~~

出0入0汤圆

发表于 2009-12-27 00:08:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-27 19:07:40 | 显示全部楼层
哇 lz好强啊  我最近的EDA实训也在做波形发生器  想问下你写正弦波时怎样设置一个ROM存储那二百多个采样数据?
类似单片机C51程序从数组取里数据的形式   verilog里面没有这种操作,我又不想用200多个case一个个写那些采样值呵呵!
就是你这一段:
rom_sine rom_sine(
.address(Addr),
.clock(clk_d),
.q(temp1));
rom_tri roms_tri(
.address(Addr),
.clock(clk_d),
.q(temp2));
rom_pulse roms_pulse(
.address(Addr),
.clock(clk_d),
.q(temp3));

出0入0汤圆

发表于 2009-12-29 02:17:15 | 显示全部楼层
不错,呵呵

出0入0汤圆

 楼主| 发表于 2009-12-29 15:39:29 | 显示全部楼层
回复【10楼】mowenhui28
-----------------------------------------------------------------------

这个只要设置rom时设置好rom的大小为200就可以啊。

出0入0汤圆

发表于 2009-12-29 20:05:35 | 显示全部楼层
rom可以写一段matlab代码生成相应的文件
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 03:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表