• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32的物聯(lián)網(wǎng)系統(tǒng)的設(shè)計(jì)

      2015-05-15 10:22:56賴樹明楊卓鑫張麗娟韓清濤
      電子測試 2015年8期
      關(guān)鍵詞:發(fā)送數(shù)據(jù)流程圖中斷

      賴樹明,楊卓鑫,張麗娟,韓清濤,任 斌

      (1、東莞理工學(xué)院 電子工程學(xué)院,廣東東莞,523808; 2、東莞理工學(xué)院 計(jì)算機(jī)學(xué)院,廣東東莞,523808)

      0 引言

      現(xiàn)在很多物聯(lián)網(wǎng)的設(shè)計(jì)比較簡單,接口比較單一,沒有多樣化,這樣在很多復(fù)雜的工業(yè)場合,比如很多工業(yè)場合會(huì)用不同的接口連接,但由于物聯(lián)網(wǎng)的一些設(shè)計(jì)比較單一,所以需要更換或者再另外買進(jìn)或者研發(fā)一些適合的通信技術(shù),因此大大地增加了不便和投資成本。為了適應(yīng)不同的工業(yè)現(xiàn)場和降低投資的成本,我們研究了一款基于STM32設(shè)計(jì)的物聯(lián)網(wǎng)開發(fā)應(yīng)用系統(tǒng),該系統(tǒng)中聚集了RFID、傳感技術(shù)和多樣化接口的無線和有線通信技術(shù),根據(jù)不同的工業(yè)現(xiàn)場環(huán)境選擇性的接入相應(yīng)的通信接口,這樣在不同的工業(yè)環(huán)境不需要重新研發(fā)相對應(yīng)的通信技術(shù)。這樣集成化的方式減少了大量的財(cái)力和物力,使物聯(lián)網(wǎng)技術(shù)得到更好的發(fā)展和應(yīng)用。

      1 系統(tǒng)的總體設(shè)計(jì)

      該物聯(lián)網(wǎng)系統(tǒng)采用STM32作為控制芯片,綜合應(yīng)用了Zigbee、WIfi、GSM、藍(lán)牙、以太網(wǎng)、CAN總線、RS485、RS232、USB等有線和無線通信技術(shù)及RFID身份識別技術(shù)。系統(tǒng)的整體

      通過各類傳感器和RFID對工業(yè)現(xiàn)場數(shù)據(jù)進(jìn)行采集,再根據(jù)實(shí)際環(huán)境通過按鍵中斷選擇如上圖所示左邊的zigbee、wifi、以太網(wǎng)等傳送方式傳送到STM32處理,不同的通信模式數(shù)據(jù)將劃區(qū)域的存放到falsh中,再通過按鍵中斷選擇wifi、以太網(wǎng)、框架圖如下圖1所示:USB模式將有效的flash區(qū)域的數(shù)據(jù)傳送至PC機(jī)處理和控制;整個(gè)過程的通信模式都會(huì)通過液晶屏顯示出來。

      圖1 系統(tǒng)的整體框架圖

      2 系統(tǒng)硬件設(shè)計(jì)

      2.1 總體硬件框圖

      在上圖2中控制單元采用STM32F103XX基本型系列。它使用高性能的ARM CortexM3 32bit的RISC內(nèi)核,內(nèi)置高速存儲(chǔ)器,工作頻率為72MHZ,CPU能以零等待周期訪問,豐富的增強(qiáng)型外設(shè)和I/O口連接到兩條APB外設(shè)。所有型號器件都包含1個(gè)12bit的ADC和3個(gè)通用的16bit定時(shí)器,還包含標(biāo)準(zhǔn)的通訊接口;2個(gè)IIC,2個(gè)SPI和3個(gè)USART。在上述硬件框圖中STM32是通過IO口模擬時(shí)序來控制CAN總線收發(fā)器和RFID存儲(chǔ)模塊;通過內(nèi)部的SPI通信接口與以太網(wǎng)模塊和flash存儲(chǔ)模塊通信;通過內(nèi)部的USART通信接口與RS485、GPRS、zigbee等模塊通信??梢钥闯鰏tm32的內(nèi)部通信接口是不夠用的,因此通過74HC573鎖存器將其分時(shí)段的應(yīng)用。

      3 軟件的設(shè)計(jì)

      軟件采用C語言編寫,在keil環(huán)境下開發(fā),應(yīng)用STM32將各個(gè)通信模塊方式匯集起來。

      3.1 總體的軟件流程圖

      如圖3所示,開始工作時(shí),MCU的時(shí)鐘自動(dòng)設(shè)置并設(shè)置外部中斷,然后檢測外部中斷,若有外部中斷,則根據(jù)外部中斷設(shè)定進(jìn)行總線選擇性的初始化,然后根據(jù)初始化將采集進(jìn)來的數(shù)據(jù)存放到對應(yīng)的Flash數(shù)據(jù)區(qū)域,然后再將Flash中的數(shù)據(jù)讀出傳輸?shù)絇C機(jī)上,傳送完畢接著等待下一次外部中斷的發(fā)生。若沒有中斷發(fā)生,則根據(jù)初始化將采集進(jìn)來的數(shù)據(jù)存放到對應(yīng)的FLASH數(shù)據(jù)區(qū)域,并根據(jù)初始化將數(shù)據(jù)從FLASH中讀出傳輸?shù)絇C機(jī)中,然后回到判斷是否有外部中斷,并進(jìn)行循環(huán)。

      圖3 總體的軟件流程圖

      圖2 總體硬件框圖

      3.1.1 zigbee協(xié)調(diào)器的軟件流程圖

      如圖4所示,zigbee協(xié)調(diào)器工作時(shí),先上點(diǎn)激活,然后開始信道主動(dòng)掃描,檢查是否收到信標(biāo)幀,若收到,則監(jiān)聽信標(biāo)幀,并選擇父節(jié)點(diǎn)入網(wǎng),選擇之后發(fā)送入網(wǎng)請求,若收到入網(wǎng)回復(fù),則建立新子節(jié)點(diǎn),意味著入網(wǎng)成功,若沒有收到入網(wǎng)回復(fù),則判斷是否有沒申請的父節(jié)點(diǎn),如果有則重新監(jiān)聽信標(biāo)幀,若沒有則入網(wǎng)失敗,所申請父節(jié)點(diǎn)作為冗余節(jié)點(diǎn)進(jìn)入休眠模式;若之前沒有收到信標(biāo)幀,則信道掃描變?yōu)楸粍?dòng)模式,然后建立網(wǎng)絡(luò),如果收到入網(wǎng)請求,自動(dòng)判斷地址空間是否滿了,如果滿了,則沒有地址空間,加入新子節(jié)點(diǎn)失敗,若地址空間沒有滿,則分配地址,并回復(fù)入網(wǎng)請求,回復(fù)成功后允許子節(jié)點(diǎn)入網(wǎng)。

      3.1.2 zigbee節(jié)點(diǎn)軟件流程圖

      如圖5所示,開始工作時(shí),設(shè)備自動(dòng)初始化,之后通過zigbee協(xié)調(diào)器的工作申請加入zigbee網(wǎng)絡(luò),若加入之后與協(xié)調(diào)器綁定,就可以周期性發(fā)送數(shù)據(jù)。

      3.1.3 以太網(wǎng)模塊的軟件流程圖

      如圖6所示,工作時(shí),ENC28J60的硬件自動(dòng)初始化,Uip協(xié)議網(wǎng)絡(luò)也開始初始化,初始化完畢,根據(jù)外部中斷判斷是否需要切換監(jiān)聽端口,如果需要,則改變監(jiān)聽端口,若不需要,則輪詢處理數(shù)據(jù)。處理數(shù)據(jù)結(jié)束,在判斷是否需要切換監(jiān)聽端口,繼續(xù)循環(huán)。

      圖4 zigbee協(xié)調(diào)器的軟件流程圖

      3.1.4 RFID的軟件流程圖

      如圖7所示,開始工作時(shí),MCU對時(shí)鐘開始配置,并對外設(shè)進(jìn)行初始化。初始化完畢,查詢串口是否有收到數(shù)據(jù),如果有,則掃描從PC接收數(shù)據(jù)緩沖區(qū),并根據(jù)收到的數(shù)據(jù)執(zhí)行命令,然后設(shè)置IOSI4443A協(xié)議,并執(zhí)行防沖突算法用來識別標(biāo)簽,接著傳輸標(biāo)簽數(shù)據(jù):如果沒有收到數(shù)據(jù),直接設(shè)置協(xié)議,接著執(zhí)行防沖突算法,最后傳輸數(shù)據(jù),傳輸數(shù)據(jù)完畢,再循環(huán)判斷查詢串口是否有收到數(shù)據(jù)。

      3.1.5 USB軟件流程圖

      如圖8所示,工作時(shí),MCU對時(shí)鐘和外設(shè)接口開始配置,并配置usb中斷,然后對usb初始化。初始化結(jié)束,判斷發(fā)送緩沖區(qū)是否有數(shù)據(jù),如果有數(shù)據(jù),則發(fā)送數(shù)據(jù),并對數(shù)據(jù)進(jìn)行處理;如果沒有,則判斷接受緩沖區(qū)是否有數(shù)據(jù),如果有,則接收數(shù)據(jù),并對數(shù)據(jù)進(jìn)行處理,如果沒有,則循環(huán)回到判斷發(fā)送緩沖區(qū)是否有數(shù)據(jù)。

      圖5 zigbee節(jié)點(diǎn)軟件流程圖

      圖6 以太網(wǎng)模塊的軟件流程圖

      圖7 RFID的軟件流程圖

      圖8 USB軟件流程圖

      3.1.6 CAN總線的軟件流程圖

      如圖9所示,開始工作時(shí),首先MCP2515初始化,并等待中斷,如果有中斷發(fā)生,則先關(guān)閉中斷,并讀取MCP2515的中斷標(biāo)志,用以判斷中斷類型,假如是發(fā)送中斷,則轉(zhuǎn)發(fā)送中斷處理子程序;假如是接受中斷,則轉(zhuǎn)接受中斷處理子程序:假如是錯(cuò)誤中斷,則轉(zhuǎn)錯(cuò)誤中斷處理子程序。之后進(jìn)行過濾匹配判斷,若不是,則進(jìn)行無效報(bào)文,如果是,則進(jìn)行處理請求,然后打開中斷允許,最后回到對MCP2515初始化循環(huán)。

      3.1.7 GSM模塊的軟件流程圖

      如圖10所示,工作時(shí),對MCU串口和GSM模塊進(jìn)行初始化,并測試TCP/IP,如果測試不成功,則再進(jìn)行測試,如果成功,進(jìn)行TCP連接,并判斷是否連接成功,如果沒有,則不斷進(jìn)行連接,直到成功。成功后等待中斷,如果有中斷發(fā)生,則先關(guān)中斷,并讀取中斷標(biāo)志,然后判斷中斷類型,如果是發(fā)中斷,則發(fā)送數(shù)據(jù);如果是接受中斷,則接受處理子程序,完畢之后,則打開中斷,并回到判斷中斷部分,進(jìn)行循環(huán)。

      3.1.8 wifi的軟件流程圖

      如圖11所示,開始工作時(shí),對WIFI進(jìn)行初始化成為服務(wù)器工作狀態(tài),然后檢查WIFI的網(wǎng)絡(luò)狀態(tài)并開始連接,接著CPU開始監(jiān)聽WIFI的數(shù)據(jù)情況,并判斷有沒有數(shù)據(jù)進(jìn)來。如果有數(shù)據(jù)進(jìn)來,則獲取數(shù)據(jù)到緩存器中,然后讀取WIFI在FLASH中的存儲(chǔ)地址并把數(shù)據(jù)存儲(chǔ)到FLASH中;如果沒有數(shù)據(jù)進(jìn)來,首先判斷是否發(fā)送數(shù)據(jù),如果不是,則再次判斷有沒有數(shù)據(jù)進(jìn)來,如果是要發(fā)送數(shù)據(jù),則先讀取FLASH的地址,然后獲取要發(fā)送的數(shù)據(jù),然后通過串口把數(shù)據(jù)發(fā)送出去,最后回到判斷有沒有數(shù)據(jù)進(jìn)來,并進(jìn)行循環(huán)。

      4 結(jié)束語

      設(shè)計(jì)的一款基于STM32設(shè)計(jì)的物聯(lián)網(wǎng)系統(tǒng),該系統(tǒng)融合了RFID、多種無線有線通信、傳感器、互聯(lián)網(wǎng)等技術(shù)。相比目前的一些物聯(lián)網(wǎng)技術(shù)在各方面都有了一定的提高,特別是通信接口方面涵蓋了多達(dá)10種有線無線通信接口,對于復(fù)雜的工作現(xiàn)場總線有了多種選擇。如何進(jìn)一步提高系統(tǒng)的抗干擾性,以滿足要求更高的場合是我們下一步的工作重點(diǎn)。

      圖9 CAN總線的軟件流程圖

      圖10 GSM模塊的軟件流程圖

      圖11 wifi的軟件流程圖

      參考文獻(xiàn)

      [1] 朱弘.物聯(lián)網(wǎng)技術(shù)的發(fā)展和在安防領(lǐng)域的應(yīng)用研究[J].技術(shù)與應(yīng)用,2010, 7(7): 31-33.

      [2] 景熙.物聯(lián)網(wǎng)概論[M].南京:東南大學(xué)出版社,2010.

      [3] Kramer G. Ethernet passive optical networks[M]. New York, USA:McGraw-Hill, 2005.

      [4] 劉堯,黃玉輝,潘華明.配電網(wǎng)電纜屏蔽層寬帶載波通信技術(shù)[J].華東電力,2007, 35(12): 60-62.

      [5] 盧新波,侯思祖.基于 GPRS的配網(wǎng)自動(dòng)化系統(tǒng)性能分析[J].電力系統(tǒng)通信,2006, 27(1): 25-27.

      [6] 杜祥嶺,劉加寧.高校物聯(lián)網(wǎng)專業(yè)與實(shí)訓(xùn)中心探析[J].遼寧工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2011,13 (04) :119-122.

      [7] 柯強(qiáng).物聯(lián)網(wǎng)專業(yè)課程建設(shè)探討[J].物聯(lián)網(wǎng)技術(shù),2012,4(01):280- 283.

      [8] 馬榮飛.融CEC一CDIO理念的物聯(lián)網(wǎng)專業(yè)高技能人才培養(yǎng)研究與實(shí)踐[J].軟件工程師,2014,6:11- 12.

      猜你喜歡
      發(fā)送數(shù)據(jù)流程圖中斷
      移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
      基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
      帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      使用IPSec安全傳輸數(shù)據(jù)
      專利申請審批流程圖
      河南科技(2016年8期)2016-09-03 08:08:22
      專利申請審批流程圖
      河南科技(2016年6期)2016-08-13 08:18:29
      寧??h村級權(quán)力清單36條
      《天津醫(yī)藥》稿件處理流程圖
      梁山县| 桓仁| 土默特左旗| 云浮市| 海安县| 鹤壁市| 泰来县| 慈利县| 隆尧县| 大庆市| 响水县| 建宁县| 长汀县| 台前县| 乌海市| 手游| 朝阳县| 论坛| 尼木县| 凤庆县| 若尔盖县| 望谟县| 綦江县| 德阳市| 上思县| 自贡市| 太和县| 通河县| 滦平县| 沾益县| 苗栗县| 宜良县| 齐河县| 霍州市| 宜州市| 定州市| 玛纳斯县| 东兴市| 绿春县| 法库县| 响水县|