基于32位微控制器MC68HC376的开发设计和应用
·在完成一次测周后,一般应选择模式0停止DASM;但注意在停止DASM时,实际对DASM还有一个复位动作,所以最好在关闭DASM前读出捕捉寄存器A、B的值。而一般的定时计数器都是在停止后读值。
·在使用计数测频方式时,FCSMCNT在不溢出的状态下最大可计量2 16Hz的频率。这对更高频率的测量是不够的。设置一个溢出计数器N,在每次溢出中断时加1计数,同时,因此CTM2C脚最大允许输入为Fsys/4,所以在20.97MHz的系统频率下,N使用8位计数器就可以满足要求(FCSMCNT溢出中断处理程序的流程图略)。
·判断是采用计数测频还是测周测频的频率定值,应该以减少测量误差为准则,需要对理论误差进行计算,同时根据实际测量情况进行调整。
2.4.2 利用QADC模块实现A/D转换
QADC的主要功能模块包括两个队列(QUEUE)、命令字(CCW)表、结果字表和一些相应的控制寄存器。QADC的最大特点是能够通过寄存器和命令字组织待转换的模拟量,使其按一定的队列形式在一定条件下触发转换序列,并将结果按一定的格式存放于结果字表中。在实现A/D转换时需要进行的工作如下:
(1)构造相关的管脚
QADC的管脚可作为模拟量I/O、数字量I/O或多路复用功能脚。在使用和相应管之前要先对其进行构造。本系统中16路模拟
输入口已经够用,不需多路复用(可达44路),因此先对控制寄存器QACR0中的MUX位清零。相应管脚的引用名称为AN[52~59]、AN[48~51]、AN[0~3]。最后在数据方向寄存器DDRQA中将相应位清零,即管脚设为输入。
(2)构造队列和命令字表
先通过控制寄存器QACR1和QACR2中的MQ1和MQ2区选择队列1和2工作方式。为减少软件干涉、提高转换程序效率,设置MQ1=MQ2=101,即软件触发的连续扫描方式。根据所测频率经过软件倍频后可以很容易地对相关量进行跟踪采样,而不需要外部锁相跟踪电路。然后,按一定的顺序和优先级来组织队列。
由于没有多路复用,这里用16个转换命令字(CCW)分别控制16路输入通道。在CCW中写入通道号、采样输入时间选择和放大模式选择。转换命令字表中最多可有40个CCW。
(3)构造中断和结果读取
在QADC结构寄存器QADCMCR中写入中断判决号,注意中断判决号应该是非零且唯一的;写队列控制寄存器QACR1(2),设置中断允许位CIE1、CIE2;写QADC中断寄存器,通过IRLQ1(2)区设置队列1(2)的中断优先级,通过IVB区提供QADC中断向量号的高6位。
当队列转换完成后申请中断,中断服务程序从结果字表中读取转换结果。然后清除队列状态寄存器QASR中的中断标志位CF1、CF2,准备下一轮队列转换。
2.5 通信口电路
本系统包括RS-232接口和CAN接口。RS-232接口通过队列式串行模块QSM和外部的MAX232芯片连接实现。CAN接口通过TouCAN模式与外部的CAN250芯片连接实现。
3 应用实例
应用该方案的数字式低频低压控制装置RSA800,通过实时测量电力线的电流、电压和频率,进行综合快速的分析判断,从而形成保护决策。该装置已通过电力工业部电力设备及仪表质量检验测试中心的产品形式试验,各项指标均合格。通过国家电力公司主持的产品鉴定,鉴定结果为:该装置技术先进、性能可靠、适应性强,达到国内同步装置领先水平。这充分验证了该方案的可行性。
本设计方案充分利用MC68HC376内部功能,外部结构简单。系统能对多种模拟量、开关量以及频率信号做精确的测量
《基于32位微控制器MC68HC376的开发设计和应用(第3页)》