• 
    

    
    

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

      基于Web遠控的ARM數(shù)據(jù)采集系統(tǒng)研究與設計

      2016-01-18 03:52:21李建奇王文虎賀翠嫻
      自動化與儀表 2016年12期
      關鍵詞:網(wǎng)卡內(nèi)核瀏覽器

      師 凱 ,李建奇 ,2,王文虎 ,2,潘 越 ,賀翠嫻

      (1.湖南文理學院 電氣與信息工程學院,常德 415000;2.洞庭湖生態(tài)經(jīng)濟區(qū)建設與發(fā)展協(xié)同創(chuàng)新中心,常德 415000)

      隨著網(wǎng)絡技術和信息技術的日趨成熟,以太網(wǎng)在數(shù)據(jù)采集與傳輸、數(shù)據(jù)通信等眾多領域得到了廣泛的應用[1]。工業(yè)以太網(wǎng)是一種比較合適的數(shù)據(jù)采集與處理系統(tǒng)的聯(lián)網(wǎng)傳輸方式,其數(shù)據(jù)傳輸速率能夠滿足大多數(shù)的數(shù)據(jù)采集與處理系統(tǒng)的要求,傳輸距離遠,建網(wǎng)簡單方便,網(wǎng)絡協(xié)議很成熟,而且比較廉價[2]。目前,對工業(yè)數(shù)據(jù)的數(shù)據(jù)采集與處理多采用RS232或RS485等串行總線來實現(xiàn)其網(wǎng)絡化,這些方式都存在傳輸速率有限和聯(lián)網(wǎng)能力不足等缺陷,而采用工業(yè)以太網(wǎng)的數(shù)據(jù)傳輸方式研究和應用很少[3]。在此,結合工業(yè)以太網(wǎng)和嵌入式技術,提出了一種基于工業(yè)以太網(wǎng)的ARM數(shù)據(jù)采集系統(tǒng)的設計,提高了數(shù)據(jù)傳輸?shù)膶崟r性、穩(wěn)定性和可靠性[4]。

      1 系統(tǒng)總體設計

      基于工業(yè)以太網(wǎng)的ARM數(shù)據(jù)采集系統(tǒng)的總體設計如圖1所示。該系統(tǒng)以STM32F103作為主控芯片,利用定時器定時采集3路傳感器的數(shù)據(jù)[5],并通過工業(yè)以太網(wǎng)將采集的數(shù)據(jù)一方面發(fā)送到STM32F103服務器上并通過液晶屏實時顯示出來,另一方面采用遠程客戶端的Web瀏覽器輸入微處理器相對應的IP地址來訪問這些數(shù)據(jù),進而實現(xiàn)組網(wǎng)達到多點采集的功能。

      圖1 系統(tǒng)總體方案Fig.1 Overall solution architecture

      2 系統(tǒng)硬件設計

      數(shù)據(jù)采集傳輸系統(tǒng)包含以下模塊:基本應用系統(tǒng)電路,網(wǎng)卡模塊電路,人機接口電路,F(xiàn)lash存儲電路,電源模塊電路。

      2.1 基本應用系統(tǒng)

      主控芯片STM32F103ZET6具有64 kB SRAM,512kB FLASH[6]?;緫孟到y(tǒng)由晶振電路和復位電路組成(如圖2所示),分別采用8 MHz和32.768 kHz的晶振為系統(tǒng)提供不同的動力。為確保系統(tǒng)中電路穩(wěn)定可靠工作,復位電路必不可少,其第一功能是上電復位。一般控制系統(tǒng)電路正常工作需要供電電源為3.3×(1±5%)V。本電路采用上電復位和低電平復位。

      圖2 基本應用系統(tǒng)電路Fig.2 Basic application system circuit diagram

      2.2 網(wǎng)卡模塊電路

      工業(yè)中應用比較廣泛的以太網(wǎng)收發(fā)芯片種類較多,如SPI接口的ENC28J60,并口的 PTL8019S,CS8900A等。綜合考慮,本設計采用10 M ENC28J60網(wǎng)卡,ENC28J60與STM32F103網(wǎng)絡接口原理如圖3所示。

      圖3 網(wǎng)卡驅動原理Fig.3 Network card driver schematic

      以太網(wǎng)控制器ENC28J60內(nèi)部集成了MAC層和PHY層功能,支持10 Mb/s的全雙工以太網(wǎng)通信,在封裝上,該芯片只有28引腳,非常適合嵌入式設備的組網(wǎng)設計。ENC28J60在主機之間通過使用SPI串行接口與主控芯片通信,集成度高,簡單的訪問方式使得ENC28J60非常適合用于小型嵌入式設備。此外,ENC28J60內(nèi)核還集成了8 kB的SRAM用于網(wǎng)絡數(shù)據(jù)的緩沖與接收,可大大提高與控制器之間交互效率。

      STM32F103 具有 2 個 SPI串行接口,SO,SI,SCK為SPI接口的3條信號線[7],分別連接STM32的 PB14-SPI2-MISO,PB15-SPI2-MOSI,PB13-SPI2-SCK引腳上;CS是網(wǎng)卡芯片片選信號與STM32的PB12-SPI2-NSS連接;INT是中斷信號,連接到主控器STM32的PA1-EINT0-INT1上,網(wǎng)卡和主控器可以通過中斷的方式進行通信,從而完成數(shù)據(jù)的快速接收和發(fā)送。網(wǎng)卡ENC28J60的2條差分接收引腳TPIN+,TPIN-和 2條差分發(fā)送引腳 TPOUT+,TPOUT-外接在集成有以太網(wǎng)隔離變壓器和RJ45插座的HR911105A上。

      2.3 顯示模塊電路

      LCD12864作為整個系統(tǒng)的顯示部分,完整地展示了通過工業(yè)以太網(wǎng)服務器采集到的數(shù)據(jù)快速準確地到達客戶端并實時顯示出來。液晶顯示器與STM32主控器的連接方式為串行方式,減少了I/O口的使用。具體連接方式為主控器的PE3口連接液晶顯示器的片選信號、PE4口連接顯示器的數(shù)據(jù)端口、PE5口連接顯示器的時鐘信號線,顯示電路如圖4所示。

      2.4 Flash存儲電路

      采用W25Q64BV (6 Mb)串行Flash存儲器芯片。該芯片屬于E2PROM的升級版,支持標準的串行外設SPI接口的設備,在2.7~3.6 V單電源工作電流消耗低至4 mA時主動關機。該W25Q64BV陣列是由256 B組成可編程32768頁,最多256 B可以同一時間編程,在本系統(tǒng)中被用作存儲Boot loader以及操作系統(tǒng)和程序代碼,具體電路如圖5所示。

      圖4 液晶顯示電路Fig.4 Liquid crystaldisplay circuit

      圖5 FLASH存儲電路Fig.5 FLASH storage circuit

      2.5 電源模塊電路

      采用的電源幅值是5 V和3.3 V。電源原理如圖6所示,首先由電源變壓器將交流220 V電壓降為交流18 V電壓,然后由整流、濾波電路得到穩(wěn)定輸出的直流電壓,最后通過三端穩(wěn)壓管7812和7912得到±12 V電壓,再由SPX29300得到3.3 V和5 V電壓。

      圖6 電源模塊電路Fig.6 Power module

      3 系統(tǒng)軟件設計

      軟件設計部分包括嵌入式操作系統(tǒng)移植、網(wǎng)絡協(xié)議棧的移植和軟件功能開發(fā)三部分。為提高系統(tǒng)運行性能和便于擴展功能,本系統(tǒng)采用嵌入式操作系統(tǒng)μC/OS-III作為運行平臺。μC/OS-III是一個可升級的、可固化的、基于優(yōu)先級的實時內(nèi)核,屬于第3代系統(tǒng)內(nèi)核;對于任務個數(shù)無限制,支持現(xiàn)代實時內(nèi)核所必須的大部分功能,如資源管理、同步和任務間的通信等;還擁有其它實時內(nèi)核沒有的功能,如完備的運行時間測量性能,直接發(fā)送信號或者消息到任務,任務可同時等待多個內(nèi)核對象,等。

      為實現(xiàn)以太網(wǎng)通信移植了LwIP協(xié)議棧。LwIP是一種輕型IP協(xié)議,有無操作系統(tǒng)的支持都可以運行。LwIP實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎上減少對RAM的占用,只需十幾kB的RAM和40 kB左右的ROM就可以運行,因此該協(xié)議棧適合在低端的嵌入式系統(tǒng)中使用,適合工業(yè)控制領域使用。

      系統(tǒng)軟件功能設計部分主要包括:主控程序設計,協(xié)議棧初始化程序設計,數(shù)據(jù)采集子程序設計,終端顯示子程序設計和遠程控制子程序設計[8]。數(shù)據(jù)采集裝置利用配置的傳感器采集相應數(shù)據(jù),通過工業(yè)以太網(wǎng)傳輸給Web客戶端實時顯示。

      3.1 系統(tǒng)主控程序設計

      主控程序負責控制整個系統(tǒng)的運行。①定義任務控制塊和任務堆棧的大小,設計多任務之間的優(yōu)先級;②運行板載初始化程序完成設備初始化,包括系統(tǒng)時鐘初始化、I/O端口初始化、SPI初始化;③初始化μC/OS-III實時操作系統(tǒng)的內(nèi)核,內(nèi)核初始化完成后,系統(tǒng)創(chuàng)建主任務,包括任務控制指針、控制名、代碼指針、優(yōu)先級、任務堆?;刂?、堆大小等;④在主任務中創(chuàng)建3個數(shù)據(jù)采集子任務和2個數(shù)據(jù)傳輸任務并啟動操作系統(tǒng)。系統(tǒng)主控程序流程如圖7所示。

      圖7 系統(tǒng)主控程序流程Fig.7 Flow chart of the main control program of the system

      3.2 LwIP協(xié)議棧初始化

      使用LwIP協(xié)議棧前,首先應完成協(xié)議棧內(nèi)核初始化,與網(wǎng)卡相關的網(wǎng)絡接口應被注冊到內(nèi)核中,然后才可以利用網(wǎng)卡進行以太網(wǎng)通信。系統(tǒng)利用一個Lwip_init()函數(shù)來完成議棧的初始化和網(wǎng)卡信息的注冊等,操作流程如圖8所示。

      圖8 協(xié)議棧初始化流程Fig.8 Protocol stack initialization flow chart

      初始化函數(shù)包括內(nèi)存初始化函數(shù)、數(shù)據(jù)包結構初始化函數(shù)、網(wǎng)絡接口結構初始化函數(shù)、IP層初始化函數(shù)、TCP層初始化函數(shù)等。注冊網(wǎng)絡接口,需要用到最少3個IP地址參數(shù),包括網(wǎng)關IP地址、終端IP地址以及對應的子網(wǎng)掩碼。接口結構注冊通過調(diào)用函數(shù)netif_add()完成,該函數(shù)除使用上述3個IP網(wǎng)絡參數(shù)外,還將 ethernetif_init(),ethernet_input()等2個函數(shù)地址作為參數(shù)。這2個函數(shù)地址會被賦予給netif結構的相關字段,內(nèi)核通過這些字段指向的函數(shù)來完成網(wǎng)卡的初始化以及向上層遞交數(shù)據(jù)。經(jīng)過初始化后,程序可以使用網(wǎng)卡完成數(shù)據(jù)傳輸。主控程序可以讓子任務通過2種方式與網(wǎng)卡之間實現(xiàn)數(shù)據(jù)的交互,即查詢方式和中斷方式。本系統(tǒng)軟件中主要通過輪詢查詢方式的完成數(shù)據(jù)操作。

      3.3 數(shù)據(jù)采集程序設計

      數(shù)據(jù)采集一般分為模擬量參數(shù)采集與數(shù)字開關量采集2種。本系統(tǒng)中,模擬量參數(shù)的采集采用數(shù)字信號輸出的溫濕度傳感器(DHT11),以單總線的方式與處理器的GPIO口連接,定時把采集的溫度、濕度數(shù)字量傳輸?shù)絊TM32F103微處理器上進行處理。一次完整的數(shù)據(jù)傳輸過程為首先將DHT11設置為輸出模式,處理器設置為輸入模式,判斷從機是否有低電平響應信號,然后進入循環(huán)直到從機發(fā)出80 μs的高電平,處理器開始接收數(shù)據(jù),最后通過和校驗檢測讀取的數(shù)據(jù)是否正確。對連續(xù)5次采集的數(shù)據(jù)會進行一個平均值濾波處理,將平均值作為檢測值。數(shù)字開關量采集相對比較簡單,不再詳述。

      3.4 終端顯示程序設計

      LCD12864作為系統(tǒng)終端的顯示設備,具有操作簡單、人機界面友好等特點。STM32F103微處理器與液晶顯示器有串行和并行兩種通信方式。本設計采用串行通信方式,減少了GPIO口的使用。液晶顯示器與處理器通信時,首先拉高顯示器的片選信號,時鐘信號每產(chǎn)生一個下降沿數(shù)據(jù)線傳輸1 b數(shù)據(jù)信號給顯示器,當其接收到24 b數(shù)據(jù)就完成一次通信。液晶屏顯示的內(nèi)容包括數(shù)據(jù)采集的通道號,采集的溫度、濕度值,以及端口的控制顯示,極大地方便了現(xiàn)場工作人員查看信息與控制操作。

      3.5 Web遠程控制程序設計

      BSD socket是通信雙方的一種約定,用套接字中的相關函數(shù)來完成通信的過程。應用層通過傳輸層進行數(shù)據(jù)通信時,TCP會遇到同時多個應用程序進程提供并發(fā)的問題。多個TCP連接或者多個應用程序需要通過同一個TCP協(xié)議端口傳輸數(shù)據(jù)[9]。本系統(tǒng)的終端顯示采用Web瀏覽器,通過IP地址即可訪問STM32F103微處理器采集的數(shù)據(jù)。遠程終端控制不受地理天氣等外界因素的影響,一方面可以實時準確地獲取溫濕度傳感器采集的數(shù)據(jù)并動態(tài)地顯示在Web瀏覽器頁面上,另一方面可以通過瀏覽器頁面上的控制按鈕來選擇采集數(shù)據(jù)的通道。

      Web瀏覽器在TCP/IP協(xié)議的基礎上使用HTTP應用層協(xié)議,按照HTML超文本傳輸協(xié)議和CGI,SSI等編寫的服務頁面。整個數(shù)據(jù)交互過程中首先HTTP發(fā)出請求,TCP監(jiān)聽到數(shù)據(jù)并對數(shù)據(jù)進行HTTP協(xié)議解析,記住URL標識在網(wǎng)頁中尋找各種name段的關鍵字并處理成一張數(shù)據(jù)表格,接著循環(huán)搜索已注冊的CGI處理程序,搜索完成后把參數(shù)表和參數(shù)總數(shù)提供給URI對應的CGI處理函數(shù)處理,接著在網(wǎng)頁中搜索已注冊的SSI標簽,找到后添加相應的SSI消息重新組成一張新的網(wǎng)頁數(shù)據(jù)并發(fā)送給瀏覽頁面,從而實現(xiàn)數(shù)據(jù)的動態(tài)刷新。

      當在Web瀏覽器中輸入STM32F103微處理器對應的IP地址時,瀏覽器會向STM32F103發(fā)出數(shù)據(jù)請求,此時處理器就作為一個服務器與客戶端實現(xiàn)三次握手,信號通過后開始發(fā)送相應的數(shù)據(jù)。服務器調(diào)用 socket(),bind(),listen()完成初始化后,調(diào)用accept()阻塞等待,監(jiān)聽80端口的狀態(tài),客戶端調(diào)用 socket()初始化后,調(diào)用 connect()發(fā)出 SYN段并阻塞等待服務器應答,服務器應答一個SYN-ACK段,客戶端收到后從connect()返回,同時應答一個ACK段,服務器收到后從accept()返回,數(shù)據(jù)傳輸過程如圖9所示。連接建立后,TCP協(xié)議提供全雙工的通信服務,客戶端主動發(fā)起請求,服務器被動處理請求,采用應答方式工作。

      圖9 數(shù)據(jù)傳輸流程Fig.9 Data transmission flow chart

      4 系統(tǒng)試驗與測試

      通過對硬件和軟件的仔細設計和調(diào)試,ARM數(shù)據(jù)采集系統(tǒng)取得了預期目標。系統(tǒng)通過了連續(xù)72 h穩(wěn)定工作測試,當出現(xiàn)傳感器脫落等故障時可自動報警,當程序跑飛后會通過軟件看門狗自動重啟系統(tǒng)。工作現(xiàn)場實時溫度、濕度等參數(shù)采集后,通過ARM采集系統(tǒng)可將數(shù)據(jù)直接通過液晶屏幕顯示出來,另一方面,遠程客戶端通過IP地址,利用Web瀏覽器可遠程對ARM數(shù)據(jù)采集系統(tǒng)進行監(jiān)控操作,實際測試效果如圖10所示。

      圖10 系統(tǒng)的實際顯示效果Fig.10 Test display effect chart

      5 結語

      分析了以太網(wǎng)技術在工業(yè)數(shù)據(jù)采集系統(tǒng)中的應用情況,系統(tǒng)圍繞著提高系統(tǒng)性價比和穩(wěn)定性的需要,采用了高性價比的STM32F103ZET6芯片作為主控制器,設計了數(shù)據(jù)采集板。移植μC/OS-III實時操作系統(tǒng)和LwIP協(xié)議棧,采用以太網(wǎng)來實現(xiàn)了遠程數(shù)據(jù)多點采集,設計了Web遠程監(jiān)控模塊。通過對硬件和軟件的優(yōu)化設計,使該系統(tǒng)的功能和性能達到了預期設計要求,具有一定的應用參考價值。

      [1]魯力,張波.嵌入式TCP/IP協(xié)議的高速電網(wǎng)絡數(shù)據(jù)采集系統(tǒng)[J].儀器儀表學報,2009,30(2):405-409.

      [2]徐曉光,李永勝,孫駟洲.基于以太網(wǎng)的遠程數(shù)據(jù)采集系統(tǒng)[J].自動化與儀器儀表,2008,28(2):65-68.

      [3]羅智佳,狄崢,毛宗源.基于以太網(wǎng)的分布式數(shù)據(jù)采集監(jiān)控系統(tǒng)的應用[J].微計算機信息,2006,22(1):22-24.

      [4]曹亞麗,宋愛娟,李曉明.基于工業(yè)以太網(wǎng)的數(shù)據(jù)采集及檢測系統(tǒng)[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2009,22(6):168-169.

      [5]曹圓圓.基于STM32芯片的電參數(shù)測量與數(shù)據(jù)傳輸[J].自動化與儀器儀表,2010,30(3):137-139.

      [6]王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微處理器原理及實踐[M].北京:北京航空航天大學出版社,2008:318-338.

      [7]張蕉蕉,曹森,郭堅毅.基于STM32裝備數(shù)據(jù)采集系統(tǒng)的設計[J].裝備制造技術,2012,40(7):307-311.

      [8]劉明貴,梁吳.基于STM32的巖石工程無線采集系統(tǒng)[J].儀表技術與傳感,2010,47(5):95-97.

      [9]辛光,伍川輝.基于STM32的列車噪聲數(shù)據(jù)采集系統(tǒng)[J].四川兵工學報,2012,33(1):90-92.

      猜你喜歡
      網(wǎng)卡內(nèi)核瀏覽器
      在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
      萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      Server 2016網(wǎng)卡組合模式
      基于嵌入式Linux內(nèi)核的自恢復設計
      Linux內(nèi)核mmap保護機制研究
      環(huán)球瀏覽器
      再見,那些年我們嘲笑過的IE瀏覽器
      英語學習(2015年6期)2016-01-30 00:37:23
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
      平陆县| 定兴县| 金坛市| 上杭县| 余干县| 武乡县| 柳河县| 巴东县| 东莞市| 永登县| 休宁县| 普兰县| 三明市| 延安市| 汪清县| 云安县| 阿鲁科尔沁旗| 信丰县| 龙海市| 仁化县| 奉新县| 黄骅市| 永新县| 新郑市| 卓资县| 商城县| 乐亭县| 山东省| 亳州市| 读书| 五原县| 合阳县| 乌审旗| 谷城县| 都安| 平原县| 鄂托克前旗| 文水县| 石阡县| 平顺县| 囊谦县|