目前MSP430系列单片机实现在线编程的方法有很多种,第一种是利用JTAG接口进行在线编程。MSP430系列单片机一般都集成了片内JTAG调试接口,作为在线编程的接口使用。它使用一个四线串行接口,数据或指令从测试数据输入即TDI引脚输入,串行数据从测试数据输出即TDO引脚移出。测试时钟信号作为时钟信号输入,测试模式选择信号控制TAP控制器的状态。利用该接口可以移入指令和数据,从而控制目标芯片的地址线和数据线,达到读写目标芯片FLASH和仿真调试的目的。但是使用这一种方法进行在线编程的单片机一般价格较高,增加了用户使用的成本。第二种是利用BSL固件实现单片机的在线编程。BSL是通常所说的程序装载器的缩写,英文名称是Bootstrap Loader。程序装载器,顾名思义,即用来装载程序的一个模块,它其实是烧录在芯片中的一段通信程序,占用一定的地址空间,利用它可实现对FLASH的擦除和读写,这样就可以实现Flash中程序的升级与更新。利用这种方法进行升级的优点是节省代码空间,缺点是需要现场布线,还需要预留BSL接口,增加工程量。第三种是利用用户自定义的升级固件进行在线编程。基本思想就是在程序中内置一段用于升级应用程序的代码,当应用程序需要更新时,利用现有通信接口调出升级应用程序的代码来执行,进行远程代码的升级。具体操作是编写两段代码植入目标芯片,其中一段为应用程序的代码,另外一段为升级程序的代码。这两段代码的地址并不重叠,当需要进行程序更新时,就调用升级程序的代码,不再运行用户的程序,这样就可以利用升级程序擦除应用程序并写入新的代码,达到程序升级的目的,但是使用这种方法不利于实现软件的在线更新[1]。33122
通用异步收发器(Universal Asychronous Receiver Transmitter,UART)是工业现场中经常用到的一种器件,其用途广泛,多用于全机监测、指令发送接收、状态信号传递、键盘显示操作、导航控制与数据处理以及过程控制等等。利用可编程器件如MSP430单片机实现UART功能模块,可以根据用户需要进行相应的硬件配置,而且也能够满足产品类别的需求,本课题便是基于这种方法来设计产品的。在嵌入式系统中,嵌入式CPU往往要通过各种串行数据总线与外围模块进行通信。在应用中,异步的串行通信最为普遍。通用数据收发器能够实现数据格式的转换,即将并行数据按照波特率转换成通信协议规定的串行数据或将串行数据转换成并行数据,为数据的发送和接收做好铺垫,而且通用数据收发器能够实现数据的格式化,另外通用数据收发器还有控制数据传输的速率,进行错误检测的功能。
UART(通用异步收发器)是一种通用的串行数据通信协议,包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,用来控制计算机与串行设备间的通信,广泛应用于仪器仪表、工业、医药、通信等领域。在嵌入式设计中,UART主要用来与PC机进行通信。在不传输代码时即数据信号线空闲时,线路中的状态是高电平状态,而如果有数据传送时,论文网数据的头部和尾部必须加上起始位和停止位。起始位是低电平状态,从空闲到起始位会有一个下降沿。停止位总是高电平状态,停止位长度可以是1位、1.5位或2位。数据的低位在前高位在后,数据长度不定,但根据不同的编码规则和要求,可能有 5位、6位、7位或8位。奇偶校验位可以选择奇校验,偶校验或者不要校验,根据需要进行选择。在串行异步传送中,除了设定数据位数、校验位的类型和停止位的持续时间,确定数据的传送速率即波特率也十分重要。最常用的标准波特率有110bps、300bps、600bps、1200bps、1800bps、2400bps、4800bps、9600bps和19200bps。一般情况采用1位起始位,8位数据位,1位奇偶校验位,1位停止位,波特率可调。通用的UART数据接口芯片电路复杂,成本高,如果将其接入系统,容易造成系统可靠性降低,不仅如此,UART接口芯片结构和功能的固定,使得无法根据实际情况的需要剪裁和移植,造成系统的更新和升级困难,可移植性差。这也是本课题的由来之一。 UART(通用异步收发器)国内外研究现状:http://www.youerw.com/yanjiu/lunwen_30034.html