基于MIIO模组的WiFi产品设计规范

软件设计规范

产品功能定义规范

  • 对于属性、方法、事件的命名要求明确可读,并且遵循命名规范。禁止使用如“abc”等不可读、无意义的词汇进行命名。
  • 对于属性定义,要求单个属性所代表参数独立、无歧义,不同属性间无相关性。

上下行机制规范

  • 要求属性值检测变化超过一定范围时进行上报,非必要情况下属性不要循环上报。
  • 由于属性上报机制和App订阅机制限制,同一属性上报间隔要求大于1s。
  • MCU执行下行方法出现错误使用error进行返回时,需要写明错误情况,以便定位问题。完善MCU内部错误定位逻辑。
  • MCU与模组进行通信时需遵守一问一答原则,同时MCU内部需要设置合理的超时时间,以免超时等待影响MCU正常工作。
  • 涉及服务器的上下行通信指令,需要将设备调用时间点打散,不要选择同意时间点进行通信,避免造成服务器压力峰值。

产品设计规范

WIFI指示灯

使用模组接入的WIFI产品需要定义自己的WIFI重置按键与WIFI指示灯。小米产品指示灯规范如下:

  1. 双色LED灯方案【强烈建议】
  2. 橙色指示灯和蓝色指示灯
  3. 状态 双色LED闪烁方式
  4. 等待快连中 橙灯闪烁(橙0.1s 0.2s
  5. 快连中、连网中、路由器掉线重连中 蓝灯闪烁。(蓝0.1s 0.2s
  6. 成功连接到路由器、云端掉线 蓝灯慢闪 (optional) (蓝0.2s 0.8s) 蓝灯常亮
  7. 成功连接到云端 蓝灯常亮
  8. 升级中 橙灯慢闪。(橙0.2s 0.8s

注: 成功连接到路由器与成功连接到云端通常时间很短,可以选择性区分。

  1. 单色LED灯方案【迫不得已】
  2. 颜色不指定,可根据外观选择
  3. 状态 双色LED闪烁方式
  4. 等待快连中 慢闪(亮0.2s0.8s
  5. 快连中、连网中、掉线重连中 快闪(亮0.1s0.2s
  6. 成功连接到路由器 长亮
  7. 成功连接到云端 长亮
  8. 升级中 双闪(亮0.1s0.2s0.1s0.8s

通过net命令可以查询到网络连接状态

  1. >net
  2. <uap

WIFI重置

WLAN重置是指断开当前WLAN连接,使芯片重启后处在等待块连的状态中的操作。MIIO设计规约要求必须预留一个复位按钮,按钮可以设计为以下两种中的一种:

  1. 单独的隐藏按钮(类似路由器的复位孔)

  2. 与其他按键复用

如:按钮被长按5秒后,触发设备WLAN重置操作。

通过串口命令可以重置WIFI连接,解绑用户账号的关系

  1. >restore
  2. <ok

按钮操作的上报

产品的任何实体按钮,在被按下时,可以用props命令将这一操作作为属性上报给wifi模组。button_pressed是一个保留的属性,在产品量产后能知道用户如何操作了你的设备,通常对售后很有帮助。

  1. >props button_pressed "power"
  2. <ok

硬件设计规范

串口焊孔、焊盘

为方便调试,应该在PCB主板上留有如下过孔:

  • WIFI模块的UART0 RX/TX/GND,供输出WIFI模块的调试信息。
  • WIFI模块的UART1 RX/TX/GND,供查看WIFI模块与MCU之间的通信。
  • WIFI模块的boot pin/GND,boot pin拉低上电,WIFI模块进入串口烧写模式。
  • pin与GND做成可被跳线短接的相邻过孔
  • MCU的调试输出,如果MCU提供了运行时的调试输出,应该提供相应的过孔

底板参考设计

需要参考所使用模组的尺寸规格进行模组底板设计,注意不同模组尺寸可能存在不同。
不同模组尺寸规格详见模组规格书。

模组PCB设计

  • 模组建议放在底板角落处,并且天线朝外,天线周围至少15mm内保持净空,需远离金属器件、传感器、传输高频信号的器件及高频信号走线;从位置上增加距离使得干扰源能量随距离的增加而衰减,继而减小噪声的耦合,提高天线的整体性能。
  • PCB天线下方禁止走线,并做净空处理,建议天线下方的开槽宽度离天线板边至少3mm。
  • 禁止任何物体与天线产生干涉。
  • 模组选型时,尽量不使用PCB板载天线,因为PCB板载天线受到的干扰比较大,容易把干扰源耦合进来影响天线的性能,最好使用外置天线,可以通过电缆线引出PCB板,这样板子上高频干扰信号对模组的天线性能的影响会减弱。
  • 模组周围及下方避免走高速信号,如果避开不了,建议严格按照高频信号处理规则走线,尽量做到对高速信号进行包地处理,牵扯到data或addr线时成组进行包地处理。
  • 模组所有需要供电的电源接口及上拉电源,请使用同一个电源网络,保证模组电源接口上电时序一致。
  • 模组供电建议独立电源供电。模组供电的电源芯片的选型,建议输出电流至少600mA。
  • 给模组供电电源纹波要求:发送11n MSC7的包时,电源纹波必须小于100mV;发送11b/11m的包时,电源纹波必须小于120mV。
  • 模组与CPU之间通过SDIO和UART进行通信时,最好在信号线上串联一个200欧姆电阻(阻值可以根据实际需要调整),减小驱动电流,减小干扰,同时也可以消除走线长度不一致引起的时序问题。
  • 如果在系统设计时牵扯到电机等高功率器件,则务必要把模组的电路返回路径(GND)与其它高功率器件的返回路径(GND)分离开来,通过导线把2个返回路径(GND)连接起来。
  • 不同模组由于芯片不同,存在一些不同的硬件设计要求,详细要求请参考模组规格书,更多细节请参考芯片手册等其他资料。
  • 建议产品设计完成后,对整机天线性能根据产品定义进行测试,确认天线性能是否符合整机要求。

硬件生产检查

来料检验

  • 小米模组出厂检测为全检。
  • 来料模块建议抽检。
  • 来料全检建议贴片后整板上制具(或接头)检测。这样可以避免卷带拆包、物料中转导致静电防护问题,从而带来的不良。
  • 模组静电防护级别为IC级别,产线需要有相关的静电防护测试,严禁徒手操作。

开机检查

你可以通过连接LOG输出口进行开机检查。推荐使用 CP2102 串口线。 我们提供了一个例程

RF测试

我们所有出厂模块为RF全检,如果你需要进行RF测试复测,请邮件联系我们,我们会提供相应软件包(治具另行付费需要采购)。