<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于A(yíng)RM7的藍牙接入點(diǎn)的研究

基于A(yíng)RM7的藍牙接入點(diǎn)的研究

作者: 時(shí)間:2010-08-04 來(lái)源:網(wǎng)絡(luò ) 收藏

 1引言

本文引用地址:http://dyxdggzs.com/article/260846.htm

  在工業(yè)現場(chǎng)中,由于有些環(huán)境比較惡劣,布線(xiàn)不方便等因素可以采用藍牙無(wú)線(xiàn)通信技術(shù)來(lái)實(shí)現數據的通信。同時(shí),工業(yè)現場(chǎng)中有很多以不同方式互連的設備,其中包括非智能化簡(jiǎn)單數據連接單元 (I/O)、智能化設備 (比如智能傳感器、單回路控制器和 PLC)和監控系統 (作為 HMI使用,用于數據記錄和監控 )等。這些設備大都是以各種不同的通信協(xié)議和媒介來(lái)互連的,其中有些就可以用藍牙無(wú)線(xiàn)技術(shù)代替。本文以 AT91R40008為例,結合 BCM04藍牙模塊開(kāi)發(fā)了基于藍牙通信的工業(yè)接入點(diǎn),組建了基于藍牙通信的閥門(mén)、流量計、溫度變送器測試系統,實(shí)現了帶有藍牙通信模塊的工業(yè)設備和現有的有線(xiàn)網(wǎng)路的通信。

2藍牙技術(shù)簡(jiǎn)介

  藍牙(bluetooth)是一種短距的技術(shù),電子裝置彼此可以透過(guò)藍牙模塊而連接起來(lái),省去了傳統的電線(xiàn)。透過(guò)芯片上的無(wú)線(xiàn)接收器,配有藍牙技術(shù)的電子產(chǎn)品能夠在十公尺的距離內彼此相通,傳輸速度可以達到每秒鐘 1兆字節。同時(shí),藍牙支持設備短距離通信(一般是 10m之內)。能在包括移動(dòng)電話(huà)、 PDA、無(wú)線(xiàn)耳機、筆記本電腦、相關(guān)外設等眾多設備之間進(jìn)行無(wú)線(xiàn)信息交換。藍牙的標準是 IEEE802.15,工作在 2.4GHZ頻帶,帶寬為 1Mb/s。

  藍牙技術(shù)在工業(yè)現場(chǎng)上的應用大致可以分為四個(gè)方面:

  (1) 代替串行線(xiàn)纜。無(wú)線(xiàn)藍牙連接可以代替當前的串行線(xiàn)纜。

  (2) 結合藍牙和互聯(lián)網(wǎng)技術(shù)。利用藍牙帶來(lái)的 CPU處理能力,給設備添加更多功能,如內置的 WEB用戶(hù)接口。

  (3) 工業(yè)接入點(diǎn)。通過(guò)接入點(diǎn)將數個(gè)藍牙設備連接到傳統的有線(xiàn)網(wǎng)絡(luò )中,比如 IP網(wǎng)絡(luò )(如以太網(wǎng))或者工業(yè)現場(chǎng)總線(xiàn)網(wǎng)絡(luò )(如 Controlnet和 Profibus等)。

  (4) 無(wú)線(xiàn)傳感器和起動(dòng)器。利用藍牙來(lái)將與物理制程關(guān)系昀密切的設備 (傳感器、起動(dòng)器和簡(jiǎn)單的模擬 /數字 IO設備)連接到監控系統。

  3 的系統設計

  在工業(yè)現場(chǎng)中使用無(wú)線(xiàn)通信技術(shù)。這就要求工業(yè)設備使用藍牙功能,并能和現有的以太網(wǎng)或者工業(yè)現場(chǎng)總線(xiàn)網(wǎng)絡(luò )相連。在這里,就好像一個(gè) “電話(huà)交換機”,通過(guò)以太網(wǎng)供電設備和上位機進(jìn)行通信,以及通過(guò)無(wú)線(xiàn)方式和工業(yè)現場(chǎng)設備進(jìn)行數據交換,實(shí)現上位機對現場(chǎng)設備的數據采集、監測和控制。本文將的系統設計分為硬件體系結構和軟件設計兩個(gè)部分。下面將對這兩部分進(jìn)行具體說(shuō)明。

  3.1 硬件體系結構

  該藍牙接入點(diǎn)包含了微處理器( AT91R40008)、存儲器、藍牙通信模塊、網(wǎng)絡(luò )通信接口、串口通信等重要組成部分。在該設計中,電源使用了以太網(wǎng)供電設備,該設備除了用于網(wǎng)口通信,還提供設計中所需要的電源。該電源經(jīng)過(guò)電平轉換,為微處理器、存儲器、藍牙通信模塊等提供所需的 +3.3V和+1.8V電源。 32位的微處理器 AT91R40008通過(guò)串口 0和串口 1與串口通信部分和藍牙模塊進(jìn)行數據交換。圖 1為藍牙接入點(diǎn)的硬件框圖。下面就其具體原理進(jìn)行說(shuō)明。

  3.1.1 微處理器 AT91R40008

  AT91R40008是 Atmel AT9116的 32位的微控制器系列產(chǎn)品。它以 TDMI 處理器內核為基礎。該處理器有一個(gè)高性能 32位精簡(jiǎn)指令系統和一個(gè)高密度 16位的指令系統,同時(shí)具有較低的能耗。AT91R40008具有片上的 SRAM或 ROM、完全可編成的外部總線(xiàn)接口(EBI)、32個(gè)可編程的 I/O口、8個(gè)優(yōu)先級、4個(gè)外部中斷、2個(gè) USART及 16位的定時(shí)器/計數器等特點(diǎn)。除此之外,在內部寄存器實(shí)現對異常情況的快速處理,可以方便的進(jìn)行即時(shí)控制和應用編程。

  AT91R40008以與外部存儲器的直聯(lián)為特色,由外部 FLASH,經(jīng)過(guò)完全可編程外部總線(xiàn)接口 (EBI)、一個(gè)八位優(yōu)先向量中斷控制器,,及外部數據控制器,大大提高了處理器的即時(shí)性能。 AT91R40008使用 Atmel的高密度 CMOS技術(shù), TDMI 處理器內核結合了片上高速存儲器及其外部設備,使其具有非常強大的功能。

  微處理器部分的設計包含系統硬件的啟動(dòng)與復位,地址總線(xiàn)、數據總線(xiàn)的分配和定義,通過(guò)串行線(xiàn)對藍牙模塊的讀寫(xiě)等。

  系統由外部的 50M鐘振作為時(shí)鐘源向 cpu輸入時(shí)鐘信號。復位電路由 10uF的電容、10K的電阻及按鍵組成低電平復位電路。該復位電路可實(shí)現上電低電平自動(dòng)復位或者手動(dòng)復位。AT91R40008內部 ROM為 128K,外部昀大可擴 64M的存儲器,由于設計需要,在設計中擴展了一片 2M字節的 SST36VF160對大量的軟件程序進(jìn)行存儲。由于 AT91R40008內部包含的 SRAM已達 256K,對于數據存儲已夠用了,所以在外部沒(méi)有進(jìn)行 RAM的擴展。網(wǎng)卡芯片 AX88796通過(guò)片選線(xiàn)、中斷線(xiàn)、讀寫(xiě)信號控制線(xiàn)和地址數據總線(xiàn)和 cpu相連,實(shí)現藍牙接入點(diǎn)和上位機的網(wǎng)絡(luò )通信。AT91R40008通過(guò)串口 1實(shí)現與藍牙模塊的數據交換,通過(guò)串口 0實(shí)現和上位機之間的串口調試。

  3.1.2 FLASH存儲器 SST36VF160

  由于該系統是應用與工業(yè)現場(chǎng)以太網(wǎng)中,在軟件中必須加入相應的以太網(wǎng)規范標準,所以在系統設計中,在 cpu的外部拓展了 2M字節的 FLASH。SST39VF160是一個(gè) 1M×16的 CMOS多功能 FLASH器件,由 SST特有的高性能的 SupeRFlash技術(shù)制造而成。 SST39VF160功耗較低,工作電壓為 3.3V,具有高性能的編程功能,字編程時(shí)間為 14us?;?SST39F160的這些優(yōu)點(diǎn)選用這款 FLASH,在實(shí)踐中證明這款 FLASH能夠更方便和更低成本的滿(mǎn)足程序配置和數據存儲的要求。

  3.1.3 藍牙模塊 BCM04是滿(mǎn)足自適應的可進(jìn)行數據交換和語(yǔ)音通信的藍牙通信模塊。其體積小,為 17.5×15.0×2.3mm;工作電壓為 1.8V,功耗較低;以 UART為主接口,另有語(yǔ)音接口、 SPI接口、 PIO口等,其結構框圖如圖 2所示; BCM04內部集成了 16Kbits的 EEPROM和 4Mbits的 FLASH/ROM,具有豐富的存儲器資源。

  在設計中,使用了藍牙模塊的 UART口和微處理器 AT91R40008的串口 1相連,通過(guò)藍牙模塊向工業(yè)現場(chǎng)的無(wú)線(xiàn)設備發(fā)送和接收數據,在由 cpu,經(jīng)將數據傳送到上位機中,實(shí)現上位機對藍牙設備的訪(fǎng)問(wèn)與監控。

  3.1.4 網(wǎng)絡(luò )通信接口在設計中采用采用網(wǎng)絡(luò )接口將藍牙接入點(diǎn)接入,數據由以太網(wǎng)傳遞到上位機中,實(shí)現工業(yè)現場(chǎng)的無(wú)線(xiàn)設備和上位機的通信。網(wǎng)絡(luò )隔離器采用的是 HR61H50L,網(wǎng)卡芯片使用的是 AX88796。

  AX88796是臺灣 Asix公司推出的 NE2000兼容快速以太網(wǎng)控制器。其內部集成有 10/100 Mb/s自適應的物理層收發(fā)器和 8K×16位的 SRAM,支持 MCS-51系列、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ě) NE2000寄存器來(lái)控制 AX88796的工作狀態(tài),通過(guò)遠程 DMA FIFOs與 AX88796的內部緩存 SRAM進(jìn)行數據交換。SRAM與 MAC核之間進(jìn)行 Local DMA將數據發(fā)送至 MAC層,再經(jīng)由內部的 PHY層發(fā)送至 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)的調度器中。設備聲明報文:

  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)化提出了更高的要求。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>