菲尼克斯無線模塊
1、模塊供電。電源的穩(wěn)定性是芯片正常工作的前提。一般的模塊自帶10-22uF的電容(WIFI等可能47uF以上),在一般的穩(wěn)定電源上*是可以正常工作的,但是在融入某些電源不穩(wěn)定、包含大功率設(shè)備、感性設(shè)備的時候往往會出現(xiàn)工作不正常的現(xiàn)象。此時, 可以在模塊外部靠近電源引腳適當?shù)奶砑哟笠稽c的電容(一般zui大電流xx mA大概就用xx uF的電容就可以了),雖然這個不是硬性規(guī)定,但是我是建議在所有使用場景都添加一個電容,這就盡量為穩(wěn)定性留下余地。并且,對于電流過大的模塊(如WIFI等),不太建議控制模塊的供電來讓模塊停止工作。
2、天線。我們一般能見到的天線就是PCB天線、陶瓷天線和外置天線。對于PCB和陶瓷天線,天線上下位置是不允許布線、覆銅和金屬物件靠近的,否則天線的性能會大減,并且我建議是把天線突出PCB板外面,或者把天線部分的PCB板掏空。
3、布板。很多種類的透傳模塊用的是多排半孔,對于這種模塊大家布線就要注意:對于模塊上面無用的引腳,不要在這些引腳下面布線,實在要布線,也要做好絕緣措施,以防短路。
二、軟件:
1、 有些模塊以連線為分界點(如藍牙):連線前是AT指令狀態(tài),連線后就透傳。對于此特性的模塊,是有斷/連線檢測機制,連線前是不應(yīng)該有大量連續(xù)數(shù)據(jù)沖擊, 因為此時是AT指令狀態(tài),數(shù)據(jù)是隨機的,是否被識別為AT指令就是一個概率問題了,沖擊的數(shù)據(jù)量越大、越頻繁,誤識別的概率就越高。所以,我建議用戶的系統(tǒng)必須有連線檢測機制,連線后才發(fā)送數(shù)據(jù),斷線就只能發(fā)指令。
2、 聽某些剛接觸透傳模塊的用戶反應(yīng):“為啥透傳過去的數(shù)據(jù)(幀)不一樣?”在這里要提醒廣大用戶:a、UART本身只是一種傳輸接口,它本身沒有“幀”概念,一切數(shù)據(jù)都是原始的“數(shù)據(jù)流”,而“幀”只是用戶自己定義的一種數(shù)據(jù)分包,每個人習(xí)慣、風格、產(chǎn)品特點等都直接影響著幀格式;b、一個程序、系統(tǒng)zui重要的是時間,對于透傳模塊來說,這個時間就變得尤為重要,能以越快的速度轉(zhuǎn)發(fā)出去,響應(yīng)速度就越快,性能就越,所以一個透傳模塊必須要結(jié)合當前傳輸機制條件、以zui快轉(zhuǎn)發(fā)速度為目標來實現(xiàn)透傳功能。所以一幀數(shù)據(jù)被拆包,或者多幀數(shù)據(jù)被組包,這是很正常、合理的。
在此,我希望大家能從思想上提升一個檔次,從“數(shù)據(jù)幀”轉(zhuǎn)化為“數(shù)據(jù)流”,這樣對產(chǎn)品以后升級、更新?lián)Q代、兼容性等都有幫助。
可參考AirSync的開發(fā)文檔:AirSync開發(fā)文檔(點擊跳轉(zhuǎn))
個人總結(jié)的一些“數(shù)據(jù)流”的方法,希望幫到各位:
適用范圍
特點
不帶任何固定幀頭幀尾
數(shù)據(jù)包小、幀間隔大、固定數(shù)據(jù)包長度,
適用于出錯不影響系統(tǒng)穩(wěn)定性的場合
可靠性非常低
帶幀頭
數(shù)據(jù)包小、數(shù)據(jù)幀的長度是固定
可靠性一般,需要占用大量的時間和CPU
帶幀頭、幀尾
數(shù)據(jù)包小、間隔密
可靠性不錯,延時較低,但占用CPU較多
帶幀頭、長度(、幀尾)
數(shù)據(jù)包大小隨意、幀間隔隨意、數(shù)據(jù)包長
度隨時變化等 具有低延時、高可靠、高處理速度等特點
注意:
a、我這里所述的數(shù)據(jù)包大小,是根據(jù)要遍歷數(shù)據(jù)的多少來決定,個人認為64字節(jié)以下為小,256以上為大。
b、幀頭:一般是固定的起始字節(jié),或者部分固定部分可變。
c、幀尾:可以是固定字節(jié),也可以是校驗字節(jié)。
d、幀長度:一般指整個數(shù)據(jù)包的長度,或者是分段長度
e、為了進一步提高系統(tǒng)穩(wěn)定性,可以再添加一種“應(yīng)答、重傳”機制,當出現(xiàn)校驗錯誤等問題時可以及時的解決問題。
3、對于有協(xié)議的藍牙、WiFi之類,連接后都有個同步過程,在剛連接上的前幾秒一般不適合發(fā)送大量數(shù)據(jù),否則會影響整個連接的穩(wěn)定性。
三、AT指令:
1、經(jīng)常聽到很多人疑問:“這模塊(藍牙、WIFI等),能夠傳輸中文嗎?能夠設(shè)置中文名稱嗎?”
我先不解析,讓大家看看下面這個字符的轉(zhuǎn)換:
上圖是“中文123”這幾個字符的幾個編碼方式,都是用16進制數(shù)顯示。
大家看到紅色框框的是數(shù)字“123”的各種編碼,上面幾種全部是一樣,zui后的Unicode特別,因為它是2個字節(jié)對齊的,就算是普通的ASCII碼它也必須要2個字節(jié)表示。其實這只是各種編碼的規(guī)則不一樣,大家不必在意。
后面看看“中文”的編碼。android用的UTF-8,它是3字節(jié)表示一個文字(藍色框框),微軟的Unicode是2個字節(jié)表示一個文字(紫色框框),而具體每個編碼代表什么含義,這個我也不懂,也沒有必要去弄懂。您用android的來接收、顯示中文,那您就必須要用UTF-8來編碼;windows的就用Unicode。
到這里,大家可能還不是很明白,那下面我舉個例子來分析分析:
我要修改藍牙模塊的名稱為“中文”,指令為:AT+NAME=xxx
復(fù)制到串口助手的輸入框,勾選“16進制發(fā)送”,再點擊“發(fā)送”就OK了。(16進制一般需要每個字節(jié)之間用空格隔開)
好了, 現(xiàn)在我們在用手機搜索藍牙時就會找到名稱為“中文”的藍牙模塊了。
上面是修改名稱的方法,發(fā)送中文數(shù)據(jù)的步驟也是類似,只需要轉(zhuǎn)換為相應(yīng)的編碼發(fā)送用16進制發(fā)送就可以。
相關(guān)產(chǎn)品
免責聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責任。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。