摘要:mb89p475是富士通公司生产的八位单片机。该单片机具有丰富的软、硬件资源和良好的emc性能,可广泛应用于家电控制等产品中。该器件内含两路uart/sio接口,非常适用于计算机集中控制和管理的多级通信控制系统中。文中介绍了该单片机的特点和uart/sio结构,给出了mb89p475在lsp300型中央空调的计算机集控系统中的设计应用方法。
mb89p475是富士通公司生产的f2mc-8l mb89470单片机系列产品。该产品具有丰富的软、硬件资源和良好的emc性能,而且其程序空间(16k×8bits prom)和数据空间(512×8bits ram)大小适中,定时器资源和中断资源丰富。双路uart/sio接口的设置是该产品的一大特点。在指令设计方面,利用该单片机可以直接进行16位数据的比较和算术运算。mb89p475的高性价比和合理的资源配置,使其可以广泛应用于家用电器控制和工业控制等应用领域。此外,在多级数据通信控制系统的开发设计中,mb89p475也是一款不可多得的单片机产品。
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转换器;
图3
●内含uart/sio 异步/同步数据接收/发射器;
●可低功耗工作,具有stop模式、sleep模式、副时钟模式、watch模式等多种工作模式;
●带有watchdog 定时复位功能;
●最大可用39路i/o口。
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 同步 --
mb89p475内含六个寄存器,分述如下:
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
md pen tdp sbl cl clk2 clk1 clk0
(1) smc11/21:模式控制寄存器1(地址:0026h/002bh,初始化值:00000000h)的格式如下:
其中,md为通信模式控制位,该位为0为异步通信(uart),为1时同步通信(sio);
pen为校验控制位,该位为0表示无校验,为1表示有校验(由bit5选择奇、偶校验);
tdp为奇、偶校验位,0为偶校验,1为奇校验;
sbl是停止位长度控制位,0 为选择1bit停止位,1为选择2 bit停止位;
cl为字符长度控制位,0 为选择7 bit数据长度,1为选择8 bit数据长度;
clk2~clk0:通信时钟选择位,具体操作见表2所列。
表2 时钟选择
clk2 clk1 clk0 选 择 时 钟
0 0 0 2个指令周期
0 0 1 8个指令周期
0 1 0 32个指令周期
0 1 1 波特率发生器控制
1 0 0 外部时钟
(2)smc12/22:模式控制寄存器2(地址:0027h/002ch,初始化值:00000000h)的格式如下:
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
rerc rxe txe brge txoe scke rie tie
其中,rerc:各接收标志清除位。置0时,清除所有错误标志,置1无效;
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),格式如下:
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
pre ove fer rdrf tdre -- -- --
其中,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)。
图5
发射数据写入sodr1/2寄存器时,发射数据标志位tdre同时被清“0”,发射数据转送到发射移位寄存器后,tdre被置“1”,意味着sodr1/2寄存器可以写入下一个发射数据,同时,若发射中断允许,将产生发射中断请求。
若将发射数据长度设为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资源。它可以作为各控制终端与计算机交换数据的枢纽,同时还避免了主控系统的重复开发。目前该系统已投入使用,其方便、灵活的操作模式和安全可靠的运行已得到了用户的肯定。
基于ESP8266的WiFi灯控制器的制作
进化智能机器人小胖介绍_有什么功能
百度、英伟达联合举办搜索创新大赛 搜索引擎变革 搜索+AI
ST推出1、2和4兆位的SPI标准引线串行闪存
对华为进军车联网的分析和市场技术说明
MB89P475的UART/SIO结构与应用
荣耀Magic2评测 做到了真正的颜值实力双强
诺基亚Windows Phone芒果手机Lumia 601来袭
高性能的12V0.4A输出CR3215A电源参考设计介绍
为什么iPhone可能成为AR的未来
罗克韦尔自动化致力于赋能客户数字化转型
磁棒线圈电感的线圈破损还能用吗
变压器同名端电流方向_变压器同名端作用
引起相同组分三元材料倍率差别的原因是什么?
东微半导体超级硅MOSFET系列产品,可取代了氮化镓高能效要求
运算放大器的基本原理
宏碁宏发布ConceptD系列笔记本,采用第十代Intel Core H系列处理器
基于区块链技术的资产数字化平台唐盛链介绍
安科瑞智能湿度巡检仪ARTM-8无线测温装置,告警输出接入湿度传感器 适用于低压开关柜 电气接点 变压器绕组
万能蒸烤箱湿度如何测量?