MB89P475的UART/SIO结构与应用
若将发射数据长度设为7 Bits,则数据的第7位(最高位)无效。
3 LSR300型集控系统的构成
图2所示为LSR300型中央空调计算机集控系统的结构框图,该系统采用RS-485总线结构方式,由计算机控制管理平台、RS-232/RS-485转换模块、14个控制终端(包括通信板和主控系统,其控制终端数量可以根据实际要求增加或减少)组成。其中计算机控制管理平台主要用于数据通信、系统检测、功能设定和控制以及查询等管理工作。
系统中的RS-232/RS-485转换模块由MAX-IM公司生产的MAX491E、MAX232A组成,该模块的电路连接如图3所示。
通信板由MB89P475为核心组成,其结构如图4所示。图中的RS-485接口由MAX491E完成,接收器处于常通状态(RE接地),发射器的选通(DE端)由MB89P475的P2.7口控制(高电平选通)。通信板主要完成以下功能:
(1) 用拨码开关实现各控制终端的地址编码;
(2) 机组的本地操作控制与显示(包括本地查询、设置和控制);
(3) 分别与计算机和主控系统通信,实现主控系统与计算机之间的数据传送。其中,与计算机之间采用RS-485总线方式进行连接,而与主控系统之间则采用电流环方式连接;
(4) 记忆机组的设定信息、故障信息和累计运行时间。
此外,系统中的主控系统也可采用LSR300中央空调单机组控制系统实现(详见参考资料1)。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 MB89P475的通信软件设计
4.1 通信板与计算机通信
(1)通信协议
通信板与计算机的通信采用RS-485总线方式连接,通信过程由计算机主控,通信数据采用RS-232标准数据格式[2]。
当通信板接收到正确的同步码和地址码时,表示该通信板可以与计算机通信。此时可选择MB89P475的UART/SIO2为UART(两线异步)通信模式,通信数据格式定义为1位起始位,8位数据长度和1位停止位,无校验位。
(2)软件设计
UART/SIO2相关寄存器初始化如下:
MOV SCR2,#104 ;设定波特率=1200bps(系统时钟Fch=8.000MHz)
MOV SMC21,#00001011B ;选择UART模式,1Bit停止位,8Bits数据长度,无校验位
MOV SMC22,#01111010B ;允许接收中断,禁止发射中断,发射允许,接收允许
数据发射采用查询方式进行,即发射子程序置于主程序循环中,可通过查询发射数据寄存器空标志位TDRE决定是否写入下一个发射数据。发射子程序流程图如图5所示。
数据接收采用中断方式进行。程序进入接收中断服务程序时,应首先根据接收数据满标志位RDRF的状态来判断中断请求是否是由于接收错误产生的(产生中断时,接收数据满标志位RDRF=0),然后由判断结果决定是接收数据还是进行出错处理。中断服务程序的流程图如图6所示。
4.2 通信板与主控系统通信
(1)通信协议
通信板与主控系统的通信采用电流环方式实现,这样可以增强通信的可靠性。通信过程由通信板主控,通信数据采用RS-232标准数据格式[2]。
可选择MB89P475的UART/SIO1为UART(两线异步)通信模式,通信数据格式定义为1位起始位,8位数据长度和1位停止位,无校验位。
(2)软件设计
相关寄存器初始化如下:
MOV SCR1,#52 ;设定波特率=2400bps(系统时钟Fch=8.000MHz)
MOV SMC11,#00001011B ;选择UART模式,1Bit停止位,8Bits数据长度,无校验位
MOV SMC12,#01111010B ;允许接收中断,禁止发射中断,发射允许,接收允许
具体的编程方法与通信板和计算机的通信编程方法相同。
5 结语
虽然MB89P475的双路UART/SIO结构具有灵活、安全的特点,但合理的程序设计也至关重要。在LSR300中央空调计算机集控系统中,以MB89P475为核心设计的通信板,充分合理地利用了MB89P475的双路UART/SIO资源。它可以作为各控制终端与计算机交换数据的枢纽,同时还避免了主控系统的重复开发。目前该系统已投入使用,其方便、灵活的操作模式和安全可靠的运行已得到了用户的肯定。