第33卷第8期 电字工一一V01.33No.8
2007年8月 ELECTRONICENGINEER Aug.2007
基于FPGA的数字电压
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的设计
包本刚,朱湘萍
(湖南科技学院电子工程与物理系,湖南省永州市425100)
摘要:采用EDA(电子设计自动化)技术和FPcA(现场可编程门阵列)芯片设计数字电压表。
整个设计采用VHDL,由ADC0809转换控制模块、数据转换模块、译码模块组成。并在MAx+PLuSⅡ
下进行软件编程实现正确的工作时序后,将编译结果下裁到FPGA芯片上生成soC(片上系统)。
关键词:数字电压表;FPGA;ADC0809;VHDL语言;MAx+PLUsⅡ
中圈分类号:1M933.22
O引言
传统的数字电压表设计通常以大规模AsIC(专用
集成电路)为核心器件,并辅以少量中规模集成电路
及显示器件构成。ASIC完成从模拟量的输入到数字
量的输出,是数字电压表的心脏。这种电压表的设计
简单、精确度高,但是这种设计方法由于采用了ASIC
器件使得它欠缺灵活性,其系统功能固定,难以更新扩
展。后来发展起来的用微处理器(单片机)控制通用
A/D转换器件的数字电压表的设计的灵活性明显提
高,系统功能的扩展变得简单,但是由于微处理器的引
脚数量有限,其控制转换速度和灵活性还是不能满足
日益发展的电子工业的需求。而应用EDA(电子设计
自动化)技术及FPGA(现场可编程门阵列),其集成度
高、速度快、性能十分可靠、用户可自由编程且编程语
言通俗易懂、系统功能扩展非常方便⋯。采用FPGA
芯片控制通用A/D转换器可使速度、灵活性大大优于
由微处理器和通用A/D转换器构成的数字电压表。
l系统设计原理
本设计利用ADC0809作为电压采样端口,FPGA
作为系统的核心器件,用LED(发光二极管)进行数码
显示。其系统原理图如图1所示旧引。
采用Alte豫公司n肥x10K系列EPFl0勉OTCl44.
4芯片n,GA作为系统的核心器件,负责ADC0809的
A/D转换的启动、地址锁存、输入通道选择、数据读
取。同时,把读取的8位二进制数据转换成便于输出
的3位十进制BCD码送给数码管,以显示当前测量电
压值。这些工作由ADC0809转换控制模块、数据转换
模块、译码模块完成。FPCA软件模块原理见图2。
收稿日期:2006—12.25;修回日期:2007ml彩。
基金项目:湖南省教育厅基金(04c512)。
圈1系统原理
CL C
EO
± —L
l数据输念 卜 卜\
oE/转换 8位 \ 12位\
START
控制 二进翻数/ 数据 二进制数/
译码
模块 /
幸喜蛐k 模块
AL y
ADD
图2重翻3A软件模块设计原理
2 H’GA软件设计及模块仿真
2.1 A/D转换控制模块的软件设计
本模块完成ADC0809的初始化、A/D转换的启
动、地址锁存、通道选择、状态读取及数据读取、数据锁
存等功能。此模块的软件设计主要采用VHDL的多
进程状态机完成MJ。
工作时序如下:上电瞬间,FPGA初始化,ADD置
成“0l”,状态机处于第1个状态,此时ALE、蛐~RT、
OE、LOCK(数据锁存信号)均置0,初始化ADC0809。
第1个上升沿到来时,状态机由状态l转换到状态2。
ALE、START置l,OE、LOCK为0,此时地址锁存信号
有效,由ALE将ADD的“0l”状态锁存到地址锁存器
并译码,选择INl即通道l作为模拟信号输入端,同时
s1卧T信号有效,启动采样。第2个上升沿到来时,
状态机由状态2转换到状态3,ALE、START返回到低
·17· 万方数据
·潮控技术· 电子工皇■ 2007年8月
电平,0E、LOCK继续为低电平,此时如果FPGA检测
到ADC0809的EOC引脚由低电平变成高电平(A/D
转换完成),则当时钟上升沿到来时,转换到状态3,否
则继续保持在状态2,直到转换完成。由状态2转换 图4数据转换模块仿真图
到状态3后,oE置高电平,允许转换数据输串,其余信 BcD码转换成能被数码管识别的字型编码。8位二进
号状态保持不变。时钟上升沿再次到来时,状态机由 制数转换成BCD码后为12位,因此需3个数码管显
状态3转换到状态4,LOCK置高电平,其余信号与状示结果。为了节省资源,采用扫描方式控制数码管的
态3一样。当LOCK由低电平转换到高电平的瞬间,显示。扫描时钟由CK提供,其频率应大于100H。,否
稳定的数据锁存到锁存器。上升沿再次到来,则状态 则会有闪烁现象。译码程序仿真结果见图5。
机返回状态O。控制器在时钟信号控制F完成状态转
换。实现对ADC0809的控制‘"。其仿真图见图3。
图5译码输出模块仿翼图
图3 A/D控制模块仿真图 3 系统仿真及验证
2.2数据转换模块的软件设计 将以上3个程序模块用顶层文件拼合后得到如图
本设计采用5V参考电压,测量范围为0~5V, 6所示的仿真结果。
由于转换器件为8位,则电压的最小分辨率为O.02
V,因此待转换数据与实际电压值对应关系见表1。
裹l待转换数据与实际电压值对应表
垒耋皇垦!! 垄型
高4位电压/v 低4位电压/v 十六迸制 二进制
由表1的对应关系,编一个查表程序,对上述电压
进行BCD码编码,然后根据对应的4位BcD码相加
的结果决定是否进位,从而得到待处理数据的BCD
码"J。例如:从AD0809上取得的数据为“1101lll0”,
110I对应的电压值为4.16V,其对应的BCD编码为
“010000010llO”;1110对应的电压值为O.28V,其对
应的BCD编码为“000000101000”。低4位相加为
1110,大于9,加6将其调整为BCD码,其值为0100,
并且向前有一进位。4位相加的结果为0011,由于低
位有进位,因此最终结果为0100。高4位的结果为
0100。3位合计的值为4.44V,与4.16+O.28的结果
相符。其他计算依此类推。此模块的仿真图见图4。
2.3译码输出模块的软件设计
本模块的任务是把数据处理模块处理得到的
·18·
图6数字电压表顶层模块仿真图
由图6可知,当FPGA从AD0809上读取的数据
为0RH(十进制248)时输出的段码为66H、6FH、7D,
分别对应字符4、9、6,加上小数点就是4.96V,而其分
辨率为O.02V,则A/D转换得到的电压值应为oF8×
0.02V=4.96V。显示结果与理论推算完全相符。
选EPFlOKl0TC20TCl444作为目标器件并进行
正确的引脚锁定后,将程序下载到目标配置器件∞1。
改变ADc0809的模拟通道输入电压,观察数码管的输
出,其输出随着输入电压的变化而变化,当输入电压变
为0时,数码管的输出为0,输人为5V时数码管输出
也为5.00V,其余情况下输入与输出也一致,至此,基
于FPGA的数字电压表设计完成。本设计的结果已通
过硬件测试。
4结束语
本设计只用了ADC0809的一个通道,在不改变硬
件电路的前提下,只要稍微改变VHDL的源程序,就
可实现其余通道的利用,构成复杂的数据采集系统。
数据处理模块用查表方式设计,设计比较简单,易于理
(下转第80页)
万方数据
·计算机与自动化技术· 电子工皇■ 200r7年8月
6结束语
本文设计的温度检测终端,其外围设备简单、功耗
低、传输无线化,可以用在诸如温室、仓库等场合。
参考文献
及应用[J].国外电子元器件,2005(2):44_47.
[2]马永强,李静强,冯立营.基于zigBee技术的射频芯片
Cc2430[J].单片机与嵌入式系统,2006(3):45.47.
[3]凌志浩,周怡颁,郑丽国.zigBee无线通信技术及其应用研
究[J].华东理工大学学报:自然科学版,2006,32(7):
801.805.
[1]张广红,刘林山,张宏伟.一线数字温度计Dsl822的原理王玮(1979·),男,硕士研究生,研究方向为嵌入式系统。
DesignofWirelessTemperatureDetectBasedonCC2430
WANGWei.FANZeMn
(FacultyofScience,KunmingUniVersityofScienceand7rechnolog)r,Kunming650093,China)
Abstract:ThispaperintmducesthechipsCC2430andDSl822,amethodtodesignakindofwireless
tempel.atuIedetectdeVicewhichbasedonCC2430andDSl822presented.711leCC2430chipwhichbasedon
theZ培Beetechnologyistheprocesscenter.TheMCUwhichintegratedintheCC243notonlyresponsiblefor
controllingtheDSl822,butalsof.orcontmUingtheRFpartintheCC2430.Thedevicecananswertothe
computercenteratanytime.Accompanywithlotsofthiskindofdevice,acomputercentercandetectthe
temperatureofalargeroomindi矗.erentpositions.
KeywoI。ds:CC2430;DSl822;wirelessdetection
鐾遴誊监誊垃誉蕴善监善墨:誊垃善裳驻城邈邀耋监塞喧缴蠢嗑誊嗑避袭噍誊监毒监耋整耋应誊蓝垒盘照妊垃&逝避避耋蓝耋篮池避誊生叠嗑翘耋嗑避基喧塾t鸯峻誊嗑缝缝囊篮妻
(上接第18页)
解,但对FPGA的芯片资源利用率不高,因此要想编写
出更高效率的数据处理源程序,可以用权位相加的方
法实现,其原理见文献[5]。这种方法不是很好理解,
但是其资源利用率明显高于查表方式;同时可以用
LcD(液晶显示器)代替LED显示,用LCD显示时译
码程序要进行相应更改,以便与LCD驱动时序同步。
编码用ASCII码,并且由于LCD的速度较慢,因此时
钟频率不能过高,否则将不能对LCD进行读写。本设
计通过添加一些前置电路就可扩展其功能,如果采用
16位A/D转换器,则可以提高其分辨率。
参考文献
[1]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,
2002:170-189.
[2]包本刚.基于FPGA器件的兀R滤波器的设计[J].湖南科
技学院学报,2005,26(11):67-70.
[3]江小平,刘杰.基于cPLEI/FPGA的A/D转换控制器的设
计[J],苏州大学学报:工学版,2005,25(4):53-55.
[4]蔡明生.电子设计[M].北京:高等教育出版社,2004.
[5]黄智伟.FPGA系统设计与实践[M].北京:电子工业出版
社,2005.
[6]AlteraCo平oration.FLEx10KPro铲狮mableLo百cDevice
FamilyDa£asheet[EB/0L].http://砒era.com.
一
包本刚(1976.),男,讲师,硕士研究生,主要从事电子技术
方面的教学与研究。
DesignofDi酉talVoltmeterBasedonFPGA
BAOBengang,ZHUXiangpiIIg
(HunanCoUegeofScienceandTechnolog)r,Yongzhou425100,China)
Abs饥Ict:111isp印erintroducesaschemefordesigrIofdigitalvoltmeterwiththeFPGAchipandthetech-
nolog),ofEDA.,11ledesigrIiscomposedthecontrolledmodulebasedonADC0809,thepmcessingmodulewith
datestl.ansition明dthecoding-outputmodule,whichisdescribedbythelanguageofVHDLandmadepeak-
la罢;yermodule.EachmodulecanrealizethepropertimesequenceundertheenVironmentofMAX+PLUSⅡ
anddemonstHltethecompilerprogramisdo帅loadedbytheFDGAchiptofonnaSoCsy8tem.
Kelmrds:digitalvoltmeter;FPGA;ADC0809;VHDLlanguage;MAX+PLUSⅡ
·舳.
万方数据
基于FPGA的数字电压表的设计
作者: 包本刚, 朱湘萍, BAO Bengang, ZHU Xiangping
作者单位: 湖南科技学院电子工程与物理系,湖南省永州市,425100
刊名: 电子工程师
英文刊名: ELECTRONIC ENGINEER
年,卷(期): 2007,33(8)
被引用次数: 1次
参考文献(6条)
1.潘松.黄继业 EDA技术实用教程 2002
2.包本刚 基于FPGA器件的FIR滤波器的设计[期刊
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
]-湖南科技学院学报 2005(11)
3.江小平.刘杰 基于CPLD/FPGA的A/D转换控制器的设计[期刊论文]-苏州大学学报(工科版) 2005(04)
4.蔡明生 电子设计 2004
5.黄智伟 FPGA系统设计与实践 2005
6.Altera Corporation FLEX 10K Programmable Logic Device Family DataSheet
相似文献(6条)
1.期刊论文 边晶莹.李晓峰.李平周.BIAN Jingying.LI Xiaofeng.LI Pingzhou 基于FPGA的新型数字电压表设计 -
现代电子技术2010,33(6)
准确可靠的电压测量在大学物理教学中具有重要意义.在研究目前主流电压表
设计方案
关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案
的基础上,提出一种基于FPGA技术的新型数字电压表的设计方
法,极大地增强了系统集成度和电路可靠性.以Altera公司高性价比的CycloneⅡ系列EP2C5T144芯片为控制核心,以较高性能的模/教转换嚣为信号采集芯
片,完成电压数据的采集、转换、处理、显示,并实现了档住的自动转换和较宽的测量范围.详细讨论仪表关键电路的设计思路以及关键算法的实现步骤
.测试结果表明,该仪表测量误差不大于0.02 V,具有较高的测量精度,满足教学实验中的电压测量要求.
2.期刊论文 李奎霖.LI Kui-lin 基于FPGA的数字电压表设计 -仪表技术2010(10)
介绍基于FPGA技术的数字电压表设计.在Quartus II环境下采用方块图语言实现了数据的采集、转换及显示.设计的数字电压表测量达到0~5V,精度
为0.02V,可供相关人员在进行数字电压表设计时参考.
3.期刊论文 付永庆.杨功立.张林 基于FPGA芯片的数字电压表设计研究 -应用科技2002,29(2)
介绍了应用FPGA芯片设计数字电压表的一种方案.有关使用FPGA芯片和VHDL语言实现数字电压表设计的技术问题也被详细讨论.
4.期刊论文 孙瑜.刘晓燕.SUN Yu.LIU Xiao-yan 基于VHDL的数字电压表设计及实现 -实验科学与技术2009,7(2)
通过对FPGA芯片进行VHDL语言编程,并在EDA实验箱上下载、调试,实现了数字电压表的功能.具体方案是利用状态机的方法对ADC0809进行采样控制
,并将采样后的信号转换为BCD码,经译码后再通过三位数码管进行显示.该设计突出了VHDL语言良好的电路描述和建模能力,从而大大简化了硬件设计任务
,提高了设计效率.由于VHDL语言的灵活性和可扩展性以及EDA实验箱的反复利用性,减小了实验成本.
5.期刊论文 赵晓博.刘展威.李素娟.ZHAO Xiao-bo.LIU Zhan-wei.LI Su-juan 数字电压表的VHDL设计与实现 -仪
表技术2005(2)
介绍数字电压表的组成及工作原理,论述了基于VHDL语言和FPGA芯片的数字系统的设计思想和实现过程.
6.学位论文 孟丽芳 基于Σ-△A/D变换技术数字多用表的研制 2004
该文对基于∑-△A/D变换技术的数字多用表模块进行了研究.成功的将∑-△A/D变换技术应用到数字多用表设计中,精度高、速度快且电路结构简单
.同时本模块又是一种符合VXI总线规范、C尺寸、寄存器基的通用测量仪器,具有体积小、精度高、电磁兼容性好等特点.论文在充分研究数字电压表技术
的基础上,对比国内外同类产品,并结合国内的应用需求,确定了以∑-△A/D转换技术为核心的数字多用表模块的总体方案.在功能上实现了直流电压、交
流电压和电阻的测量.在结构设计上,采用了双重屏蔽和浮置技术,有效地减小了共模干扰对测量精度的影响.在功能电路的硬件设计中,采用新型的∑-
△A/D变换技术,不仅保证了转换精度,而且大大简化了模拟电路的设计,降低了对模拟电路的精度要求;设计了高精度的基准电流源,通过不同数字组合可
以选择输出不同的基准电流,实现了电阻的大范围高精度测量;设计了模拟通道电压比较和自动切换电路,并配合相应的控制软件,实现了多用表的过压保
护和量程的自动切换.在接口电路的硬件设计中,选用DSP做主控制器,充分利用DSP的高速数据处理和传输能力,提高了整个模块的性能;采用FPGA新技术设
计VXI总线接口译码逻辑电路和部分功能模块的数字电路以及多用表输出数据FIFO,使模块具有很高的集成度、可靠性和很大的灵活性.在软件设计中,利
用LabWindows CVI编写了仪器的驱动程序和软面板,为用户提供了完整、灵活的应用程序接口和友好的用户界面.开发了模块底层程序完成了对DSP的控制
并监控模块各部分电路.最后,该论文对多用表模块测量数据进行了误差分析,给出了多用表测量结果的不确定度评定.该课题已经研制出原理样机,经调试
及实际运行,结果表明,模块的设计理论分析正确,各项技术指标均满足设计要求.
引证文献(1条)
1.赵思轩 基于FPGA的交流信号测量系统的分析及设计[期刊论文]-海南师范大学学报(自然科学版) 2008(3)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_dzgcs200708006.aspx
授权使用:四川理工学院(sclgxy),授权号:d09e40e0-cb0b-4f5a-9a85-9ea8008fda9f
下载时间:2011年3月16日