论文部分内容阅读
摘 要:本文探讨了MB90F543单片机的串行口通信技术,并构造了基于MB90F543单片机的UART1口的串行通信技术。提出了与单片机串行通信系统结构,完成了其串行通信的硬件电路设计及其软件通信程序的设计。
关键词:MB90F543;UART1;串行通信
中图分类号:TP39 文献标识码:A
The Application of Serial Communication of MB90F543Li Tao
(China Railway No.8 Engineering Group,Chengdu 610000,China;)
Abstract:The text probes into the serial communication of MB90F543 and constructs the application of serial communication of the UART1 of MB90F543. The text puts forward the serial communication system of SCM to PC, and constructs hardware circuit and communication program.
Key Words:MB90F543;UART1;Serial communication
单片机以其体积小、价格廉、功耗低等独特优点,在各种工业控制、仪器仪表、现场控制及数据采集等方面获得了广泛的应用。但是,单片机的数据存储容量和数据处理能力有限,一般情况下采用通信手段使其与PC机相连,将数据传送到PC机上,再在PC机上进行复杂的数据处理,才能充分发挥两者各自的优势。
1 MB90F543单片机简介
MB90F543单片机是富士通公司F2MC-16LX核MCU中一款带FULLCAN和Flash ROM存储器的微控制器,采用0.5μmCMOS工艺,外部使用4MHz晶振时,内部倍频可使时钟达到16MHz。它内部带有128KB的Flash ROM,8KB的RAM,因此不需要扩展存储器就能满足车载系统或工业控制方面的需要。MB90F543支持高级语言,有增强乘法指令、增强位操作指令等,拥有强大的浮点运算能力,此外还具有2路16位重装入定时器、I/O定时器、自由定时器及输入捕获定时器等多种定时器。
在串行通信中,MB90F543有硬件实现的CAN和2个UART串行接口,均可进行数据的串行通信。在这里介绍MB90F543的UART1口进行的数据串行通信。
MB90F543的UART1口具有标准的双向通信功能,支持多处理器通信。其特性见表1[1]。
对UART1的控制和访问是通过串行控制寄存器(RCR1)、串行方式控制寄存器(SMR1)、串行状态寄存器(SSR1)、串行输入数据寄存器(SIDR1)和串行输出数据寄存器(SODR1)来实现的。UART1可以工作在查询或中断方式。UART1使用接收和发送中断,发送中断标志位为TDRE,接收中断标志位为RDRF。
UART1提供3种操作方式,操作方式由微控制器之间的连接方式和数据的传输方式来选择,各种操作方式见表2[1]。
2 单片机与PC机通信电路图
PC机配置的是RS-232标准串行接口,而单片机的输入和输出使用TTL电平,二者的电气规范不一致,要完成二者的数据通信,必须对单片机的TTL电平进行转换。
本电路使用MAX232芯片,该芯片由MAXIM公司生产,芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232输出电平所需的+10V和-10V电压,所以,采用此芯片接口的串行通信系统只需要单一的+5V电源即可。MAX232简单易用,仅需外接四个1uF电容即可完成从TTL电平到RS-232电平的转换,其接口电路如图1所示。
图1中,电容C1,C2,C3,C4尽可能靠近MAX232安装,以提高系统的抗干扰能力。TXD2和RXD2与单片机的SIN1和SOT1相连,RS232TXD2和RS232RSD2与PC机的串行接收和发送端口相连。这样,PC机和单片机就可以通过MAX232的转换进行数据传输了。PC机与单片机的通信系统结构如图2所示。
。系统通过电平转换芯片MAX232将PC机与单片机MB90F543连接起来,由PC机向单片机发送数据,按照串行数据传输协议,单片机接收到数据后向PC机回送反馈信息。
3 通信程序设计
串行通信有同步通信和异步通信两种方式。同步通信适用于高速传输,其硬件复杂;异步通信应用于传送速度在110~115200bps之间的传输,比较常用。
PC机与单片机串行通信程序包括两方面:一方面是MB90F543单片机的通信程序,另一方面是PC机的通信程序。在串行通信前,一般要确定通信协议,即发送方和接收方要约定具体的数据格式和波特率。现约定其通信协议如下:
(1)帧格式:1位起始位, 8位数据位, 1位停止位,无奇偶校验位;
(2)波特率:19200bps;
(3)PC机与单片机采用主从通信方式,PC机为主机。在传送数据前,PC机先发呼叫信号“0xaa”,单片机收到后回答一个“0xbb”,表示可以发送,否则继续呼叫。
3.1 PC机通信程序设计
PC机的通信程序采用C语言编写,它可以直接对PC机的UART8250中各寄存器进行操作。程序框图如图3。
3.2 单片机通信程序设计
根据通信协议,因波特率为19200bps,设置UART1的SMR1_CS=1,U1CDCR=14;设置重载定时器TMRLR1 = 0xC000,TMCSR1 = 0x81B;采用中断方式。MB90F543单片机的通信程序框图如图4所示。
4 结语
本文构造了基于MB90F543单片机UART1口的串行通信系统,并给出了通信系统的硬件电路及其通信程序设计,为MB90F543单片机的串口通信应用做了一定的探讨。
参考文献:
[1]钟华,缪磊,褚袆楠.富士通16位微控制器开发与应用[M].北京:机械工业出版社,2006
[2]马忠梅,马岩等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1997
[3]富士通16位微控制器C语言手册[EB/OL].
[4]李朝青.PC机及单片机数据通信技术.北京:航空航天大学出版社,2002
[5]FFMC-16LXSOFTUNE V3快速入门手册.上海:富士通-复旦应用研究中心,2000
李涛,中国中铁8局,(1983-),男,汉族,四川成都人,工程师 。
关键词:MB90F543;UART1;串行通信
中图分类号:TP39 文献标识码:A
The Application of Serial Communication of MB90F543Li Tao
(China Railway No.8 Engineering Group,Chengdu 610000,China;)
Abstract:The text probes into the serial communication of MB90F543 and constructs the application of serial communication of the UART1 of MB90F543. The text puts forward the serial communication system of SCM to PC, and constructs hardware circuit and communication program.
Key Words:MB90F543;UART1;Serial communication
单片机以其体积小、价格廉、功耗低等独特优点,在各种工业控制、仪器仪表、现场控制及数据采集等方面获得了广泛的应用。但是,单片机的数据存储容量和数据处理能力有限,一般情况下采用通信手段使其与PC机相连,将数据传送到PC机上,再在PC机上进行复杂的数据处理,才能充分发挥两者各自的优势。
1 MB90F543单片机简介
MB90F543单片机是富士通公司F2MC-16LX核MCU中一款带FULLCAN和Flash ROM存储器的微控制器,采用0.5μmCMOS工艺,外部使用4MHz晶振时,内部倍频可使时钟达到16MHz。它内部带有128KB的Flash ROM,8KB的RAM,因此不需要扩展存储器就能满足车载系统或工业控制方面的需要。MB90F543支持高级语言,有增强乘法指令、增强位操作指令等,拥有强大的浮点运算能力,此外还具有2路16位重装入定时器、I/O定时器、自由定时器及输入捕获定时器等多种定时器。
在串行通信中,MB90F543有硬件实现的CAN和2个UART串行接口,均可进行数据的串行通信。在这里介绍MB90F543的UART1口进行的数据串行通信。
MB90F543的UART1口具有标准的双向通信功能,支持多处理器通信。其特性见表1[1]。
对UART1的控制和访问是通过串行控制寄存器(RCR1)、串行方式控制寄存器(SMR1)、串行状态寄存器(SSR1)、串行输入数据寄存器(SIDR1)和串行输出数据寄存器(SODR1)来实现的。UART1可以工作在查询或中断方式。UART1使用接收和发送中断,发送中断标志位为TDRE,接收中断标志位为RDRF。
UART1提供3种操作方式,操作方式由微控制器之间的连接方式和数据的传输方式来选择,各种操作方式见表2[1]。
2 单片机与PC机通信电路图
PC机配置的是RS-232标准串行接口,而单片机的输入和输出使用TTL电平,二者的电气规范不一致,要完成二者的数据通信,必须对单片机的TTL电平进行转换。
本电路使用MAX232芯片,该芯片由MAXIM公司生产,芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232输出电平所需的+10V和-10V电压,所以,采用此芯片接口的串行通信系统只需要单一的+5V电源即可。MAX232简单易用,仅需外接四个1uF电容即可完成从TTL电平到RS-232电平的转换,其接口电路如图1所示。
图1中,电容C1,C2,C3,C4尽可能靠近MAX232安装,以提高系统的抗干扰能力。TXD2和RXD2与单片机的SIN1和SOT1相连,RS232TXD2和RS232RSD2与PC机的串行接收和发送端口相连。这样,PC机和单片机就可以通过MAX232的转换进行数据传输了。PC机与单片机的通信系统结构如图2所示。
。系统通过电平转换芯片MAX232将PC机与单片机MB90F543连接起来,由PC机向单片机发送数据,按照串行数据传输协议,单片机接收到数据后向PC机回送反馈信息。
3 通信程序设计
串行通信有同步通信和异步通信两种方式。同步通信适用于高速传输,其硬件复杂;异步通信应用于传送速度在110~115200bps之间的传输,比较常用。
PC机与单片机串行通信程序包括两方面:一方面是MB90F543单片机的通信程序,另一方面是PC机的通信程序。在串行通信前,一般要确定通信协议,即发送方和接收方要约定具体的数据格式和波特率。现约定其通信协议如下:
(1)帧格式:1位起始位, 8位数据位, 1位停止位,无奇偶校验位;
(2)波特率:19200bps;
(3)PC机与单片机采用主从通信方式,PC机为主机。在传送数据前,PC机先发呼叫信号“0xaa”,单片机收到后回答一个“0xbb”,表示可以发送,否则继续呼叫。
3.1 PC机通信程序设计
PC机的通信程序采用C语言编写,它可以直接对PC机的UART8250中各寄存器进行操作。程序框图如图3。
3.2 单片机通信程序设计
根据通信协议,因波特率为19200bps,设置UART1的SMR1_CS=1,U1CDCR=14;设置重载定时器TMRLR1 = 0xC000,TMCSR1 = 0x81B;采用中断方式。MB90F543单片机的通信程序框图如图4所示。
4 结语
本文构造了基于MB90F543单片机UART1口的串行通信系统,并给出了通信系统的硬件电路及其通信程序设计,为MB90F543单片机的串口通信应用做了一定的探讨。
参考文献:
[1]钟华,缪磊,褚袆楠.富士通16位微控制器开发与应用[M].北京:机械工业出版社,2006
[2]马忠梅,马岩等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1997
[3]富士通16位微控制器C语言手册[EB/OL].
[4]李朝青.PC机及单片机数据通信技术.北京:航空航天大学出版社,2002
[5]FFMC-16LXSOFTUNE V3快速入门手册.上海:富士通-复旦应用研究中心,2000
李涛,中国中铁8局,(1983-),男,汉族,四川成都人,工程师 。