基于单片机和FPGA的多功能计数器的设计

发布者:meilidaowl最新更新时间:2011-12-12 关键字:单片机  FPGA  多功能计数器 手机看文章 扫描二维码
随时随地手机看文章

1 引言
    频率、周期、相位是交流信号的3大要素。一般情况下,分析交流信号需研究其频率与相位,而周期可直接由频率计算。对于正弦信号的频率、相位测量准确度的要求不断提高,而随着电子技术的发展,对其测量方法仍不断改进完善。较早采用直接频率测量的测频法,为了保证测试精度,一般低频信号采用测周期法,而高频信号采用测频法,测量很不方便。而相位测量最初采用测量信号一个周期参数的方法,该方法精度适用于低频,而高频时误差变大。该多功能计数器采用等精度测量法来测量信号频率,同时采用基于单片机和FPGA的计数相位测量方法完成精确相位测量,并能在液晶显示器实时显示当前信号的频率、周期和相位差。该计数器将正弦信号频率和相位的测量于一体,精度高,实用性强。

2 方案设计论证
2.1 频率测量
    等精度测量法的测量时间是人为设定的,闸门的开启和闭合由被测信号的上升沿来控制,测量精度与被测信号频率无关,因而可以保证在整个测量频段内的测量精度保持不变。被测信号的计数是同步的,对于基准信号来说,存在±1的误差,只要计数足够大,可满足高精度要求。
2.2 相位测量
    相差一时间测量法是将整形后的两路方波送入FPGA,分别检验出两个信号的上升沿,通过FPGA内部计数器在两个信号的上升沿间对晶振进行计数。在低频段时,RC滤波电路的输出波动很大,该相位测量通过采用高频率的计数脉冲,相位受信号频率影响小,可实现较高的测量精度。[page]

3 系统硬件电路设计
    该系统硬件电路设计是由峰值检波采样、整形比较、宽带通道放大、频率测量、相位测量、显示等模块构成。低频比较器LM311对1 Hz到2 MHz的信号整形效果较好,高频比较器TL3116对200 kHz以上的信号整形效果较好。为实现1 Hz到10 MHz信号的频率测量,该系统以1为0.01~5 V的信号,应将其经峰值检波、A/D转换后选择模拟开关通道进行程控放大,经整形后测量,最后将测量结果送入显示模块图1为该系统整体框图。

3.1 程控放大电路
    程控放大分为3段,对0.01~50 mV的小信号放大100倍,50 mV~1 V的小信号放大10倍,1~5 V的信号不放大。选用8路模拟开关MAX308,为了采集与实现毫伏级信号,必须使用宽带放大电路进行放大,故采用TI公司的OPA637宽带运放实现 Gain=11及Gain=120的放大。图2为OPA637增益为11倍的放大电路,增益为120的放大电路用2级OPA637级联即可实现。

3.2 过零比较电路
    输入信号送入LM311进行滞回比较,可较好消除边缘毛刺,实现低频信号整形。 TL3116是高频比较器,输入信号送入TL3116滞回比较,获得较为理想的高频方波整形信号。故测频时分两段设计整形电路,整形电路将输入的周期信号整形成同频的方波输入FPGA进行测频。图3为LM311滞回比较电路,TL3116外同电路与其相同。

[page]

4 系统软件设计
    该系统软件设计分为测频和测相两部分。测频时信号经峰值检波,A/D采样后送入FPGA,选择模拟开关对不同幅度段的信号进行程控放大。放大后的信号分别经两路比较器整形,然后送往FPGA内分别计数,高频时采用经高频比较器整形后的计数值,低频时采用经低频比较器整形后的计数值,准确测得信号频率。测相则直接将经低频比较器整形后的信号送入FPGA计数可得。程序流程如图4所示。

5 结束语
    正弦信号的频率、周期和相位差测量的多功能计数器实现了对频率1Hz~10 MHz、幅度0.01~5 Vrms的正弦信号精确测频。其精度达到10-6Hz。同时,该计数器设计也实现频率10 Hz~100 kHz、幅度0.5~5 Vrms的正弦信号精确测相,准确度达到1°,并且能在液晶显示器实时显示当前信号的频率、周期和相位差。该系统操作简单,模块化程度高,精度高,显示界面友好,具有较强的可行性和实用性,具有良好的市场前景。

关键字:单片机  FPGA  多功能计数器 引用地址:基于单片机和FPGA的多功能计数器的设计

上一篇:基于单片机平台的电池供电设备的微功耗设计
下一篇:【支招】如何应对单片机破解

推荐阅读最新更新时间:2024-03-16 12:48

MSP430 F249单片机 Proteus仿真 IAR工程设置 实例和开发环境
1 开发环境与流水灯实验 使用的是IAR 7.10 新建工程的细节看这里: https://blog.csdn.net/x1131230123/article/details/106956182 需要在debug模式下设置, 编译后hex文件在proNameDebugExe下 proteus设置时钟: 代码: #include MSP430x24x.h #define uchar unsigned char #define uint unsigned int void delayms( uint t ) { uint i; while ( t-- ) for ( i = 1330; i
[单片机]
MSP430 F249<font color='red'>单片机</font> Proteus仿真 IAR工程设置 实例和开发环境
基于FPGA的数据采集控制模块设计
0 引 言 数据采集和控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环控制,它在工业控制、军事电子设备、医学监护等许多领域发挥着重要作用。其中,数据采集部分尤为重要,而传统的数据采集系统,通常采用单片机或DSP作为控制器,用以控制ADC、存储器和其他外围电路的工作,使得采集速度和效率降低。近年来,微电子技术,如:大规模集成电路和超大规模集成电路技术的发展,为数据采集系统的发展提供了良好的物质基础。从而使器件向模块化和单片化发展,使所用软件均向实时高级语言和软件模块化发展,接口向标准化发展。由于FPGA时钟频率高,内部延时小,全部控制逻辑均由硬件完成,速度快,效率高,同时它有非常强大的硬件描述语言和仿
[测试测量]
基于<font color='red'>FPGA</font>的数据采集控制模块设计
四种扩展51单片机中断的方法总结
简介:MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时,就必须进行扩展,下面介绍几种简单的扩展方法。 一、采用硬件请求和软件查询的方法: 这种方法是:把各个中断源通过硬件“或非(高有效,如CD4002)”(与,低有效)门引入到单片机外部中断源输入端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这样当外部中断时,通过“或非”(与)门引起单片机中断,在中断服务程序中再通过软件查询,进而转相应的中断服务程序。 显然,这种方法的中断优先级取决于软件查询的次序。其硬件连接和软件编程如下: Void zhongduan (void) interrupt 0 using 3 //中
[单片机]
四种扩展51<font color='red'>单片机</font>中断的方法总结
FPGA与外部存储设备的接口实现
引言 当今社会是数字化的社会,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担,设计师们更希望在教研室里就能验证所设计的电路功能。FPGA的出现,使得芯片设计和应用跨入了一个新的领域。 研究背景 随着硬件方面的急速发展,与之相配套的软件也不断更新,更快﹑更智能的原理图编辑﹑设计实现和验证工具都被集成到EDA开发工具中。这些发展大大缩短了FPGA的开发周期,增强了FPGA设计的灵活性和可移植性,也避免了专用集成电路设计的高风险。但由于片内存储器受器件规模和生产成本的制约,其容量通常不能满足用户实际需求,这就需要使用半导体存储器件来扩展存储空间。针对这种情况,本文专门研究了FPGA与两种典型的存储器
[嵌入式]
MCS-51单片机的定时器/计数器应该掌握的知识
1.如果采用的晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少? 2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关? 3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制? 4.采用定时器/计数器TO对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。 5.定时器/计数器的工作方式2有什么特点?适用于什么应用场合? 6.编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400µs,占空比为10:
[单片机]
基于AVR单片机的MP3(完整原理图+代码)
之前介绍的DIY作品都相对简单,这次来个复杂点的。一次看懂肯定是不可能,大家可以慢慢研究。 这次的作品是基于AVR mega64的MP3播放器,具有SD读取、U盘读取、诺基亚5110屏幕歌词显示的功能。先说一下大致的原理: 以单片机读取SD卡里面的数据为例,SD卡是可以用SPI接口通信的。单片机通过SPI口读取里面的歌曲信息,定时发送到VS1003B这个芯片里面。该芯片是一个音频解码的芯片,可以解码MP3\WMV\MIDI等等音频文件。同时,歌词信息同步显示到nokia5110上,这是一块液晶屏,可以通过字库显示各种文字,也是SPI口通信。 外接几个按键,做为功能选择。上一首、下一首、音量+、音量-等等。 难点
[单片机]
基于AVR<font color='red'>单片机</font>的MP3(完整原理图+代码)
单片机MSP430入门--理论④--时钟模块-BCSCTL2寄存器
上期大概给大家汇总介绍了,在MSP430环境下的时钟寄存器DOCCTL和BCSCTL1寄存器,每个位代表的意义以及他们的设置方法 本期将重点介绍下,在MSP430环境下的时钟寄存器BCSCTL2,他每个位的意义以及他们的设置方法 1.0 BCSCTL2(Basic Clock System Control2)寄存控制器(用来设置SMCLK子时钟,MCLK主时钟),地址为58H,初始值为00H SELM0-SELM1: 选择MCLK的时钟源,0和1为DCOCLK,2为XT2CLK,3为LFXT1CLK DIVM0-DIVM1: 选择MCLK的分频因子,DIVM=0,1,2,3,对应MCLK的分频因子1,2,4,8
[单片机]
<font color='red'>单片机</font>MSP430入门--理论④--时钟模块-BCSCTL2寄存器
单片机与液晶显示器的接口应用介绍
引言   液晶显示器(LCD)具有工作电压低、微功耗、显示信息量大和接口方便等优点,现在已被广泛应用于计算机和数字式仪表等领域,成为测量结果显示和人机对话的重要工具。液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果,其应用越来越广泛。   GTG240128液晶显示模块:   1 模块特点   GTG240128图形点阵式液晶显示器的点阵的大小为240×128,带背光功能。内置1片T6963C液晶显示控制器和5片KS0086驱动器。该液晶显示模块具有如下特点。   ● 8位并行总线
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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