您当前的位置:五五电子网电子知识单片机-工控设备单片机通信基于MSP430系列微控制器串口通信时的波特率自动检测的实现 正文
基于MSP430系列微控制器串口通信时的波特率自动检测的实现

基于MSP430系列微控制器串口通信时的波特率自动检测的实现

点击数:7278 次   录入时间:03-04 11:40:29   整理:http://www.55dianzi.com   单片机通信

  通常微控制器通过串行接口与其它终端进行通信时,两个终端需要通讯波特率一致才能达到准确与可靠的通讯效果,串行波特率的自动检测(ABR)可以解决通信终端的波特率自动匹配问题,从而实现微控制器与PC或其它主机的串行通信。本文主要介绍MSP430系列微控制器实现串口通信时的波特率自动检测。

  1.概述

  当MCU需要同时与几个不同波特率值的系统进行通信时,ABR检测功能则显得很重要。ABR检测在检测波特率值的同时可以自动调整波特率值。在执行ARB检测算法时,当主机波特率在115200~74400之间时,MCU必须从主机接收到一个预先设置的特定字符,如<CR>字符;当主机波特率在9600~1200之间时,MCU则需从主机接收到第二个<CR>字符,然后将接收到的字符值与预先设置的值进行比较,如果匹配,则通讯波特率调整为相应的设定值,如果不匹配,则返回一个错误代码。可以用多种方法实现ABR的自动检测,本文采用的方法优点在于无需改变硬件电路。

  2.系统硬件结构框图

  本文开发板包含MSP430F1232微控制器、32kHz晶振、UART接口芯片和其它外设电路。PC机作为串行通信的主机,通过RS-232接口与开发板上的MSP430F1232进行通信,如下图所示,该通信方法适用含有USART模块的任意MSP430系列微控制器。

MSP430系列微控制器

  3.软件设计

  3.1软件简介

软件设计源程序采用C与汇编语言结合完成

  软件设计源程序采用C与汇编语言结合完成,如上表所示。其中,main.c程序用C语言完成,可以调用C或汇编语言的波特率算法,C和汇编语言的波特率算法具有相同的功能,可随意选择其中一个即可。

  3.2USART设置

  文中将USART模块设置为UART模式,8个数据位、一个停止位,无奇偶校验位,系统SMCLK时钟作为USART时钟源,配置为1MHz频率,允许UART的最高通讯波特率达到230400。本文分析的标准波特率值范围1200~115k之间。UART模块初始化波特率设置为115200波特率。

  3.3ABR原理

  这部分主要讲述如何通过从主机接收到的一个或两个特定字符判断串行主机的通行波特率并且自动调整波特率。本文采用检测单个回车字符<CR>判断主机波特率是否在115200~9600之间,如果终端主机通信波特率低于9600,则接到第二个回车字符<CR>以判断通信波特率是否在9600~1200之间,同时,如果需检测的波特率在9600~1200之间,则第二个回车字符<CR>需在ABR算法中进行设置。两种情况下,接收的回车字符都有唯一的模式,算法操作如下图所示。

算法操作

  3.4115200~14400波特率检测原理

  本节主要讲述当主机通信在115200。14400之间时ABR的检测算法。MSP430微控制器初始化UART波特率为一个较高数值,如115200。因为一般串口通讯波特率从高到低存在一种比例关系的,如:115200=2×57600=3×384000当接收到主机波率在115200~14400之间时,发送一个预先确定的回车字符,如果从机波特率不匹配,则从机接收的实际字符会根据从机波特率大小有所不同,如下图所示。当在相位中接收到0字符时,则判断主机波特率低于14400,即可确定主机通信波特率不在5200~14400检测范围之内。

机接收的实际字符会根据从机波特率大小有所不同

  3.59600~1200波特率检测原理

  当主机通信在9600~1200之间时ABR的检测算法与115200~14400之间原理一样,检测该段范围之内的波特率须先确定主机通信波特率低于14400,主机发送<CR>字符后,从机以不同波特率接收到的字符如下图所示,一旦确定了波特率的范围,则可以通过设置MSP430波特率发生器调节自身的通信波特率速度,以确保与主机通信速度相匹配。寄存器的通信速度值如表2所示。不同波特率接收到的字符

  3.6自动检测源代码

  自动波特率检测源代码如下所示:

自动波特率检测源代码

自动波特率检测源代码

自动波特率检测源代码

  4.结语

  本文主要描述了利用MSP430微控制器实现自动波特率检测技术,通过发送一个或两个特定的字符来确定主机通信波特率,在接收过程中如果波特率不正确字符将会丢失。尽管ABR检测应用在起始源代码中,同样也可以扩展运用到主机与从机通讯的任一时间段。




本文关键字:控制器  通信  检测  波特率  单片机通信单片机-工控设备 - 单片机通信