版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、设计要求VGADE2-70要求:用红色显示2个周期波形;在屏幕下方显示字符库;二.设计原理一〕DDS〔以正弦信号为例〕对于正弦信号发生器,它的输出可以用下式来描述:S Asin( 2f t)=Asin()out out
〔1〕
OUT
是指该信号发生器的输出信号波形,fOUT
指输出信号对应的频率。上式的表tclkθ为 2foutt 〔2〕clkTclk,相位的变化量为2fT
〔3〕out
clk
out
clk为了对2π2Nclk用量化值 B
2N2
〔4〕B且 为整数。BfB out 2N fCLK
〔5〕明显,信号发生器的输出可描述为:Soutk
Asin(B
+B )k1
〔6〕其中θK-1clkθk1Bθk1
2N
〔7〕由上面的推导可以看出,只要对相位的量化值进展简洁的累加运算,就可以得到正弦B信号的当前相位值,为用于累加的相位增量量化值B简洁的线性关系。
f
并呈现OUT,ROMDAC1ROM查找表是DDSNOC(NumericallyControlledOscillators)。二〕VGA显示原理
1DDSBKI0ABKI0A幅值输入BK2BK0BK1BKI1BK3BKI2BKI3Q0QMULT常见的计算机显示器有CRT〔CathodeRayTube,阴极射线管〕显示器和液晶显示器,CRTCRTRGB在这期间,CRT对电子束进展消隐,每行完毕时,用行同步信号进展行同步;扫描完全部行,用场同步信号进展场同步,并使扫描回到屏幕的左上方,同时进展场消隐,预备下一场的扫描。 场逆程扫描轨迹正程轨迹图2扫描轨迹其中蓝色–行正程,红色–行逆程;正程显示〔实线,逆程消隐〔虚线〕VGAB〔蓝色、HS〔行同步、VS〔场同步〕640*4803VGA3VGA显示标准〔行〕行扫描时序〔单位:像素,即输出一个像素的时间〕行扫描时序〔单位:像素,即输出一个像素的时间〕TaTbTcTdTeTfTg时间96408640888004VGA显示标准〔场〕场扫描时序〔单位:行,即输出一行的时间〕2场扫描时序场扫描时序〔单位:行,即输出一行的时间〕TaTbTcTdTeTfTg时间225848082525VGA时钟频率:25.175MHz〔输出像素的频率〕行频:31469Hz场频:59.94Hz〔60Hz〕时序处理分别将场同步信号和行同步信号做时间近似处理行扫描时序〔单位:us〕3行扫描时序〔单位:us〕TaTbTcTdTeTfTg时间3.85.7us1.60.325.426us0.30.3前项之和场扫描时序〔单位:行〕4对场同步做近似处理场扫描时序〔单位:行〕TaTbTcTdTeTfTg时间225848082525作近似处理2无视480无视48250Mhz时钟32Khz64hz的长同步信号50Mhz50Mhz2分频25Mhz26分频31Khz482分频64hzclkvga_clkHSVS系统时钟像素时钟行同步信号场同步信号三〕波形显示原理
5时序处理图要显示波形,需要将波形数据存入存储器〔wave_RAM。wave_RAM2566波形显示构造图每个时钟沿到来,从存储器中读出一个数,通过推断x_cnt与addr的关系以及y_cntx_cnty_cnt其中,x_cntaddry_cntdata77波形显示像素位置与存储器地址之间关系x_cnt关键算法如下:假设在(m,n)处开头显示波形x_cnt=m,addr=0y_cnt=n-datargb=010;x_cnt=m+1,addr=1rgb=010;……x_cnt=m+i,addr=irgb=010;四〕字符显示原理要显示字母、数字、符号、汉字等,需要自建字库〔Char_ROM。Char_ROM16*816*16字模库设计
8字符库端口图16*819字模库设计举例〔打算于字符数量〕有关,数据线与一个字符所占16bit2bit。字符显示思路:确定屏幕显示起始位置,屏幕显示起始位置由行列计数值打算。Char_ROMChar_ROM〔可将地址用宏定义的方法与字符关联。读取该地址对应的数据确定数据位和像素位置的关系数据位和像素位置的关系由行计数值、起始行数、字符所占行数打算。显示颜色,RGBRGB至此,DDSVGA三、系统设计实现DDS发生器,波形输出频率字+NDDDS发生器,波形输出频率字+NDQNMaddrSin_ROM>>字符输出vga_clkaddrchar条件推断 Char_ROM条件推断赋值RGB>计数分频HS计数分频VSclkxcc一〕参数设计
10系统设计思路256816bit。N18M8B=〔000000010000000000〕2,则当输入vga_clk=25MhzDDSDDSf=100Khz。OUT640*480256*2=512100300;50305,纵310325。二〕各模块实现程序及仿真结果DDS模块程序如下:moduleDDS1(CLK,CTR,Q);inputCLK;inputCTR;//input[17:0]BK0;//频率设置字//input[3:0]A; //幅值设置字//input[2:0]BKI0;//初相位设置字output[7:0]Q; //DDS数字量输出wire[17:0]BK0;wire[17:0]BK1;wire[17:0]BK2;wire[17:0]BK3;wire[7:0]addr;wire[7:0]Q0;wire[7:0]Q1;reg[7:0]Q2;assignBK0=17”b000000010000000000;assignBKI2= BK2[17:10];//NM位DFF32DDF1(CLK,BK0,BK1);ADDADD1(CLK,BK1,BK2,BK3);DFF32DDF2(CLK,BK3,BK2);//相位累加器ROM10ROM1(BKI2,CLK,Q0);//ROM查找表ROM10triROM2(BKI2,CLK,Q1);always@(posedgeCLK)if(CTR)Q2<=Q0;elseQ2<=Q1;assignQ=Q2;endmodule11所示11DDS模块仿真结果vga显示模块moduleddsvga(vga_clk,clk,hs,vs,blank_n,red,green,blue,sync_n);inputclk;outpuths,vs;outputblank_n;output[9:0]red;output[9:0]green;output[9:0]blue;outputsync_n;output vga_clk;wirer,g,b;wire[3:1]grb;wirevs,hs,sync_n_r;wirefclk,cclk;wireclk_div;wire[7:0]addr;wire[7:0]data;wire[4:0]addrchar;wire[15:0]datachar;integeri;reg[7:0]addr1;reg[4:0]addr1char;reghs1,vs1;wire[8:0]y_cnt;reg[9:0]xcc;reg[5:0]fs;reg[4:0]cc;//hangtongbureg[8:0]ll;//changtongbureg[3:1]grbp;div_2div_2(clk,clk_div);ROMsinROM(addr,clk,data);//testchartestchar(addrchar,clk,datachar);assignvga_clk=clk_div;assigngrb[2]=(grbp[2])&hs1&vs1;assigngrb[3]=(grbp[3])&hs1&vs1;assigngrb[1]=(grbp[1])&hs1&vs1;always@(posedgeclk)beginif(fs==53)fs<=0;elsefs<=(fs+1”b1);endassignfclk=fs[5];always@(posedgefclk)beginif(cc==29)cc<=5”b00000;elsecc<=cc+1”b1;endassigncclk=cc[4];always@(posedgecclk)beginif(ll==481)ll<=9”b0;elsell<=ll+1”b1;endassigny_cnt=ll;//生成行同步,场同步信号always@(ccorll)beginif(cc>23)hs1<=1”b0;elsehs1<=1”b1;if(ll>479)vs1<=1”b0;elsevs1<=1”b1;endalways@(posedgevga_clk)if(blank_n)beginif(xcc==639)xcc<=0;elsexcc<=xcc+1”b1;endelsexcc<=0;always@(xcc,y_cnt,data)beginif(xcc>=10”d200&&xcc<=10”d455)beginaddr1<=xcc-8”d200;if(y_cnt==9”d300-data)grbp<=3”b001;elsegrbp<=3”b000;endelsebeginaddr1<=3”b000;grbp<=3”b000;endend/****************/always@(posedgeclk_div)beginif(y_cnt>=9”d100&&y_cnt<=9”d115)beginif(xcc==10”d500)addr1char<=0;//求地址elseif(xcc>=10”d501&&xcc<=10”d516)addr1char<=addr1char+1”b1;endendwire[3:0]dis_bit=10”d115-y_cnt;always@(posedgeclk_div)//begingrbp<=3”b000;if(y_cnt>=9”d100&&y_cnt<=9”d115&&xcc>=10”d501&&xcc<=10”d516)beginif(datachar[dis_bit])grbp<=3”b010;//RGB赋值elsegrbp<=3”b000;endend/****************/assignaddr=addr1;assignaddrchar=addr1char;assignhs=hs1;as
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建泉州市晋江市社会组织综合党委招聘专职人员2人备考题库附参考答案详解(模拟题)
- 2026广东广州市黄埔区新龙镇面向社会招聘政府聘员5人备考题库附参考答案详解(轻巧夺冠)
- 2026湖南永州江永县人民医院、中医医院招聘合同制聘用人员的3人备考题库及参考答案详解(考试直接用)
- 2026广东华南理工大学前沿软物质学院文韬课题组科研助理岗位招聘1人备考题库带答案详解(b卷)
- 2026陕西西安未央汉城医院招聘6人备考题库附参考答案详解(夺分金卷)
- 2026重庆两江新区物业管理有限公司外包岗位招聘1人备考题库及答案详解【必刷】
- 2026广西物资学校招聘高层次人才4人备考题库及参考答案详解(培优b卷)
- 2026玉溪硅基智能科技有限公司招聘10人备考题库及答案详解(夺冠系列)
- 盆底重建术后并发症防治策略2026
- 2026国宝人寿保险股份有限公司招聘6人备考题库含答案详解(研优卷)
- (中级)起重装卸机械操作工(叉车司机)技能鉴定理论考试题库(含答案)
- 中西文化鉴赏智慧树知到答案2024年郑州大学
- 2023年2024年人力资源管理师三级考试真题及答案(选择题部分)
- (必练)高级室内装饰设计师备考题库宝典(核心题版)
- (分层作业)全册部编版六年级语文下册
- (高清版)DZT 0331-2020 地热资源评价方法及估算规程
- 2024年北京科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 图书馆沉浸式读书策划方案
- 《劳动》五年级下册教学课件 4 石榴管理与采收
- 全国优质课一等奖高中物理必修一《宇宙航行》课件
- 产品可靠性测试计划
评论
0/150
提交评论