• 
    

    
    

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

      ?

      基于ARM Cortex-M4雙網(wǎng)口擴(kuò)展的設(shè)計與實現(xiàn)

      2016-01-18 03:39:26
      自動化與儀表 2016年10期
      關(guān)鍵詞:管腳微控制器驅(qū)動程序

      (河南思維自動化設(shè)備股份有限公司,鄭州 450001)

      隨著嵌入式系統(tǒng)的進(jìn)一步發(fā)展,以及對通信速率的要求不斷提高,以太網(wǎng)通信在各種工業(yè)領(lǐng)域的應(yīng)用越來越廣。目前,嵌入式工業(yè)控制領(lǐng)域使用最廣泛的是基于ARM內(nèi)核的微控制器(MCU)芯片,其在所有微控制器中占有率超過70%。從之前的ARM7、ARM9,到現(xiàn)在的 ARM Cortex-M3、M4,絕大多數(shù)的ARM內(nèi)核微控制器最多內(nèi)部集成1個以太網(wǎng)控制器,當(dāng)系統(tǒng)需要2個以上以太網(wǎng)口時無法滿足設(shè)計需求。因此,本文提出了使用最新的ARM Cortex-M4內(nèi)核微控制器和并行網(wǎng)口芯片ENC624J600來實現(xiàn)雙10/100 Mb/s的以太網(wǎng)口擴(kuò)展。

      1 硬件設(shè)計

      1.1 主要器件

      1.1.1 STM32F437微控制器

      本系統(tǒng)微控制器選用意法半導(dǎo)體(ST)公司的STM32F437IIT6,該芯片是以32位Cortex-M4為內(nèi)核,具有高達(dá)168 MHz的工作頻率,內(nèi)置高速存儲器(2 MB FLASH,256 KB RAM)和豐富的外設(shè)接口,并具有M4新增加的浮點運(yùn)算單元(FPU)[1]。

      1.1.2 ENC624J600

      以太網(wǎng)控制器選用美國微芯(Microchip)公司的ENC624J600,該芯片符合IEEE 802.3中以太網(wǎng)的全部規(guī)范,具有獨立的MAC和10/100 Mb/s PHY控制器。ENC624J600(64引腳)與MCU之間通過8位/16位復(fù)用并行接口連接,具有24 KB可配置的發(fā)送/接收數(shù)據(jù)緩沖區(qū)。該芯片通過11種不同的接收過濾器對傳入數(shù)據(jù)包進(jìn)行過濾,并且還提供了16位寬的內(nèi)部DMA,以實現(xiàn)快速數(shù)據(jù)吞吐及硬件IP校驗和計算支持[2]。

      1.2 硬件實現(xiàn)

      1.2.1 工作原理

      本系統(tǒng)采用STM32F437的FSMC接口與2片ENC624J600相連,實現(xiàn)雙網(wǎng)口擴(kuò)展。FSMC是靈活的靜態(tài)存儲控制器,STM32F437芯片可利用FSMC控制NOR FLASH、PSRAM和 NAND FLASH存儲芯片。這里,使用FSMC的NOR/PSRAM存儲器、控制器訪問ENC624J600網(wǎng)口芯片。NOR/PSRAM存儲器地址為60000000h~6FFFFFFFh共4*64 MB的地址空間[3]。因此,可連接多達(dá)4個NOR/PSRAM類型的存儲器器件。本系統(tǒng)中2片網(wǎng)口芯片占用其中的2路,另外2路擴(kuò)展了2片NORFLASH芯片用以掉電保存重要的網(wǎng)絡(luò)數(shù)據(jù)。

      1.2.2 硬件結(jié)構(gòu)設(shè)計

      STM32F437與2片ENC624J600的硬件結(jié)構(gòu)如圖1所示。FSMC數(shù)據(jù)線D0~D15與ENC624J600雙向數(shù)據(jù)線 D0~D15相連,F(xiàn)SMC地址線 A0~A13與ENC624J600地址輸入線A0~A13相連,網(wǎng)口芯片的地址線A14接地。由于ENC624J600的讀、寫及片選控制管腳的有效電平與ST微控制器FSMC控制管腳的有效電平是相反的,因此中間需加一片反相器(如SN74LVC04A)進(jìn)行反向。其中,讀寫控制管腳FSMC_NOE和FSMC_NWE經(jīng)過反向后同時與2片ENC624J600的NET_RD和NET_WR相連,片選控制管腳FSMC_NE3經(jīng)反向后與第一片ENC624J600芯片的片選NET1_CS相連,F(xiàn)SMC_NE4經(jīng)反向后與第二片ENC624J600芯片的片選NET2_CS相連。另外,2個網(wǎng)口芯片的中斷管腳NET1_INT和NET2_INT分別與微控制器的2個I/O相連。

      圖1 STM32F437與ENC624J600硬件結(jié)構(gòu)Fig.1 Hardware structure between STM32F437 and ENC624J600

      2 軟件設(shè)計

      本設(shè)計的軟件主要有微控制器接口配置和網(wǎng)絡(luò)芯片驅(qū)動程序兩部分。對STM32F437的接口配置包括對其FSMC總線初始化及EXTI外部中斷初始化,ENC624J600的驅(qū)動程序主要包括對其進(jìn)行初始化及數(shù)據(jù)收發(fā)處理。

      2.1 微控制器配置程序

      對微控制器STM32F437的接口配置主要包括FSMC初始化和EXTI外部中斷初始化。FSMC初始化使用了ST的庫函數(shù),需要對FSMC_NORSRAM TimingInitTypeDef和FSMC_NORSRAMInitTypeDef類型的結(jié)構(gòu)體進(jìn)行配置,F(xiàn)SMC初始化相關(guān)代碼如下:

      EXTI作為STM32F437的外部中斷/事件控制器,負(fù)責(zé)管理映射到GPIO引腳上的中斷輸入,并最終映射到NVIC的相應(yīng)通道上[4]。這里配置2路網(wǎng)口芯片中斷管腳連到微控制器的2個GPIO為下降沿觸發(fā)中斷。

      2.2 網(wǎng)口芯片驅(qū)動程序

      ENC624J600驅(qū)動程序包括芯片初始化及數(shù)據(jù)收發(fā)處理兩部分。芯片初始化過程包括復(fù)位以及對控制寄存器、PHY寄存器和以太網(wǎng)緩沖器進(jìn)行初始化[5],初始化流程如圖2所示。

      圖2 網(wǎng)口芯片初始化流程Fig.2 Flow chart of network interface chip initialization

      ENC624J600接收數(shù)據(jù)使用中斷方式,當(dāng)網(wǎng)口收到完整的一幀數(shù)據(jù)包后,會向微控制器發(fā)送中斷,微控制器響應(yīng)ENC624J600的中斷請求,系統(tǒng)進(jìn)入中斷程序并開始接收數(shù)據(jù)。當(dāng)ENC624J600發(fā)送數(shù)據(jù)時,需先確定發(fā)送數(shù)據(jù)起始指針ETXST和發(fā)送緩沖區(qū)長度指針ETXLEN,再使能發(fā)送控制寄存器。這里需要注意的是ENC624J600的收發(fā)緩沖區(qū)空間可以在0000h~5FFFh共24 KB地址空間靈活配置,因此在芯片初始化時就應(yīng)配置好收發(fā)緩沖區(qū)的地址范圍。

      3 結(jié)語

      使用STM32F437和2片ENC624J600的雙網(wǎng)口擴(kuò)展技術(shù),解決了工業(yè)控制現(xiàn)場多路獨立網(wǎng)口通信的需求,并運(yùn)用到實際產(chǎn)品中去。經(jīng)過連續(xù)24 h以上工作測試,硬件和驅(qū)動程序性能穩(wěn)定,在10 Mb/s、100 Mb/s均能正常工作,實際通信速率可穩(wěn)定達(dá)到5 MB/s以上,取得了系統(tǒng)設(shè)計的預(yù)期效果。

      [1]STM32F405xx/07xx,STM32F415xx/17xx,STM32F42xxx and STM32 F43xxx advanced ARM-based 32-bit MCUs reference manual[Z].STMicroelectronics,2013.

      [2]ENC424J600/624J600 data sheet[Z].Microchip,2009.

      [3]湯莉莉,黃偉.基于STM32的FSMC接口驅(qū)動TFT彩屏設(shè)計[J].現(xiàn)代電子技術(shù),2013,36(20):139-141.

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

      [5]李陽,吳成富,鄧紅德.基于DSP和ENC28J60的多串口與以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].測控技術(shù),2011,30(12):61-65.

      猜你喜歡
      管腳微控制器驅(qū)動程序
      物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學(xué)中的應(yīng)用
      電子制作(2017年14期)2017-12-18 07:07:58
      基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
      CMOS數(shù)字IC管腳電容的估算與測量
      Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
      最新STM32設(shè)計工具增加對混合信號微控制器的支持
      意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
      HC08芯片JVT測試方法的探究
      電子測試(2013年22期)2013-09-26 06:03:52
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      孟州市| 彰化县| 赣榆县| 邵阳市| 嫩江县| 宜城市| 萍乡市| 樟树市| 太湖县| 盘锦市| 辽中县| 遂宁市| 合山市| 宁阳县| 石河子市| 襄樊市| 大邑县| 布尔津县| 游戏| 临湘市| 友谊县| 绥阳县| 绥芬河市| 昆明市| 临猗县| 开阳县| 滦平县| 宜兰市| 石首市| 扎兰屯市| 兰溪市| 雅江县| 永登县| 阿城市| 会东县| 海安县| 房产| 贵溪市| 图木舒克市| 石屏县| 合阳县|