999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-01-18 03:39:26
自動(dòng)化與儀表 2016年10期

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

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

1 硬件設(shè)計(jì)

1.1 主要器件

1.1.1 STM32F437微控制器

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

1.1.2 ENC624J600

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

1.2 硬件實(shí)現(xiàn)

1.2.1 工作原理

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

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

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的讀、寫(xiě)及片選控制管腳的有效電平與ST微控制器FSMC控制管腳的有效電平是相反的,因此中間需加一片反相器(如SN74LVC04A)進(jìn)行反向。其中,讀寫(xiě)控制管腳FSMC_NOE和FSMC_NWE經(jīng)過(guò)反向后同時(shí)與2片ENC624J600的NET_RD和NET_WR相連,片選控制管腳FSMC_NE3經(jīng)反向后與第一片ENC624J600芯片的片選NET1_CS相連,F(xiàn)SMC_NE4經(jīng)反向后與第二片ENC624J600芯片的片選NET2_CS相連。另外,2個(gè)網(wǎng)口芯片的中斷管腳NET1_INT和NET2_INT分別與微控制器的2個(gè)I/O相連。

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

2 軟件設(shè)計(jì)

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

2.1 微控制器配置程序

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

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

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

ENC624J600驅(qū)動(dòng)程序包括芯片初始化及數(shù)據(jù)收發(fā)處理兩部分。芯片初始化過(guò)程包括復(fù)位以及對(duì)控制寄存器、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ù)包后,會(huì)向微控制器發(fā)送中斷,微控制器響應(yīng)ENC624J600的中斷請(qǐng)求,系統(tǒng)進(jìn)入中斷程序并開(kāi)始接收數(shù)據(jù)。當(dāng)ENC624J600發(fā)送數(shù)據(jù)時(shí),需先確定發(fā)送數(shù)據(jù)起始指針ETXST和發(fā)送緩沖區(qū)長(zhǎng)度指針ETXLEN,再使能發(fā)送控制寄存器。這里需要注意的是ENC624J600的收發(fā)緩沖區(qū)空間可以在0000h~5FFFh共24 KB地址空間靈活配置,因此在芯片初始化時(shí)就應(yīng)配置好收發(fā)緩沖區(qū)的地址范圍。

3 結(jié)語(yǔ)

使用STM32F437和2片ENC624J600的雙網(wǎng)口擴(kuò)展技術(shù),解決了工業(yè)控制現(xiàn)場(chǎng)多路獨(dú)立網(wǎng)口通信的需求,并運(yùn)用到實(shí)際產(chǎn)品中去。經(jīng)過(guò)連續(xù)24 h以上工作測(cè)試,硬件和驅(qū)動(dòng)程序性能穩(wěn)定,在10 Mb/s、100 Mb/s均能正常工作,實(shí)際通信速率可穩(wěn)定達(dá)到5 MB/s以上,取得了系統(tǒng)設(shè)計(jì)的預(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ū)動(dòng)TFT彩屏設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(20):139-141.

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

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

主站蜘蛛池模板: 天堂久久久久久中文字幕| 中文一级毛片| 中文字幕第1页在线播| 女人爽到高潮免费视频大全| 98超碰在线观看| 国产又大又粗又猛又爽的视频| 国产精品美女免费视频大全| 看看一级毛片| 日韩精品久久久久久久电影蜜臀| 午夜成人在线视频| 高清无码不卡视频| 精品中文字幕一区在线| 国产一级特黄aa级特黄裸毛片| 国产精品久久久久久久伊一| 白浆免费视频国产精品视频| 国产毛片久久国产| 欧美午夜在线观看| 久久综合丝袜长腿丝袜| 国产精品密蕾丝视频| 伊人久热这里只有精品视频99| 久久免费精品琪琪| 18禁色诱爆乳网站| 国产日本欧美亚洲精品视| 在线一级毛片| a级毛片一区二区免费视频| 亚洲区一区| 免费在线不卡视频| 人妻免费无码不卡视频| 在线观看免费人成视频色快速| 国产成人免费视频精品一区二区| a级毛片免费看| 日韩欧美色综合| 国产99在线| 狠狠色丁香婷婷综合| 无码'专区第一页| 青青青国产视频| 99激情网| 毛片久久网站小视频| 欧美怡红院视频一区二区三区| 天天婬欲婬香婬色婬视频播放| 欧美亚洲欧美| 久无码久无码av无码| 夜精品a一区二区三区| 欧美另类视频一区二区三区| 亚洲国语自产一区第二页| 国模极品一区二区三区| 亚洲无码熟妇人妻AV在线| 国产午夜一级淫片| 波多野结衣中文字幕一区| 亚洲成人在线免费观看| 欧美成人午夜在线全部免费| 黄色网站在线观看无码| 国产成人福利在线视老湿机| 中文字幕 欧美日韩| 97se亚洲| 老汉色老汉首页a亚洲| 5555国产在线观看| 在线观看国产精美视频| 日本高清成本人视频一区| 99热这里只有精品免费| 国产不卡一级毛片视频| 国产欧美成人不卡视频| 国产玖玖视频| 日本精品αv中文字幕| 国产精品刺激对白在线| 91精品专区| 亚洲精品大秀视频| 91在线播放免费不卡无毒| 四虎精品黑人视频| 免费看久久精品99| 欧美国产综合色视频| 国产男女XX00免费观看| 国产一二三区在线| 欧美午夜久久| 制服无码网站| 播五月综合| 精品国产福利在线| 伊人91在线| 亚洲精品午夜天堂网页| 国产精品熟女亚洲AV麻豆| 无码国产伊人| 国产97色在线|