新闻  |   论坛  |   博客  |   在线研讨会
串行通信协议.第1部分:简介
电子资料库 | 2023-01-06 10:28:42    阅读:247   发布文章

image.png


在这一系列文章中,我们将研究一些不同类型的串行通信协议,这些协议可用于在微控制器数据生产和数据处理外围设备,以及其他智能设备。接下来的文章将介绍串行通信的一些常用协议。在本系列文章的最后,我们将总结每种方法的优缺点。我们希望这一资源将证明有价值的下一次你发现你自己需要实现一个串行通信总线,帮助你选择最好的选择适合你的特殊情况。

这些天电子产品已成为电子产品市场上最重要的部分. 许多不同的芯片在使用中,它们的复杂操作依赖于发送到或来自其他类似数字元件的信息。已经创建了通用协议标准来支持它们之间的通信。想象一下,如果每个IC或设备都使用其唯一的协议进行通信。这就好比每个人都用自己独特的语言说话一样。这将是一场混乱,因为我们几乎不可能相互理解。

我们目前有不同的存储器IC、数字传感器、保护装置、可编程电源、数字电位器、射频IC等,都需要彼此之间或与微控制器通信,微处理器 ,FPGA或ASIC。设备之间这些通信的目的可能有很大的不同。它可以用于编程来提取信息,提供信号来启动动作的性能。

另外,有些协议给了我们人类通过微控制器与集成电路交互的能力。你可以向微控制器发送信号,微控制器被编程为通过这些协议之一向IC发送信号。或者,您可以连接一个可用的调试工具。

串行通信的一个问题是,如果出现问题,很难找到并调试电路。假设数据没有从一个设备传输到另一个设备。在这种情况下,故障可能存在于以下一个或多个地方:发送设备的逻辑、电路设计、串行通信的编码方式、通信总线、接收器的解码、接收器的电路设计或最终接收器的逻辑。在串行通信上粘贴示波器探针可以让您查看是否有任何活动,但不会告诉您其有效性。为了完全了解发生了什么,你需要一个带解码功能的示波器或一个逻辑分析仪。这将使你知道电压脉冲在脉冲中的传播,从而发现电压水平,发现任何噪声问题,并寻找信号上升和下降率的问题。

然而,为了彻底调试串行通信,您需要一个工具来解码总线上的数据,看看它是否正确,或者是否被损坏或受到碰撞的影响。大量的调试工具专门用来调试设备或集成电路之间的通信。工业标准逻辑分析仪之一是萨利埃逻辑一系列逻辑分析仪,Pro模型提供足够的速度来分析所有最流行的协议。

像这样的协议处理速度太慢,分析速度太慢。这个LA2016逻辑分析仪提供采样率之间的Salaee逻辑8和逻辑8 Pro非常低的成本;我有一个,并用它非常成功地分析了协议。

此外,通信协议的考虑对于固件和硬件设计都是至关重要的。从硬件方面来说,你应该仔细检查你选择的微控制器的数据表。MCU只能使用专用管脚与预定义的协议进行通信。在选择MCU之前,设计者需要决定将使用什么IC以及需要什么协议。

例如,安装在流行的STM32 Blue Pill开发板上的stmcroelectronics STM32F103C8T6设备包括2 x I2C、3 x USART、2 x SPI和1 x CAN通信接口。但是,这些通信协议的一些管脚是共享的。例如,如果我们看设备的14号针,它的标签是PA4。此引脚同时具有USART和SPI功能。这意味着您不能同时为您的设计使用所有列出的SPI和USART接口。你需要选择你需要的时间和相应的计划,或搜索另一个微控制器,支持更多的通信接口。当然,PA4管脚可以通过改变操作中的配置来用于两种通信协议。但是,您仍然需要仔细考虑在什么时候它将用于运行,因为它们不能同时使用。这将增加硬件和固件设计的复杂性。

image.png


微控制器中的串行通信管脚可以重叠,所以读数据表您需要根据设备将从固件端使用的通信协议下载并使用相应的IC通信库模块。

虽然有许多通信协议,但最流行的是SPI和I2C。每种协议都有它的应用、通信速度、设计考虑因素、优缺点。在这一系列文章中,我们将依次介绍它们。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客