張守坤+項(xiàng)一丹
摘要:隨著工業(yè)科技的發(fā)展,生產(chǎn)規(guī)模逐漸擴(kuò)大,人力已經(jīng)無(wú)法滿足需求,使得在一些大型自動(dòng)化控制設(shè)備中需要實(shí)時(shí)監(jiān)控,引用分布式控制。分布式控制系統(tǒng)因其具有控制分散和管理集中的顯著特點(diǎn)被作為當(dāng)今工業(yè)過(guò)程控制領(lǐng)域的主要控制系統(tǒng)之一。由于分布不集中、集成難度大,分布式控制系統(tǒng)可以很好地解決這些問(wèn)題。介紹了一種基于CC251藍(lán)牙芯片控制的分布式系統(tǒng),系統(tǒng)以一顆CC2541芯片作為主機(jī),其他分布式控制節(jié)點(diǎn)采用從機(jī)模式,它主要負(fù)責(zé)處理數(shù)據(jù)、運(yùn)行控制算法,控制執(zhí)行部件。
關(guān)鍵詞:分布式控制;CC2541;主機(jī);從機(jī)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)34-0027-02
1 概述
分布式控制系統(tǒng)隨著計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)通訊技術(shù)的不斷發(fā)展,已經(jīng)廣泛應(yīng)用于大型的生產(chǎn)制造工作中,是先進(jìn)制造技術(shù)與信息化技術(shù)相結(jié)合的典型應(yīng)用實(shí)例。藍(lán)牙屬于近場(chǎng)通訊,應(yīng)用場(chǎng)合一般為室內(nèi)等近距離通信,因此我們使用PCB天線,相較于陶瓷天線來(lái),PCB天線具有傳輸距離遠(yuǎn)的優(yōu)點(diǎn)。藍(lán)牙通信協(xié)議使用的是協(xié)議棧BLE-CC254x-1.4.0。
標(biāo)準(zhǔn)藍(lán)牙技術(shù)是一種“面向連接”的無(wú)線技術(shù),具有固定的連接時(shí)間間隔,因此是移動(dòng)電話連接無(wú)線耳機(jī)等高活動(dòng)連接的理想之選。相反,藍(lán)牙低能耗技術(shù)采用可變連接時(shí)間間隔,這個(gè)間隔根據(jù)具體應(yīng)用可以設(shè)置為幾毫秒到幾秒不等。另外,因?yàn)锽LE技術(shù)采用非??焖俚倪B接方式,因此平時(shí)可以處于“非連接”狀態(tài)(節(jié)省能源),此時(shí)鏈路兩端相互間只是知曉對(duì)方,只有在必要時(shí)才開(kāi)啟鏈路,然后在盡可能短的時(shí)間內(nèi)關(guān)閉鏈路。
CC2541是一款針對(duì)Bluetooth低功耗以及私有2.4GHz應(yīng)用的功率優(yōu)化的真正片載系統(tǒng)(SoC)解決方案。它使得使用低總體物料清單成本建立強(qiáng)健網(wǎng)絡(luò)點(diǎn)成為可能。CC2541將領(lǐng)先RF收發(fā)器的出色性能和一個(gè)業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051MCU、系統(tǒng)內(nèi)可編程閃存存儲(chǔ)器、8KBRAM和很多其他功能強(qiáng)大的特性和外設(shè)組合在一起。
藍(lán)牙通信通過(guò)射頻電路將信號(hào)發(fā)射出來(lái),從機(jī)接收信號(hào),進(jìn)行解碼,然后執(zhí)行相應(yīng)的硬件動(dòng)作,從而達(dá)到了主機(jī)發(fā)布命令,從機(jī)接收命令,執(zhí)行動(dòng)作,上傳信號(hào),通知主機(jī)目前狀態(tài)。藍(lán)牙主機(jī)主要執(zhí)行任務(wù)調(diào)度以及任務(wù)分配,和完成一個(gè)任務(wù)需要的流程,以及檢測(cè)各個(gè)子機(jī)狀態(tài)已確保發(fā)布任務(wù)是否會(huì)沖突,子機(jī)主要負(fù)責(zé)完成相應(yīng)的硬件動(dòng)作任務(wù)以及回傳相應(yīng)的狀態(tài)的信息,完成動(dòng)作的算法。通過(guò)主機(jī)發(fā)送任務(wù)信號(hào),子機(jī)通過(guò)射頻電路接收到主機(jī)發(fā)送的命令,執(zhí)行相對(duì)應(yīng)的硬件動(dòng)作,達(dá)到分布式控制的目的。
2 系統(tǒng)設(shè)計(jì)
系統(tǒng)主機(jī)為TI公司的CC2541芯片以及外設(shè)構(gòu)建的主機(jī)模式,從機(jī)同樣是由CC2541為核心芯片構(gòu)建的從機(jī)模式,通過(guò)RF電路,將信號(hào)輻射成電磁波,子機(jī)接收到已經(jīng)綁定的設(shè)備發(fā)送的信號(hào),就可以執(zhí)行相應(yīng)的動(dòng)作,如圖1所示。
2.1 CC2541連接
CC2541在沒(méi)有配對(duì)綁定的情況下,一直處于廣播狀態(tài),等到主機(jī)發(fā)送連接請(qǐng)求,從機(jī)接收到連接請(qǐng)求之后,發(fā)送掃描相應(yīng)到主機(jī),主機(jī)發(fā)送一個(gè)連接請(qǐng)求,和從機(jī)進(jìn)行配對(duì)綁定。主機(jī)可以對(duì)從機(jī)的藍(lán)牙名和服務(wù)進(jìn)行過(guò)濾,,過(guò)濾掉一些不是在整個(gè)系統(tǒng)網(wǎng)絡(luò)中的設(shè)備,導(dǎo)致發(fā)送命令之后,對(duì)應(yīng)的子機(jī)沒(méi)有動(dòng)作響應(yīng),出現(xiàn)錯(cuò)誤現(xiàn)象。所以在配對(duì)過(guò)程中,主機(jī)會(huì)過(guò)濾掉一些其他設(shè)備,保證在整個(gè)網(wǎng)絡(luò)系統(tǒng)中都是在設(shè)計(jì)的環(huán)境中的設(shè)備。
在整個(gè)設(shè)備初始的過(guò)程中,設(shè)備會(huì)對(duì)硬件進(jìn)行一系列初始化,還會(huì)對(duì)連接過(guò)程進(jìn)行初始化,會(huì)進(jìn)行連接參數(shù)設(shè)置,包括藍(lán)牙設(shè)備名稱、藍(lán)牙發(fā)射功率、藍(lán)牙最大連接數(shù)、藍(lán)牙在未連接的狀態(tài)下的超時(shí)時(shí)間、藍(lán)牙設(shè)備連接時(shí)間、藍(lán)牙設(shè)備要執(zhí)行動(dòng)作的優(yōu)先級(jí)順序。在整個(gè)藍(lán)牙連接過(guò)程中,藍(lán)牙從機(jī)從未連接的狀態(tài)變成已連接的狀態(tài),在設(shè)備發(fā)生連接綁定的過(guò)程之后,設(shè)備不會(huì)被發(fā)現(xiàn),只有主動(dòng)斷開(kāi)連接,設(shè)備才會(huì)重新被發(fā)現(xiàn),可以進(jìn)行下一次的連接。藍(lán)牙設(shè)備在被發(fā)現(xiàn)和到連接的狀態(tài),時(shí)間很短這就可以保證每一次設(shè)備關(guān)機(jī)之后,設(shè)備斷開(kāi)連接之后,在新一次開(kāi)機(jī)后,設(shè)備又會(huì)被快速連接,在設(shè)備連接成功之后,就可以執(zhí)行分布式控制的任務(wù)。藍(lán)牙設(shè)備的連接工程如圖2所示。
2.2 CC2541操作系統(tǒng)
CC2541是采用的OSAL類操作系統(tǒng)執(zhí)行任務(wù)的調(diào)度分配,osal包括任務(wù)、事件、消息機(jī)制、回掉函數(shù)、HAL。一臺(tái)設(shè)備中有多個(gè)任務(wù),一個(gè)任務(wù)中有16個(gè)事件,消息用于不同任務(wù)之間的傳遞。SimpleBLEPeripheral工程中從底層的LL層到應(yīng)用的Application層,一共分為有12個(gè)任務(wù),每個(gè)任務(wù)會(huì)分配一個(gè)事件管理的變量,變量統(tǒng)一存在。其中,越底層的優(yōu)先級(jí)越高,應(yīng)用層的優(yōu)先級(jí)是最低的。在應(yīng)用層可以添加各種自定義的動(dòng)作,來(lái)滿足程序的設(shè)計(jì)要求,滿足系統(tǒng)的控制要求,使得硬件完成指定動(dòng)作。
2.3 CC2541軟件流程
CC2541的軟件流程是基于OSAL操作系統(tǒng),遍歷所有的任務(wù),查看是否有事件發(fā)生,然后執(zhí)行相應(yīng)的動(dòng)作。在Osal系統(tǒng)初始化完畢之后,可以對(duì)整個(gè)系統(tǒng)中的人物執(zhí)行操作,執(zhí)行事件,在整個(gè)系統(tǒng)中沒(méi)有任何事件執(zhí)行的時(shí)候,系統(tǒng)會(huì)自動(dòng)進(jìn)入休眠狀態(tài),知道外部喚醒整個(gè)系統(tǒng)。外部中斷喚醒系統(tǒng),通過(guò)HAL層檢測(cè)到了按鍵,osal會(huì)自動(dòng)將按鍵信息打包,通過(guò)消息的形式發(fā)往引用層,最終在引用層對(duì)案件進(jìn)行處理,喚醒系統(tǒng)。如圖4所示。
3 系統(tǒng)實(shí)現(xiàn)
整個(gè)系統(tǒng)以CC2541為主控芯片,以及一系列外設(shè)輔助完成。在整個(gè)系統(tǒng)中,主機(jī)主要負(fù)責(zé)任務(wù)的分配,讓相應(yīng)的子機(jī)完成對(duì)應(yīng)的動(dòng)作。子機(jī)主要處理硬件驅(qū)動(dòng)方案、控制算法、返回控制命令到主機(jī)以及接收主機(jī)發(fā)送的命令。主機(jī)和子機(jī)之間的消息發(fā)送通過(guò)RF電路,發(fā)送和接收指令,以達(dá)到整個(gè)系統(tǒng)的設(shè)計(jì)功能。在整個(gè)系統(tǒng)中,主機(jī)和子機(jī)之間沒(méi)有用實(shí)際的信號(hào)線進(jìn)行連接,而是用電磁信號(hào)進(jìn)行連接,在整個(gè)設(shè)計(jì)中能夠減少很多由線路帶來(lái)的問(wèn)題。
4 結(jié)束語(yǔ)
在整個(gè)分布式控制系統(tǒng)中,傳統(tǒng)方式主要是用can總線,can總線在整個(gè)工業(yè)設(shè)計(jì)中經(jīng)過(guò)長(zhǎng)時(shí)間的使用,穩(wěn)定性非常高,但是在較大的分布式空間中,需要布can總線,也是比較麻煩,采用射頻電路會(huì)減少很多布線的問(wèn)題,會(huì)在很大的空間上能夠很穩(wěn)定的信號(hào)傳輸,在現(xiàn)代硬件智能化時(shí)代,藍(lán)牙設(shè)備使用的次數(shù)越來(lái)越多,使用范圍越來(lái)越廣。用藍(lán)牙通信做分布式控制是一個(gè)比較好的解決大空間分布式控制的方案。
參考文獻(xiàn):
[1] 李子強(qiáng). 分布式數(shù)字廣播系統(tǒng)的設(shè)計(jì)[J/OL]. 機(jī)電工程技術(shù),2017(S2):353-356.
[2] 曲祉雙. 基于ARM的分布式控制系統(tǒng)控制器的硬件設(shè)計(jì)[D].哈爾濱理工大學(xué),2017.
[3] 李有文,余建華,胡琳. 基于CC2541藍(lán)牙技術(shù)的雙向防丟器設(shè)計(jì)[J]. 機(jī)械工程與自動(dòng)化,2016(4):194-195+197.
[4] 吳釗炯. 基于CC2541的藍(lán)牙電子標(biāo)簽的設(shè)計(jì)[J/OL]. 機(jī)電工程技術(shù),2016,(Z1):67-70.
[5] 許毅強(qiáng),樊明輝,王量弘. 基于藍(lán)牙4.0的心電信號(hào)采集和處理系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016,16(7):57-59.
[6] 王旭東,朱蘊(yùn)璞. 基于ARM多處理器的CAN總線分布式控制系統(tǒng)設(shè)計(jì)[J]. 國(guó)外電子測(cè)量技術(shù),2015,34(5):52-55.
[7] 費(fèi)繼友,冷萬(wàn)龍,白鑫. 基于CAN總線的ARM分布式數(shù)控系統(tǒng)的設(shè)計(jì)[J]. 數(shù)字技術(shù)與應(yīng)用,2010(10):67-69.
[8] 張巖,馬旭東,張?jiān)品? ARM與DSP的SPI通信設(shè)計(jì)實(shí)現(xiàn)[J]. 工業(yè)控制計(jì)算機(jī),2008(9):56-57+66.