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
    +关注

    关注

    1625

    文章

    21619

    浏览量

    601154
收藏 人收藏

    评论

    相关推荐

    外部端口和内部端口是什么意思

    计算机网络和网络安全领域,"外部端口"和"内部端口"这两个术语通常用来描述网络通信中的端口配置和访问控制。 外部端口(External P
    的头像 发表于 10-17 10:50 231次阅读

    ad端口的几种类型

    Altium Designer(简称AD)等电子设计自动化(EDA)软件端口(Port)是设计原理图时用于连接和表示信号流动的重要元素。除了端口外,AD还提供了多种类型的网络标识
    的头像 发表于 09-29 10:11 794次阅读

    CMOS可编程I/O端口扩展电路AiP82C55

    CMOS可编程I/O端口扩展电路AiP82C55
    的头像 发表于 08-09 09:55 299次阅读
    CMOS可编程I/O<b class='flag-5'>端口</b><b class='flag-5'>扩展</b>电路AiP82C55

    能否ESP结束之前通过串行端口停止传入的UDP数据包的传输以解析下一个UDP数据包?

    丢弃ESP完成之前不需要的数据包,以便通过串行端口发送它以接收下一个数据包, 如果没有,我必须按顺序读取所有传入的数据包,需要的和不需要的, 而且波特率不足,主机处理器开销大, 我能否
    发表于 07-16 06:18

    TUSB2036通用串行总线的2或3端口集线器数据表

    电子发烧友网站提供《TUSB2036通用串行总线的2或3端口集线器数据表.pdf》资料免费下载
    发表于 07-09 10:43 0次下载
    TUSB2036通用<b class='flag-5'>串行</b>总线的2或3<b class='flag-5'>端口</b>集线器数据表

    TUSB2077A 7端口通用串行总线集线器数据表

    电子发烧友网站提供《TUSB2077A 7端口通用串行总线集线器数据表.pdf》资料免费下载
    发表于 07-08 09:48 0次下载
    TUSB2077A 7<b class='flag-5'>端口</b>通用<b class='flag-5'>串行</b>总线集线器数据表

    TUSB2046x 4端口集线器,用于带可选串行EEPROM接口的通用串行总线数据表

    电子发烧友网站提供《TUSB2046x 4端口集线器,用于带可选串行EEPROM接口的通用串行总线数据表.pdf》资料免费下载
    发表于 06-25 09:36 0次下载
    TUSB2046x 4<b class='flag-5'>端口</b>集线器,用于带可选<b class='flag-5'>串行</b>EEPROM接口的通用<b class='flag-5'>串行</b>总线数据表

    使用USBUART组件与主机PC通信,如果在串行端口打开的情况下终止固件,主机端为什么会报错?

    我正在使用 USBUART 组件与主机 PC 通信,我一直寻找某种机制来关闭 MCU 端的串行端口,或者至少通知主机我将关闭端口。 我遇到过这样一个问题:如果在
    发表于 06-03 08:41

    带电压级转换的SDIO端口扩展器TXS02612数据表

    电子发烧友网站提供《带电压级转换的SDIO端口扩展器TXS02612数据表.pdf》资料免费下载
    发表于 05-27 10:19 0次下载
    带电压级转换的SDIO<b class='flag-5'>端口</b><b class='flag-5'>扩展</b>器TXS02612数据表

    嵌入式设计扩展串行端口入门知识

    大多数嵌入式系统都至少提供两个串口。然而,有些系统需要更多。因此,这需要以某种方式扩展串行端口的数量。设计人员可用的一些选择包括 USB 到串行端口
    发表于 05-03 09:30 210次阅读
    <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>的<b class='flag-5'>入门</b><b class='flag-5'>知识</b>

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

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

    verilog端口类型有哪三种

    Verilog 端口类型有三种:输入端口(input)、输出端口(output)和双向端口
    的头像 发表于 02-23 10:28 1811次阅读

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

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

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

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

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

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