基于A(yíng)RM7的藍牙接入點(diǎn)的設計與應用

在設計中,使用了藍牙模塊的 UART口和微處理器 AT91R40008的串口 1相連,通過(guò)藍牙模塊向工業(yè)現場(chǎng)的無(wú)線(xiàn)設備發(fā)送和接收數據,在由 cpu,經(jīng)工業(yè)以太網(wǎng)將數據傳送到上位機中,實(shí)現上位機對藍牙設備的訪(fǎng)問(wèn)與監控。
3.1.4 網(wǎng)絡(luò )通信接口在設計中采用采用網(wǎng)絡(luò )接口將藍牙接入點(diǎn)接入工業(yè)以太網(wǎng),數據由以太網(wǎng)傳遞到上位機中,實(shí)現工業(yè)現場(chǎng)的無(wú)線(xiàn)設備和上位機的通信。網(wǎng)絡(luò )隔離器采用的是 HR61H50L,網(wǎng)卡芯片使用的是 AX88796。
AX88796是臺灣 Asix公司推出的 80186系列以及 MC68K系列等多種 CPU總線(xiàn)類(lèi)型。 AX88796執行基于 IEEE802.3/IEEE802.3u 局域網(wǎng)標準的 10Mb/s和100Mb/s以太網(wǎng)控制功能,并提供IEEE802.3u兼容的媒質(zhì)無(wú)關(guān)接口 MII(Media Independent Interface),用以支持在其它媒質(zhì)上的應用。 AX88796的地址總線(xiàn) SA[9:0]與數據總線(xiàn) SD[15:0]分別與 CPU的地址/數據總線(xiàn)相連。 CPU通過(guò) I/O讀寫(xiě) RJ45接口,或者經(jīng)過(guò) MII接口送至外部的物理層芯片。SEEPROM接口可以用來(lái)連接串行 EEPROM。EEPROM可用于存儲 MAC地址,供 AX88796每次初始化時(shí)讀取。
3.1.5 電源部分
電源采用的是以太網(wǎng)供電設備,該設備采用符合 802.3受電設備標準,輸出標準的 +24V,經(jīng)過(guò) LM2576-5、 AS1117-1.8和 AS1117-3.3電源芯片,電平轉換后,輸出藍牙接入點(diǎn)上的 cpu、存儲器、網(wǎng)卡芯片和藍牙模塊上所需的 1.8V和 3.3V電源。
3.1.6 串口通信
串口通信使用的是 MAX3232芯片。這里使用串口通信接口主要是為了調試藍牙模塊、 cpu和上位機之間的通信,及測試其通信性能。
3.2 軟件部分
在軟件設計部分,主要介紹一下藍牙模塊的通信原理。首先,初始化藍牙模塊,直到初始化成功。接著(zhù)對通信模塊的各個(gè)端口進(jìn)行定義。AT91R40008有 32位的 I/O口,設計時(shí)結合實(shí)際中的情況,考慮具體所用的端口,結合其他通信模塊定義這些端口。定義通信模塊端口完成以后,立即與現場(chǎng)無(wú)線(xiàn)設備進(jìn)行連接。隨后,藍牙接入點(diǎn)開(kāi)始搜索現場(chǎng)設備,并對現場(chǎng)設備進(jìn)行讀寫(xiě),接收藍牙指令并更新。其藍牙模塊的通信流程圖如圖 3。

藍牙接入點(diǎn)向本地子網(wǎng)廣播自己的設備聲明,并接收其他設備的設備聲明。初始化完后 5秒鐘內用來(lái)搜尋子網(wǎng)中的鄰居設備,搜尋完成后,開(kāi)始建立鄰居表,并把鄰居表內的其他從設備加入到無(wú)線(xiàn)調度列表中。網(wǎng)絡(luò )組建完成后,接入點(diǎn)按照確定性調度算法輪詢(xún)從設備。并把藍牙數據報文轉換成工業(yè)以太網(wǎng)的報文,放入工業(yè)
以太網(wǎng)的調度器中。設備聲明報文:
typedef struct _zgb_pkt_ann {
} zgb_pkt_ann;
信息分發(fā)報文:
typedef struct _zgb_distribute { INT8U devdesp[16]; INT8U mdata[16];
} zgb_distribute;
令牌:
typedef struct _zgb_pass_token { INT8U ans;INT8U res[3]; /⁄設備描述, 字符串 //主 or從? 0主設備; 1 從設備 //設備狀態(tài): 0設備未組態(tài) , 自由發(fā)包; //1設備已組態(tài) , 獲取令牌才能發(fā)包 /⁄保留字段
/⁄設備描述, 字符串 /⁄信息分發(fā)的內容
//確認? 0不確認 ; 1確認 /⁄保留信息
} zgb_pass_token;
藍牙接入點(diǎn)在工業(yè)現場(chǎng)中的應用
在設計中,將工業(yè)以太網(wǎng)的有線(xiàn)網(wǎng)絡(luò )與工業(yè)現場(chǎng)的無(wú)線(xiàn)設備之間建立連接,如圖 4。工業(yè)現場(chǎng)的無(wú)線(xiàn)設備通過(guò)一個(gè)藍牙專(zhuān)用的傳輸協(xié)議將數據傳輸到藍牙接入點(diǎn)。數據經(jīng)過(guò)轉換,成為工業(yè)以太網(wǎng)能夠識別和支持的格式,并傳輸到工業(yè)以太網(wǎng)中的一個(gè)發(fā)出指令請求的設備中。上位機同時(shí)可以通過(guò)以太網(wǎng)對數據進(jìn)行監控。工業(yè)現場(chǎng)的無(wú)線(xiàn)設備還可以同時(shí)與一個(gè)帶有藍牙模塊的手持設備和一個(gè)藍牙接入點(diǎn)進(jìn)行連接,對數據進(jìn)行訪(fǎng)問(wèn)和采集。

5 小結
在搭建完整個(gè)系統,并對藍牙的通信性能進(jìn)行檢測的過(guò)程中發(fā)現,藍牙模塊由于采用的是信息無(wú)線(xiàn)傳輸方式,所以在傳輸過(guò)程中干擾較大,傳輸距離也較短。工業(yè)現場(chǎng)設備安裝的環(huán)境往往比較惡劣,怎樣使藍牙設備擁有更好的穩定性、更低的功耗、更廣的工作范圍,這些對硬件設計和軟件優(yōu)化提出了更高的要求。
評論