对于工业物联网(IIoT)应用程序,IIoT端点的功能和灵活性不仅在功能上得到了扩展,而且还从端点中的主机微控制器扩展了许多英尺的物理控制区域。虽然可以使用来自IIoT终端主机微控制器的几个I / O引脚来到达这些扩展位置,但随着距离的增加,I / O线更容易受到电磁干扰(EMI)的影响,从而降低了可靠性。尽管可以将另一个微控制器用作IIoT端点主机微控制器的子节点,但是当数据仅用于简单的数字I / O信号时,这可能不必要地增加了复杂性。 开发人员可以使用端口扩展器作为IIoT端点之外的具有成本效益的子节点,而不必扩展I / O线来进行更广泛的控制。 本文将介绍端口扩展器的作用,然后再介绍Maxim Integrated的两个端口扩展器。这些扩展器可通过串行接口轻松连接至主机微控制器,从而大大扩展了IIoT节点的数字I / O功能。他们这样做是在保留常规通用I / O(GPIO)功能(例如脉冲宽度调制(PWM)生成和中断检测)的同时。 为什么IIoT网络需要端口扩展器规划IIoT网络时,第一步之一是确定端点数量。与设备的其余部分同步其行为所需的每台设备都将至少需要一个端点。一个很好的例子就是工厂组装线。每个工位必须与整个装配线的进度同步,以便在正确的时间执行正确的装配过程。 但是,工厂装配线中的IIoT端点可能未定位到一个物理区域,而是可以使用电线或电缆将IIoT端点的主机微控制器GPIO端口延伸到几英尺远,类似于采用主机微控制器作为集线器的星形配置。 。星形的每个点的终止可能具有足够的复杂性,无法充当主要IIoT终结点的子节点,但可能不够复杂,无法配置为具有自己的网络连接的自身IIoT终结点。虽然可以将子节点设计为由其自己的微控制器控制,但对于简单的GPIO,这可能会增加不必要的复杂性和成本。 一个真实的例子是使用PWM信号控制电机的IIoT端点。如果电机距离几英尺远,则需要将多个PWM信号发送到电机,这会增加周围区域的EMI。屏蔽电缆可用于传输PWM信号,但这会增加系统成本,并且不会消除由于距离或串扰引起的相位延迟而导致的错误。取而代之的是,可以使用串行总线(例如I 2 C或SPI)将命令发送到位于电动机附近的可编程系统,该系统将生成PWM信号。这些电子器件将是一个子节点,该子节点被编程为生成所需的PWM信号。 子节点的一种实际解决方案可以是在与主机微控制器的串行接口上使用端口扩展器。端口扩展器比微控制器更易于配置,并扩展了主机微控制器的GPIO的范围。主机微控制器可以通过简单的I 2 C或SPI接口轻松访问子节点上的端口扩展器,而不用在子节点上运行8条或更多条GPIO线。写入端口扩展器中的寄存器可设置或清除GPIO,而读取则返回GPIO的状态,与控制主机微控制器上的GPIO相同。端口扩展器还保留了微控制器GPIO的大部分功能,包括PWM生成和中断输入。 具有8个GPIO和I 2 C接口的Maxim Integrated MAX7315AUE + T是易于使用的端口扩展器的一个示例(图1)。 MAX7315A仅需三个引脚即可轻松管理八个GPIO:两个I 2 C引脚和中断引脚。只要条件允许可靠的I 2 C通信,就可以将设备与主机微控制器保持任何距离。取决于电路板布局和环境EMI,串行时钟(SCL)以400 kHz运行时,通常三英尺是可靠的距离,而100 kHz SCL则可以达到九英尺或更长。 但是,重要的是要在活跃的环境中进行测试,以确保环境条件或EMI对距离没有明显影响。 子节点的中断检测器件在引脚13上支持低电平有效中断输出,但是如果不需要中断功能,则可以将引脚13配置为第九个GPIO。可以将中断配置为在任何输入引脚转换时变为低电平。这样,无需轮询MAX7315A,即可使主机微控制器了解子节点的活动。启用中断功能后,任何配置为输入并启用了中断的GPIO都将用作中断输入。在任何配置为中断的GPIO的状态发生任何变化时,引脚13都会变为低电平,以向主机微控制器发出更改信号。然后,主机微控制器读取MAX7315A的状态,以确定哪个GPIO改变了状态。 此过程可防止将中断扩展功能用于GPIO使用端口扩展器,这不仅在IIoT中而且对于需要中断以提高固件运行效率的微控制器系统都是至关重要的。 更改MAX7315A的配置之前,应禁用中断功能,以免产生错误的中断。 尽管MAX7315A可以在2V至3.6V的电源下工作,但GPIO仍可承受5.5V的电压。这使GPIO与标准逻辑电平兼容,包括2.0伏,3.6伏和5.0伏数字系统。每个配置为漏极开路输出的GPIO均可在逻辑高电平下提供高达50毫安(mA)的电流。输出可以绑在一起,以增加输出电流。这使得MAX7315A适用于大电流LED指示器和键盘背光。 子节点产生PWMMAX7315A还允许可编程的PWM输出,而无需主机微控制器的干预。内部32 kHz振荡器用作PWM波形的时基。与预分频器类似,4位主强度设置可配置从0到15的所有输出的可用32 kHz PWM强度。每个GPIO的每个PWM输出波形均分为15个时隙。主强度设置确定可用于PWM生成的插槽数量。每个单独的GPIO都有自己的单独的强度寄存器,该寄存器用于设置活动插槽中波形的占空比。最好通过一个使用单个GPIO引脚的输出波形的示例进行解释(图2)。 PWM主站强度可以设置为0到15,其中15表示所有15个插槽都可用。主强度为零表示所有GPIO均禁用PWM生成,因此关闭32 kHz时钟以节省功耗。 每个单独的GPIO可以将PWM占空比强度配置为1至16,其中16是100%占空比,将插槽设置为逻辑高电平。 为了进一步提高灵活性,每个GPIO都有一个极性位,可以反转PWM波形。图2显示了该GPIO的极性位设置为1的波形。图3中的PWM波形显示了与图2相同的GPIO,具有相同的主强度和占空比强度,但极性位被清除为0。 在子节点上扩展功能对于更复杂的子节点,Maxim Integrated提供MAX7301AAX + T端口扩展器,具有多达28个GPIO。MAX7301AAX通过标准的四引脚SPI接口与IIoT端点中的主机微控制器接口(图4)。它还支持高电平有效中断功能,作为P31的替代功能。MAX7315AAX可以配置为在一个或多个GPIO的状态改变时产生一个中断,并返回到主机微控制器。这样,在一个中断驱动的系统中,仅使用五条控制线即可控制子节点中的27个GPIO:四条SPI控制线和一条中断线。 结论随着设计人员扩展IIoT端点的物理范围,控制子节点可能是一个挑战,因为在多英尺的距离上扩展多条控制线会产生EMI,布局和电路复杂性问题。通过使用端口扩展器控制中断驱动系统中的子节点,开发人员可以简化电路板布局并提高可靠性,同时为IIoT端点添加重要功能。 |
只有小组成员才能发言,加入小组>>
物联网工程师必备:怎么选择不同的无线连接技术,本指南帮你忙!
3398 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
4074 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3539 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
4132 浏览 1 评论
20803 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
970浏览 2评论
1485浏览 2评论
1212浏览 1评论
1424浏览 1评论
534浏览 1评论
电子发烧友网
电子发烧友开云(中国)官方