• 
    

    
    

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

      ?

      基于STM32的校園能耗監(jiān)控系統(tǒng)的以太網(wǎng)接口設(shè)計*

      2015-10-15 07:32:56王曉麗
      吉林建筑大學(xué)學(xué)報 2015年1期
      關(guān)鍵詞:寄存器以太網(wǎng)數(shù)據(jù)包

      王曉麗 姜 川 于 躍

      (吉林建筑大學(xué)電氣與電子信息學(xué)院,長春 130118)

      以太網(wǎng)(Ethernet)是互聯(lián)網(wǎng)技術(shù)的一種.以太網(wǎng)是指遵守IEEE 802.3標準組成的局域網(wǎng),由IEEE802.3標準規(guī)定的主要是位于參考模型的物理層(PHY)和數(shù)據(jù)鏈路層中的媒體介入控制子層(MAC)[1].以太網(wǎng)滲透到工業(yè)控制、環(huán)境監(jiān)測、智能家居的嵌入式設(shè)備產(chǎn)生了接入互聯(lián)網(wǎng)的需求,利用以太網(wǎng)技術(shù),嵌入式設(shè)備可以非常容易地接入到現(xiàn)有計算機網(wǎng)絡(luò)中.高校是能源消耗較大的社區(qū),對信息的準確性、實時性的要求也較嚴格.筆者設(shè)計使用高性能微處理器STM32F103VET6作為主控芯片,采用STM32外接常用的嵌入式以太網(wǎng)控制器ENC28J60接入網(wǎng)絡(luò),并選擇移植LwIP協(xié)議棧的方式.以太網(wǎng)接口代替?zhèn)鹘y(tǒng)串行接口,加快了數(shù)據(jù)傳輸速率,同時可以實行遠程控制,具有抗干擾能力強、實時性高及數(shù)據(jù)處理能力強等優(yōu)勢,并且移植協(xié)議棧方便了不同系統(tǒng)、不同設(shè)備之間的通信.

      1 芯片介紹

      1.1 STM32F103VET6 芯片

      STM32F103VET6是基于ARM Cortex-M3核的32位處理器芯片,該芯片具有體積小、耗能低以及性能高等優(yōu)勢.其最高工作頻率為72MHz;內(nèi)置高速存儲器(512KB Flash,64KB RAM);2個基本定時器;4個通用定時器;2個高級定時器;3個SPI;2個IIC;5個串口;1個USB;1個CAN;3個12位ADC;1個12位DAC;1個SDIO接口;1個FSMC接口以及80個通用IO口.

      1.2 ENC28J60 芯片

      ENC28J60是帶有行業(yè)標準串行外設(shè)接口(Serial Peripheral Interface,SPI)的獨立以太網(wǎng)控制器,它可作為任何配備有SPI的控制器的以太網(wǎng)接口.ENC28J60符合IEEE 802.3的全部規(guī)范,采用了一系列包過濾機制以對傳入數(shù)據(jù)包進行限制,提供了一個內(nèi)部DMA模塊,以實現(xiàn)快速數(shù)據(jù)吞吐和硬件支持的IP校驗和計算.與主控制器的通信通過兩個中斷引腳和SPI實現(xiàn),數(shù)據(jù)傳輸速率高達10Mb/s.圖1為使用ENC28J60的典型應(yīng)用電路.要將單片機連接到速率為10Mbps的以太網(wǎng),只需ENC28J60,2個脈沖變壓器和一些無源元件即可.

      圖1 ENC28J60典型應(yīng)用電路

      2 硬件電路設(shè)計

      ENC28J60的主要功能模塊SPI接口充當主控器與ENC28J60之間的通信信道.STM32F103VET6具有3個SPI接口,可以直接地與ENC28J60連接.圖2為10M以太網(wǎng)ENC28J60的硬件原理圖.

      圖2 10M以太網(wǎng)ENC28J60的硬件原理

      本次設(shè)計中,STM32單片機的PA4-SPI1-NSS引腳與ENC28J60-CS連接,完成片選.當多個SPI設(shè)備與MCU相連時,每個設(shè)備的這個片選信號線是與MCU單獨的引腳相連的;當SS信號線為低電平時,片選有效,開始SPI通信.STM32單片機的PA5-SPI1-SCK與ENC28J60-SCK引腳連接,時鐘信號由主通信設(shè)備產(chǎn)生,不同的設(shè)備支持的時鐘頻率不一樣,STM32的SPI時鐘頻率最大為fPCLK/2;STM32單片機的PA6-SPI1-MISO,PA7-SPI1-MISI分別與ENC28J60-SO,ENC28J60-SI引腳連接,完成數(shù)據(jù)的傳輸與接收.由于ENC28J60內(nèi)部穩(wěn)壓器無法驅(qū)動外部負載,所以電源引腳必須與同一個3.3V電源相連,并且在每個電源引腳與地之間都應(yīng)連接一個0.1μF的電容.

      在ENC28J60芯片的OSC2和OSC1引腳之間連接25MHz晶振以及2個20pF的接地電容,能夠為ENC28J60提供較精確的時鐘信號,同時也可節(jié)省PHY的晶振.以太網(wǎng)變壓器在實現(xiàn)以太網(wǎng)接口操作時是不可缺少的,本設(shè)計中,在差分發(fā)送引腳(TPOUT+/TPOUT-)上,需要外接一個帶有中心抽頭的1∶1脈沖變壓器[2].本設(shè)計中采用的是集成以太網(wǎng)隔離變壓器RJ45插座HR91105A.

      3 軟件設(shè)計

      本接口設(shè)計選用開發(fā)環(huán)境MDK,在MDK環(huán)境下可以使用C/C++方便地開發(fā)Cortex-M3的應(yīng)用程序.與其他開發(fā)程序相比,MDK具有入門容易、使用方便,并在調(diào)試程序、軟件仿真方面也有很強大的功能.

      以太網(wǎng)收發(fā)數(shù)據(jù)程序流程如圖3所示.主程序通過查詢的方式發(fā)送數(shù)據(jù),采取通過判斷函數(shù)返回值方式是否接收到數(shù)據(jù),若接收到數(shù)據(jù),通過指針把數(shù)據(jù)包傳遞給上層的LwIP協(xié)議棧進行處理,完成數(shù)據(jù)包的收?。瞻l(fā)數(shù)據(jù)主程序主要包括系統(tǒng)及外設(shè)的初始化、以太網(wǎng)控制器的初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和應(yīng)用處理等部分.

      圖3 以太網(wǎng)收發(fā)數(shù)據(jù)程序流程

      3.1 STM32 庫

      STM32庫是由ST公司針對STM32提供的函數(shù)接口,即API(Application Program Interface),開發(fā)者可以調(diào)用這些庫函數(shù)接口來配置STM32的寄存器,使開發(fā)人員得以脫離最底層的寄存器操作,有開發(fā)速度快、易于閱讀、維護成本低等優(yōu)點.實際上,庫是架設(shè)在寄存器與用戶驅(qū)動層之間的代碼,向下處理與寄存器直接相關(guān)配置,向上為用戶提供平配置寄存器的接口[3].本設(shè)計采用最新的STM32的3.5版庫文件,相對于以往版本的庫文件兼容性更好.

      3.2 LwIP 協(xié)議棧

      要實現(xiàn)TCP/IP協(xié)議棧,代碼可以自行編寫,但一般都會移植更加穩(wěn)定優(yōu)良的代碼.LwIP是Light Weight Internet Protocol的縮寫,是由瑞士計算機科學(xué)院Adam Dunkels等開發(fā)的適用于嵌入式領(lǐng)域的輕量級TCP/IP協(xié)議棧,它可以移植到含有操作系統(tǒng)的平臺中,也可以在無操作系統(tǒng)的平臺下運行.由于其開源,占用的RAM和ROM比較少,支持較為完整的TCP/IP協(xié)議,且十分便于剪裁、調(diào)試,被廣泛地應(yīng)用于中、低端的32位操作平臺[4].該協(xié)議棧提供了一組API函數(shù)應(yīng)用程序調(diào)用,編程方便[5].

      LwIP通過pbuf建立了與底層硬件收發(fā)數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu),可以實現(xiàn)數(shù)據(jù)的管理;netif結(jié)構(gòu)體則保存了網(wǎng)卡地址、IP地址、網(wǎng)關(guān)等設(shè)置的這些信息.下面例舉部分LwIP_Init()函數(shù),其主要功能是初始化LwIP協(xié)議棧,主要是把ENC28J60與LwIP連接起來,包括IP,MAC地址,接口函數(shù).代碼如下:

      4 仿真與應(yīng)用

      MDK仿真工具強大,本設(shè)計軟件調(diào)試部分利用MDK軟件針對STM32進行仿真,執(zhí)行工程中的代碼.仿真結(jié)果如下圖4所示.

      圖4 仿真邏輯儀結(jié)果

      圖5 Web服務(wù)器運行結(jié)果

      構(gòu)成網(wǎng)絡(luò)應(yīng)用的軟件有不同的結(jié)構(gòu),有B/S結(jié)構(gòu)(瀏覽器/服務(wù)器)和C/S(客戶端/服務(wù)器).本網(wǎng)絡(luò)接口設(shè)計中HTTP服務(wù)器其是基于B/S結(jié)構(gòu)的,用戶運行應(yīng)用程序時通過訪問Web調(diào)用服務(wù)器的應(yīng)用程序,并通過瀏覽器把結(jié)果顯示給用戶.該以太網(wǎng)接口應(yīng)用于校園能耗監(jiān)控系統(tǒng)中,所以設(shè)計出一款可以遠程控制LED燈亮滅的簡單應(yīng)用,其運行結(jié)果如圖5所示.

      5 結(jié)語

      以STM32作為主控芯片結(jié)合以太網(wǎng)控制器設(shè)計的10M以太網(wǎng)接口,具有電路連接簡單、通信距離遠、可實現(xiàn)網(wǎng)絡(luò)傳輸功能等優(yōu)點.在校園能耗監(jiān)控系統(tǒng)中,將傳感器采集的數(shù)據(jù)編寫成MAC數(shù)據(jù)包格式通過該接口發(fā)送給上位機,現(xiàn)場控制器也可通過該接口接收上位機發(fā)送的命令,進而實現(xiàn)了監(jiān)控系統(tǒng)的管理控制一體化,而且使用該以太網(wǎng)接口既保證了數(shù)據(jù)傳輸?shù)目煽啃裕帜茏畲蟪潭鹊臏p少對現(xiàn)有建筑物的改造和破壞,所以,在當今社會節(jié)約能源的強烈需求下,該設(shè)計具有更廣闊的應(yīng)用前景.

      [1]王延堯.以太網(wǎng)技術(shù)與應(yīng)用[M].北京:人民郵電出版社,2005:2-3.

      [2]陳 磊.以太網(wǎng)在工業(yè)應(yīng)用中的實時特性研究[J].浙江大學(xué)學(xué)報(工學(xué)版),2004,38(6):29-31.

      [3]李 寧.基于MDK的STM32處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008:5-7.

      [4]孔 棟.嵌入式TCPIP協(xié)議棧LWIP在ARM平臺上的移植與應(yīng)用[J].通信技術(shù),2008,41(6):38-40.

      [5]王桂云.基于ARM7的以太網(wǎng)接口的設(shè)計與實現(xiàn)[J].微計算機信息,2009,25(2):124-125.

      猜你喜歡
      寄存器以太網(wǎng)數(shù)據(jù)包
      基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
      Lite寄存器模型的設(shè)計與實現(xiàn)
      SmartSniff
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
      視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      盐源县| 灵宝市| 巩义市| 土默特左旗| 铜山县| 成都市| 麻江县| 五原县| 抚顺县| 嘉善县| 巴里| 新源县| 景东| 寻乌县| 大厂| 白水县| 安顺市| 嘉鱼县| 大石桥市| 海伦市| 黄山市| 武陟县| 宣城市| 新营市| 当雄县| 衢州市| 合阳县| 通江县| 连城县| 集贤县| 扎赉特旗| 海兴县| 涿鹿县| 陇川县| 怀集县| 镶黄旗| 乌恰县| 鹤峰县| 海门市| 科技| 宁国市|