0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过利用UART与若干器件进行连接解决通信问题

牵手一起梦 来源:网络整理 作者:佚名 2020-01-20 17:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在各种外围的设备中,使用了通用的异步接收和发送(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与若干器件进行通讯。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19121

    浏览量

    403574
  • 嵌入式
    +关注

    关注

    5209

    文章

    20645

    浏览量

    336910
  • uart
    +关注

    关注

    22

    文章

    1319

    浏览量

    106963
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自定义 i.MX RT1176AVMA8板上的安全配置工具 UART 连接失败的原因?

    我正在开发基于 i.MX RT1176AVMA8 MCU 并遵循 RT1170 EVK 参考设计的定制板 (ST05)。 我正在尝试通过 UART1 使用安全配置工具 (SPT) 连接和刷新板,但我
    发表于 04-07 06:59

    【瑞萨RA × Zephyr评测】LED、按键和UART

    实现在Zephyr操作系统下按键控制 LED 的开关状态,并通过 UART 输出按键事件日志,验证 GPIO 和串口通信功能。
    的头像 发表于 01-10 10:21 2590次阅读
    【瑞萨RA × Zephyr评测】LED、按键和<b class='flag-5'>UART</b>

    使用CW32 MCU来实现UART串口通信与GPIO控制

    的基础代码,供大家参考。 首先,我配置了UART串口,用于与PC端进行通信,实现数据的收发。同时,GPIO口用于控制LED的开关状态,接收串口数据后,点亮或熄灭LED。代码如下: #include
    发表于 12-04 08:17

    利用开源uart2axi4实现串口访问axi总线

    ,可以实现跨fpga平台使用。利用uart2axi4我们可以通过python,轻松访问axi4_lite_slave寄存器,大大方便fpga工程师进行系统调试和定位bug。
    的头像 发表于 12-02 10:05 2238次阅读
    <b class='flag-5'>利用</b>开源<b class='flag-5'>uart</b>2axi4实现串口访问axi总线

    UART 串口通信还能玩出什么花样?

    还记得打印机、鼠标和调制解调器曾经使用粗线和笨重连接器吗?那些必须拧进电脑里的连接器?这些设备很可能使用UART与电脑通信。虽然USB几乎完全取代了那些老式的线缆和
    的头像 发表于 11-24 19:05 563次阅读
    <b class='flag-5'>UART</b> 串口<b class='flag-5'>通信</b>还能玩出什么花样?

    【瑞萨RA6E2】+2、实现通过UART点灯

    我将操作如何在RA6E2微控制器上配置UART通信通过串口接收字符控制LED灯的开关。 硬件准备 RA6E2开发板 USB连接线 软件配置 1. 创建FSP项目 打开e² studi
    发表于 11-12 16:23

    多路UART数据转发芯片 支持1主4从UART接口 UART扩展芯片

    -40℃ 至 85℃ 的工业级温度范围,能够在严苛环境下保持稳定通信。该芯片提供 1 个主 UART 和 4 个从 UART,共 5 个独立接口。主接口最高通信速率可达 460800
    的头像 发表于 11-12 10:33 543次阅读

    基于UART通讯控制TMC2208/2209模块驱动两相四线步进电机

    本文将介绍如何通过UART串口通信控制TMC2208/2209步进电机驱动模块驱动42步进电机。从TMC2209详细的说明的寄存器配置方法说明、常用指令说明、模块的串口连接方式、电流、
    的头像 发表于 11-10 19:33 3100次阅读
    基于<b class='flag-5'>UART</b>通讯控制TMC2208/2209模块驱动两相四线步进电机

    RVMCU课堂「13」: 手把手教你玩转RVSTAR—UART通信

    数据传输速率较慢,但其占用资源少、成本低、实现简单,因此在嵌入式系统中应用十分广泛,而UART(通用异步收发器)则是众多串行通信协议中最典型的一种。本期内容将通过PC主机与RV-STAR开发板间的三个
    发表于 10-31 07:02

    怎么通过UART1对指纹识别模块的控制

    今天主要介绍一下我们团队怎么通过UART1对指纹识别模块的控制。由于E203 的UART通信资源有限(UART0、
    发表于 10-30 06:12

    微五科技 CF5010RBT60 开发板与庐山派开发板通过 UART 串口通信的详细步骤

    以下是微五科技CF5010RBT60开发板与庐山派开发板通过UART串口通信的详细步骤: 一、硬件连接 确定通信接口 CF5010RBT6
    发表于 09-05 20:51

    【沁恒CH585开发板免费试用体验】UART 串口通信

    ,USART是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。 UART(universal asynchronous receiver and transmitter): 通用异步收发器,异步串行
    发表于 07-08 00:02

    利用普源示波器进行功率器件动态特性测试的研究

    深度等优点,在功率器件动态特性测试中具有广泛的应用前景。本文旨在研究利用普源示波器进行功率器件动态特性测试的方法,为相关领域的研究和应用提供参考。 功率
    的头像 发表于 06-12 17:03 780次阅读
    <b class='flag-5'>利用</b>普源示波器<b class='flag-5'>进行</b>功率<b class='flag-5'>器件</b>动态特性测试的研究

    使用CY7C65213开发过程中,应该用哪个interface进行uart通信

    在使用CY7C65213开发过程中,我想用CyUartRead读数据,但是好像没有接口的deviceType是CY_TYPE_UART,想请问我应该用哪个interface进行uart通信
    发表于 06-03 07:04

    芯知识|广州唯创电子语音芯片UART通信协议解析:发码长度与校验码计算

    一、UART通信协议概述UART(通用异步收发器)是一种广泛应用于嵌入式系统的串行通信协议,其核心特点为无需时钟同步,通过起始位、数据位、校
    的头像 发表于 05-27 08:48 889次阅读
    芯知识|广州唯创电子语音芯片<b class='flag-5'>UART</b><b class='flag-5'>通信</b>协议解析:发码长度与校验码计算