对于工业物联网(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)。
图1:Maxim Integrated MAX7315A端口扩展器提供多达八个GPIO,并且可以在任何GPIO的状态改变时向主机微控制器产生中断。可通过两线制I 2 C接口访问它。(图片来源:Maxim Integrated) MAX7315A支持八个GPIO,每个GPIO可独立配置为输入或漏极开路输出。主机微控制器通过两线式I 2 C接口与MAX7315A
通信,该接口的最高工作频率为400 kHz(kHz)。根据图1 ,I 2 C总线上的设备地址由三个地址引脚AD [0:2]进行配置。该设备还可以向主机微控制器产生中断。
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)。
图2:MAX7315A具有可编程PWM发生器,该发生器利用内部产生的32 kHz时钟工作。该PWM的主强度= 2,单个GPIO占空比强度=2。(图片来源:Maxim Integrated) 主强度设置为2,因此15个插槽中只有插槽1和2可用于PWM生成,而插槽3至15的逻辑电平为零。该GPIO的各个占空比强度设置为2,因此插槽1和2中的波形的占空比为2/16 = 12.5%。
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。
图3:Maxim Integrated MAX7215A上的每个PWM GPIO都有一个极性位,用于反转波形。该PWM的主强度= 2,单个占空比强度= 2,极性位= 0,该极性反转波形。(图片来源:Maxim Integrated) 凭借这种灵活的PWM波形生成功能,MAX7315A可用于IIoT端点之外的子节点,以控制LED指示器的调光,驱动直流电机的功率晶体管以及控制螺线管和执行器。现在,主机微控制器只需要配置MAX7315A并允许其独立运行,而不是在嘈杂的工业环境中运行八条承载PWM波形的数字线路。
在子节点上扩展功能对于更复杂的子节点,Maxim Integrated提供MAX7301AAX + T端口扩展器,具有多达28个GPIO。MAX7301AAX通过标准的四引脚SPI接口与IIoT端点中的主机微控制器接口(图4)。它还支持高电平有效中断功能,作为P31的替代功能。MAX7315AAX可以配置为在一个或多个GPIO的状态改变时产生一个中断,并返回到主机微控制器。这样,在一个中断驱动的系统中,仅使用五条控制线即可控制子节点中的27个GPIO:四条SPI控制线和一条中断线。
图4:Maxim Integrated MAX7301端口扩展器具有一个SPI接口,并支持多达28个GPIO引脚,可用于输入或输出。引脚31支持作为高电平有效中断的替代功能,允许使用五个控制信号来控制27条GPIO线。(图片来源:Maxim Integrated) MAX7301AAX在2.25V至5.5V的宽电源电压范围内工作,使其与大多数数字逻辑系统兼容。GPIO可以配置为带或不带内部上拉电阻的施密特触发器输入。GPIO也可以配置为推挽输出,可吸收高达10 mA的电流。这使得MAX7301AAX适合与逻辑电平威廉希尔官方网站
接口,该逻辑电平威廉希尔官方网站
用于控制其他设备,例如工业控制器,以及系统监视和报警威廉希尔官方网站
。
结论随着设计人员扩展IIoT端点的物理范围,控制子节点可能是一个挑战,因为在多英尺的距离上扩展多条控制线会产生EMI,布局和威廉希尔官方网站
复杂性问题。通过使用端口扩展器控制中断驱动系统中的子节点,开发人员可以简化威廉希尔官方网站
板布局并提高可靠性,同时为IIoT端点添加重要功能。