|
Design of the Digital Signal Output Module based on the SoC 摘要:总线控制系统需要实现现场信号的输入输出,同时完成过程控制中的数据采集、回路控制、顺序控制、以及包括优化控制等各种控制算法,从而对工业现场的电流、电压、温度、流量等信号进行控制与检测。本文设计了基于单片机的数字信号输出模板,包括模板的硬件电路设计与软件设计。 关键词:输出;数字信号;单片机;电路设计 Abstract: In order to measure and control the current, voltage, temperature, and flux in the industrial fields, control System based on bus should realize the functions of input and output of the field signals, data acquisition, loop control, sequence control and optimal control algorithms in the process control. A digital signal input module based on SoC was designed in this paper, including the hardware circuit design and software design. Keywords: Output; Digital Signal; SoC; Circuit Design
1 引言 16路数字信号输出模板设计了16个无源晶体管触点,可通过中间继电器驱动电动控制装置,并且输出采用光电隔离器与CPU连接,前八路和后八路输出信号分组隔离。该模板中16路通道的最大负载电流为800mA,每点50mA。数字信号输出模板在使用时必须与对应的端子板配合使用,端子板的功用为提供接线通道以及信号前级抗扰动处理,并提供16个外挂继电器。通过端子板由外部配电的24V电压提供给模板。模板总体设计如图1所示。 
该模板CPU选用带CAN模块的MC9S12D系列16位单片机MC9S12D64。为提高系统的抗干扰能力,采用TLP521-4光耦芯片将输入输出信号隔离。为提高模板运行的可靠性,设计了16路通道自检电路和外配电检测电路。外配电设计范围:22V~30V,当模板检测到的电压不在此范围之内或者模板的通道出现故障时,将点亮红灯报警。下面具体介绍该模板中的硬件和软件设计。 2 模板的硬件设计 2.1 16路数字信号输出电路设计 如图2所示为一路数字信号输出通道的设计电路图。由CPU的I/O引脚输出的16路数字信号先进入光耦芯片TLP521-4进行隔离。并且前八路和后八路输出信号是分为两组隔离的,分别接了不同的电源和地信号。同时,进入光耦的数字信号经上拉电阻上拉,以提高信号的可靠性。 考虑到光耦的负载能力有限,隔离后的信号再经过MOS管FU120,输出的信号经R-C滤波后通过模板的端子排接到与之配套的端子板上,来直接控制继电器,继电器动作接通相应档位来驱动负载。 
2.2 16路数字信号通道自检电路设计 为提高模板运行的可靠性,设计了16路通道自检电路,用来检测模板过程中是否有信号输出通道出现故障。设计电路图如图3所示,采用了两MC14051模拟开关分别完成8路通道的检测,图中只画出了对一路通道检测电路图,其余通道与之相同。
 每路通道的输出信号分别先经过TLP521-4光耦芯片的隔离,然后连接MC14051模拟开关的一个输入端,两个MC14051的三个通道选通引脚A、B、C都连接到CPU的三个I/O引脚PE2、PE3和PE4,而公共输出引脚X则分连接到CPU的两个I/O引脚PT2、PT3上。这样通过软件编程,同时选通两通道,观察CPU PT2、PT3两个引脚上的电平变化,可检测这两路通道是否导通 若选通的某一路通道的数字信号为低电平0,则经MC14051后的输出端出低电平0时,说明该通道导通;反之输出高电平1,说明该通道故障,此时点亮红灯报警。同理,若选通通道的数字信号为高电平1时,则MC14051的出为高电平1,说明通道是导通的。 这样通过改变选通的通道及输入端的信号,观察MC14051的公共输出端值和是否点亮红灯报警,即可达到检测16路通道是否导通的目的。 2.3外配电检测电路设计 模板的24V电压是由外部配电产生的,为进一步提高模板运行的可靠性,设计了对外配电电压信号的检测电路,该设计中将外部配电电压的检测范围设定为22V~30V,即当模板检测到电压不在此范围之内时,说明外部配电不能满足模板的正常运行,将点亮红灯报警。 由于模板电源全部采用了冗余的供电方案来提高系统的可靠性,所以两路外配电电压分别经端子排上的两个引脚Jl-61和J1-62输入。在图4中是对一路外配电电压的检测电路,另外一路是完全相同的。  输入电路采用稳压管TL431C产生2.5V的稳定电压,输出到电压比较器LM393N的2和5引脚,分别作为两个比较器件的一个输入端,另外两个输入端则由外配电输入的电压经两电阻分压后产生。 如图所示,比较器UA的3引脚输入电压  经两个比较器输出的电平信号进入光耦TLP521-2,输出相同电平的信号后,再经或门74HC32输出到CPU的I/O引脚PT7。只有当两比较器输出全部为低电平0时,即当外配电电压的范围在22V-30V之间时,PT7口才为低电平0,否则为高电平1。 3 模板的软件设计 数字信号输出模板的CPU选用了Motorola的MC9Sl2D64芯片,通过CAN总线与主控模板通信。 下面对16路通道自检电路的软件设计做一介绍。由于MotorolaCPU12的指令系统没有对位的操作指令,那么要实现对16路通道的逐个检测,采用了移位的方法,通过进位位C来读取检测结果。具体程序如下: …… MOVB#$00,ADDI ;初始化寄存器ADDI MOVB#$0(),PORTA ;初始化输入POR’LA口 MOVB#$08,SHIFT_NUMI ;移位8次 MOVB#$00,ADD_REGI SELFADDI:LDAAADD_REGI ;首先选通第0通道 LSLA LS LA STAA PORTE CALLDELAY LDAAPTTT LSRA ;右移3位,PT2的值在C中 LSRA LSRA RORADDI ;ADDI右环移1位,P几在ADDI最高位 DECSHIFT_NUM1 BEQSELF_SCAL2 ;8位检测完,转其他操作 INCADD_REG1 ;8位未读完,则继续 BSRSELF_ADD1 …… 如图3所示,由于通道的选通使用了PE2、PE3和PE4引脚,程序中,在选通下一通道时,每次将寄存器ADD_REGI中的值加1后,将值左移两位再送入PORTE口,即送入了PE2、PE3和PE4引脚对应的端口,实现了下一通道的选通。 MC14051的输出端连接了CPU的PT2口,在读取检测结果时,将PT口的值先右移了三位,此时PT2口的值移到了进位位C中,再将寄存器ADDI右环移一位,则输出结果移到ADDI的最高位,8位检测完后,读取ADDI的值,即得到8路通道的检测结果。 本文作者创新点: 性能优良的信号输出模块对基于现场总线的控制系统的开发起着非常重要的作用。本文设计了基于单片机的数字信号输出模块,硬件方面主要包含16路数字信号输出电路设计,16路数字信号通道自检电路设计以及外配电检测电路设计,软件方面为实现对16路通道的逐个检测,采用了移位的方法,通过进位位C来读取检测结果。 参考文献: [1] 施仁,刘文江,郑辑光. 自动化仪表与程控制(第三版)[M].北京: 电子工业出版社.2004,1.3~5 [2] 孙毛毛,冯全源. 同步整流器电流控制比较器的研究与设计[J]. 微计算机信息, 2007, 9-2: 295-296 [3] 南京工学院数学教研组编.积分变换[M].高等教育出版社.北京.1996, 7: 3-7 [4] 朱升每, 程明霄.基于80C196单片机的PWM高精度模拟输出[C].2003嵌入式世界研讨暨展示会论文集. 电子产品世界.2003, 9: 464-467 [5] GB3369-82.工业自动化仪表用模拟直流信号[S].中国标准出版社.1988: 423-424 [6] 200510040346.5 基于现场可编程外围芯片的分析仪器智能测控平台[P].中华人民共和国国家知识产权局.北京.2006, 1: 6-8 作者简介:张定群(1971.04-),男,河南省南阳市,讲师,硕士,主要研究领域为计算机自动化; 路艳斌(1971.04-),男,山西省长治市,工程师,硕士,研究方向:自动化 通讯地址: 河南南阳长江路80号南阳理工学院电子与电气工程系 473004 收件人:张定群 |