随着信息科学技术的发展,工业生产扩大和产品种类的增加,在科研与生产中,检测成为每一个电子产品必不可缺少的一个环节。对测试的要求也越来越高,有时因为对一块电路板要同时测试好多功能,而无法同时检测而影响产品质量。基于STM8S207单片机的强大功能,最高fCPU可达24 MHz,基于哈佛结构并带有3级流水线扩展指令集,最高20MIPS@24 MHz.程序存储器:最多128KBFLASH,10千次擦写后在55℃环境下数据可保存20年;数据存储器:最多2 KB真正的数据E2PROM;可达30万次擦写RAM:最多6KB.时钟、复位和电源管理2.95~5.5 V工作电压灵活的时钟控制,4个主时钟源,低功率晶体振荡器,外部时钟输入,用户可调整的内部16 MHzRC,内部低功耗128 kHzRC,带有时钟监控的时钟安全保障系统,低功耗模式(等待、活跃停机、停机),外设的时钟可单独关闭,永远打开的低功耗上电和掉电复位。带有32个中断的嵌套终端控制器,6个外部中断向量,最多37个外部中断。定时器,2个16位通用定时器,带有2+3个,CAPCOM通道(IC,OC或PWM)。高级控制定时器:16位,4个CAPCOM通道,3个互补输出,控制和灵活的同步带有8位预分频器的8位基本定时器。用STM8S207MB单片机控制可以很好的解决同时测试好多功能的测试要求,并且时时对电压进行检测。比一般的51和PIC单片机便宜,成本较低。
1 系统总体设计
1.1 系统功能设计
通过MCU1,MCU2,MCU3三片STM8S207单片机,它们与上位机通过芯片485通信进行连接。如图1所示。其中继电器驱动,要求电流10 A以下,40路,可以驱动强电接通,也可以模拟按键,XH-2输出。80~400 V交流强电检测,16路,要求隔离检测,XH-2输入。0~24V弱电检测,16路,不要求隔离检测,XH-2输入;60~400 V直流强电检测,8路,不要求隔离检测,XH-2输入。5 V输出,要求MOS管驱动,12路,XH-2输出。12 V输出,要求MOS管驱动,12路,XH-2输出485通信,各单片机之间用芯片MAX485进行通信。主要完成功能如图1所示。硬件基本配置电路板基本构架如图2所示,这三块芯片用芯片485进行通信,然后并在一条总线上,最后用上位机控制。
1.2 通信协议
通信的时候数据以一帧一帧传输,一帧由5个字节组成,每个字节有11位,第一位起始位,第10位奇检验,第11位当数据。由PC机向MCU传输时,第一个字节如果接收到滤波码B3H,数据开始传输,如果接收的不是B3H,单片机则不予理睬。第2个字节表示大组号和小组号,系统事先已将92路输入或者输出编号组,每一大组再分出小组,这个字节中,前3位表示大组号,001表示20路继电器输出,010表示20路继电器输出,011表示直流强电检测,100表示12 V输出,101表示弱电检测,110表示交流强电检测,后5位表示某一路的输入或者输出;第3个字节表示电路是否动作,00000001表明明电路动作了,0000000表明电路没有动作;第4个字节保留;第5个字节表示CRC中断检验。当数据由PC机向MCU传输时,第1个字节如果接收到滤波码3BH,数据开始传输,如果接收的不是3BH,单片机则不予理睬;第2个字节表示同上所述。第3第4个字节表示12位AD值。第5位表示CRC中断检验,本次通信的波特率为9 600 b/s,每个字节隔0.5ms传输,每个字节每位之间的时间间隔则为100μs.
1.3 管脚规划
单片机STM8S207(MCU1,MCU2,MCU3),分别控制继电器驱动和直流强电检测,5 V输出和弱电检测,12 V输出和强电检测,3块单片机用485通信,再由总芯片控制,工作电压2.95~5.5、5V.MCU1控制40路继电器驱动,强电检测(60~400 V)共52路。
2 系统硬件设计
2.1 STM8S207MB芯片特点
它是由全球第5大半导体公司意法半导体生产的8位机,这种8位的STM8S207MB内核在设计时考虑了代码的效率和性能。它的6个内部寄存器都可以在执行程序中直接寻址。共有包括间接变址寻址和相对寻址在内的20种寻址模式和80条指令。其管脚图如图3所示。
2.2 485通信
IC-485接口电路的主要功能是:将来自微处理器的发送信号TX通过“发送器”转换成通信网络中的差分信号,也可以将通讯网络中的差分信号通过“接收器”转换成被微处理器接收的RX信号。任一时刻,IC-485收发器只能够工作在“接收”或“发送”两种模式之一,因此,必须为IC-485接口电路增加一个收/发逻辑控制电路。如图5所示。微处理器的标准串行口通过RXD直接连接ICA85R芯片的RO引脚,通过TXD直接连接IC485R芯片的DI引脚。由微处理器输出的R/D信号直接控制IC485R芯片的发送器/接收器使能:R/D信号为“1”,则ICA85R芯片的发送器有效,接收器禁止,此时徽处理器可以向RS 485总线发邀数据字节;R/D信号为“0”,则SP485R芯片的发送器禁止,接收器有效,此时微处理器可以接收来自RS 485总线的数据字节。此电路中,任一时刻IC485R芯片中的“接收器”和“发送器”只能够有1个处于工作状态。连接至A引脚的上拉电阻R7、连接至B引脚的下拉电阻R8用于保证无连接的IC485R芯片处于空闲状态,提供网络失效保护,以提高IC-485节点与网络的可靠性。如果将IC485R连接至微处理器STM8S207MB芯片的UART串口,则IC485R芯片的RO引脚不需要上拉;否则,需要根据实际情况考虑是否在RO引脚增加1个大约10 kΩ的上拉电阻。
2.3 其他控制电路
在硬件设计中,还包括控制继电器驱动,如图4所示,它具有控制系统和被控制系统。通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”.故在电路中起着自动调节、安全保护、转换电路等作用。
当STM8S207MB单片机输出高电平时,由于电阻R7的分压作用,使三极管饱和导通,使继电器线圈通电,吸合开关,驱动外围电路。
当STM8S207MB单片机输出低电平时,三极管截止,使继电器线圈失电,断开开关。电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”.
控制80~400 V交流强电检测隔离检测,XH-2输入:
工作原理:如图6所示,由XH-2输入80~400 V的电压,通过变压器的隔禽变压13 V,在通过4个IN4007整流二极管整流;在经过E1,C10滤波,经过电阻的分压输入单片机的AD转换引脚输入单片机,在经过一定的计算传给上位机PC显示。
变压器TR/DB-E128/7201A的变压比K=N1/N2=30,最高电压是380 V,称为匝比(亦称电压比)。经变压器变压后的电压390/U1=1/30,得U1=13 V.经整流管整流后的电压U2=U1×1.2=15.6 V,经电阻分压后输入单片机的电压(R210/(R210+R209))×15.6=4.2 V还有其他的电压测出电路,如0~24 V弱电检测,60~400 V直流强电检测,控制5 V和12 V输出,控制5 V和12 V输出,单线接口模块,带有3级软件优先级设定的嵌套中断,时钟控制器,看门狗设计,电源管理,模数转换等等。
3 系统软件设计
STM8单片机的C语言编译器是COSMIC,是一款专用于ST公司的单片机的编译器。包括MCU1的软件与上位机通信软件程序示,函数声明及变量定义程序、I/O口初始化程序、A/D转化初始化和延时程序、I/O输出函数、电压采样函数、看门狗函数、通信中断函数、TIM4中断函数,以TIM4中断函数为例:
TIM4中断函数程序:
4 硬件接口连接与调试
将STMSS207MB与外设之间进行连接并进行系统调试,在进行硬件电路的实验调试时,首先检测各电路板的主要模块之间的连通性,即保证电路连接无误,是否有电路,对系统各硬件电路进行检测,保证各模块可以正常工作,同时保证各硬件电路可以由STM8S207MB进行控制,并能保证和上位机之间能正常通信。
(1)安装stvd软件;
(2)将软件导入stvd,调试程序有没有错误;
(3)如果没有错误,就可以用仿真器在程序通过SWIN烧入单片机;
(4)在把已经通过stvd调试的程序植入硬件电路中,仿真看一下是否跟预期效果相同。
5 结语
基于STM8S207MB有高性能内核,抗干扰能力强,品质安全可靠。领先的130 nm制造工艺,优异的性价比。程序空间从4~128 KB,芯片选择从20脚到80脚,宽范围产品系列。
系统成本低,内嵌E2PROM和高精度RC震荡器。开发容易,拥有本地工具支持。由于使用环境、成本等因素,该测试车架-控制继电器驱动,控制电流10 A以下,可以控制40路,可以驱动强电接通,也可以模拟按键,XH-2输出;80~400 V交流强电检测,可以检测16路,隔离检测,XH-2输入。
0~24 V弱电检测,最多可以检测16路,不隔离检测,XH-2输入;60~400 V直流强电检测,最多可检测8路,不隔离检测,XH-2输入。5 V输出,MOS管驱动,可以输出12路,XH-2输出;12 V输出,要求MOS管驱动,可以输出12路,XH-2出,485通信,各单片机与PC之间用芯片MAX 485进行通信,PC可以实时的对检测的电压进行显示。
该测试架可以特别适用电子行业,对PCB板的测试。实验结果证明测试架可以获得基本功能如下:
(1)继电器驱动,控制电流10 A以下,最多控制40路,可以驱动强电接通,也可以模拟按键,XH-2输出;
(2)80~400 V交流强电检测,最多可以检测16路,隔离检测,XH-2输入;
(3)0~24 V弱电检测,最多可以检测16路,不隔离检测,XH-2输入;
(4)60~400 V直流强电检测,最多可检测8路,不隔离检测,XH-2输入;
(5)5 V输出,MOS管驱动,最多可以输出12路,XH-2输出;
(6)12 V输出,要求MOS管驱动,最多可以输出12路,XH-2出;
(7)485通信,各单片机与PC之间用芯片
MAX485进行通信。应用程序以C语言编写,充分利用芯片资源,提高代码的利用效率,减小代码容量,采用去极值平均数字滤波算法对经过A/D转换后的数字信号进行滤波处理。这种方法即可虑去脉冲干扰又可滤去小的随机干扰,不但最大限度地排除现场噪音干扰,降低电压的误测概率。
实验结果证明,该测试架具有可以用于对不同电路适时的控制,对一些新产品的PCB板测试,在测试过程中只要把对应的XH-2连接好,就可直接在PC机上进行相应的测试,使用便捷,性能可靠。