基于ARM7的藍牙接入點的設計與應用

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

藍牙接入點向本地子網廣播自己的設備聲明,并接收其他設備的設備聲明。初始化完后 5秒鐘內用來搜尋子網中的鄰居設備,搜尋完成后,開始建立鄰居表,并把鄰居表內的其他從設備加入到無線調度列表中。網絡組建完成后,接入點按照確定性調度算法輪詢從設備。并把藍牙數據報文轉換成工業以太網的報文,放入工業
以太網的調度器中。設備聲明報文:
typedef struct _zgb_pkt_ann {
} zgb_pkt_ann;
信息分發報文:
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 從設備 //設備狀態: 0設備未組態 , 自由發包; //1設備已組態 , 獲取令牌才能發包 /⁄保留字段
/⁄設備描述, 字符串 /⁄信息分發的內容
//確認? 0不確認 ; 1確認 /⁄保留信息
} zgb_pass_token;
藍牙接入點在工業現場中的應用
在設計中,將工業以太網的有線網絡與工業現場的無線設備之間建立連接,如圖 4。工業現場的無線設備通過一個藍牙專用的傳輸協議將數據傳輸到藍牙接入點。數據經過轉換,成為工業以太網能夠識別和支持的格式,并傳輸到工業以太網中的一個發出指令請求的設備中。上位機同時可以通過以太網對數據進行監控。工業現場的無線設備還可以同時與一個帶有藍牙模塊的手持設備和一個藍牙接入點進行連接,對數據進行訪問和采集。

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