在物聯(lián)網(wǎng)應(yīng)用產(chǎn)品以及兩大熱門(mén)物聯(lián)網(wǎng)無(wú)線應(yīng)用NB-IOT和LORA開(kāi)發(fā)過(guò)程中,工程師們都會(huì)遇到一些常用總線,包括SPI, I2C, CAN, RS485, UART, RS232等,其中前4類(lèi)總線涉及多結(jié)點(diǎn)通信,而后兩者涉及雙結(jié)點(diǎn)通信。由于缺乏適當(dāng)?shù)墓ぞ?,工程師們常用的做法是在被調(diào)試的結(jié)點(diǎn)中插入一些調(diào)試打印語(yǔ)句,以求了解通信內(nèi)容。然而,此舉有顯而易見(jiàn)的缺憾:1. 手段原始,對(duì)總線上真正的通信過(guò)程缺乏掌控;2. 定位錯(cuò)誤相當(dāng)困難,很難判定問(wèn)題是由總線硬件、底層軟件或是應(yīng)用層軟件引起的;3. 插入調(diào)式打印語(yǔ)句可能導(dǎo)致時(shí)序改變,影響正常運(yùn)行。上述缺憾使得產(chǎn)品開(kāi)發(fā)成為工程師們的噩夢(mèng)--冗長(zhǎng)、乏味、并且因缺乏客觀的判斷依據(jù)而常常被誤導(dǎo)。
于是,多總線數(shù)據(jù)嗅探器MBS(Multi-Bus Sniffer)橫空出世了。MBS由本體、多個(gè)探頭組件等構(gòu)成,其使用場(chǎng)景如下圖所示。
MBS目前已支持SPI、I2C、CAN、RS485、UART以及RS232等6種總線,隨著時(shí)間的推移,MBS將支持更多的總線;MBS由USB供電,MBS內(nèi)部實(shí)現(xiàn)完全隔離,對(duì)相關(guān)總線上的原有信息流動(dòng)不產(chǎn)生任何影響;
上位軟件MBS-Plus運(yùn)行在Windows 7操作系統(tǒng)下。其主要功能如下:
l 與MBS保持連接并接收采集到的總線數(shù)據(jù),并保存到文件中
l 設(shè)置待測(cè)總線的相關(guān)參數(shù)
l 對(duì)接收到的數(shù)據(jù)進(jìn)行解碼,并提供給用戶每個(gè)數(shù)據(jù)包的相關(guān)信息,包括精確到微秒的時(shí)標(biāo),傳輸數(shù)據(jù)的通道名稱,數(shù)據(jù)包內(nèi)容以及長(zhǎng)度等信息
l 對(duì)采集到的數(shù)據(jù)包進(jìn)行后續(xù)處理,包括基于各種特征的搜索和檢索等
l 可將采集數(shù)據(jù)通過(guò)UDP包進(jìn)行廣播或點(diǎn)對(duì)點(diǎn)發(fā)送,提供對(duì)采集數(shù)據(jù)的二次應(yīng)用開(kāi)發(fā)
產(chǎn)品的特點(diǎn):
l 簡(jiǎn)約:產(chǎn)品采用N合一模式進(jìn)行設(shè)計(jì),采用可熱插拔的探頭組件,不用退出程序,不用拔下USB插頭就可以從對(duì)一個(gè)總線的數(shù)據(jù)采集變換成對(duì)另一個(gè)總線的數(shù)據(jù)采集;
l 智能識(shí)別:對(duì)所用探頭進(jìn)行智能識(shí)別,在用錯(cuò)探頭的情況下給出警告和提示
l 內(nèi)容客觀全面;所得到的就是總線上實(shí)際進(jìn)行的通信的全部?jī)?nèi)容;出現(xiàn)與預(yù)期不符的內(nèi)容時(shí)很容易定位問(wèn)題點(diǎn),由此帶來(lái)巨大的確定性;
l 旁觀者角色:只對(duì)既有的通信進(jìn)行窺探,不注入任何新的通信內(nèi)容,也不對(duì)既有通信內(nèi)容進(jìn)行任何改變,不會(huì)對(duì)既有通信的時(shí)序產(chǎn)生任何影響;
l 智能分析:各種形式的事后分析手段方便從一大堆數(shù)據(jù)中尋找感興趣的內(nèi)容,簡(jiǎn)化調(diào)試過(guò)程,使產(chǎn)品開(kāi)發(fā)過(guò)程不再冗長(zhǎng)、乏味,而是變得易于掌控和有趣,開(kāi)發(fā)效率成N倍增加。