ATBM6441是高拓讯达公司新一代支持1T1R IEEE802.11b/g/n协议的低功耗Wi-Fi芯片。在上一代芯片的基础上,增加了更多物联网应用的外设接口,同时增大RAM空间,降低休眠功耗,更适合应用于电池供电的产品中。
ATBM6441集成了低功耗MCU处理器,可独自实现Wi-Fi网络功能,内置2Mbytes SPI Flash存储器,为嵌入式FreeRTOS系统提供高速缓存。为客户提供一套具有卓越性能,高可靠性和超长待机时间的Wi-Fi技术方案。
这里演示一下透过ATBM6441 MCU PWM来控制一个LED灯泡,实作一个简单的WiFi智能灯泡方案。
设计理念:
灯泡透过ATBM6441 WiFi的功能连上WiFi AP来存取网际网路。在ATBM6441中包含阿里云SDK可直接连上阿里云,完成provision之后就可以透过APP来控制灯泡的开关以及进阶的应用。
组件:
灯泡: LED 灯泡,包含R G B WW WC 等控制信号输入。
无线模组 : ATBM6441啰。我们利用Altobeam的EVB来使用。
ATBM6441与灯泡的接线如下。 因为我们使用RGB来控制,所以直接把WW,WC都固定PULL UP。
PIN | Light |
PIO8 | R |
PIO7 | G |
PIO6 | B |
PULL UP | WW |
PULL UP | WC |
阿里云:利用阿里云的IoT 平台,来作远端调适。
云智能APP::使用云智能APP来作WiFi autoconfig的设定。
PCB 设计确认清单:
- 天线射频设计规范
天线射频走线的参数,必须遵守50ohm阻抗的微带设计规范。射频走线不要太细,考虑到加工精度,PCB加工后射频阻抗应该控制在40ohm到60ohm之间。下图是走线设计范例。
上图中,射频线要画在表层,邻近的一层则为GND层。
W:表层的线宽
S:走线和铜箔之间的净空距离
H:表层和邻近GND层的间距
天线射频走线尽可能短且走直线,如果必须拐弯,请使用135度角或者弧形走线方式。射频走线下方需要有未被分割开的完整平面。
- 前端射频匹配电路
射频匹配电路推荐由4个器件组成拍 π型电路。如下图所示,这些匹配砌件需要尽量靠近Wi-Fi芯片。针对不同的设计,器件参数都需要进行微调。为了加强ESD保护,建议可以在靠近天线端加一个0402封装的ESD保护器件。
注意:需要在表层的射频微带线两侧加强GND屏蔽,同时尽可能多放一下过孔和下层的地平面连接。最佳的PCB设计方案是在射频线,电源线,PWR_ON控制信号线和晶体附近增加GND屏蔽,同时GND屏蔽上要多放一些过孔。
如果射频前端需要兼容IPEX座设计,IPEX座需放在天线端口和π型匹配件之间,射频线尽量短。
- E-PAD 接地焊盘上的过孔
为了增强E-PAD的接地和散热性能,推荐使用4*4 + 3*3的过孔,工艺允许的话建议6*6个阵列地过孔。如果过孔过少会直接影响射频性能和芯片工作时的温度。
- 电源管脚的去耦电容
每个电源管脚附近推荐放一个去耦电容,而且去耦电容的位置必须放置在芯片管脚和过孔之间。如果去耦电容的GND焊盘需要通过过孔连接下层的GND,过孔需要放置在GND焊盘附近。
- 电源线的设计规范
不要使用太细的电源线,电源线推荐使用和芯片一样宽度(10+/-1 mil)的走线。Pin#37 是PA供电管脚,电流比较大,此管脚的电源走线建议加粗到15~20mil,如果此电源线需要打过孔,需要12mil以上的过孔或者2个电源过孔,防止因过孔限制电流。DC/DC 等电源模块尽量远离射频走线和晶体,避免开关电源噪声对于射频输入和晶体时钟的干扰。
- 晶体布局布线
不要在晶体下面走信号线,尤其不能走PWR_ON线。
阿里云设定:
在阿里云注册一个免费帐号,进入企业物联网平台的控制台,按照阿里云内的说明新增一个产品。我这里建立了一个名为bulb的产品。这个时候会得到一个ProductKey。
之后查看bulb的内容,可以看到这个产品的一些描述,以及可以支援的功能。这里加一个RGB自定义功能,可以用来调整灯光。默认是有一个开关的功能。
然后新增几个bulb设备。
这样每个device 我们可以得到一组DeviceSecre。 接着每一组DeviceSecre转成json的格式备用。范例如下
{"product_key":"gxk7pXvSAPr", "device_name":"bulb_test1", "device_secret":"ea34368906bd67d0b98d1830c9801600"}
这样阿里云的基本设定就算是完成了。
Altobeam Iot SDK for ali
使用atbm6441_iot_sdk_for_hera_v0.2.2_ali 参考default的设定,make all 后将产出的 fw_update1.bin, fw_update2.bin 烧入到ATBM6441_EVB_Board上。
之后再把一组DeviceSecre也写入。
这样基本上就可以了。
WiFi AutoConfig:
Device以及Cloud都设定好之后,那么灯泡要怎么透过WiFi连线上网呢? 在Altobeam的IoT Firmware中有支持WiFi AutoConfig的功能。透过开关灯泡3次来驱动,进入autoconfig 模式,这个时候灯泡就会一闪一闪。接着利用云智能APP就可以把灯泡的WiFi给设定好,然后灯泡就会自动连上设定好的WiFi AP了。至于详细怎么操作,就自行下载APP ,照着APP内说明执行就行了。
阿里云调试:
当灯泡连上网路之后,aliyun sdk会自行连上阿里云,此时我们再度打开阿里云的控制平台就可以看到装置上线了。
然后就可以在线调试啦~ 这里可以看到属性调试中,有我们之前定义的功能: RGB 以及开关。当然,若能在云智能APP中新增装置成功的话,也可移直接用APP来对灯泡进行远端操作的。
这样是不是很简单。
结语:
ATBM6441 是一款高集成度的Wi-Fi芯片。包含低功耗处里器和Wi-Fi MAC层、1T1R Wi-Fi 基带、射频前端电路、Wi-Fi协议加速器、SDIO接口等其他通用外围接口以及电源管理子系统。可独自实现Wi-Fi 网络功能,降低物料成本。本Wi-Fi智能灯泡方案,即是一种Hostless的应用,利用ATBM6441就可以独自完成,电路的设计就变得很简单,而且SDK中已经整合好aliyun所需的lib,能大大缩短产品开发时程。