您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > MSP430F2XX中文手册(加了标签) 11.通用串行通信接口UART模块
微控设计网版本:1.4日期:2007.6.原文:TIMSP430x2xxfamily.pdf翻译:陈安都湖南中南大学编辑:DC微控技术论坛版主注:以下文章是翻译TIMSP430x2xxfamily.pdf文件中的部分内容。由于我们翻译水平有限,有整理过程中难免有所不足或错误;所以以下内容只供参考.一切以原文为准。详情请密切留意微控技术论坛。微控设计网模块通用串行通信接口支持在一个硬件模块中的多种串行通信模式。本章讨论异步UART模式的操作。主题11.1USCI概要11.2USCI介绍:UART模式11.3USCI操作:UART模式11.4USCI寄存器:UART模式11.1USCI概要通用串行通信接口(USCI)模块支持多种异步通信模式。不同的USCI模块支持不同的模式。每一个USCI模块以不同的字母命名。例如,USCI_A不同于USCI_B等等。如果不止一个相同的USCI模块被安装在一个设备上,这些模块以不同的数字命名。例如,一个设备有两个USCI_A模块,它们可以命名USCI_A0和USCI_A1。参见设备明细表去确定各种USCI模块,如果需要,它们可以安放在任何设备上。USCI_Ax模块支持:lUART模式l脉冲调整的IRDA通信l自动波特率检测的LIN通信lSPI模式USCI_Bx模块支持:lI2C模式lSPI模式11.2USCI介绍:UART模式在异步模式中,USCI_Ax模块是通过两个外部引脚连接MSP430到外部系统,分别是UCAxRXD和UCAxTXD。当UCSYNC位被清零时UART模式被选择。UART模式的特性包括:l7位或8位的奇,偶,或无校验。l独立的发送和接收寄存器l单独的发送和接收缓存寄存器lLSB-first或MSB-first数据发送或接收l多机系统中内置空闲线和地址位通信l接收机开始边沿检测并从LMPx模式中自动唤醒l可编程对模块设置波特率并支持小数位的波特率l状态标志的错误检测和消除l状态标志的地址监测l独立的接收中断和发送中断表11-1展示配置为UARG模式的USCI_Ax微控设计网.3USCI操作:UART模式在UART模式下,USCI的发送和接收字符每次一位的异步速率到另一个设备。字符传输的时间取决于USCI的波特率选择。传输和接收功能使用相同的波特率。11.3.1USCI初始化和复位微控设计网位。在PUC后,UCSWRST位自动置位,保持USCI在复位状态。当置位时,UCSWRST位复位UCAxRXIE,UCAxTXIE,UCAxRXIFG,UCRXERR,UCBRK,UCPE,UCOE,UCFE,UCSTOE和UCBTOE位并置UCAxTXIFG位。清除UCSWRST位释放UCSI的操作。注解:初始化或者从新配置USCI模块相应的USCI初始化/重配置的过程如下:设置UCSWRSTUCSWRST=1时初始化所有的UCSI寄存器(包括UCAXCTL1)配置端口软件清除UCSWRST通过UCAxRXIE和/或UCAxTXIE允许中断(可选)11.3.2字符格式UART的字符格式展示在11-2的表中,包括一个开始位,7或8个数据位,一个奇/偶/无校验位,一个地址位(地址位模式),一个或两个停止位。UCMSB位控制传输的方向以及选择LSB或MSB的优先。必须满足UART通信才能LSB-FIRST。11.3.3异步通信格式当两个设备异步通信时,多机的新式是协议所要求的。当三个或更多的设备通信时,USCI支持空闲线和地址位多机的通信格式。空闲线多机格式当UCMODEX=01时,空闲线多机模式被选中。块数据在发送和接收线上被一段空闲时间隔开,如表11-3所示。当10个或更多的持续标志被在一个或两个字符的停止位之后接收到时一条空闲接收线被监测。在接收到一次空闲线之后波特率发生器被切断知道下一次开始边沿被监测到。当一次空闲线被监测到时UCIDLE位被在多机形式中UCDORM位被用来控制数据接受。当UCDORM=1时,所有的非地址字符被组装但不会传输到UCAxRXBUF中,此时中断不会发生。当接收一个地址字符时,这个字符被传输到UCAxRXBUF中,UCAxRXIFG被置位,当UCRXEIE=1时任何可用的错误标志被置位。当UCRXEIE=1时并且一个带有帧错误或奇偶错误的地址字符被接受到时,字符就不会传输到UCAxRXBUF中而且UCAxRXIFG不会置位。如果接收到一个地址,使用者需软件确认此地址同时必须为继续接收数据必须复位UCDORM。如果UCDORM保持置位就只能接收到地址字符。在接受字符的过程中一旦UCDORM被清除接收中断标志将在接收完成后被置位。UCDORM位不会被USCI的硬件自动改变。在空闲线多机形式进行地址传输,为了在UCAxTXD上发生地址字符确认一个精确的空闲周期会被USCI产生。如果下一个字符先于11位的空闲线被装载到UCAxTXBUF中,这通过双缓存UCTXADDR标志展示出来。当开始位发生时UCTXADDR将被自动清除。微控设计网传输一个空闲帧以下程序为发送一个空闲帧来展示一个地址字符及其关联的数据:1置位UCTXADDR,然后写地址字符到UCAxTXBUF中,UCAxTXBUF必须准备发送新数据(UCAxTXIFG=1)。这可以产生一个11位的空闲周期以及随后的地址字符。UCTXADDR在地址字符从UCAxTXBUF传输到移位寄存器中后自动复位。2写预期数据到UCAxTXBUF中。UCAxTXBUF必须准备发送新数据(UCAxTXIFG=1)。写到UCAxTXBUF中的数据传输到移位寄存器中并且一旦移位寄存器准备新数据就开始发送。空闲周期不能超过地址和数据传输的间隙或者数据和数据传输的间隙。否则传输的数据将被误解为地址。地址位多机模式当UCMODEX=10,地址位多机模式被选中。如11-4所示,每个待处理的字符包含一个用作地址指示的位。字符块的第一个字符带有一个设置指示字符地址的地址位。USCI的UCADDR位在包含地址位的字符中,被传输到UCAxRXBUF中时即置位。在地址位多机模式中UCDORM位被用来控制数据接收。当UCDORM置位时,地址位为0的字符数据被接受器组装起来但不传输到UCAxRXBUF中同时没有中断发生。当接受一个包含已置地址位的字符时,此字符被传输到UCAxRXBUF中,UCAxRXIFG被置位,同时当UCRXEIE=1时所有可用错误标志被置位。当UCRXEIE=1时接受一个包含已置地址位的字符,但是没有帧错误和极性错误发生,此时这个字符不会传输到UCAxRXBUF中而且UCAxRXIFG不会被置位。如果接受到一个地址,用户需要软件使地址生效同时复位UCDORM去继续接受数据。如果UCDORM保持置位,仅仅是已置地址位的地址字符被接受到。UCDORM位不会被USCI模块自动改变。当UCDORM=1时所有已接受的字符将置位中断标志UCAxRXIFG。如果在接受数据期间清除UCDORM接受中断标志将在接受完成之后置位。在地址位多处理模式的地址传输中,字符的地址位被UCTXADDR位控制,UCTXADDR的值装微控设计网传诵到发送移位寄存器中。当开始位发生时UCTXADDR被自动清除。暂停接收的产生当UCMODEX=00,01或10时,不管是奇偶位,地址模式还是字符设置,接受器在监测到一次暂停时数据位,奇偶位,停止位都要变低。当一次暂停被监测到时,UCBRK位置位。如果暂停中断允许位UCBRKIE置位,接收中断标志UCAxRXIFG也会置位。这样的话,UCAXRXBUF的值在所有数据位为0后变成0。设置UCTXBRK位来发生暂停,然后写0到UCAxTXBUF中,UCAxTXBUF必须准备新的数据(UCAxTXIFG=1)。这就会发生暂停同时所有位变低。当开始位发生时UCTXBRK自动清除。11.3.4自动波特率监测当UCMODEX=11时UART模式的自动波特率监测被选中。在这种情况下,数据帧在一个包含暂停和异步域的异步序列之后。当11个或更多的0被接收到时监测到暂停。如果暂停时间超过22位的传输时间暂停超时错误标志UCBTOE将被置。暂停的异步域如11-5所示。图11-5.自动波特率监测-暂停/同步序列为了LIN一致字符格式应该设置为8位数据位,LSB在前,无奇偶校验位和停止位。没有可用的地址位。在一个字节域内同步域所包含的数据055H如表11-6所示。同步的时间范围在第一个下降沿和最后一个下降沿之间。如果自动波特率监测通过置位UCABDEN而被允许发送波特率发生器就可以用来测量。否则,这个模式只被接收但不测量。测量的结果被传送到波特率控制寄存器微控设计网,UCAXBR1和UCAXMCTL中。如果同步域的长度超过了测量时间同步超时错误标志UCSTOE将置位。图11-6.自动波特率监测-同步域在这种模式中UCDORM位被用来控制数据接收。当UCDORM置位时,所有字符被接收而不传输到UCAxRXBUF中去,而且中断不发生。当一个暂停/同步域被监测到时UCBRK标志被置位。随后的暂停/同步域的字符被传送到UCAxRXBUF中同时UCAxRXIFG中断标志置位。任何可用的错误标志也会置位。如果UCBRKIE位置位,暂停/同步的接收置位UCAXRXIFG。通过读接收缓存UCAxRXBUF,UCBRK位被用户软件置位。当一个暂停/同步域被接收时,为继续接收数据用户必须软件置位UCDORM。如果UCDORM保持置位状态,仅仅在接受下一个暂停/同步域时字符才能被接收。UCDORM位不会被USCI硬件自动更改。当UCDORM=0时所有的接收字符将使接受中断标志UCAxRXIFG置位。如果在接收字符的过程中UCDORM被清除,接收中断标志在完成接受后将置位。发送一个暂停/同步域以下为发送一个暂停/同步域的程序流程1.置位UCTXBRK且UMODEX=11。2.写0X55到UCAXTXBUF。UCAxBUF必须准新数据(UCAXTXIFG=1)。伴随着中断分割符和同步字符将会产生一个13位的暂停域。暂停域的长度被UCDELIMX位控制。当同步字符从UCAXTXBUF传输到移位寄存器中时UCTXBRK将自动复位。3.写数据字符到UCAXTXBUF中。UCAXTXBUF必须准备新数据(UCAXTXIFG=1)。写到UCAXTXBUF中的数据传输到移位寄存器中,一旦移位寄存器有新数据就立即发送。11.3.5IRDA译码和解码当UCIREN置位IRDA解码器和译码器被允许同时提供修整IRDA通信的硬件位。IRDA译码如表11-7,在来自UART的发送字节流中译码器为每个0位发送一个脉冲。脉冲持续时间由UCIRTXPLX位决定。UCIRTXPLX位指定被UCIRTXCLK选中的时钟周期的数目。
本文标题:MSP430F2XX中文手册(加了标签) 11.通用串行通信接口UART模块
链接地址:https://www.777doc.com/doc-4369133 .html