mb89p475的uartsio结构与应用分析.docx
- 文档编号:4958067
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:9
- 大小:62.48KB
mb89p475的uartsio结构与应用分析.docx
《mb89p475的uartsio结构与应用分析.docx》由会员分享,可在线阅读,更多相关《mb89p475的uartsio结构与应用分析.docx(9页珍藏版)》请在冰豆网上搜索。
mb89p475的uartsio结构与应用分析
mb89p475的uart/sio结构与应用分析
时间:
2012-06-0621:
56:
41来源:
摘要:
MB89P475是富士通公司生产的八位单片机。
该单片机具有丰富的软、硬件资源和良好的EMC性能,可广泛应用于家电控制等产品中。
该器件内含两路UART/SIO接口,非常适用于计算机集中控制和管理的多级通信控制系统中。
文中介绍了该单片机的特点和UART/SIO结构,给出了MB89P475在LSP300型中央空调的计算机集控系统中的设计应用方法。
MB89P475是富士通公司生产的F2MC-8LMB89470单片机系列产品。
该产品具有丰富的软、硬件资源和良好的EMC性能,
而且其程序空间(16k×8bitsPROM)和数据空间(512×8bitsRAM)大小适中,定时器资源和中断资源丰富。
双路UART/SIO接口的设置是该产品的一大特点。
在指令设计方面,利用该单片机可以直接进行16位数据的比较和算术运算。
MB89P475的高性价比和合理的资源配置,使其可以广泛应用于家用电器控制和工业控制等应用领域。
此外,在多级数据通信控制系统的开发设计中,MB89P475也是一款不可多得的单片机产品。
1 MB89P475简介
1.1引脚功能
MB89P475(OTP型号)相应的掩膜(MASK)产品型号为MB89475,它具有两种封装形式,分别是48-pinPlasticSH-DIP和48-pinPlasticQFP封装。
本文以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寄存器可以写入下一个发射数据,同时,若发射中断允许,将产生发射中断请求。
●可低功耗工作,具有Stop模式、Sleep模式、副时钟模式、Watch模式等多种工作模式;
●带有Watchdog定时复位功能;
●最大可用39路I/O口。
2 MB89P475的UART/SIO结构
MB89P475的最大特点就是内部集成了一个UART/SIO通用串行数据通信接口,可通过片内双缓冲器实现全双工双向通信?
同时?
UART/SIO可编程配置为异步或同步通信模式;其内部波特率发生器既可以选择14种不同的波特率?
也可由外部时钟设置波特率?
其数据传输格式见表1所列。
该数据传输格式基于NRZ(不归零)系统。
表1UART/SIO数据格式
模 式
数据长度(Bit)
通信模式
停止位长度
无校验
有校验
0
7
8
异步
1bit或2bits
8
9
1
8
同步
--
MB89P475内含六个寄存器,分述如下:
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
MDPENTDPSBLCLCLK2CLK1CLK0
(1)SMC11/21:
模式控制寄存器1(地址:
0026H/002BH,初始化值:
00000000H)的格式如下:
其中,MD为通信模式控制位,该位为0为异步通信(UART),为1时同步通信(SIO);
PEN为校验控制位,该位为0表示无校验,为1表示有校验(由Bit5选择奇、偶校验);
TDP为奇、偶校验位,0为偶校验,1为奇校验;
SBL是停止位长度控制位,0为选择1Bit停止位,1为选择2Bit停止位;
CL为字符长度控制位,0为选择7Bit数据长度,1为选择8Bit数据长度;
CLK2~CLK0:
通信时钟选择位,具体操作见表2所列。
表2时钟选择
RXE:
数据接收允许位,置0时禁止接收,置1时允许接收;
TXE:
数据发射允许位,置0时禁止发射,置1时允许发射;
BRGE:
波特率发生器启动位,0为停止,1为启动;
TXOE:
串行数据输出允许位,置0时,P21/SO1、P26/SO2为通用I/O口,置1时,P21/SO1、P26/SO2为串行数据输出口;
SCKE:
串行时钟输出允许位,置0时,P20/SCK1、P27/SCK2为通用I/O口或串行时钟输入口,置1时,P20/SCK1、P27/SCK2为串行时钟输出口;
RIE:
接收中断允许位,置0时,接收中断禁止,置1时,接收中断允许;
TIE:
发射中断允许位,置0时,发射中断禁止,置1时,发射中断允许。
(3)SSD1/2:
状态与数据寄存器(地址:
0028H/002DH,初始化值:
00001---H),格式如下:
Bit7Bit6Bit5BIT4Bit3Bit2Bit1Bit0
PREOVEFERRDRFTDRE------
其中,PRE:
为校验错误标志,0为无校验错误,1为校验错误;
OVE:
溢出错误标志,0为无溢出错误,1为溢出错误;
FER:
帧错误标志,0为无帧错误,1为帧错误;
RDRF:
接收数据寄存器满标志,0为寄存器空,1为接收数据满;
TDRE:
发射数据寄存器空标志,0为发射数据满,1为寄存器空。
这里,SSD1/2是只读寄存器。
若接收中断允许(RIE=1),那么任何错误标志置“1”都将产生接收中断。
因此,在程序中将RERC(SMC12/22中的Bit7)置“1”,可将各错误标志清零。
(4)SRC1/2:
波特率控制寄存器(地址:
002AH/002FH,初始化值:
xxxxxxxxH)
当SMC11/SMC21寄存器中的CLK2~CLK0设为“011”时,由于选择的是波特率发生器作为串行时钟(异步通信方式使用),因此,只有在UART/SIO停止工作时,写入SRC1/2的数据才有效。
此时,波特率计算方法如下(CLK2~CLK0设为“011”):
波特率=1/(16nTint)
式中,n为写入SRC1/2的数值,Tint为指令周期,其值可通过对相关寄存器编程设定为4/fch、8/fch、16/fch、64/fch(其中fch为系统时钟振荡器频率)。
(5)SIDR1/2:
输入数据寄存器(地址:
0029H/002EH,初始化值:
xxxxxxxxH)
该寄存器用于存放接收到的数据。
当数据接收完成时,RSRF位(SSD1/2中的Bit4)被置“1”,此时若接收中断允许,将产生接收中断请求。
读出接收数据后,RSRF位自动清“0”。
系统检测到接收中断请求后,应检查RSRF位是否为“1”,若为“0”,说明该中断是由于接收错误产生的,SIDR1/2并未接收到数据,此时应在相应的程序中作相应处理。
(6)SODR1/2:
输出数据寄存器(地址:
0029H/002EH,初始化值:
xxxxxxxxH)
SODR1/2与SIDR1/2具有相同的地址。
发射允许时,将发射数据写入该寄存器即可直接转送到发射寄存器,并通过发射移位寄存器发送到串行数据输出口(SO1/2)。
若将发射数据长度设为7Bits,则数据的第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相关寄存器初始化如下:
MOVSCR2,#104;设定波特率=1200bps(系统时钟Fch=8.000MHz)
MOVSMC21,#00001011B;选择UART模式,1Bit停止位,8Bits数据长度,无校验位
MOVSMC22,#01111010B;允许接收中断,禁止发射中断,发射允许,接收允许
数据发射采用查询方式进行,即发射子程序置于主程序循环中,可通过查询发射数据寄存器空标志位TDRE决定是否写入下一个发射数据。
发射子程序流程图如图5所示。
数据接收采用中断方式进行。
程序进入接收中断服务程序时,应首先根据接收数据满标志位RDRF的状态来判断中断请求是否是由于接收错误产生的(产生中断时,接收数据满标志位RDRF=0),然后由判断结果决定是接收数据还是进行出错处理。
中断服务程序的流程图如图6所示。
4.2通信板与主控系统通信
(1)通信协议
通信板与主控系统的通信采用电流环方式实现,这样可以增强通信的可靠性。
通信过程由通信板主控,通信数据采用RS-232标准数据格式[2]。
可选择MB89P475的UART/SIO1为UART(两线异步)通信模式,通信数据格式定义为1位起始位,8位数据长度和1位停止位,无校验位。
(2)软件设计
相关寄存器初始化如下:
MOVSCR1,#52;设定波特率=2400bps(系统时钟Fch=8.000MHz)
MOVSMC11,#00001011B;选择UART模式,1Bit停止位,8Bits数据长度,无校验位
MOVSMC12,#01111010B;允许接收中断,禁止发射中断,发射允许,接收允许
具体的编程方法与通信板和计算机的通信编程方法相同。
5 结语
虽然MB89P475的双路UART/SIO结构具有灵活、安全的特点,但合理的程序设计也至关重要。
在LSR300中央空调计算机集控系统中,以MB89P475为核心设计的通信板,充分合理地利用了MB89P475的双路UART/SIO资源。
它可以作为各控制终端与计算机交换数据的枢纽,同时还避免了主控系统的重复开发。
目前该系统已投入使用,其方便、灵活的操作模式和安全可靠的运行已得到了用户的肯定。
原文网址:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mb89p475 uartsio 结构 应用 分析