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
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:LCD显示器的接口分类标准简介
下一篇:解读高速数字电路中电子隔离应用技巧

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

推荐阅读

STM32F10x系列UART中断异常调试经历

中增加命令,来通过命令交互读取各任务运行时占用的堆栈,占用堆栈获取采用:uxTaskGetStackHighWaterMark(),发现并没有任务的堆栈随着时间推移而增加,所以暂时排除堆栈溢出的原因。2、将发送频率降低然后长时间运行,400ms的发送频率(UART配置的波特率为9600,数据帧长度为8字节),烧录运行后大约1小时后就有可能复现问题。所以觉得应该是别的地方还是存在问题,频率过高并不是导致该问题的根本原因,高频率只是让问题更容易出现。3、将所有的串口错误的中断检测均加上,看是哪儿出现了异常,中断捕获采用USART_GetITStatus,在捕获到中断后,清楚中断置位,发现长时间运行后还是不停
发表于 2018-12-03
STM32F10x系列UART中断异常调试经历

TQ2440裸奔程序:串口UART的PC机按键测试程序

  //=========================================  // NAME: main.c  // DESC: TQ2440串口UART测试程序  //=========================================    #include "def.h"  #include "option.h"  #include "2440addr.h"  #include  #include  #include  #include  #include
发表于 2018-11-26

TQ2440裸奔程序:串口UART打印printf测试程序

  //=========================================  // NAME: main.c  // DESC: TQ2440串口UART打印printf测试程序  //=========================================    #include "def.h"  #include "option.h"  #include "2440addr.h"  #include  #include  static volatile int uart_port = 0;  void uart_init(int
发表于 2018-11-26

单片机串口通信UART与USART的区别

 UART与USART都是单片机上的串口通信,他们之间的区别如下:首先从名字上看:UART:universal asynchronous receiver and transmitter通用异步收/发器USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器从名字上可以看出,USART在UART基础上增加了同步功能,即USART是UART的增强型,事实也确实是这样。但是具体增强到了什么地方呢?其实当我们使用USART在异步通信的时候,它与UART没有什么区别,但是用在同步通信的时候,区别就很明显了:大家都知道同步通信需要时钟
发表于 2018-11-20

串口UART学习笔记

 一、谈谈对串口UART的理解1.交代计算机中常见的几种硬件(CPU和外设)通信方式:GPIO/UART/IIC/SPI/1-WIRE。2.UART的定义:通用串行异步收发器。串行和并行的对比:距离 速度 抗干扰性2.1 异步:CPU的速度要远远快于外设,势必要考虑数据同步(发玩还要确保接收正确)数据同步方法:异步和同步同步:“低放高取”。不仅仅需要数据线,还需要一根时钟控制信号线。利用时钟控制信号线来实现双方的数据同步。IIC总线和SPI总线就是采用同步方式。3.UART串口的三种工作方式:单工、半双工、全双工。二、如何利用异步实现UART的数据同步答案在UART的数据传输协议中。UART数据传输协议:空闲位、起始位
发表于 2018-11-19

msp430f5419/38学习笔记之USCI:UART模式

   msp430f541x、msp430f543x多达4个通用串行通信接口(USCI)模块,支持多种串行通信模式,不同的 USCI 模块支持不同的模式。  USCI_Ax模块支持:UART模式;IrDA通信的脉冲整形;LIN通信的自动波特率检测;SPI模式;  USCI_Bx模块支持:IIC模式;SPI模式;UART模式:    在异步模式下,USCI_Ax模块通过两个外部引脚UCAxRXD和UCAxTXD将芯片连接到外部系统。当UCSYNC位清零时,选择UART模式。  UART模块特征包括
发表于 2018-10-15
msp430f5419/38学习笔记之USCI:UART模式

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">