您好,欢迎进入恒勒工业设备(上海)有限公司网站!
全国服务热线:13621871267
恒勒工业设备(上海)有限公司
您现在的位置:首页 > 技术文章 > 菲尼克斯无线模块的使用规范

菲尼克斯无线模块的使用规范

浏览次数:3608发布日期:2017-12-06

菲尼克斯无线模块

1、模块供电。电源的稳定性是芯片正常工作的前提。一般的模块自带10-22uF的电容(WIFI等可能47uF以上),在一般的稳定电源上*是可以正常工作的,但是在融入某些电源不稳定、包含大功率设备、感性设备的时候往往会出现工作不正常的现象。此时, 可以在模块外部靠近电源引脚适当的添加大一点的电容(一般zui大电流xx mA大概就用xx uF的电容就可以了),虽然这个不是硬性规定,但是我是建议在所有使用场景都添加一个电容,这就尽量为稳定性留下余地。并且,对于电流过大的模块(如WIFI等),不太建议控制模块的供电来让模块停止工作。

 

2、天线。我们一般能见到的天线就是PCB天线、陶瓷天线和外置天线。对于PCB和陶瓷天线,天线上下位置是不允许布线、覆铜和金属物件靠近的,否则天线的性能会大减,并且我建议是把天线突出PCB板外面,或者把天线部分的PCB板掏空。

 

3、布板。很多种类的透传模块用的是多排半孔,对于这种模块大家布线就要注意:对于模块上面无用的引脚,不要在这些引脚下面布线,实在要布线,也要做好绝缘措施,以防短路。

 

二、软件:

1、 有些模块以连线为分界点(如蓝牙):连线前是AT指令状态,连线后就透传。对于此特性的模块,是有断/连线检测机制,连线前是不应该有大量连续数据冲击, 因为此时是AT指令状态,数据是随机的,是否被识别为AT指令就是一个概率问题了,冲击的数据量越大、越频繁,误识别的概率就越高。所以,我建议用户的系统必须有连线检测机制,连线后才发送数据,断线就只能发指令。

 

2、 听某些刚接触透传模块的用户反应:“为啥透传过去的数据(帧)不一样?”在这里要提醒广大用户:a、UART本身只是一种传输接口,它本身没有“帧”概念,一切数据都是原始的“数据流”,而“帧”只是用户自己定义的一种数据分包,每个人习惯、风格、产品特点等都直接影响着帧格式;b、一个程序、系统zui重要的是时间,对于透传模块来说,这个时间就变得尤为重要,能以越快的速度转发出去,响应速度就越快,性能就越,所以一个透传模块必须要结合当前传输机制条件、以zui快转发速度为目标来实现透传功能。所以一帧数据被拆包,或者多帧数据被组包,这是很正常、合理的。

在此,我希望大家能从思想上提升一个档次,从“数据帧”转化为“数据流”,这样对产品以后升级、更新换代、兼容性等都有帮助。

 

可参考AirSync的开发文档:AirSync开发文档(点击跳转)

 

个人总结的一些“数据流”的方法,希望帮到各位:


适用范围
特点

不带任何固定帧头帧尾

数据包小、帧间隔大、固定数据包长度,
适用于出错不影响系统稳定性的场合
可靠性非常低
带帧头
数据包小、数据帧的长度是固定
可靠性一般,需要占用大量的时间和CPU
带帧头、帧尾
数据包小、间隔密
可靠性不错,延时较低,但占用CPU较多
带帧头、长度(、帧尾)
数据包大小随意、帧间隔随意、数据包长
度随时变化等 具有低延时、高可靠、高处理速度等特点

注意:

a、我这里所述的数据包大小,是根据要遍历数据的多少来决定,个人认为64字节以下为小,256以上为大。

b、帧头:一般是固定的起始字节,或者部分固定部分可变。

c、帧尾:可以是固定字节,也可以是校验字节。

d、帧长度:一般指整个数据包的长度,或者是分段长度

e、为了进一步提高系统稳定性,可以再添加一种“应答、重传”机制,当出现校验错误等问题时可以及时的解决问题。

 

3、对于有协议的蓝牙、WiFi之类,连接后都有个同步过程,在刚连接上的前几秒一般不适合发送大量数据,否则会影响整个连接的稳定性。

 

三、AT指令:

1、经常听到很多人疑问:“这模块(蓝牙、WIFI等),能够传输中文吗?能够设置中文名称吗?”

我先不解析,让大家看看下面这个字符的转换:

 

上图是“中文123”这几个字符的几个编码方式,都是用16进制数显示。

大家看到红色框框的是数字“123”的各种编码,上面几种全部是一样,zui后的Unicode特别,因为它是2个字节对齐的,就算是普通的ASCII码它也必须要2个字节表示。其实这只是各种编码的规则不一样,大家不必在意。

后面看看“中文”的编码。android用的UTF-8,它是3字节表示一个文字(蓝色框框),微软的Unicode是2个字节表示一个文字(紫色框框),而具体每个编码代表什么含义,这个我也不懂,也没有必要去弄懂。您用android的来接收、显示中文,那您就必须要用UTF-8来编码;windows的就用Unicode。

 

到这里,大家可能还不是很明白,那下面我举个例子来分析分析:

我要修改蓝牙模块的名称为“中文”,指令为:AT+NAME=xxx

 

复制到串口助手的输入框,勾选“16进制发送”,再点击“发送”就OK了。(16进制一般需要每个字节之间用空格隔开)

好了, 现在我们在用手机搜索蓝牙时就会找到名称为“中文”的蓝牙模块了。

上面是修改名称的方法,发送中文数据的步骤也是类似,只需要转换为相应的编码发送用16进制发送就可以。

 

Contact Us
  • 联系QQ:1798801238
  • 联系邮箱:13621871267@163.com
  • 传真:021-56752909-605
  • 联系地址:上海市宝山区富长路1080

扫一扫  微信咨询

©2024 恒勒工业设备(上海)有限公司 版权所有  备案号:沪ICP备16044323号-2  技术支持:化工仪器网    GoogleSitemap    总访问量:339004 管理登陆