1 MB89P475简介 1.1 引脚功能 MB89P475(OTP型号)相应的掩膜(MASK)产品型号为MB89475,它具有两种封装形式,分别是48-pin Plastic SH-DIP和48-pin Plastic QFP封装。本文以SH-DIP封装形式为例来介绍其引脚定义,图1所示是该封装的引脚排列图,现将各引脚的功能说明如下: X0,X1:振荡器输入、输出; MODE:模式设定引脚,使用时,该引脚通常直接接地; RST:复位脚,低电平复位; P00/AN0~P07/AN7:通用I/O口或A/D输入口; P10~P13:通用I/O口或沿触发中断输入口; P14~P17:通用I/O口或定时器输入(EC)、输出口(TO); P20~P22:通用I/O口或UART/SIO1的时钟输入、数据输出和输入口; P23:通用I/O口或PWC(脉宽测量)输入口; P24:通用I/O口或PWM(脉宽调制)输出口; P25~P27:通用I/O口或UART/SIO2的数据输入、数据输出、时钟输入口; P30*~P36*:大电流驱动输出口,其中,P30/BUZ*可作蜂鸣器驱动口; P40~P41:在MB89P475(102)(单时钟系统)中为通用输入口,在MB89P475(202)(双时钟系统)中为副时钟连接引脚; P42:通用输入口; P50~P54:通用I/O口或电平触发中断输入口(低电平中断); C:接0.1μF电容到地; Vcc、Vss:电源(+5V)和接地(GND)引脚; Avcc、Avss:A/D电路的参考电源和地。 1.2 主要特点 MB89P475内含六个定时器,分别为:PWC(脉宽测量)定时器(可用作时间间隔定时器)、PWM(脉宽调制)定时器(可用作时间间隔定时器)、2个8/16bit 定时/计数器、一个21-bit时间基准定时器和一个Watch比例器。此外,MB89P475还具有如下特点: ●带有蜂鸣器驱动,可由程序选择7种驱动信号频率; ●可外部中断,包括4个沿触发中断通道和5个电平触发中断通道; ●内含8通道10位A/D转换器;
●内含UART/SIO 异步/同步数据接收/发射器; 发射数据写入SODR1/2寄存器时,发射数据标志位TDRE同时被清“0”,发射数据转送到发射移位寄存器后,TDRE被置“1”,意味着SODR1/2寄存器可以写入下一个发射数据,同时,若发射中断允许,将产生发射中断请求。
2 MB89P475的UART/SIO结构 MB89P475的最大特点就是内部集成了一个UART/SIO通用串行数据通信接口,可通过片内双缓冲器实现全双工双向通信?同时?UART/SIO可编程配置为异步或同步通信模式;其内部波特率发生器既可以选择14种不同的波特率?也可由外部时钟设置波特率?其数据传输格式见表1所列。该数据传输格式基于NRZ(不归零)系统。
表1 UART/SIO数据格式
模 式 | 数据长度(Bit) | 通信模式 | 停止位长度 | |
无校验 | 有校验 | |||
0 | 7 | 8 | 异步 | 1bit或2bits |
8 | 9 | |||
1 | 8 | 同步 | -- |
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
MD | PEN | TDP | SBL | CL | CLK2 | CLK1 | CLK0 |
表2 时钟选择
CLK2 | CLK1 | CLK0 | 选 择 时 钟 |
0 | 0 | 0 | 2个指令周期 |
0 | 0 | 1 | 8个指令周期 |
0 | 1 | 0 | 32个指令周期 |
0 | 1 | 1 | 波特率发生器控制 |
1 | 0 | 0 | 外部时钟 |
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
RERC | RXE | TXE | BRGE | TXOE | SCKE | RIE | TIE |
Bit7 | Bit6 | Bit5 | BIT4 | Bit3 | Bit2 | Bit1 | Bit0 |
PRE | OVE | FER | RDRF | TDRE | -- | -- | -- |
若将发射数据长度设为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?)。
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资源。它可以作为各控制终端与计算机交换数据的枢纽,同时还避免了主控系统的重复开发。目前该系统已投入使用,其方便、灵活的操作模式和安全可靠的运行已得到了用户的肯定。