当前位置:首页 > 单片机 > 单片机
[导读]引 言:Winbond公司的新型单片机W77E58,内含2个增强型串口和 32KB大容量Flash存储器。指令集与51系列单片机完全兼容,非常适合在智能化监控系统中使用。本系统将3台单相逆变器联接成令牌网,采用标准 RS485接口与逆

引 言:

Winbond公司的新型单片机W77E58,内含2个增强型串口和 32KB大容量Flash存储器。指令集与51系列单片机完全兼容,非常适合在智能化监控系统中使用。本系统将3台单相逆变器联接成令牌网,采用标准 RS485接口与逆变系统及上位机同时进行串行通信,能够实时地在液晶屏或上位机上显示逆变系统的运行状态,并可以方便地对系统参数进行修改。

1 系统硬件设计

图1所示为W77E58监控系统单机双串口通信的硬件框图。该电路符合最简单的RS485总线接口标准。其中逆变系统采用Motorola公司的电机控制专用芯片68HC908MR16(以下简称MR16)作为主控芯片。该芯片内含一个标准的可编程串行通信接口SCI模块,通过RS485接口芯片 MAX3082与W77E58的串行口0进行通信。同时,W77E58串行口1通过MAX3082传输的数据,经过一个RS485到RS232的电平转换器与上位机进行通信。通信电路都采用了光耦隔离。

图1中使用Maxim公司的MAX3082作为RS485接口芯片,适用于半双工通信。它采用平衡驱动和差分接收,具有抑制共模干扰的能力,可用于恶劣环境中,最大通信距离达1200m。它具有发送使能和接收使能控制。当使能无效时,发送和接收的输出端呈高阻状态。使用MAX3082构成通信系统时,最大通信速率为0.125Mb/s,传输线上最多可挂128个收发器。

本系统采用非编码键盘,拟用四个键:OK键、CANCEL键、UP键、DOWN键。采用一键复用技术使这四个键完成系统设定、参数修改、运行状态显示等功能。

这里使用的液晶显示器LCD为CAG1264-4点阵式液晶。该液晶内带亮度可调的背光源,轻盈超薄、编程灵活,整屏可以显示8×4个国标汉字或16×4个ASCII码。硬件接口采用8位并行数据格式,握手协议简单可靠。

由于工业上常用到三相交流电,所以本系统还具有将三台单相逆变器经过组网,自同步实现三相交流输出的功能。如图2所示,三台单相逆变器串行口输出经过连接,组成一个简单的令牌网,然后通过RS485到RS232的电平转换器统一由上位机进行管理控制。

2 串行口介绍及初始化设置

本通信系统中,我们规定,每1帧数据为10位:1位起始位,8位数据位,1位停止位。波特率均设置为9600bps。

2.1 W77E58串口

W77E58单片机其串口增强型特征在于特有的地址自动识别和帧出错诊断功能。需要注意的是,串口0可以使用定时器T1或定时器T2作为波特率发生器;而串口1只能使用定时器T1作为其波特率发生器。下面以串口0为例,对W77E58串口的工作过程进行简单介绍。

串口0通过引脚RXD(串行数据接收端)和TXD(串行数据发送端)进行串行通信,可同时发送和接收数据,具有两个物理上独立的接收、发送缓冲器 SBUF,它们占用同一地址。串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的,发送数据完毕或接收到数据都会由硬件置位发送中断标志 TI或接收中断标志RI。值得注意的是,中断标志TI、RI均需由软件来清零。串口1的工作过程和串口0相类似,只需对其相应的寄存器及标志位进行类似操作即可。W77E58串行口是可编程接口,对它初始化编程只需对特殊功能寄存器SCON或SCON1和电源控制寄存器PCON写入相应的控制字即可。这里使用定时器T2作为串口0的波特率发送器,使用定时器T1作为串口1的波特率发生器。波特率均设为9600bps。

2.2 MR16串口

MR16带有的1个可编程串行通信接口SCI模块,支持MCU与外设之间采用全双工、异步、NRZ(非归零)格式进行串行通信。它具有2个I/O引脚 RXD和TXD;有2个物理上独立的,但占用同一地址的SCI数据寄存器SCDR。SCI模块为接收器和发送器提供独立的中断请求和中断向量。如果 SCRIE位被置位,当SCI接收到一个完整的数据帧,并将数据传送到SCDR,就会置位SCRF标志并启动一个接收中断;如果SCTIE位被置位,并将数据由SCDR传送至发送移位寄存器时,就会置位标志SCTE产生一个发送中断。在读取SCDR中的数据或写入SCDR新的数据后,SCRF和SCTE会被自动清零,无需软件操作。SCI模块具有一个可编程的波特率发生器,可产生32种不同的波特率,只需对波特率寄存器SCBR进行设置即可。

2.3 上位机串口

由于上位机串口采用的是RS232标准接口,所以需要1个RS485与RS232的电平转换器才能实现与下位机的通信。这里,采用的电平转换器件是牛顿-7520,输入电压范围为10 ~ 30V,允许的频率范围为300Hz ~ 115kHz。

3 通信协议

本系统中MR16与W77E58及上位机三方都既是发送方又是接收方,都工作在半双工模式。MR16和上位机的发送和接收均采用查询方式,W77E58 的串口0和串口1发送均采用查询方式,接收均采用中断方式。要想保证通信准确可靠,通信双方除规定好字符格式和波特率外,还要定义好通信协议。通过分析和实验,最后确定了MR16和W77E58之间通信以77E58为主。W77E58和上位机之间通信以上位机为主的“主从通信法”通信协议。下面以 W77E58串口0和上位机为例,将这种通信协议介绍如下。

◆ W77E58串行口0通信协议(以W77E58为主机)
发送(查询方式):
fe+fe+fe+代码 ......请求回发相应代码的数据包
fe+fe+ef+代码+高字节+低字节+校验和 厖 ......发送要修改的数据包
接收(中断方式):
fe+fe+aa+故障代码 ......接收故障代码
fe+fe+fe+代码+高字节+低字节+校验和 厖
......接收要显示的数据包

◆ 上位机通信协议(以上位机为主机)
发送(查询方式):
fe+fe+站号 ......查询相应站点
fe+fe+fe ......请求回发要显示的数据包
接收(查询方式):
fe+fe+站号 ......接收回发校验站号
fe+fe+高字节+低字节+校验和
......接收要显示的数据包

协议里的斜体为包头码,黑体加下划线为命令码,站号即为多机通信时用于选择单相逆变器的令牌,每台单相逆变器的站号均不相同。数据包的包头均是 0xfe,0xfe。以W77E58串口0为例,当W77E58使用命令0xfe向MR16请求回发相应代码的数据包后,若接收到命令0xaa,则表明有故障,然后根据收到的故障代码进行相应的故障显示;若收到命令0xfe,则把收到的参数值送给液晶显示器进行显示。

从数据包格式可以看出,MR16和W77E58之间通信以W77E58为主,W77E58和上位机之间通信以上位机为主,MR16的发送和接收都是由W77E58串口0来控制的,而W77E58串口1的发送和接收又都是由上位机来控制的,这种主从方式是RS485标准中常采用的模式。这里通过发送包头的办法来实现数据同步,发送方每次都必须先发送包头,然后再发送数据;接收方只有在正确接收包头后才开始接收数据。当接收数据出错或发送的数据丢失时就放弃本次接收,在下个主循环重新通信。这样可以在一次通信出错后自动恢复,同时避免“死机”现象的发生。

4 软件实现

基于对该监控通信系统通用性的考虑,我们采用了模块化设计方法,将通信程序作为主程序的一个模块来处理。因为BCD码是以数字“0”到“9”开头的,而控制命令则以字母“A”到“F”开头,在发送端将数据转化成BCD码发送。这样可区分这两类信号,在接收端分别将它们解码处理。

MR16通信模块包括查询接收程序和查询发送程序,程序流程类似于图3;W77E58串口1通信模块包括中断接收程序和查询发送程序,程序流程与串口0相类似,这里都不再给出。

参考文献
1 WINBOND electronics corp. 8-Bit Microcontroller——W77E58. 2001.7
2 Fail-Safe, High-Speed (10Mbps), Slew-Rate-Limited RS-485/RS-422 Transceivers,MAXIM Document , 1997
3 Advance Information. MC68HC908MR16/MC68HC908MR32?Rev. 4.0. MOTOROLA Document, 2000
4 李朝青. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社,2000

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭