eda设计CPLD的信号发生器设计.docx

上传人:b****6 文档编号:3310142 上传时间:2022-11-21 格式:DOCX 页数:9 大小:19.42KB
下载 相关 举报
eda设计CPLD的信号发生器设计.docx_第1页
第1页 / 共9页
eda设计CPLD的信号发生器设计.docx_第2页
第2页 / 共9页
eda设计CPLD的信号发生器设计.docx_第3页
第3页 / 共9页
eda设计CPLD的信号发生器设计.docx_第4页
第4页 / 共9页
eda设计CPLD的信号发生器设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

eda设计CPLD的信号发生器设计.docx

《eda设计CPLD的信号发生器设计.docx》由会员分享,可在线阅读,更多相关《eda设计CPLD的信号发生器设计.docx(9页珍藏版)》请在冰豆网上搜索。

eda设计CPLD的信号发生器设计.docx

eda设计CPLD的信号发生器设计

封面

作者:

PanHongliang

仅供个人学习

基于CPLD的信号发生器设计

摘要:

本文给出了一种采用CPLD作为主控器的信号发生器设计方案。

由于采用EDA技术进行设计,该方案具有工作速度快,硬件体积小,可靠性高等优点。

关键词:

信号发生器;VHDL;EDA;CPLD

1引言

随着社会的发展,人们对生活的要求也逐步提高,也越来越希望在各个方面都有很大的提高,尤其是在信号方面,信号发生器作为提供测试用电信号的仪器必不可少。

传统信号发生器要用模拟器件来实现,后来出现了用数字电路来设计的方案,例如采用单片机等。

EDA技术的出现与可编程器件的应用改变了数字电路的设计方法。

采用可编程器件进行工程开发具有费用低、开发时间短的特点,有利于新产品占领市场。

本文给出了一种采用CPLD作为主控部件的信号发生器设计方案,在设计输入时采用VHDL进行描述,再连入外围电路与CPLD构建起整个系统。

2系统设计

2.1设计要求

信号发生器能够产生正弦波、方波、三角波,并可通过开关选择输出波形。

2.2设计思路

根据设计要求,智能信号发生器由4部分组成,既电源模块、时钟信号发生器、主控器、D/A转换模块,系统结构如图1所示。

晶体振荡器产生稳定度很高的时钟信号,在时钟信号的作用下,主控器产生频率可变的波形数据信号,经数/摸转换电路最终输出所需要的波形。

图1系统结构框图

2.3模块设计

2.3.1主控器设计

在主控器内部也共有四个模块,既三角波模块,正弦波模块,方波模块和一个控制模块,通过编程可以分别设计这四个模块。

了【】

图3CPLD内部控制原理图

2.3.1.1三角波模块

三角波模块是在设计时置一变量作为工作状态标志,在此变量全为0时,当检测到时钟的上升沿时进行加同一个数操作,全为0时,进行减同一个数操作。

由于A/D转换采用12位的ADC7545芯片,且设64个时钟为一个三角波周期,输出每次加/减8。

设计程序如下:

LIBRARYIEEE。

USEIEEE.STD_LOGIC_1164.ALL。

USEIEEE.STD_LOGIC_UNSIGNED.ALL。

ENTITYdeltaIS

PORT(clk,reset:

INSTD_LOGIC。

q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0))。

ENDdelta。

ARCHITECTUREbehaveOFdeltaIS

BEGIN

PROCESS(clk,reset)

VARIABLEtmp:

STD_LOGIC_VECTOR(7DOWNTO0)。

VARIABLEa:

STD_LOGIC。

BEGIN

IFreset=’0’THEN

tmp:

=”00000000”。

ELSIFclk’EVENTANDclk=’1’THEN

IFa=’0’THEN

IFtmp=”11111110”THEN

tmp:

=”11111111”。

a:

=’1’。

ELSE

tmp:

=tmp+1。

--------递增运算

ENDIF。

ELSE

IFtmp=”00000001”THEN

tmp:

=”00000000”。

a:

=’0’。

ELSE

tmp:

=tmp-1。

---------递减运算

ENDIF。

ENDIF。

ENDIF。

q<=tmp。

ENDPROCESS。

ENDbehave。

2.3.1.2正弦波模块

正弦波模块是对一个正弦波周期分为64个采样点,然后量化为8位2进制数据,最大值为255,最小值为0,由此得到正弦波表,经D/A转换得到波形。

设计程序为:

LIBRARYIEEE。

USEIEEE.STD_LOGIC_1164.ALL。

USEIEEE.STD_LOGIC_UNSIGNED.ALL。

ENTITYsinIS

PORT(clk,clr:

INSTD_LOGIC。

d:

OUTINTEGERRANGE0TO255)。

ENDsin。

ARCHITECTUREbehaveOFsinIS

BEGIN

PROCESS(clk,clr)

VARIABLEtmp:

INTEGERRANGE0TO63。

BEGIN

IFclr=’0’THEN

D<=0。

ELSIFclk’EVENTANDclk=’1’THEN

IFtmp=63THEN---------一个周期取64点

tmp:

=0。

ELSE

tmp:

=tmp+1。

ENDIF。

CASEtmpIS----查表输出

WHEN00=>d<=255。

WHEN01=>d<=254。

WHEN02=>d<=252。

WHEN03=>d<=249。

WHEN04=>d<=245。

WHEN05=>d<=239。

WHEN06=>d<=233。

WHEN07=>d<=225。

WHEN08=>d<=217。

WHEN09=>d<=207。

WHEN10=>d<=197。

WHEN11=>d<=186。

WHEN12=>d<=174。

WHEN13=>d<=162。

WHEN14=>d<=150。

WHEN15=>d<=137。

WHEN16=>d<=124。

WHEN17=>d<=112。

WHEN18=>d<=99。

WHEN19=>d<=87。

WHEN20=>d<=75。

WHEN21=>d<=64。

WHEN22=>d<=53。

WHEN23=>d<=43。

WHEN24=>d<=34。

WHEN25=>d<=26。

WHEN26=>d<=19。

WHEN27=>d<=13。

WHEN28=>d<=8。

WHEN29=>d<=4。

WHEN30=>d<=1。

WHEN31=>d<=0。

WHEN32=>d<=0。

WHEN33=>d<=1。

WHEN34=>d<=4。

WHEN35=>d<=8。

WHEN36=>d<=13。

WHEN37=>d<=19。

WHEN38=>d<=26。

WHEN39=>d<=34。

WHEN40=>d<=43。

WHEN41=>d<=53。

WHEN42=>d<=64。

WHEN43=>d<=75。

WHEN44=>d<=87。

WHEN45=>d<=99。

WHEN46=>d<=112。

WHEN47=>d<=124。

WHEN48=>d<=137。

WHEN49=>d<=150。

WHEN50=>d<=162。

WHEN51=>d<=174。

WHEN52=>d<=186。

WHEN53=>d<=197。

WHEN54=>d<=207。

WHEN55=>d<=217。

WHEN56=>d<=225。

WHEN57=>d<=233。

WHEN58=>d<=239。

WHEN59=>d<=245。

WHEN60=>d<=249。

WHEN61=>d<=252。

WHEN62=>d<=254。

WHEN63=>d<=255。

ENDCASE。

ENDIF。

ENDPROCESS。

ENDbehave。

2.3.1.3方波模块

方波模块设计是交替送出全0和全1,并以32个延时实现,64个时钟为一个周期。

设计程序为:

LIBRARYIEEE。

USEIEEE.STD_LOGIC_1164.ALL。

ENTITYsquareIS

PORT(clk,clr:

INSTD_LOGIC。

q:

OUTINTEGERRANGE0TO255)。

ENDsquare。

ARCHITECTUREbehaveOFsquareIS

SIGNALa:

BIT。

BEGIN

PROCESS(clk,clr)

VARIABLEcnt:

INTEGER。

BEGIN

IFclr=’0’THEN

a<=’0’。

ELSIFclk’EVENTANDclk=’1’THEN

IFcnt<63THEN

cnt:

=cnt+1。

ELSE

Cnt:

=0。

a<=NOTa。

ENDIF。

ENDIF。

ENDPROCESS。

PROCESS(clk,a)

BEGIN

IFclk’EVENTANDclk=’1’THEN

IFa=’1’THEN

q<=255。

ELSE

q<=0。

ENDIF。

ENDIF。

ENDPROCESS。

ENDbehave。

2.3.1.4控制模块

控制模块是通过SEL0和SEL1来选择波形,并且用reset作为清零开关结束上一次的波形选择。

通过q0—q7输出。

设计程序为:

LIBRARYIEEE。

USEIEEE.STD_LOGIC_1164.ALL。

ENTITYch61aIS

PORT(sel:

INSTD_LOGIC_VECTOR(1DOWNTO0)。

d0,d1,d2:

INSTD_LOGIC_VECTOR(3DOWNTO0)。

q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0))。

ENDch61a。

ARCHITECTUREbehaveOFch61aIS

PROCESS(sel)

BEGIN

CASEselIS

WHEN“00”=>q<=d0。

-----------三角波形出

WHEN“01”=>q<=d1。

------------正弦波输出

WHEN“10”=>q<=d2。

-----------方波形输出

WHENOTHERS=>NULL。

ENDCASE。

ENDPROCESS。

ENDbehave。

2.3.2D/A转换模块

图4D/A转换电路

电路中,AD7545将波形数据转换为模拟信号;LF353进行信号滤波和整形。

2.3.3晶振电路模块

图5晶振电路

在此电路中,通过12M的石英晶体和电容及74LS04来产生12MHz的频率电路。

2.3.4电源模块

图6电源原理图

在此电路中,220V电压经变压器到整流桥能产生直流电压,再通过电容滤波,通过7805和7905来产生稳定的+5V和-5V电压。

2.4设计验证

图7三角波仿真图

图8正弦波仿真

图9方波仿真图

2.5印制电路板设计

图10系统原理图

图11PCB板图

图123D图

3结束语

本文介绍了一种基于CPLD的信号器的设计方案,用VHDL语言来设计主控器部分,并用D/A转换将数字信号转换成模拟信号用示波器显示出波形。

主控器部分采用MAX+PLUSII进行仿真,仿真结果验证了设计的正确性。

致谢

在作者设计的过程中,指导老师陈卫兵给予了大力支持,陈老师认真负责的工作态度,严谨的治学精神和深厚的理论水平使作者受益匪浅。

在此表示感谢!

参考文献

[1]李国洪,沈明山.可编程器件EDA技术与实践[M].北京:

机械工业出版社,2004

[2]王金明.VerilogHDL程序设计教程[M].北京:

人民邮电出版社,2004

[3]潘松、黄继业.EDA技术实用教程[M].北京:

科学出版社,2002

[4]徐惠民,安德宁.数字逻辑设计与VHDL描述[M].北京:

机械工业出版社,2002

[5]杜建国.VerilogHDL硬件描述语言[M].北京:

国防工业出版社,2004.1

[6]廖裕平,陆瑞强.数字电路设计—使用MAX+plusII[M].北京:

清华大学出版社,2001

SignalGeneratorDesignBasedonCPLD

Name:

LiuZhiyiStudentNumber:

200440602115

Advisor:

ChenWeibing

Abstract:

ThisarticlegivesasignalgeneratordesignusingCPLDasthemaincontroller.AsaresultofusingEDAtechnique,thedesignproposalhasmanyadvantagessuchasoffastworkingspeed,smallsizeinhardware,highreliability.

Keywords:

SignalGenerator。

VHDL。

EDA。

CPLD

版权申明

本文部分内容,包括文字、图片、以及设计等在网上搜集整理。

版权为潘宏亮个人所有

Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'spersonalownership.

用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。

除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。

Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。

Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitationfortheuseofnewsorinformativepublicfreeinformation.Itshallnotmisinterpretormodifytheoriginalintentionofthecontentofthisarticle,andshallbearlegalliabilitysuchascopyright.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1