基于FPGA的数字电压表的设计

发布者:tau29最新更新时间:2012-10-17 来源: 21ic关键字:FPGA  数字电压表 手机看文章 扫描二维码
随时随地手机看文章
   

0 引 言

传统的数字电压表设汁通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成。ASIC完成从模拟量的输入到数字量的输出,是数字电压表的心脏。这种电压表的设计简单、精确度高,但是这种设计方法由于采用了ASIC器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。后来发展起来的用微处理器(单片机)控制通用A/D转换器件的数字电压表的设计的灵活性明显提高,系统功能的扩展变得简单,但是由于微处理器的引脚数量有限,其控制转换速度和灵活性还是不能满足日益发展的电子工业的需求。而应用EDA(电子设汁自动化)技术及FPGA(现场可编程门阵列),其集成度高、速度快、性能十分可靠、用户可自由编程且编程语言通俗易懂、系统功能扩展非常方便[1]。采用FPGA芯片控制通用A/D转换器可使速度、灵活性大大优于由微处理器和通用A/D转换器构成的数字电压表。

1 系统设计原理

本设计利用ADC0809作为电压采样端口,FPGA作为系统的核心器件,用LED(发光二极管)进行数码显示。

采用Alterla公司FLEX10K系列EPF10K20TC144-4 芯片FPGA作为系统的核心器件,负责ADC0809的A/D转换的启动、地址锁存、输入通道选择、数据读取。同时,把读取的8位二进制数据转换成便于输出的3位十进制BCD码送给数码管,以显示当前测量电压值。这些工作由ADC0809转换控制模块、数据转换模块、译码模块完成。

2 FPGA软件设计及模块仿真

2.1 A/D转换控制模块的软件设计

本模块完成ADC0809的初始化、A/D转换的启动、地址锁存、通道选择、状态读取及数据读取、数据锁存等功能。此模块的软件设计主要采用VHDL的多进程状态机完成[4]。

工作时序如下:上电瞬问,FPGA初始化,ADD置成"01",状态机处于第1个状态,此时ALE、START、OE、LOCK(数据锁存信号)均置0,初始化ADC0809。第1个上升沿到来时,状态机由状态1转换到状态2,ALE、START置1,OE、LOCK为0,此时地址锁存信号有效,由ALE将ADD的"01"状态锁存到地址锁存器并译码,选择IN1即通道1作为模拟信号输入端,同时STRAT信号有效,启动采样。第2个上升沿到来时,状态机由状态2转换到状态3,ALE、START返回到低电平,OE、LOCK继续为低电平,此时如果FPGA检测到ADC0809的EOC引脚由低电平变成高电平(A/D转换完成),则当时钟上升沿到来时,转换到状态3,否则继续保持在状态2,直到转换完成。由状态2转换到状态3后,OE置高电平,允许转换数据输出,其余信号状态保持不变。时钟上升沿再次到来时,状态机由状态3转换到状态4,LOCK置高电平,其余信号与状态3一样。当LOCK由低电平转换到高电平的瞬问,稳定的数据锁存到锁存器。上升沿再次到来,则状态机返回状态0。控制器在时钟信号控制下完成状态转换,实现对ADC0809的控制[3]。

2.2 数据转换模块的软件设计

本设计采用5 V参考电压,测量范围为0~5 V,由于转换器件为8位,则电压的最小分辨率为0.02V,因此待转换数据。

编一个查表程序,对上述电压进行BCD码编码,然后根据对应的4位BCD码相加的结果决定是否进位,从而得到待处理数据的BCD码[5]。例如:从AD0809上取得的数据为"11011110",1101对应的电压值为4.16 V,其对应的BCD编码为"010000010110",1110对应的电压值为0.28 V,其对应的BCD编码为"000000101000"。低4位相加为1110,大于9,加6将其调整为BCD码,其值为0100,并且向前有一进位。4位相加的结果为0011,由于低位有进位,因此最终结果为0100。高4位的结果为0100。3位合计的值为4.44 V,与4.16+0.28的结果相符。

2.3 译码输出模块的软件设计

本模块的任务是把数据处理模块处理得到的BCD码转换成能被数码管识别的字型编码。8位二进制数转换成BCD码后为12位,因此需3个数码管显示结果。为了节省资源,采用扫描方式控制数码管的显示,扫描时钟由CK提供,其频率应大于100 Hz,否则会有闪烁现象。

3 系统仿真及验证

当FPGA从AD0809上读取的数据为0F8H(十进制248)时输出的段码为66H、6FH、7D,分别对应字符4、9、6,加上小数点就是4.96 V,而其分辨率为0.02 V,则A/D转换得到的电压值应为0F8x0.02 V=4.96 V。显示结果与理论推算完全相符。

选EPF10K10TC20TC144-4作为目标器件并进行正确的引脚锁定后,将程序下载到目标配置器件[6]。改变ADC0809的模拟通道输入电压,观察数码管的输出,其输出随着输人电压的变化而变化,当输入电压变为0时,数码管的输出为0,输人为5 V时数码管输出也为5.00 V,其余情况下输入与输出也一致,至此,基于FPGA的数字电压表设计完成。本设计的结果已通过硬件测试。

4 结束语

本设计只用了ADC0809的一个通道,在不改变硬件电路的前提下,只要稍微改变VHDL的源程序,就可实现其余通道的利用,构成复杂的数据采集系统。数据处理模块用查表方式设计,设计比较简单,易于理解,但对FPGA的芯片资源利用率不高,因此要想编写出更高效率的数据处理源程序,可以用权位相加的方法实现,其原理见文献[5]。这种方法不是很好理解,但是其资源利用率明显高于查表方式;同时可以用LCD(液晶显示器)代替LED显示,用LCD显示时译码程序要进行相应更改,以便与LCD驱动时序同步。编码用ASCII码,并且由于LCD的速度较慢,因此时钟频率不能过高,否则将不能对LCD进行读写。本设计通过添加一些前置电路就可扩展其功能,如果采用16位A/D转换器,则可以提高其分辨率。

关键字:FPGA  数字电压表 引用地址:基于FPGA的数字电压表的设计

上一篇:美高森美SmartFusion2 SoC FPGA技术特点全解析
下一篇:基于FPGA的简易微型计算机结构分析与实现

推荐阅读最新更新时间:2024-05-02 22:22

FPGA如何为下一代通信和网络赋能
了解网络基础设施功能迅速增长的一种便捷方法是回顾一下过去四十年的发展历程(如下图所示)。蜂窝网络技术的创新,加上新型的数据存储和搜索技术,正在转变行业的发展模式。创新的技术不仅为公司和个人提供了全新的应用场景,也使他们去认真思考如何利用那些原本不属于其产品组合的技术。也许最能说明问题的变化的是新的商业模式导致了价值从基础设施转向了服务。 联网设备正在从2G向5G演进,以支持移动应用的爆发,并为不断增长的用户群扩展连接。一个日趋成熟的行业需要一种具有竞争力的商业模式,而这种模式可以被诠释为优化带宽管理。据估计,到2023年,联网设备的数量将超过全球人口的三倍(如图1所示)。 图1:网络基础设施的演进 Voice cal
[嵌入式]
<font color='red'>FPGA</font>如何为下一代通信和网络赋能
Fraunhofer IIS成为Tensilica授权的设计中心合作伙伴
    Tensilica日前宣布,世界著名的音频和多媒体技术公司Fraunhofer IIS,正式加入Tensilica公司Xtensions™的合作伙伴网络,并成为Tensilica公司授权的设计中心。Fraunhofer IIS将为共同客户提供与音频相关的SOC(片上系统)设计服务。 “Fraunhofer IIS多年来专注于音频信号处理、接收器和广播系统领域,具有丰富的开发经验,使其成为Tensilica设计中心宝贵的合作伙伴”。Tensilica公司多媒体营销部门高级总监Larry Przywara表示,“另外,Fraunhofer IIS在数字广播系统 - 包括DRM,DAB,卫星广播和DVB - SH,以及音频编码标准
[嵌入式]
新思科技助力Achronnix新一代FPGA提前数月上市
首次即成功!新思科技助力Achronnix新一代FPGA提前数月上市 新思科技近日宣布,Achronix半导体公司通过使用新思科技的设计、验证和DesignWare IP解决方案,其新一代Speedster7t FPGA成功通过首次硅验证,产品提前数月上市。Speedster7t FPGA是Achronix面向人工智能、机器学习和高带宽数据加速应用推出的创新性产品。 “Achronix的新一代7纳米Speedster7t FPGA可满足高性能应用所需的超大数据量处理需求。新思科技广泛的解决方案可帮我们将设计风险降至最低,满足了我们对于严格产品设计和精准上市时间的需求。新思科技的验证和金牌签核技术让我们的团队实现了更好的整体
[半导体设计/制造]
Virtex-Ⅱ Pro FPGA的嵌入系统设计与应用
  随着通信技术的飞速发展,为满足高速数字电路和数字信号处理等对时钟管理、信号完整性、高速宽带接口的要求,高速处理器与通信的融合日趋紧密,高速处理器、可编程逻辑器件和高速存储器成为设计的关键。Virtex- ⅡPro 系列FPGA 将可编程逻辑结构和高速处理器集成在同一芯片内部,直接的连接克服了利用总线在FPGA 和附加外部处理器之间接口的瓶颈。    Virtex-II Pro 简介   Virtex- ⅡPro 系列最大容量的FPGA 目前能提供多达5 万个逻辑单元具有超过10 Mb 的RAM;556 个乘法单元12 个数字时钟管理单元以及24个集成3. 125 GbPs 的Rocket IOTM 收发器最大可提供1 2
[工业控制]
Virtex-Ⅱ Pro <font color='red'>FPGA</font>的嵌入系统设计与应用
FPGA的并行多通道激励信号产生拈
引 言 并行测试的实现途径分为软件方式和硬件方式。用软件方式实现并行测试,关键是对测试任务的分解和调度,但可能会产生竞争或者死锁现象。因此,在测试资源有限并且任务分解和调度算法不成熟的情况下,用软件实现并行测试会很困难。用硬件方式实现并行测试时,需要通过提供充足的测试资源来满足并行测试的需求,而并行测试过程中激励资源不足同样会造成任务分解和调度难度增加,甚至导致竞争和死锁,影响并行测试实现。因此,对多通道并行激励信号的需求也是影响并行测试的关键因素。 1 并行测试技术 并行测试技术是把并行技术引入测试领域中,可以较好地完成同时对多个被测对象(UUT)任务进行测试的一种先进的测试方法和技术,属于下一代测试技术范畴,是支撑NxTest
[测试测量]
<font color='red'>FPGA</font>的并行多通道激励信号产生拈
简述DDS原理及其基于FPGA的实现
    DDS同 DSP(数字信号处理)一样,是一项关键的数字化技术。DDS是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。在各行各业的测试应用中,信号源扮演着极为重要的作用。但信号源具有许多不同的类型,不同类型的信号源在功能和特性上各不相同,分别适用于许多不同的应用。目前,最常见的信号源类型包括任意波形发生器,函数发生器,RF信号源,以及基本的模拟输出模块。信号源中采用DDS技术在当前的 测试测量 行业已经逐渐称为一种主流的做法。利用它来设计符合
[嵌入式]
EL7564C的双电压FPGA电源解决方案
概述 Xilinx公司的FPGA(现场可编程门阵列)芯片正向高密度化发展,FPGA的内核在提供低成本和高性能的同时还林求低功耗。当今选进的亚微米IC工艺正趋于采用低电压供电,同时这将导致对大电流的不断需求。工程线路板的设计必需满足这类电源供电的需要。 现在FPGA的内核和I/O的电源需要双电源供电。通常来说,I/O部分的供电电压是由设备中其它元器件所决定的,而FPGA的内核则依赖于产品本身的设计,其内核的供电电源分别为2.5V,1.8V或1.5V。电源的跟踪(Tracking)/顺序(Sequencing)的功能可以用来满足这一系列的电压要求。    
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved