当前位置:首页 > 工业控制 > 电子设计自动化

摘要:提出了以AVR ATmega128单片机和Altera公司的Cyclone系列EP1C3T100为核心的系统设计方案。分析了数字式低频相位测量仪的测量原理和测量误差及其消除的方法。主要介绍了系统的软硬件设计。实践表明,此方案设计的相位仪对低频正弦波信号实现精确测频和测相位差,具有处理速度快、稳定可靠、精度高等优点。

  关键词:数字相位仪;单片机;FPGA;误差;频率;相位差

  本设计采用MCU和FPGA相结合的系统方案,以AVR单片机ATmega128和Altera公司的Cyclone系列EP1C3T100为核心,充分发挥各自的优势,如AVR单片机先进的RISC结构和强劲的运算、控制功能,Altera公司的FPGA运算速度快、资源丰富以及易编程的特点,合理设计,此方案的相位仪具备速度快、稳定可靠、精度高等优点,而且容易实现“智能化”和“自动化”。

  1 系统方案设计

  1.1 测量方法的比较与选择

  目前相位测量的方法主要有两种:

  1)DFT测相法即将待测信号通过A/D转换得到f(n),f(n)按离散傅里叶变换得出离散频谱F(k),f(n)和F(k)为傅里叶变换对,通过运算得到两路信号的基波相位,从而计算出相位差。DFT测相法的精度受限于ADC的采样精度,需要高速ADC对信号进行过采样,测量方案复杂,可以通过采集卡在计算机上实现虚拟仪器,所以主要应用在精度要求很高的场合和虚拟仪器中。

  2)填充计数测相法 即两路同频的正弦信号经过信号整形电路后得到方波信号,方波信号经过鉴相器后,得到两路输入信号的相位差信号,用固定频率的采样脉冲进行填充并计数,从而计算出相位差。填充计数测相法主要应用在要求一定的精度,测量的频率不是太高但实时性要求很强的场合,易于实现数字化和自动化,低频数字相位仪适合用填充计数法。

  填充计数测相法的基本算法:若正弦波整形后的方波信号频率为f,周期为T,采样脉冲周期为TC,方波一个周期内对采样脉冲计数为,n则被测信号频率f=1/T=1/nTC。同样的方法测出两个同频正弦波起点之间的时间差为△t,则两信号的相位差△θ=△t·360°/T。

  1.2 系统方案的确定

  由系统测量方法可知,数据需要采集、运算及显示,考虑到Field Programmable Gate Array(FPGA)集成度高、I/O资源丰富、稳定可靠,选择余地大,外围元件很少,近年来价格下降等优势,以及MCU良好的人机接口和运算控制功能,所以本系统由MCU和FPGA相结合构成测控主体。FPGA负责采集测频和测相位差的脉冲信号,MCU负责读FPGA采集的数据,计算待测信号频率和相位差并在LCD上显示。

  所以,系统由4个部分组成:待测信号调理电路、FPGA数据采集电路、MCU数据运算控制电路和LCD数据显示电路,如图1所示。

  2 测量误差的分析与消除

  相位测量仪的完善设计,不仅要有合适的测量方法和系统实现方案,还需要着重分析误差产生的原因和确定消除的方法。

  1)填充时钟频率(即数据采样信号)的影响与确定本相位测量仪的测频范围为20 Hz~20 kHz,相位差的范围为△θ=0°~359.9°,相位差的显示分辨率为0.1°,要求测量相位的绝对误差≤2。

  被测频率20 Hz≤f≤20 kHz,则周期50μs≤T≤50 ms。

  T=50 μs,绝对误差取0.1°~2°。

  则填充时钟信号周期:0.1°x50 μs/360°≤TC≤2°x50 μs/360°即:1/72(μs)≤TC≤1/3.6(μs),可以得出填充时钟频率:

  3.6 MHz≤fC≤72 MHz。

  T=50ms内对TC=1/3.6(μs)的填充脉冲计数,计数值Nmin=180000≤218;对TC=1/72(μs)的填充脉冲计数,计数值Nmax=3600000≤ 222。

  本设计考虑MCU的计算及分频取得信号的方便,填充时钟信号频率fC=20 MHz,测量绝对误差<1°,FPGA在20 MHz时钟信号作用下对待测信号周期和相位对应的时间差进行计数,FPGA采样的二进制数据位为20 bit,可以保证测量的精度。

  2)待测信号调理电路中零点漂移的影响与消除待测信号调理电路主要作用是把输入信号整形变换成矩形波,通常采用过零比较器或者施密特触发器。

  过零比较器在零点电位附近可能会有振荡,输入信号在零点电位附近时,电压比较器处于放大区,整形后的矩形波在边沿会产生抖动,使系统无法进行测量。要消除这种抖动,可以采用施密特触发器。为了保证测量的精度,施密特触发器必须符合两个条件:一是两路被测信号幅度基本相等,二是门限电平要基本接近。

  3)整形后方渡边沿的陡峭程度的影响与消除信号经过整形后输出的矩形脉冲信号直接送给FPGA,则FPGA不能立即获取稳定的数字脉冲信号,就会使系统的精度受到很大影响。这主要是由于整形后方波边沿不够陡峭造成的。要解决此问题,一是选取具有较大压摆率的器件,二是在比较器的后端加一级微分电路来提升脉冲信号的边沿。

  4)中低频测量精度的影响与消除采用20 MHz数据采样信号来循环计数被测信号的周期及相位差对应的时间差,精度达到0.05 μs,20位数字量的单位是0.05μs。利用被测信号刷新采样计数,实现高频多测量,低频少测量,时间计数精确可靠,这样,FPGA可以为MCU提供稳定的数据。

  3 系统硬件电路的设计

  3.1 前端信号调理电路的设计

  施密特触发器(迟滞比较器)虽然可以很好地消除比较器过零引起的抖动,但是其输出信号和输入信号存在相位差,如果两路被测信号的幅度基本相等且两个施密特触发器的门限电平又很接近,则施密特触发器引入的相位误差对测量系统误差几乎无影响。

  采用LM339内部有4个独立的电压比较器,该电压比较器的特点是:失调电压小,典型值为2 mV;电源电压范围宽,双电源电压为±1~±18 V;对比较信号源的内阻限制较宽。同相和反相输入端电压差别大于10 mV就能确保输出能从一种状态可靠地转换到另一种状态,输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻。在跳变电压值附近的干扰不超过回差AU,输出电压的值就将是稳定的。正反馈可以加快比较器的响应速度。由于迟滞比较器加的正反馈很强,远比电路中的寄生耦合强得多,所以可免除由于电路寄生耦合而产生的自激振荡。通过调节电位器,使两个施密特触发器的门限电平基本相等,保证输入电路对相位差测量不带来误差。电路如图2所示。

  3.2 系统测量电路设计

  以单片机为核心设计相位仪,如其晶振为24 MHz,单片机C/T的计数误差为1个机器周期为±0.5 μs,则绝对误差为360°x0.5 μs/50μs=3.6°,所以,当被测信号频率很高时很难满足测量要求。

  本设计采用AVR单片机与FPGA相结合的方案,FPGA实现数据采集,将所测信号的频率和相位差所对应时间差转换为二进制数据传给单片机;单片机从FPGA获取数据,经过运算、转换等数据处理,将被测信号的频率和相位差在LCD上显示。

 系统电原理图如图3所示。MCU采用ATMEL公司的AVR单片机ATmega128,具有先进的RISC结构,大多数指令在一个时钟周期内完成,有32个8位通用工作寄存器及外设控制寄存器,克服了一般单片机单一累加器数据处理带来的瓶颈。有128 KB的系统内可编程Flash,4 KB的EEPROM以及4 KB的内部SRAM,遵循JTAG标准的边界扫描功能,支持扩展的片内调试,可通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程。

  FPGA采用Altem Cyclone系列的EP1C3T100,配置芯片为EPCS1,VHDL功能程序经过全编译会生成.sof和.pof文件,配置的下载为Byte-Blaster II,[Mode]项选择“JTAG”为把.sof文件配置到FPGA芯片EP1C3T100中,用于调试;[Mode]项选择“Active Serial Programming”为把.pof文件下载到配置芯片EPCS1中,系统重新上电时正常运行。

  LCD采用HTM12864,为128x64串行数据传送液晶显示器,背光灯通过光耦受到控制。

  ATmega128和EP1C3T100设计各自的JTAG接口。图3绘出了ATmega128和EP1C3T100的接口D0~D19、EN、Dsel、LCN;ATmega128与HTM12864的接口RET、D/C、SCLK、DATA;EP1C3T100的输入信号FAin和FBin,66 MHz外部有源晶振,配置芯片EPCS1。4 系统软件的设计

  4.1 FPGA数据采集VHDL程序设计

  FPGA数据采集的VHDL程序设计是在Altera QuartuslI开发软件平台及实验开发系统上完成的。程序设计采用自顶向下(up-to-down)的设计方法。FPGA系统的模块构成如图4所示。采样信号发生模块完成时钟信号源的分频工作,得到CLK=20 MHz;待测信号采样模块在控制信号产生模块的周期闸门信号Tk和时间清零信号Tcr的作用下,输出待测信号周期和相位差数据;测量数据提取模块在鉴相信号JXc和计数提取信号Lad的作用下,并在输出使能信号EN和数据类型信号Dsel控制下分别输出周期和相位差数据,交MCU运算处理显示。

  FPGA在单片机输出使能信号EN和数据类型信号Dsel控制下,输出所测信号的频率和相位差所对应的二进制数据仿真波形如图5所示。VHDL程序经过编译调试生成.pof文件下载到配置芯片EPCS1中实现所设计的功能。

  4.2 ATmega128运算控制程序设计

  AVR单片机ATmega128从FPGA分别读取频率和相位差的20位数字量,由于FPGA在20 MHz数据采集信号作用下对待测信号周期和两同频信号的相位差所对应的时间差计数,因此20位数字量的单位是0.05μs,单片机对这些数字量进行计算,可以得到待测信号的频率和相位差。

  单片机运算控制程序设计思路:单片机(ATmega128)通过控制信号EN和Dsel从FPGA(EP1C3T100)读取待测信号的周期和两待测信号相位差所对应的时间差,对读取的数据进行计算、转换,送液晶显示器显示,显示待测信号的频率、相位差以及有关信息。主程序流程图如图6所示。源程序由主程序及若干子程序组成,主程序是一个循环执行程序。

  1)单片机从FPGA读数据

  根据MCU与FPGA的20位数字量的接口,从单片机的PA、PB和PC(低4位)读取数据,组合成20位的数据,控制线EN和Dsel控制FPGA释放数据。当Dad=1时,FPGA向单片机传送待测信号的相位差数据;当Dsel=0时,FPGA向单片机传送待测信号的周期数据;当EN=1时,FPGA向单片机释放数据,当EN=0时,FPGA禁止向单片机释放数据。

  2)频率和相位差数据的运算

  为了测量达到要求的精度,在运算时不能丢失数据,所以采用扩大倍数定点取数的方法,保证数据计算准确。依据如下方法进行计算:信号频率F=106/T,计算结果精确到1 Hz;相位差△θ=△tx360°x10/T,计算结果精确到0.1°。

  3)LCD显示器显示频率、相位差等相关信息

  本设计采用HTM12864(128x64)的LCD液晶显示器,控制器为S6B0724,与单片机数据与控制接口是:CS、RET、D/C、SCLK、DATA,背光灯根据按键动作控制,用按键来切换显来示信息。

  5 结论

用此方法设计的数字式相位测量仪具有较高的精度,稳定可靠。本仪器测量正弦信号的频率及两个同频正弦信号的相位差,较好地满足了设计的技术指标要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

PLC(可编程逻辑控制器)和单片机是两种不同的控制设备,它们之间存在明显的区别:

关键字: 单片机 plc 控制器

Holtek隆重推出全新一代32-bit Arm® Cortex®-M0+ 5V CAN MCU - HT32F53231/HT32F53241/HT32F53242/HT32F53252。这一系列单片机带有来自Bosc...

关键字: MCU 工业自动化 单片机

Holtek精益求精,宣布推出全新5V宽电压Arm® Cortex®-M0+ 32-bit MCU系列HT32F50431/HT32F50441/HT32F50442/HT32F50452。此系列MCU经多方位升级能满...

关键字: 单片机 智能家居 工业控制
关闭
关闭