【关键字】单片机;频率;测量
【出 处】 2018年 1期
【收 录】中文学术期刊网
【作 者】朱文明 徐杰
【单 位】
【摘 要】 摘要:以飞思卡尔公司的16位微控制器MC9S12DG128作为核心控制单元,设计了并利用MC9S12DG128单片机运算速度快,机器周期小等优点,从而实现了该系统的测量精度高、自适应性
摘要:以飞思卡尔公司的16位微控制器MC9S12DG128作为核心控制单元,设计了并利用MC9S12DG128单片机运算速度快,机器周期小等优点,从而实现了该系统的测量精度高、自适应性强、电路结构简单的特点。大多数测量系统的核心芯片都是以MCS-51为基础,其芯片测量精度相对较低,运算速度较慢,难以满足实时控制的要求。MC9S12DG128是freescale公司推出的一款16位高速、高性能的单片机,其在2MHz的总线工作时钟下,最小机器周期可达40ns,大大提高了频率的测量精度,能够更广泛的应用于频率测量系统[1-5]。
Abstract: Based on Freescale 16-bit microcontroller MC9S12DG128 as the core control unit, designed and used MC9S12DG128 MCU operation speed advantages, such as machine cycle, thereby achieving high accuracy of the system, self-adaptability, the characteristics of the circuit structure is simple. Most of the core of the measurement system to MCS-51 chips are based on measurement accuracy of its chips are relatively low, slow operation, it is difficult to meet the real-time control requirements. MC9S12DG128 is introduced freescale of a 16-bit high-speed, high-performance microcontroller, and its 2MHz bus clock work, the minimum machine cycle of up to 40ns, greatly increased the frequency of measurement accuracy, more widespread application on frequency measurement system.
关键词:单片机;频率;测量
中图分类号:TP271. 81文献标识码:A
0、前言
MC9S12DG128微控制器[1]是Motorola公司M68HC12系列16位单片机中的一种。其内部结构主要由单片机基本部分和CAN功能块部分组成。基本结构包括:中央处理器单元HCS12(CPU)、2个异步串行通信SCI、2个同步串行通信口SPI、8通道输入捕捉/输出比较定时器、1个8通道脉宽调制模块以及49个独立数字I/O口(其中20个具有外部中断及唤醒功能)。在片内还拥有128KB的FlashROM,8KB的RAM和2KB的EEPROM[2-3]。
由于具有抗干扰能力强、传输距离远、接口简单灵活、占用资源少等特点,在许多测控系统中得到了广泛的应用,例如流量、转速、晶体压力传感器等都是将参数转化成频率量进行测量的[1-2]。本文采用MC9S12DG128单片机作为控制芯片,提出了减小误差的测量方法,并在此基础上编写了程序设计流程。
微控制器的脉冲宽度调制(PWM)模块是工业控制和新型消费机电产品中最常用的技术。脉宽调制波可用软件程序来控制波形占空比、周期和相位,广泛地应用在直流电机调速、伺服电机控制方向盘,伺服电机的旋转角度 与给定的PWM信号占空比一致,即每个占空比数值都对应一个旋转角度。
锁相环产生的时钟频率可由下面的公式得到[1]
式中: 为振荡器频率;SYNR为时钟合成寄存器的值;REFDY为时钟分频寄存器的值。对于CPU12可以选用8MHz或者16MHz外部晶体振荡器作为外时钟;可选用8MHz晶振时,若将SYNR设为2,REFDV设为1,可以得到24MHz的总路线频率,接近S12微控制器的上限内部总路线频率25MHz。
S12微控制器产生PWM波形的方法主要有二种:软件输出比较和PWM硬件模块。利用输出比较功能可以通过软件设定输出任意脉冲,但会占用CPU资源,而且不易产生精确的脉冲序列,FreescaleS12微控制器集成了PWM模块专门用于输出PWM波,使用时不影响运行计数器,也极少数占用CPU资源。MC9S12DG128B可提供优异的频率高,分辨率高、占空比可调、范围宽的PWM信号[1][8]。
集成了解8路独立PWM通道,通过相应设置可变成4个16位PWM通道,每个通道都有专用的计数器,PWM输出极性和对齐方式可选择。8个通道分成两组,共有4个时钟源控制。通道0、1、4、5为一组。使用时钟源ClockA和ClockSA;通道2、3、6、7构成另一组,使用时钟源ClockB和ClockSB。PWM模块内部结构框图如图1。ClockA和ClockSA均源于总线时钟,可通过软件编程设定[1]。
图1 PWM内部结构框图
1、开发软件
开发软件采用Freescal公司的Codewarrior,Codewarriorfor512是Freeseal公司为512系列处理器提供的嵌人式应用开发软件包,是一款专为工程人员设计的功能强大的图形化编程软件,包含集成开发环境IDE,处理器专家系统,全芯片仿真等[4].
2、实验实现方法
PWM常用来输出一定周期和占空比的脉冲序列。下程序流程如图2是基于MC9S12DG128B实验板,实现从PTP0口输出10KHz,占空比为50%的PWM信号,时钟源采用ClockA、ClockB,总线时钟BusClock=8MHz[1]~[4]。
图2 PWM程序流程图
3、实验结果
3.1实验波形输出图
根据上述实验方法建立了实验平台,采用Freescal公司的Codewarrior软件编程,进行了采用超频状态下,通过不同的超频设置,时钟合成寄存器SYNR值为4、6的状态下,并设置PWM具有万分之一到万分之五不等,得到如下的图3所示,
图3-1 图3-2
图3-3 图3-4
图3-5 图3-6
图3 实验结果
3.2实验结果分析
通过实验输出波形图3-1可以看出此时输出PWM精度为万分之五,有效PWM输出点二个,输出脉冲幅值稳定在940mv×4.8,扫描频率为50.us,输出稳定,产生的输出稳定。
通过实验输出波形图3-2可以看出此时输出PWM精度为万分之一,最大脉冲幅值940mv×3.9,另一其它的脉冲此时间点无脉冲输出,此时SYNR为6,状态下,PWM输出失真。
通过实验输出波形图3-3可以看出此时输出PWM精度为万分之二点五。最大脉冲幅值940mv×4.1,最大脉冲幅值940mv×0.5,有效PWM输出点二个,其它脉冲间隔点无输出,此时SYNR为6,状态下,PWM输出失真。
通过实验输出波形图3-4可以看出此时输出PWM精度为万分之五。最大脉冲幅值940mv×4.1,最小脉冲幅值940mv×0.5,四个有效PWM输出点,最小脉冲输出为其它脉冲间隔点无输出,此时SYNR为6,状态下,PWM输出失真。
通过实验输出波形图3-5可以看出此时输出PWM精度为万分之一。最大脉冲幅值940mv×4.8,最小脉冲幅值940mv×1.5,有效PWM输出点二个,其它脉冲间隔点无输出,此时SYNR为4,状态下,PWM输出失真。
通过实验输出波形图3-6可以看出此时输出PWM精度为万分之二点五,有效PWM输出点五个,输出脉冲幅值稳定在940mv×4.8,扫描频率为50.us,输出稳定,产生的输出有效,但输出PWM幅值的相对不稳定。
4、结论
选用MC9S12DG128作为控制核心,在CodeWarrior系列集成开发环境开发了软件系统,在相同超频条件下,精度越高的PWM输出值输出状态不稳定,随着输出PWM精度的增加,PWM输出的幅值开始减小的变化,同时PWM输出脉冲幅值减小。可应用于测量精度控制在较小的范围之内,同时提高了运算速度和测量量程,能更加简单、稳定、经济、方便的应用于频率测量系统。
参考文献
[1]王威等,HCS12微机控制器与原理及应用,北京航空航天大学出版社。2007
[2]常波高精度PWM输出的温度传感器MAx6666/6667的特性及应用.[J]现化电子技术.2004(6),173
[3]Freescale Semi-Conductor Inc.MC9S12-DG128B device user guide[DB/OL]. 2005:http://
www.reescale.com/webapp/sps/site/S12/MC9S-12DG128B.pdf.
[4]Steven F.Barrett,Daniel J,Pack.嵌入式系统——使用68HC12和HCS12的设计与应用[M].郑扣根,唐杰,何通能,等译.北京:电子工业出版,2006.
[5]王宜怀,刘晓升.嵌入式应用技术基础教程.北京:清华大学出版社,2005
[6]范寿康,康广荃,尹磊,等.Freescale 16位DSP原理与开发技术[M].北京:机械工业出版社,2006
[7]Todd D.Morton。嵌入式微控制器[M].严隽永,译.北京:机械工业版社,2005.
[8]俞应华,黄 寅.精度频率测量技术在单片机系统中的应用[J].现代计量测试, 1998(3): 21-23.
[9]张雪平.单片机提高频率测量精确度的新方法[J].微计算机应用, 2004, 25(1): 114-117.
[10]王宜怀,刘晓升.嵌入式应用技术基础教程.北京:清华大学出版社,2005.