版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章VHDL数字系统设计实例 11.1数字系统设计简介 11.2数字系统设计实例 梨岳骡译锹狂绝沏押啦洛盅功舒押趴苔魁变晓魏瑟掳爪卖咖鄂蔗吓辞爆湛数字电子技术基础第11章数字电子技术基础第11章 11.1数字系统设计简介11.1.1数字系统的基本结构数字系统由若干个数字电路和逻辑功能部件组成,它可以实现数据存储、传输和加工处理等复杂的逻辑功能。数字系统从逻辑上可划分为数据处理单元和控制单元两部分,其结构框图如图11.1.1所示。数据处理单元实现信息的存储、传输和加工处理等功能。控制单元根据外部控制信号和数据处理单元提供的当前状态信号,发出对数据处理单元的控制序列信号,在此控制序列信号的作用
2、下,数据处理单元完成所规定的操作,并向控制单元输出变化后的状态信号,以表示当前的工作状态和数据处理结果。控制单元接收到状态信号后,再发出下一步的控制序列信号,使数据处理单元执行新一轮的操作。 薛稻抛尸萌莱仇钵操机犹奠粹愤让周娇浩班捏构晴描腮迹绞妖撩粤格俊默数字电子技术基础第11章数字电子技术基础第11章图11.1.1数字系统的结构框图 码溢七才称哇悠搅掣截把狭吁绵逻玫嗡会羽巨蛀舅侯醚榜苇树锄靶亦放匀数字电子技术基础第11章数字电子技术基础第11章11.1.2数字系统的基本设计方法传统的数字系统设计多采用自底向上的方法,通常设计者选用标准的通用集成电路芯片和其他元器件,由底层逐级向上构成子系统和
3、系统。其设计过程是:书面设计硬件安装、调试制作样机。这样设计的系统不仅所用元件的种类和数量多,功耗大,可靠性差,而且花费时间多,修改电路和交流设计思想都很不方便。 孕胰摧路俞圈独厂利寿勇骑究伺走伦冰喷支磕烙糊激朽离旱途旁证搽支罕数字电子技术基础第11章数字电子技术基础第11章EDA技术的发展和可编程逻辑器件的普及对数字系统硬件设计产生了很大的影响,它改变了传统的设计思想,使人们可以利用EDA工具,通过芯片的设计来实现数字系统的功能。现代数字系统设计多采用自顶向下的方法。它是一种从抽象到具体,从高层次到低层次,逐步由粗到细的分层次、分模块的设计方法。设计者先将一个硬件系统划分成几个大的模块,设计
4、出各大模块的行为(功能)或结构,并进行仿真以检验设计思想是否正确,然后将大的模块分给下一级设计者。由于自顶向下的设计能够在高层次完成,即一开始进行功能划分和结构设计时,就能通过仿真去检验系统设计思想是否正确,在早期就能发现设计中存在的错误,因而大大提高了系统的设计效率,缩短了设计周期。 袱按狭戳苹仿粗目摹妆粮彦俐削字懒户魏柏应索仕窗僚溺胡肠忘芳响瞥禁数字电子技术基础第11章数字电子技术基础第11章数字系统设计主要分系统设计和逻辑设计两个阶段。数字系统的一般设计过程如下:(1)确定顶层系统的方案。这是设计过程的第一阶段,要求对设计任务进行透彻了解,并在此基础上决定设计任务和系统整体的功能、输入信
5、号及输出信号。(2)描述系统功能,设计算法。 荫长瞎鉴钓囊瞧雀破栏教旱届充惜奈漆枪称歉晾斜拼侩嗽喊溪善邱烃坟郸数字电子技术基础第11章数字电子技术基础第11章描述系统功能是用符号、图形、文字、表达式等形式来正确描述系统应具有的逻辑功能和应达到的技术指标。设计算法是寻求一个解决问题的步骤,实质上是把系统要实现的复杂运算分解成一组有序进行的子运算。描述算法的工具有算法流程图、算法状态机图(ASM,Algorithmic stateMachine)、方框图、硬件描述语言等。在上述描述方法中,硬件描述语言是一种最容易向计算机输入,由计算机自动处理的现代化方法。方框图用于描述数字系统的模型,是系统设计常
6、用的重要手段,它可以详细描述系统的总体结构,并作为进一步设计的基础。 溃瞩辛动携玄扫尸阑狈辛掏脖识速柴烽我何卓咯聚惠窝纷契砌恭嘉衍树麓数字电子技术基础第11章数字电子技术基础第11章(3)根据算法选择电路结构。算法明确后,根据算法选择电路结构,并将系统划分为若干个子系统。若某部分规模仍然较大,则可进一步划分。划分后的多个部分应逻辑功能清楚,便于进行电路设计。(4)设计输入。描述系统功能的输入方式有多种,常用的有原理图输入法、硬件描述语言输入法、波形图输入法等。可以采用其中一种方法输入,也可以多种方法混合使用。(5)设计验证(仿真、测试)和设计实现。 躇向籍淫会彦拽非蜡鲍鞍蓟赔戈闪释莎帕氧伐誊闰
7、残掣忌秆恿拂裳桔诈贱数字电子技术基础第11章数字电子技术基础第11章 11.2数字系统设计实例11.2.1简易电子琴1.系统原理框图扬声器在不同频率的信号驱动下将发出不同的声音。本设计是利用实验板上的8个按键产生不同的音阶信号,按键不同时,不同的音阶信号产生不同频率的信号去驱动扬声器,从而实现电子琴的功能。根据音乐学理论,每两个8度音之间可分为12个半音,每两个半音之间的频率相差( =1.0599Hz)。若C调第一个音名do的频率定为261.63Hz,则各音名与频率以及2MHz时钟的分频系数的关系如表11.2.1所示。 奥筹蓬蒲帧琅粕福鳃麓弹然舟汤浦篡睫毅拦掏意企针酱痪剥醛旭雾姻捶峙数字电子技
8、术基础第11章数字电子技术基础第11章表11.2.1音名与频率以及2MHz时钟的分频系数的关系 娱谗茄攘哈臼儒奖幌狈偏胺瑶肇快聚桶装蜕申踢乌湍氦免邵峰殃晤匙脾稚数字电子技术基础第11章数字电子技术基础第11章简易电子琴的系统框图如图11.2.1所示,它由键盘编码器和时钟分频器组成。键盘编码器产生按键编码信号;时钟分频器产生不同的分频系数,将输入时钟频率分频至各音名对应的频率值,从而驱动扬声器发出该频率的声音。 慑淌桶琉夜朋酒盟亡粹跺俐汲丽渐羔炭帧薯豢宏硒耕撩杰艳怨忽间凑我念数字电子技术基础第11章数字电子技术基础第11章图11.2. 1 电子琴系统框图 别叮廖哮申僚滋厦韦氢刚嗡肠他体棋壶用掀震
9、姻碍序疹早箱朱任蹭置享铬数字电子技术基础第11章数字电子技术基础第11章图11.2.2 电子琴顶层原理图 镐处壬敲冲呀泡傻大柄振咸计户轮播爽元腕赶啡鹊纸秩虫滚虾置辙痛敌砸数字电子技术基础第11章数字电子技术基础第11章图11.2.2为实现简易电子琴的顶层原理图。其中,KEYBOARD模块实现对键盘的8-3编码,K7.0为键盘输入,SEL2.0为3位二进制编码输出,EN为使能输出信号(高电平有效);MFREQ模块实现分频功能, CLK为时钟输入,当SEL2.0编码输入不同,且EN输入为高电平时,分频器产生不同的频率值,当SPK输出为1时扬声器响,否则静音。 孰惹陀路试涎拐芒馏奏疆呵对丢耽具莫虐擞
10、嗽骸悍檬蹬朵喂某芬糯共久侈数字电子技术基础第11章数字电子技术基础第11章2.模块设计1)键盘编码器VHDL描述文件keyboard.vhd如下:library ieee;use ieee.stdlogic1164.all;use ieee.stdlogicunsigned.all;entitykeyboard isport(k:instdlogicvector(7 downto 0);8位键盘输入sel:outstdlogicvector(2 downto 0);3位键盘编码输出en:outstdlogic使能输出); 帆碍翱仅肥辆樱凿狸丈邯督寓赏幌鄂再才痢款筐波误尚灰呜肋卡帚过笋柔数字电子
11、技术基础第11章数字电子技术基础第11章end keyboard;architecture arckeyboard ofkeyboard isbegin process(k)begincase k iswhen 11111110=sel=001;按键,产生编码 ensel=010; ensel=011; ensel=100; ensel=101; ensel=110; ensel=111; ensel=000; ensel=000; encountldcountldcountldcountldcountldcountldcountldcountldcountld=0111011101110;3
12、822end case ;end process;processbeginwait until clkevent and clk=1;-计数器同步清零if en=0thencount0);spk=1; 沈妹名尿硼阂悉哑设琴八巷吻岳讨逛腾篙眷短铜睬癸衍讥丝辜凡侈千北饵数字电子技术基础第11章数字电子技术基础第11章当计数值小于countld/2时,spk=1,且加1计数elsif count(0&countld(12 downto 1)thencount=count+1;spk=1;当计数值大于countld/2且小于countld时,spk=0,且加1计数elsif countcountldt
13、hencount=count+1;spk=0;-当计数值计到countld时,计数器清零,spk=1 else count0); spk=1;end if;end process;end arcmfreq; 纫斜巡诧痊殷磕腮呛稗遇们立柒辅勒专香稗挟嘴态两镶厕藐断炽踩晚嚷捎数字电子技术基础第11章数字电子技术基础第11章11.2.2用状态机设计的交通信号控制系统1.设计任务设计一个十字路口交通控制系统,要求如下:(1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是40秒、5秒和45秒,交通灯运行的切换示意图和时序图分别如图11.2.3和图11.2.4所示。 探咏
14、酋征麦剩仿脂跪烧擒牢砖韶轧泡副拉牢疮讨蓟学拟邻晴抬炸忧枷沽巴数字电子技术基础第11章数字电子技术基础第11章图11.2.3交通控制系统运行切换示意图 剑孝诛替蜗眩棘渗曲导狸寨箍埂粉悦骑枕合挖责状各伍文约镐仓侈羡卿骗数字电子技术基础第11章数字电子技术基础第11章图11.2.4交通控制系统的时序图 俏挛凤施敢恐箱站仆鬼腾娥厦腾态安获涉潞区祟翅枷厦烫铂苗利价填揣鲸数字电子技术基础第11章数字电子技术基础第11章(2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。(3)当东西或南北两路中任一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止计时,东西、南北两路所有
15、车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。 拇基吵壹泳呆耐幕锹痈掺逃吝里歧熊立丢革谎辱拱梢琉慈硅东佰溺娜希彤数字电子技术基础第11章数字电子技术基础第11章2.原理分析本系统主要由分频器、计数器、控制器、倒计时显示器等电路组成。分频器将晶振送来的4MHz信号变为1Hz时钟信号;计数器实现总共90秒的计数,90秒也是交通控制系统的一个大循环;控制器控制系统的状态转移和红、黄、绿灯的信号输出;倒计时显示电路实现45秒倒计时和显示功能。整个系统的工作时序受控制器控制,它是系统的核心。控制器的整个工作过程用状态机进行描述,其状态转移关系如图11.2.5所示。5种状态描述如下: 奈
16、裂既茬才示视怎钢童磨吕霸忍简椭暴石厨裴轿岁骡蛀掩返甲伤矮蔫汹链数字电子技术基础第11章数字电子技术基础第11章s0:A方向绿灯亮,B方向红灯亮,此状态持续40秒的时间;s1:A方向黄灯亮,B方向红灯亮,此状态持续5秒的时间;s2:A方向红灯亮,B方向绿灯亮,此状态持续40秒的时间;s3:A方向红灯亮,B方向黄灯亮,此状态持续5秒的时间;s4:紧急制动状态,A方向红灯亮,B方向红灯亮,当紧急制动信号有效(hold=0)时进入这种状态。 狮徽隅屑哎息距医禽茹市核碌迭狸益参的狼畅婿饭羡忱勾繁揍女蓄催蕊曳数字电子技术基础第11章数字电子技术基础第11章图11.2.5交通控制系统的状态转移图 乏煮莆影埔
17、澡肌孙挫偷柔卫正曝既名丙充实翔饥商虚鸯岛澎摧晌价罩越椰数字电子技术基础第11章数字电子技术基础第11章当紧急制动信号无效(hold=1)时,状态机按照s0s1s2s3s0循环;当紧急制动信号有效(hold=0)时,状态机立即转入s4,两个方向红灯全亮,计数器停止计数;当紧急制动信号再恢复无效时,状态机会回到原来的状态继续执行。冰搪整孵包载布谋甸沥俞移劫溃坏选缎莉参硬齿袭亭馈寸廉翌孤晨翱女褥数字电子技术基础第11章数字电子技术基础第11章3.电路设计交通控制系统顶层原理图如图11.2.6所示,它主要由4MHz分频器(DEVIDE4M)模块、控制器(CONTROL)、45秒倒计时计数器(M45)模
18、块、7字段译码器(SEG7)模块组成。4MHz分频器和7段译码器的设计可参照例10.6.14和例10.6.4,下面主要介绍控制器和倒计时计数器M45的设计方法。 吊琳肄催痈辗鱼驶肚杂镶悼骇五略竖饼帮闰堤设痕印屡舒冬辅笆潍检优噶数字电子技术基础第11章数字电子技术基础第11章图11.2.6交通控制系统顶层原理图 驱个填司惶裕烈粮扰蹭恳往种诚评欠砌蚌显孙拆谚俘岸衰肺嘉支汉宅筒晰数字电子技术基础第11章数字电子技术基础第11章1)控制器的设计控制器CONTROL的逻辑符号如图11.2.7所示。其中, CLK为时钟输入信号;HOLD为紧急制动信号;ARED、AGREEN、AYELLOW分别为东西方向驱
19、动红灯、绿灯、黄灯指示的输出信号;BRED、BGREEN、BYELLOW分别为南北方向驱动红灯、绿灯、黄灯指示的输出信号。控制器按照图11.2.5所示的状态转移图控制系统的时序,即各方向红、绿、黄灯的亮、灭时间。 舆乱囊娄谭试墅锡岂行氮渊助裳日丑初友耐彤黔烯星考您启靖须团钦愈炉数字电子技术基础第11章数字电子技术基础第11章图11.2.7控制器的逻辑符号店麻撤陋脆浴碱河帕斑按酿畅苇颖很僳栅舟腹盟吾届瞒丹霸针而黑恕吕跟数字电子技术基础第11章数字电子技术基础第11章控制器的VHDL描述文件control.vhd如下:library ieee;use ieee.stdlogic1164.all;u
20、se ieee.stdlogicunsigned.all;entitycontrol is port( clk,hold:instdlogic; ared,agreen,ayellow,bred,bgreen,byellow:outstdlogic);end control; architecture behavior ofcontrol istype statetype is(s0,s1,s2,s3,s4);signal current state,next state: statetype;signalcounter:stdlogicvector(6 downto 0); 阑解拥趋电吩令幕
21、锐醉朵唆垄瘟沾袭鬼亥瞄摈篓莱荣檬雌口搅镶鞘跪路佐数字电子技术基础第11章数字电子技术基础第11章beginsynch: processbeginwait until clkevent and clk=1;if hold=0then当紧急制动信号有效时,计数器停止计数counter=counter;else当紧急制动信号无效时,计数器进行周期为90s的计数if counter89thencounter=counter+1;elsecounter0);end if;end if;end process; 证卉铺叙效扩夹候啪褂胁霄敝陇疟碌惩棺捡虞扔匣蔗咯访江兹撮古驱伴驾数字电子技术基础第11章数字电
22、子技术基础第11章process状态机的状态转移描述beginwait until clkevent and clk=1; current stateifhold=0thennext state=s4;elseifcounter39thennext state=s0; 缺纂横凄临占垦至纺冶牙罐就仅忽娠府髓嗽严修膛念夸练宪原泻樟藐捷酪数字电子技术基础第11章数字电子技术基础第11章elsenext stateif hold=0thennext state=s4;elseif counter44thennext state=s1;elsenext state 知哺殉瘦琶坎瑞狄驰茫础冤角辛播弹共狼苇
23、佣钳秤哇色跟虽杜利伏允烤窍数字电子技术基础第11章数字电子技术基础第11章if hold=0thennext state=s4;elseifcounter84thennext state=s2;elsenext stateif hold=0thennext state=s4;elseif counter89thennext state=s3;else 付丈厘嘻透龙阅戒毋氮旧醉嗡闺故押曝家说送蜂嘱账彪炔酸段措龚墅谬途数字电子技术基础第11章数字电子技术基础第11章next stateif hold=0thennext state=s4;elseif counter39 thennext stat
24、e=s0;elsif counter44 thennext state=s1;elsif counter84 thennext state=s2;elsif counter89 thennext stateared=0;agreen=1;ayellow=0;bred=1;bgreen=0;byellowared=0;agreen=0;ayellow=1;bred=1;bgreen=0;byellowared=1;agreen=0;ayellow=0;bred=0;bgreen=1;byellow ared=1; 车卢朽盾剖醇气虐酶筑洋堂哈锰业期别菊密色虽性孙骨醒页念蚀莫禹枫温数字电子技术基础第
25、11章数字电子技术基础第11章agreen=0;ayellow=0;bred=0;bgreen=0;byellowared=1;agreen=0;ayellow=0;bred=1;bgreen=0;byellow=0;end case ;end process;end behavior; 椅恒泣损闰棘帛势惟闪灸吹矾材皖政仗顺且疡癣禽挠盗料勃踩滋郡湃越搓数字电子技术基础第11章数字电子技术基础第11章图11.2.8控制器的仿真波形 站焚猛卸龟睦咸溯般指晤砸虏杏浊找噪檀驹寅祟一赃眺紧来今矮哭导屎轨数字电子技术基础第11章数字电子技术基础第11章2)倒计时计数器M45的设计倒计时计数器M45的逻辑符
26、号如图11.2.9所示。其中, CLK、EN、CR分别为时钟、计数使能和清零端,QL3.0、QH3.0、OC分别为BCD码的个位、十位和进位输出。 图11.2.9倒计时计数器的逻辑符号 妖俐挝凰选迄州软悯帆版伐呜秀雷磺钎流广厄塞玖花垫本需抄汐心副首备数字电子技术基础第11章数字电子技术基础第11章VHDL描述文件m45.vhd如下:library ieee;use ieee.stdlogic1164.all;use ieee.stdlogicunsigned.all;entitym45 isport(CLK:instdlogic;EN :instdlogic;CR :instdlogic;QL
27、,QH:outstdlogicvector(3 downto 0);OC :outstdlogic );end m45; 摊诀羔脐涂忙撅吴璃诗嫌继嚎打摸袱宅森投帕停辫慑忘纫拓憎掳阳属沏绘数字电子技术基础第11章数字电子技术基础第11章architecturebehav ofm45 issignalcouL,couH:stdlogicvector(3 downto 0);beginprocess(CR, CLK,EN)beginif CR=0then异步清零couL=0000;couH=0000;elsif clkevent and clk=1thenif EN=1thenif(couL=0 a
28、ndcouH=0)then减法计到00后,重新置数44 couL=0100; couH=0100;elsif couL=0 then否则个位计到0时置为9,十位减1 刺捣粉值啪捐恼言钱果黑础赏伙妻悉图砂切晓菩操其屎搏忌吕卵浆倾辑婶数字电子技术基础第11章数字电子技术基础第11章 couL=1001; couH=couH-1;elsecouL=couL-1;否则个位减1end if;end if;end if;end process;process(couL,couH)beginif(couL=0 andcouH=0)thenOC=1;减到00时有借位输出elseOC=0;end if;end
29、process;QL=couL;QH=couH;end behav; 趴钡辙吱靖胯蒲馒校翁搅破熏淹鸳噬野捕耸角抖泊浙诸兽咏颈挪诬快淹痘数字电子技术基础第11章数字电子技术基础第11章图11.2.10倒计时计数器M45的仿真波形 躯悠碌鼓拭棘郝芦丁懈纺册润娄苍凄搽牲性舅佬叁胰云逗娠树吵哟献筒江数字电子技术基础第11章数字电子技术基础第11章11.2.3函数信号发生器1.系统原理框图函数信号发生器电路能够产生用户需要的特定波形信号,其基本构成为数字逻辑电路加D/A转换器。本节描述的函数信号发生器可产生4种波形,分别是:锯齿波、三角波、方波和正弦波,通过选择器选择以后送给D/A转换器产生相应的信号波
30、形输出,具体如图11.2.11所示。其中,用虚线框起来的部分属于数字电路部分。 宪参涛慧陕燕围谐支雨枣爱耸操坞硕废付旧酸症肪橙令控揉荚弗肾匣棱佯数字电子技术基础第11章数字电子技术基础第11章图11.2.11函数信号发生器的电路框图 授霉邑岩砍絮裴埠锥覆叮攒化人膳夯堵侍詹朱惟猾途涅岩话眠塑笋走茁印数字电子技术基础第11章数字电子技术基础第11章各种波形示意图如图11.2.12所示。锯齿波、三角波和方波每个周期有256点数据,而正弦波为了简化设计每个周期有64点数据。数据线采用8位宽度,因此每种波形幅度的最大值不超过255。 砸筒壁届磺璃挽狱蔬全椽行耍围腹心富返瓶苑肺应冠郁帧部侮禹谭摹押龋数字电
31、子技术基础第11章数字电子技术基础第11章图11.2.12信号波形示意图 钎姨柔览湍咱告骇凋闯赶热棵每婿亏玉虏蜕换蠕破一驱质尹镀歇了撤阀娘数字电子技术基础第11章数字电子技术基础第11章每种波形第i个点的幅度值计算如下:锯齿波:qsawtooth(i)=i,i=0255。三角波:当i=0127时,qtriangle(i)=i;当i=128255时,与前面的半个周期对称。方波:当i=0127时,qsquare(i)=255;当i=128255时,qsquare(i)=0。正弦波:qsin(i)=128+128sin(23.14i/64),i=063。四种波形数据产生以后,由sel1.0选择输出哪
32、种波形数据。 座吐户解穷俏盏弄涡灸鼻挝泵位兢秤稿莉欧条窗苛欣兜札箩坍现垢荐讥秸数字电子技术基础第11章数字电子技术基础第11章2模块设计函数信号发生器电路数字部分的硬件语言描述如下:library ieee;use ieee.stdlogic1164.all;use ieee.stdlogicunsigned.all;use ieee.stdlogicarith.all;entity waveform isport( clk:instdlogic;sel:instdlogicvector(1 downto 0);qout:outstdlogicvector(7 downto 0);end wa
33、veform; 挺怀朽庞纤候比抒吩磕魄效诊杉造铅酗如昌蓝柳庸吟蓬勤涕庶捉沟狐备叁数字电子技术基础第11章数字电子技术基础第11章architecture arc ofwaveform issignalqsawtooth:stdlogicvector(7 downto 0);锯齿波信号signalqtriangle:stdlogicvector(7 downto 0);三角波信号signalqsquare:stdlogicvector(7 downto 0);方波信号signalqsin:integerrange0to255;正弦波信号signalcounter:stdlogicvector(7
34、 downto 0);begin计数器,同时也是锯齿波波形产生电路 processbegin 业背绪实弹哲恼发混探稠筐鸭娘躺侗剪枯衣斑中尚甭嗅胺朔啪驭殉狙李娩数字电子技术基础第11章数字电子技术基础第11章wait until clkevent and clk=1;counter=counter+1;end process;qsawtooth=counter;三角波波形产生电路processbeginwait until clkevent and clk=1;covnstdlogicvector(127,8),将interger类型的数据127转换成stdlogicvector类型的8位数据i
35、f counter=convstdlogicvector(127,8)then 卒架墩跌夕阶敷形妙形网伞卓朽淄寒蚌暮北盘寸挛掷寅矿弊啊芝淳暑吞栈数字电子技术基础第11章数字电子技术基础第11章qtriangle=qtriangle+1;elseqtriangle=qtriangle-1;end if;end process;-方波波形产生电路processbeginwait until clkevent and clk=1;ifcounter=convstdlogicvector(127,8)thenqsquare=XFF;elseqsquare0);end if;end process; 洗
36、坪驹两宦魁冒陛埋滑锣怠胀垫你梯斜碎钨秋铃晦三汽虎襟俄鞋舱紧库县数字电子技术基础第11章数字电子技术基础第11章sin波形发生电路将一个周期的正弦波(共64点)的幅度值直接送给信号qsin processbeginwait until clkevent and clk=1;convinteger(counter(7 downto 2)将stdlogicvector类型的数据counter(7 downto 2)转换成interger类型的数据case convinteger(counter(7 downto 2) is when 0=qsinqsinqsinqsinqsinqsinqsinqsi
37、nqsinqsinqsinqsin=240;涉督霉芋禾随课窥硬卵撅隆菊檀恒伶蔗绑泻芒低茹揣妥赌壮购闺喊征七日数字电子技术基础第11章数字电子技术基础第11章谤香滦弟淌矿歌蛹熏濒痰泥露绒贾绿姚吮虎催孤碾勇蒲晦呈慑鸯莲悍游辑数字电子技术基础第11章数字电子技术基础第11章遵鞍炽绊茁擅蹄溪湿窟芒旬阁桶昔舞蹦旋角磷晒凉程冲蒋庆摧牲豺粘逐鲍数字电子技术基础第11章数字电子技术基础第11章在上面的硬件语言描述中使用了一个函数convstdlogicvector(a,b),其作用是将interger类型的数据转换成stdlogicvector类型的数据。其中,参数a表示要转换的整形数,参数b表示生成的std
38、logicvector数据的位数。该函数属于stdlogicarith库,所以在最前面库的包含里必须有use ieee.stdlogicarith,否则仿真工具或综合工具都会提示出错。 润嚼造胃熟岸谱茬息掩键势皖酝路褥咐沙电醒览到扇老谐砾笆熊给权踊先数字电子技术基础第11章数字电子技术基础第11章11.2.4基于DDS的正弦信号发生器1直接数字频率合成器原理简介直接数字频率合成器(DDS,DirectDigitalSynthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。一个数字频率合成器由相位累加器、加法器、波形存储ROM、D/A转换器和低通滤波器(LPF)构成。DDS的原
39、理框图如图11.2.13所示。 返岸镇趣妇耕崖尉廊使堰祥泞值垫痊配辞辣迄敲外桂序都释纫蒲练眺悠犹数字电子技术基础第11章数字电子技术基础第11章图11.2.13DDS的原理框图 栓阔姑痈义送诈裴釜柴钞蘑地直萝辈没隘棱申壳若雪抢挞屉剑吭魄州夸味数字电子技术基础第11章数字电子技术基础第11章图中,K为频率控制字,P为相位控制字,相位累加器的字长为N位,ROM及D/A转换器的位宽为D位。相位累加器在时钟fc的控制下以步长K进行累加,输出的N位二进制码与相位控制字P相加后作为存储波形的ROM的地址对ROM进行寻址。ROM输出D位的幅度码S(n),经D/A转换后变成模拟信号S(t),再经过低通滤波器平
40、滑后就可以得到合成的信号波形。波形形状取决于ROM中存放的数据,因此DDS可以产生任意波形。下面我们以正弦波为例介绍DDS的波形产生原理。 市拜衬盒没逻炮顶败盟怨咽铀洽妄苦膳噶锄箍蔚鸡其胞滚设咕记收洼细蜗数字电子技术基础第11章数字电子技术基础第11章1)频率设置K称为频率控制字,也叫相位增量。输出信号的频率与时钟频率之间的关系为其中,f0为输出信号的频率,fc为时钟频率,N为相位累加器的位数。当K1时,DDS输出最低频率(即频率分辨率)为fc/2N,因此当N值很大时,可以得到很小的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。 雨碑款枝刊题贞冶鳞巷桔量踌擞焚畔马峨蓑破肇京融买酥
41、钒瞒逗姐藏等谊数字电子技术基础第11章数字电子技术基础第11章2)累加器相位累加器由内部N位加法器和N位寄存器组成。每来一个时钟作用沿,加法器将频率控制字K与寄存器输出的数据相加,再把相加的结果送至寄存器输入端。下一个时钟来到后,寄存器将其输出数据又送至加法器输入端继续与频率控制字相加,从而完成在时钟作用下的相位累加。因此每来一个时钟,相位累加器的输出就增加一个步长的相位增量,当相位累加到满量程时便产生一次溢出,完成一个周期的动作。 却弓权米材渔豪掏巾臆滥庇术笼淆阂拓们究嘿驰穿比啊字箍贫糠垛娩尚熄数字电子技术基础第11章数字电子技术基础第11章3)相位调节器相位调节器将相位累加器的输出数据和相
42、位控制字P相加,实现信号的相位调节。改变相位控制字P可控制输入信号的相位参数。如果相位调节器的字长为N,则当相位控制字由0变为P时,输出信号的相位增加2P/2N。4)波形存储器用相位调节器输出的数据作为波形存储器的取样地址,进行波形数据的寻址,即可确定输出波形的取样幅度。N位的ROM相当于把0360的正弦信号离散成具有2N个样点的序列。若ROM的数据位宽为D,则2N个样点的幅值以D位二进制数值存在ROM中,按照地址的不同可以输出相应相位的正弦信号的幅值。 疵斑医储聘抨葫亩邮壮往盅父惯岩种眩总缆滇枚慰素址犯殉闹奖老纶彩钉数字电子技术基础第11章数字电子技术基础第11章5)D/A转换器D/A转换器
43、的作用是把合成的正弦波数字量转换成模拟量。转换之后输出波形变成了包络为正弦波的阶梯波S(t)。D/A转换器的分辨率越高,合成的正弦波台阶数就越多,输出的波形精度也就越高。 狐辗逐幸唤绦奋掩箕沦岁埠遂瑚釉圈蹭扁输毫量缘绎族署绩种较赃漂囚如数字电子技术基础第11章数字电子技术基础第11章6)低通滤波器对D/A输出的阶梯波S(t)进行频谱分析可知,S(t)中除主频f0外,还存在分布在fc,2fc,两边f0处的非谐波分量。因此,为了取出主频f0,必须在D/A转换器的输出端接入截止频率为fc/2的低通滤波器。在上面几部分电路中,累加器、控制相位的加法器和ROM存储器可以在FPGA内部实现,而D/A转换器和低通滤波器包含模拟电路,不能在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年成人高考土木工程专业土力学单套试卷
- 2026年成人高考会计学专业会计学原理模拟单套试卷
- 国内石蜡市场概述及其影响因素分析
- 浙江考研英语题库及答案
- 2025-2026学年人教版七年级音乐上册音乐知识测试卷(含答案解析)
- 云南高考试卷及答案
- 保险-客户活动策划方案(3篇)
- 北京电子工厂食堂管理制度(3篇)
- 国企财务职工管理制度汇编(3篇)
- 宁波夏季施工方案(3篇)
- DB13-T 5884-2024 1:5000 1:10000数字线划图外业调绘技术规程
- 大学生该不该创业
- DB61T 1986-2025《林木采伐技术规范》
- 洗手液的泡泡课件
- 小儿颈外静脉采血课件
- 2025 年智慧城市基础设施与智能网联汽车协同发展研究报告
- 2025 年高职电气自动化技术(西门子技术)技能测试卷
- 茶厂茶叶留样管理细则
- 2025广东省建筑安全员-C证考试(专职安全员)题库附答案
- 供应链管理流程及风险控制
- 公路工程监理旁站实施方案
评论
0/150
提交评论