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

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

3天内不再提示

在设计中扩展串行端口的入门知识

FPGA设计论坛 来源:未知 2023-08-18 17:25 次阅读


即使USB出现,串行端口也不会消亡。对于术语“串行端口”,我们通常指的是或多或少符合RS-232 标准或相应的TTL 信号硬件
串口在软硬件集成初期易于调试。即使在 USB 出现之后,许多外部设备仍然连接到串行端口。蓝牙模块、GPS模块、医疗设备通过串口相互连接进行数据传输。
大多数嵌入式系统都至少提供两个串口。然而,有些系统需要更多。因此,这需要以某种方式扩展串行端口的数量。设计人员可用的一些选择包括 USB 到串行端口、I2C 到串行端口、地址/数据总线到串行端口(UART 控制器)。
串行端口入门
从硬件角度来看,串行端口至少有三个引脚:发送器、接收器和接地。附加引脚用于硬件流控制,可以使用也可以不使用。在典型的嵌入式系统中,仅使用三个引脚,并且没有硬件流控制。

经典的串行端口使用 DB9 连接器。这 9 个引脚的引脚如下表 1 所示。

表1:带DB9连接器的串行端口
RS-232 信号电平中的典型电压电平为 +12V 和“12V”。“12V”电压电平表示逻辑高或 1,+12V 电压电平表示逻辑“0”或“0”。
嵌入式系统中的串行端口
几乎所有嵌入式系统都提供两个或多个串行端口,并且通常支持 TTL 逻辑电平。嵌入式系统可能需要与两种外部设备接口,一种以TTL电平通信,另一种以RS232电平通信。
如果设备以 TTL 电平进行通信, 则嵌入式系统和外部设备之间的连接是直接的。但如果设备需要 RS232 电平信号,我们必须在处理器和设备之间插入 RS-232 线路
驱动器/接收器。
当今的大多数设备只需要三根线:传输数据、接收数据和信号地。不使用硬件流控制。这简化了硬件连接以及软件设计。
典型的嵌入式系统
下面的图 1显示了使用 4 个串行端口的典型嵌入式系统。嵌入式系统的端口1用于引导加载程序和调试目的。该端口需要 RS232 线路驱动器,因为它将连接到台式机和/或笔记本电脑以进行调试。通常,如果 PCB 板空间有限,则可以在板首次旋转后移除此端口。
端口 2 用于与蓝牙通信。由于蓝牙设备不需要RS232电平信号,因此它已直接连接到嵌入式系统。
端口 3 用于连接 GPS(定位系统)设备。该设备通常不需要 RS232 级信令,因此,它已直接连接到嵌入式系统。

端口 4 用于连接通用外部设备。例如,外部 RFID 扫描仪。我们假设该设备需要 RS232 电平信号。我们将在嵌入式处理器和 RFID 扫描仪之间使用 RS232 线路驱动器。

图 1:具有 4 个串行端口的典型嵌入式系统。
根据应用的不同,嵌入式系统可能需要 4 个以上的串行端口。其中一些需要 TTL 电平信号,其他则需要 RS232 电平信号。
扩展嵌入式系统中的串行端口
由于大多数嵌入式系统提供的串行端口数量少于所需数量,因此电路板设计人员必须找到某种方法来扩展串行端口数量。幸运的是,存在许多选项,并且选择将取决于设计人员对硬件设计的舒适程度以及附加软件支持的数量。
USB 转串口。如果处理器有 USB 主机,这将是选择。例如,设计人员可以将 4 端口 USB 集线器添加到现有 USB 主机。这将提供 4 个 USB 端口。USB 集线器的一个例子是 Genesys Logic 的 GL850A IC

例如,设计人员可以将这四个端口之一用于 USB,而其他三个端口可用于扩展串行端口。USB转串口桥可用于扩展串口。USB 转串口桥的一个例子是 Prolific 的 PL-2303 IC。下面的图 2 显示了一个示例实现。

图2:使用USB集线器和USB转串口桥扩展串口
Prolific 的 PL-2303 提供 TTL 逻辑电平。如果需要 RS232 电平,则应在 Prolific 的 PL-2303 IC 之后使用 RS-232 线路驱动器/接收器。
通常 USB 集线器以及 USB 转串口 I 的驱动程序都是可用的,因此很少有软件/硬件集成问题。

I2C 转串口。在较小的微控制器中,USB 端口通常不可用,I2C 到串行端口转换器是选择。Philips SC16IS752IPW 是 I2C 转串口转换器的示例。下图3展示了如何从一个I2C端口扩展4个串口。

图3:使用I2C转串口桥扩展串口
然而,这些类型的实现存在速度限制。由于 I2C 总线端的限制,没有非常快的串行端口。因此,只有当所需的串行端口连接到不需要超强性能的应用程序时,此实现才有效。
还值得注意的是,这种实现将需要软件方面的驱动程序开发。然而,总的来说,这对于小型微控制器以及一些大型
微处理器实现来说是一个好方案。
地址/数据总线到串行端口(UART 控制器)。无论嵌入式系统的性质如何,地址/数据总线到串行端口(UART 控制器)几乎总是可用的。它几乎总是可以在任何具有地址/数据总线支持的处理器系统中使用。
在缺点方面,与此处讨论的其他一些替代方案相比,它提供的功能需要更多的电路板空间。然而,从好的方面来说,无论平台是什么,它几乎总是具有驱动程序支持。例如,Philips Semiconductor 的 SC16C652IB48 UART 控制器提供两个串行端口。
添加一个小型微控制器。如果我们需要提供除串口之外的一些功能,我们还可以添加一个小型微控制器。设计一个小型微控制器非常有用,它可以提供许多项目中使用的许多通用功能。
您应该找到一个连接到主处理器而不牺牲可用串行端口的微控制器。例如,使用 SPI 连接的主处理器和小型微控制器提供两个串行端口。

有你想看的精彩



至芯科技FPGA就业培训班——助你步入成功之路、8月12号西安中心开课、欢迎咨询!
FPGA学习:阻塞赋值和非阻塞赋值的可综合性
FPGA从入门到高手





扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看





原文标题:在设计中扩展串行端口的入门知识

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1602

    文章

    21320

    浏览量

    593199
收藏 人收藏

    评论

    相关推荐

    CYBT-243053-EVAL上未检测到串行端口的原因?

    直到今天,我一直在对评估板进行编程。 起初我编程成功了,然后 modus IDE 无法识别端口。 当我 make fail 输入端口号并尝试重新编程时,它返回了无法读取波特率的消息
    发表于 03-01 06:39

    什么是串行端口?有哪几种分类?

    什么是串行端口?有哪几种分类? 串行端口是计算机中用于进行数据传输的一种接口类型,通过单一的数据线逐位地传输数据。与串行
    的头像 发表于 02-02 15:40 740次阅读

    求助,是否可以使用PIC监控串行端口

    是否可以使用 PIC 监控串行端口
    发表于 01-22 06:28

    请问如何使用BLE蓝牙串行端口上打印数据?

    让我学习? 以 Ce218137_ble_Proximity_RTOS 为例,我可以成功连接并查看 CySmart 的值变化。 但是我想要的是将它们打印串行端口中,然后从调谐器
    发表于 01-18 08:37

    STM32入门知识点汇总

    STM32入门知识要点总结,适合初学者查看!
    发表于 10-07 06:04

    串行端口收发器的作用

    串行端口收发器是一种用于串行通信的设备,它的作用是将并行数据转换为串行数据,并将串行数据转换为并行数据。它在计算机和通信领域中起着重要的作用
    的头像 发表于 08-19 10:51 347次阅读

    在设计中扩展串行端口入门知识分享

    即使USB出现,串行端口也不会消亡。对于术语“串行端口”,我们通常指的是或多或少符合RS-232 标准或相应的TTL 信号的硬件。
    的头像 发表于 08-18 17:24 1214次阅读
    在设计中<b class='flag-5'>扩展</b><b class='flag-5'>串行</b><b class='flag-5'>端口</b>的<b class='flag-5'>入门</b><b class='flag-5'>知识</b>分享

    高速串行跟踪端口体系结构规范

    本文档指定了一个串行传输端口(STP)来替代现有的并行数据输出端口适用于芯片外传输高带宽数据,例如来自ARM的嵌入式跟踪宏单元。这将更低的ASIC引脚数,增加可能的带宽,并且
    发表于 08-02 06:45

    串行端口扩展器-带有PIC MCU的额外SPI和UART端口

    电子发烧友网站提供《串行端口扩展器-带有PIC MCU的额外SPI和UART端口.zip》资料免费下载
    发表于 07-12 10:48 1次下载
    <b class='flag-5'>串行</b><b class='flag-5'>端口</b><b class='flag-5'>扩展</b>器-带有PIC MCU的额外SPI和UART<b class='flag-5'>端口</b>

    Wi-Fi Pmod™ 扩展板 – 快速入门指南

    Wi-Fi Pmod™ 扩展板 – 快速入门指南
    发表于 07-04 20:30 0次下载
    Wi-Fi Pmod™ <b class='flag-5'>扩展</b>板 – 快速<b class='flag-5'>入门</b>指南

    GreenPAK 串行调试器快速入门指南

    GreenPAK 串行调试器快速入门指南
    发表于 06-30 20:58 1次下载
    GreenPAK <b class='flag-5'>串行</b>调试器快速<b class='flag-5'>入门</b>指南

    RYZ012A1 Pmod™ 扩展板快速入门指南

    RYZ012A1 Pmod™ 扩展板快速入门指南
    发表于 06-30 20:32 0次下载
    RYZ012A1 Pmod™ <b class='flag-5'>扩展</b>板快速<b class='flag-5'>入门</b>指南

    RYZ014A Pmod™ 扩展板 – 快速入门指南

    RYZ014A Pmod™ 扩展板 – 快速入门指南
    发表于 06-30 19:01 0次下载
    RYZ014A Pmod™ <b class='flag-5'>扩展</b>板 – 快速<b class='flag-5'>入门</b>指南

    使用高速微型的串行端口

    模拟DS80C320和其他高速微控制器具有两个相同的串行端口。本应用笔记向用户介绍微控制器中使用的通用同步/异步接收器/发送器(USART)。应用笔记讨论了波特时钟源、轮询和中断模式、波特率生成、异步10位操作和双串行
    的头像 发表于 06-13 14:52 305次阅读
    使用高速微型的<b class='flag-5'>串行</b><b class='flag-5'>端口</b>

    怎样才能跨多个集线器从LPC5411x枚举多个串行端口

    由于 ES_LPC5411x 的勘误表 USB.1,需要 TN00031 的解决方法才能跨多个 USB 集线器实现无晶体 USB。我正在研究从单个设备支持多个串行端口。但是,SDK
    发表于 05-06 07:03