datasheet

通过用UART与若干器件进行通讯的电路设计

2008-04-24来源: 电子系统设计关键字:UART  异步通讯  引脚  配置寄存器  电路设计  器件  外围设备  MCU  模块  

  在各种外围的设备中,使用了通用的异步接收和发送(UART)接口。例如,一个基于微控制的系统有四个这样的外围设备。理想状态是,在低成本嵌入式应用中,您希望将若干个外围设备与单个的UART进行连接,然而由于UARTs中没有芯片选择信号,这样的工作变得复杂起来 。

  这是一种常见的设计问题,目前有一些传统的方法来解决。最常见的方法是使用一种具有您需要的硬件UART模块的单片机。您很难找到一个紧凑形式的经济型MCU有四个硬件UART模块,因此,即使所有的UARTs不能同时使用,您也可以使用一个高引脚计数的更高性能的单片机。但是在实际应用中使用一个大单片机可能没有必要,而且可能也不能更有效地解决成本问题。

  如果在应用中所有的UARTs都不能同时使用,从一个硬件UART模块到四个UART嵌入式外围设备的计时多路传输可以通过一个硬件多路器和几个单片机I/O线(图1)来完成 。在这种情况下,控制程序将通过控制多路器来将UART硬件对应所需的外围设备。

通过用UART与若干器件进行通讯的电路设计

  基于某些MCU提供的灵活的I/O引脚映射特性,还有另一改进的方法来解决这个问题。不同于传统的固定的I/O插脚引线,这些MCUs的特性是有一组输入/输出引脚,不同的引脚可以对应不同的外围设备的功能。这一特性在微芯片MCUs上可用于外围引脚选择器(PPS),让您根据您的每一个选择来确定不同MCU的插脚引线。在这些MCUs中,执行某个序列码来解锁配置寄存器后,控制程序就动态地改变I/O插脚引线。

  为了在这些设备类型上得到4个或更多的UARTs,您要从将4个基于UART的外围设备与MCU的重定位引脚相连开始。在这个例子中,我们使用了PIC24FJ64GA004 16位MCU(图2 )。

通过用UART与若干器件进行通讯的电路设计

  基于应用的需要,控制程序会动态地将硬件UART与这些4引脚装置相连。例如,当应用程序必须与器件1通讯时,上述程序会将硬件UART与RP1和RP2引脚相连。同样,当MCU要与器件2通讯时也是同一过程。

  如果所有的UART通道都在一个主/从配置-外围设备中运行,上述方法可以很好地工作。其中外围设备只要发送MCU作为主配置所需的数据。所以,假如将主从设备两者相结合系统需要些什么?由于它的多功能性,在这种情况下灵活的I/O引脚-映射方式仍然可行。举例来说,该系统可能需要与外围设备异步通讯。在这一方案中,您可以利用许多这些MCU也有两个硬件UART模块这一情况。简单地指定一个硬件UART模块作为异步通讯通道和时间多路的其他UART模块来形成若干个硬件UART模块。

  在另一种方案中,您的应用可能需要带有若干从通道的多异步通道。如果有用的话,利用带有数据终端准备(DTR)/明确发送(CTS)信号的MCU的异步通道的通讯能力。您可以使用DTR/CTS信号在保持异步通道的同时使得UART与最初的引脚对应。

  当外围设备没有通讯信号时,可使用另一工作区。使用边缘干扰或用灵活的I/O引脚映射功能将一个输入捕获信号导入空闲的UART接收引脚。如果一个装置从一个异步数据传输器开始,控制程序会发出一个干扰,并立即将硬件UART模块转到合适的引脚来接收这个数据。

  如果您的应用需要所有的四UART通道变成异步通道,那么上述的解决方案可能无法正常工作,您可能仍需要一个有四硬件UARTs的MCU。但对于大多数系统,情况可能并不如此。因此,这里提到的解决方案将让您使用一个单一的UART与若干器件进行通讯。

 

关键字:UART  异步通讯  引脚  配置寄存器  电路设计  器件  外围设备  MCU  模块  

编辑:ssb 引用地址:http://www.eeworld.com.cn/gykz/2008/0424/article_826.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:浅析智能光网络核心ASON的技术优势
下一篇:解读高速数字电路中电子隔离应用技巧

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32F103 UART 串口

USART 通用同步收发器,UART 通用异步收发器    支持LIN(局部互联网)、智能卡协议、IrDA(红外)、以及调制解调器(CTS/RTS)等。    全双工交换数据、即收发同时进行。接口    三个引脚:接收数据输入(RX)、发送数据输出(TX)、地(GND)。    RX:接收数据串行输入。通过采样技术来区别数据和噪音,从而恢复数据。    TX:发送数据输出。当发送器禁止时,输出引脚恢复到它的IO端口配置。当发送器激活时,不发送数据,TX引脚处于高电平。传送速率    1波特 = 1bps(位/秒
发表于 2019-04-12
STM32F103 UART 串口

STM8 UART中断发,中断收

STM8 UART 初始化配置STM8 UART的几个常用寄存器分别为: UART1_CR1:控制寄存器1 UART1_CR3:控制寄存器3 UART1_BRR2:波特率寄存器2 UART1_BRR1:波特率寄存器1利用控制寄存器1,2,3可以配置UART数据传输的具体帧格式,这里将UART配置为1个起始位,8个数据位,1个停止位,无校验位。具体操作代码如下:      UART1_CR1=0x00;      UART1_CR3=0x00;在UART1_CR1中第4位,定义了数据字的长度,该位写0将设置UART为一个起始位
发表于 2019-04-11

基于UART实现数据的自发自收

UART(Universal Asynchronous Receiver  and  Transmiter)通用异步接收/发送装置。UART提供了RS—232C数据接口。UART是什么?UART是一种通用串行数据总线,用于异步通信,该总线双向通信,可以实现全双工传输和接受。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其他部件,比如EEPROM。UART的工作原理和功能。他将由计算机内部传送过来的并行数据转化为输出的串行数据流,将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验为。在输出数据流中加入启停标志,并从接受数据流中删除启停标志。处理
发表于 2019-04-11

51内核UART串行总线环形缓冲区驱动实现

1:驱动简述;驱动实现串口中断接收和发送数据,缓冲区使用环形缓冲区。发送:手动置RI中断标志位为1,发生中断,在中断发送函数中将需要发送的数据一一发送出去,具体见示例;接收:在中断接收函数中保存接收到满足协议的数据,后置接收成功标志位,最终在main函数while循环中轮询接收成功标志位是否置1,如果置1,处理接收到的数据。2:代码示例;以下代码模仿modbus协议,贴串口发送函数和中断处理函数,适用于51系列单片机,具体的串口协议可参考modbus协议或者自己根据需求定义。uart.h文件#define COM_TX1_Lenth 20#define COM_RX1_Lenth 20 typedef struct
发表于 2019-04-09

ZigBee基础实验(六)--UART(串口收发)

1、初始化在串口初始化部分,和上一节不同的地方是: 51     U0CSR |= 0x40;           //允许接收  52     IEN0 |= 0x84;            //开总中断允许接收中断  第51行使能接收数据,上一节介绍的仅仅是发送,所以没有这一句配置:第51行开总中断和UART0中断: 
发表于 2019-04-09
ZigBee基础实验(六)--UART(串口收发)

关于调试SPI、I2C、UART的记录

上拉到3.3V(这个电阻值可以认为是经验值,电阻值偏小,不容易拉到低电平,电阻值偏大好像也不行)3.UART上, MCU通过UART0与DSP通讯,通讯流程是:MCU向DSP发送hello,DSP接收完hello之后,向MCU发送hello,MCU接收到hello之后,向UART1和UART5发送fch,接着继续向DSP发送hello,并继续循环。另外在监测UART0和UART5中通讯的数据时需要外接一个TTL转232的小板需要接往PC,UART1有另外的口无需外接小板。现在的现象是:小板接在UART5上时,UART5和UART1上都没有发出fch。当将小板接在UART0上时,UART0上有输出hello,UART1上有输出fch
发表于 2019-04-02

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved