当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 嵌入式设计中扩展串口的入门

嵌入式设计中扩展串口的入门 时间:2020-05-27      来源:原创

串行端口在硬件和软件集成的初始阶段易于调试。即使在USB出现后,许多外部设备仍然连接到串行端口。蓝牙模块,GPS模块,医疗设备通过使用串行端口进行数据传输而相互连接。

在大多数嵌入式系统中,至少提供了两个串行端口。但是,某些系统还需要更多。因此,这需要某种方式来扩展串行端口的数量。设计人员可以选择的一些选项包括USB到串行端口,I2C到串行端口,地址/数据总线到串行端口(UART控制器)。

串行端口入门

从硬件的角度来看,串行端口至少具有三个引脚-发送器,接收器和接地。附加引脚用于硬件流量控制,可以使用也可以不使用。在典型的嵌入式系统中,仅使用三个引脚,并且没有硬件流控制。

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

表1:具有DB9连接器的串行端口

RS-232信号电平的典型电压电平为+ 12V和“ 12V”。电压电平“ 12V表示逻辑高电平或1,而+ 12V电压电平表示逻辑零或0。

嵌入式系统中的串行端口

几乎所有嵌入式系统都提供两个或多个串行端口,并且通常支持TTL逻辑电平。嵌入式系统可能需要与两种外部设备接口,一种在TTL级别进行通信,另一种在RS232级别进行通信。

如果设备以TTL级别通信, 则嵌入式系统与外部设备之间的连接会很直接。但是,如果设备需要RS232级别的信号,我们将不得不在处理器和设备之间插入RS-232Line驱动器/接收器。

当今大多数设备仅需要三根导线即可传输数据,接收数据和信号地线。没有使用硬件流控制。这简化了硬件连接以及软件设计。

典型的嵌入式系统下

图1显示了使用4个串行端口的典型嵌入式系统。嵌入式系统的端口1用于引导加载程序和调试目的。此端口需要RS232 LineDriver,因为它将连接到台式机和/或笔记本电脑以进行调试。通常,如果PCB板空间受到限制,则可在板初次旋转后移除此端口。

端口2已用于与蓝牙通信。由于蓝牙设备不需要RS232级别的信令,因此它已直接连接到嵌入式系统。

端口3已用于连接GPS(全球定位系统)设备。该设备通常不需要RS232级别的信令,因此,它已直接连接到嵌入式系统。

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

图1:具有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到串行端口IC的驱动程序,因此几乎没有软件/硬件集成问题。

I2C到串行端口。在通常不提供USB端口的小型微控制器中,最佳选择是I2C到串行端口转换器。飞利浦SC16IS752IPW是I2C到串行端口转换器的示例。下面的图3显示了如何从I2C端口扩展4个串行端口。

图3:使用I2C扩展串行端口到串行端口网桥

但是,在这些实现中存在速度限制。由于I2C总线方面的限制,因此没有非常快的串行端口。因此,仅当所需的串行端口连接到不需要出色性能的应用程序时,此实现才有效。

还值得注意的是,此实现需要在软件方面进行驱动程序开发。总的来说,这是用于小型微控制器以及某些大型微处理器实现的商品方案。

地址/数据总线到串行端口(UART控制器)。无论嵌入式系统的性质如何,几乎始终可用的是到串行端口(UART控制器)的地址/数据总线。它几乎总是可以用在任何具有地址/数据总线支持的处理器系统中。

在停机现场,与此处讨论的其他一些替代方案相比,其提供的功能需要更多的电路板空间,但是,无论在什么平台上,它几乎始终具有驱动程序支持。例如,飞利浦半导体的SC16C652IB48 UART控制器提供了两个串行端口。

添加一个小型微控制器。如果除了串行端口还需要提供其他功能,我们还可以添加一个小型微控制器。设计一个小型的微控制器可能会很有用,它将提供许多可用于许多项目的通用功能。

您应该找到一个可以在不牺牲可用串行端口的情况下连接到主处理器的微控制器。例如,使用SPI和小型微控制器连接的主处理器提供了两个串行端口。

需要注意的一些事情

设计人员在设计完完整的系统后,不应该依赖扩展串行端口。如果需要更多的串行端口,则应尝试选择不提供任何附加电路即可提供所需数量的串行端口的处理器。例如,Atmel的ATMEGA640V-16AU IC提供4个串行端口,属于小型微控制器类别。

同样,请注意以下事实:在大多数成熟的处理器中,第一个串行端口通常用于引导加载程序,设计人员应尝试将其保留用于调试目的。在应用程序中使用第一个串行端口会给设计人员带来额外的困难。

上一篇:如何简化基于FPGA的系统的电源设计开发和评估

下一篇:为你的嵌入式设计选择合适的低功耗处理器

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部