||
Air8000工业引擎通过硬件集成、功耗优化及LuatOS开放生态,为工业物联网、智慧交通、智能家居、资产追踪等等行业应用提供“高可靠+低门槛”的工业级解决方案。
本文针对社群工程师朋友反馈,特别分享Air8000的GPIO使用注意事项及设计要点。
是的,目前新固件使用LuatIO工具(可视化GPIO复用初始化配置工具),配置起来更简单。Air8000工业引擎模块共支持51个GPIO,且有多重复用功能,可根据实际应用进行选择配置。
Air8000最新LuatOS固件:https://docs.openluat.com/air8000/luatos/firmware/
LuatIO工具使用教程详见:https://docs.openluat.com/air8000/common/luatio/
举个例子:需要35管脚复用为GPIO27,可以如下配置:
WAKEUP没有GPIO号,在软件上可以用gpio.WAKEUP0,gpio.VBUS,gpio.PWRKEY,gpio.WAKEUP6表示。
比如:
Air8000工业引擎的GPIO口根据特性分为几种类型:普通IO、AGPIO、AGPIOWU、GPIOA、Wakeup IO,不同特性的GPIO在驱动能力以及低功耗模式/PSM+模式下的表现有较大区别,使用时需注意。
GPIO功能特性详见:
https://docs.openluat.com/air8000/luatos/hardware/design/gpio/
普通GPIO以及相应的电压域VDD_EXT在低功耗模式时,会输出频繁百ms级别的高脉冲,极易导致连接的外设误动作。
原因解析:
Air8000的低功耗模式特性,VDD_EXT在低功耗模式状态下会关闭。但是Air8000系统在低功耗模式的整个时期内,并不是一直保持稳定低功耗模式状态,需要不定时唤醒起来与4G网络交互以保持网络连接。
因此,VDD_EXT会随着模块唤醒而打开。而大部分普通GPIO默认是i&PU状态,就会被VDD_EXT拉高,导致输出高脉冲。
设计建议:
对于需要低功耗模式状态下正常工作的外设的控制(比如LED控制),不建议使用普通GPIO,可以使用AGPIO。
由于AGPIO数量有限,在必须用普通GPIO的情况下,可以在普通GPIO上做外接10K电阻下拉(如下图R23):
可以大幅减小低功耗模式时输出的高脉冲幅值,使其减小到外设的高电平判别门限以下,也可以避免误动作的情况。但是相应的在某些情况下,会增加功耗,请根据实际情况酌情做出选择。
今天的内容就分享到这里了~