论文导读:主板的核心控制器采用具有2个增强型UART的P89C669芯片,既要构造RS485总线,又要与PC、触摸屏等设备通信,2个串口显然不够用。通过比较,在设计中采用了GM8123(通用异步串口1扩3芯片),将P89C669的UART0扩展成3个独立的UART,分别与PC、触摸屏及备用设备通信,从而实现在触摸显示屏或PC等设备上直接控制智能电动推柜进行安全有效地移动。
关键词:GM8123,P89C669,电动柜
1引 言
智能电动推柜系统具有可视化人机操作界面,它的人性化表现为具有可视化人机操作界面,特点就是通信控制板能分别与PC机、触摸屏和备用设备独立地进行信息交换。主板的核心控制器采用具有2个增强型UART的P89C669芯片,既要构造RS485总线,又要与P C、触摸屏等设备通信,2个串口显然不够用。通过比较,在设计中采用了GM8123(通用异步串口1扩3芯片),将P89C669的UART0扩展成3个独立的UART,分别与PC、触摸屏及备用设备通信,从而实现在触摸显示屏或PC等设备上直接控制智能电动推柜进行安全有效地移动。
2 电动推柜系统组成与功能
智能电动推柜系统主要由触摸显示屏、通信控制板(以下简称主板)、若干分散控制板(以下简称控制板)及各种传感器和执行机构等组成。主板通过RS485总线与安装于各个柜子上的控制板通信协调各个柜子移动,还承担着与触摸显示屏、PC通信的任务;控制板采集传感器的信号和按键请求信号,将实时信息传送给主板,并接收主板命令驱动电机进而控制柜子的移动。
3.主板的构成
3.1 P89C669芯片
P89C669是基于PHILIPS半导体新51MX内核的首类Flash微控制器代表,它具有8031所有的外部接口和内部资源,同时还具有96k字节的Flash程序存储器、2k字节的数据SRAM、2个增强型UART、1个可编程计数器阵列(PCA)、字节型I2C总线串行接口、支持ISP编程等。
3.2主板的结构
 
主板的结构如图1所示:其中的串口扩展是将UART0扩展成为3个串口,经MAX232芯片完成电平转换,构成3个RS232接口,分别作为与触摸屏、PC机的通信接口和读卡器等的接口。
3.3 串口扩展方案的选择
目前比较通用的串口扩展方案有两种:
一种方案是用软件实现,另一种是用硬件实现。论文格式。但软件模拟串口存在有以下缺点:采样次数低,一般只能做到2次/BIT,这样数据的正确性就难以保证;不能实现高波特率通讯,软件模拟串口一般不能实现高于4800 bps的波特率。硬件实现,采用专用串口扩展芯片,效果较好。可供选择的串口扩展芯片有TI等公司开发的16C554系列串口扩展芯片和一些国产的芯片如成都国腾微电子有限公司的GM812X芯片。
16C554系列芯片实现的功能是通过并行口扩展串行口,功能比较强大、通讯速度高,但控制复杂,同时价格较高,主要的应用场合是PC机串口扩展产品。GM8123串口扩展芯片全硬件实现串口扩展,硬件实现的采样率为16次/BIT,子串口的波特率最高可以到38400bps,完全满足系统要求,并且稳定性高,占用系统资源少,通讯格式可设置,是一种性价比比较高的芯片。基于以上考虑,主板采用GM8123来实现串口扩展。
4 基于GM8123的串口扩展
4.1 GM8123简介
GM8123 可以将一个全双工的标准串口扩展成3 个标准串口,并能通过外部引脚控制串口扩展模式:单通道工作模式和多通道工作模式。
4.2 GM8123芯片工作模式
(1) 单通道工作模式
当模式控制引脚MS = 1时,芯片工作在单通道工作模式下,单通道模式在一个时刻只允许一组RXD 和TXD与母串口进行通讯,子串口最高波特率支持20Mbps。外部MCU 通过两根输入地址线和两根输出地址线选择指定和母串口连接的子串口。
表 1 GM8123工作模式 |
多通道工作模式下发送子串口地址线定义 |
STADD1 |
STADD0 |
定义 |
0 |
1 |
选择串口1发送 |
1 |
0 |
选择串口2发送 |
1 |
1 |
选择串口3发送 |
多通道工作模式下接收子串口地址线定义 |
SRADD1 |
SRADD0 |
定义 |
0 |
1 |
当前接收到的数据是由子串口1接收的 |
1 |
0 |
当前接收到的数据是由子串口2接收的 |
1 |
1 |
当前接收到的数据是由子串口3接收的 |
(2) 多通道工作模式
当模式控制引脚MS = 0时,芯片工作在多通道工作模式下,多通道模式允许3 个子串口同时全双工地工作。在该工作模式下,各子串口波特率相同,母串口的波特率等于子串口波特率的4 倍,芯片的地址线STADD1~0 是输入口,由MCU 控制选择希望发送数据的子串口,地址线SRADD1~0 是输出口,用于向MCU 返回接收到数据的子串口地址。多通道工作模式各地址线定义如表1。
4.3 GM8123工作流程:
在主板中,GM8123工作在多串口模式,可通过将模式控制引脚MS置零来选择多串口模式,多串口模式下GM8123工作流程:

图2a GM8123 工作时序控制
(1) 单片机发送数据流程:如图2a所示,MCU先向地址线STADD1~0 置入希望发送数据的子串口地址,再通过MCU的TXD 口向母串口发送希望传输的数据。若需对另一子串口发送数据,则需要MCU修改地址线STADD1~0的状态,此操作方法与单通道工作模式一样。

图2b GM8123 工作时序控制
(2) 单片机接收数据流程:如图2b所示,GM8123子串口可主动响应从机的发送要求,只要芯片工作在多通道模式下,子串口不需要控制就可以主动接收从机送来的数据,同时由母串口发送给主机,并将SRADD1~0置成该子串口地址,主机接收到这帧数据后,可通过SRADD1~0的检测判断该数据来自哪一个子串口,从而对这帧数据进行相应处理。芯片内部采用对各子串口顺序检测的方式,即先检测子串口1,再检测子串口2,直到子串口3,先检测的子串口有数据则先发送,无数据就检测下一子串口。论文格式。
4.4 主板的串口扩展
如图3所示,P89C669的P0.0、P0.1分别接GM8123的STADD0、STADD1用于发送地址选择;P0.2、P0.3接SRADD0、SRADD1用于接收地址选择;P0.4接MS用于模式选择;P0.5用于GM8123的复位控制。论文格式。系统采用多通道工作模式,故P89C669的P0.4一直为低电平。经过GM8123的扩展,主板就可以通过TXD1、RXD1与触摸屏通信,通过TXD2、RXD2与PC计算机通信,子串口3作为备用。

图 3 GM8123接口图
4.5串口扩展的程序控制
通信接口的波特率在初始化程序中完成。
(1) 发送程序处理:发送程序在主程序中完成。向触摸屏发送数据,先置P0.1=0、P0.0=1,然后执行MOV SBUF,A,A中存放的是待发送数据。向PC发送数据,先置P0.1=1、P0.0=0,然后执行MOV SBUF,A,A中存放的是待发送数据。
(2) 接收程序处理:
接收程序在中断服务子程序中完成。
当程序进入接收服务子程序后,先执行现场保护程序段,再执行MOV A,SBUF指令,读入接收数据,然后读入P0.3、P0.2,根据P0.3、P0.2的数值,将串行口的接收数据存放在相应的暂存区。最后恢复现场、中断返回。
5 结束语
本文经过分析和比较选择GM8123作为通信串口扩展芯片应用在自行设计的智能电动密集柜系统当中,完成了系统同时对触摸屏、PC机以及其他备用设备的通信。经过实践,该串口扩展方法可靠有效。目前,该智能电动推柜系统已经投入运行,在实际应用中,其通信系统取得了较好的效果。
参考文献
[1] P89C669器件手册,广州周立功单片机发展有限公司,2003.11
[2] GM8123 1扩3的通用异步串口扩展芯片数据手册,成都国腾微电子有限公司,2004.7
[3] 杨雷 基于P89C669的GPRS自动雨量站 微计算机信息2005.10-2
|