国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

STM32F207和DM9161A的以太網(wǎng)實(shí)現(xiàn)方案

2012-08-27 08:32:56王濤范寒柏王磊陳邵權(quán)
關(guān)鍵詞:物理層以太網(wǎng)代碼

王濤,范寒柏,王磊,陳邵權(quán)

(華北電力大學(xué) 電氣與電子工程學(xué)院,保定071003)

引 言

隨著經(jīng)濟(jì)的迅猛發(fā)展,用電需求量及電力負(fù)荷急劇增大,諧波作為目前電網(wǎng)中影響最為重要的一項(xiàng)指標(biāo),對(duì)電力系統(tǒng)的影響越來越嚴(yán)重。通過網(wǎng)絡(luò)傳輸采集和分析諧波數(shù)據(jù),以實(shí)現(xiàn)對(duì)諧波的有效監(jiān)測(cè),便于更有效地控制諧波對(duì)電子系統(tǒng)的危害。

本文給出了基于STM32F207及DM9161A 的以太網(wǎng)具體實(shí)現(xiàn)方案,為電力系統(tǒng)設(shè)備提供便捷高效的網(wǎng)絡(luò)實(shí)現(xiàn)方法。

1 硬件的實(shí)現(xiàn)

基于STM32F207的以太網(wǎng)接口實(shí)質(zhì)是內(nèi)部的MAC單元控制PHY 的過程,兩者通過MII/RMII接口傳送數(shù)據(jù)。

MAC(Media Access Control)即媒體訪問控制子層協(xié)議。該協(xié)議位于OSI七層協(xié)議中數(shù)據(jù)鏈路層的下半部分,主要負(fù)責(zé)控制與連接物理層的物理介質(zhì)。

PHY(Physical Layer)是物理接口收發(fā)器,它實(shí)現(xiàn)物理層的數(shù)據(jù)編碼與解碼,直接提供可使用的數(shù)據(jù)流到MAC層。

MII(Media Independent Interface,媒體獨(dú)立接口)是指在不對(duì)MAC硬件重新設(shè)計(jì)或替換的情況下,任何類型的PHY 設(shè)備都可以正常工作;RMII(Reduced Media Independant Interface,簡(jiǎn)化媒體獨(dú)立接口),是標(biāo)準(zhǔn)的以太網(wǎng)PHY 接口之一。

MII數(shù)據(jù)接口總共需要16個(gè)信號(hào),由于其信號(hào)線較多,在實(shí)際中應(yīng)用較繁瑣。而RMII只需要7根信號(hào)線,大大減少了實(shí)際的物理連線,有效地降低了硬件的復(fù)雜度及成本。因此,此次實(shí)現(xiàn)采用RMII物理層接口。

意法半導(dǎo)體公司的STM32F207 系列處理器自帶IEEE802.3的MAC,只需增加PHY 物理層芯片就可以連接到TCP/IP網(wǎng)絡(luò),此次實(shí)現(xiàn)是基于STM32F207ZGT6處理器[1]。

STM32F207以太網(wǎng)接口的特性如下:

◆支持10 Mb/s和100 Mb/s速率;

◆專用的DMA 控制器能夠高速地傳輸數(shù)據(jù);

◆支持VLAN 模式;

◆半雙工/雙工模式;

◆支持MAC控制層;

◆內(nèi)置32位CRC校驗(yàn)。

STM32F207的以太網(wǎng)連接方式有MII和RMII兩種接口,以下以 RMII 接口方式概述 DM9161A 與STM32F207處理器的硬件連接。

STM32F207提供標(biāo)準(zhǔn)的RMII硬件接口,只需要按照數(shù)據(jù)手冊(cè)的標(biāo)識(shí)進(jìn)行對(duì)應(yīng)連接即可,此次實(shí)現(xiàn)的連接方式如表1所列。

表1 STM32F207硬件連接表

DM9161A 的實(shí)現(xiàn)電路如圖1所示。DM9161A 的RMII_REF_CLK 信號(hào)由STM32F207的內(nèi)部MCO 提供,在簡(jiǎn)化了硬件設(shè)計(jì)的同時(shí)也可以減少硬件成本[2]。HR911105A 是電路的網(wǎng)絡(luò)接口。

網(wǎng)絡(luò)控制部分的電路板如圖2所示。

圖1 DM9161A硬件實(shí)現(xiàn)電路

圖2 電力系統(tǒng)網(wǎng)絡(luò)控制部分電路板

2 軟件的實(shí)現(xiàn)

此部分的主要工作是在硬件平臺(tái)的基礎(chǔ)上實(shí)現(xiàn)TCP/IP協(xié)議棧,由于TCP/IP協(xié)議棧較復(fù)雜,功能實(shí)現(xiàn)比較困難,一般選擇成熟的TCP/IP 協(xié)議棧進(jìn)行移植,此次選擇開源并且較成熟的LwIP以太網(wǎng)協(xié)議棧[3]。

LwIP(Light Weight IP)是瑞士計(jì)算機(jī)科學(xué)院開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧,可移植性強(qiáng),對(duì)資源要求較低,在實(shí)現(xiàn)TCP/IP 協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM 的占用。一般它只需要幾百KB的RAM 和40KB 左右的ROM 就可以運(yùn)行,這使得LwIP協(xié)議棧適合在低端的嵌入式系統(tǒng)中使用。

移植工作在ST 公司提供的STM32F207以太網(wǎng)接口驅(qū)動(dòng)的基礎(chǔ)上進(jìn)行,針對(duì)DM9161A 芯片更改部分底層驅(qū)動(dòng)代碼,包括時(shí)鐘配置、端口配置及PHY 地址配置等,移植工作一般需要幾個(gè)小時(shí)即可完成。

LwIP提供了在TCP/IP 協(xié)議棧中比較常用的TCP及UDP兩種功能。TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層(transport layer)通信協(xié)議;UDP是OSI參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)。TCP一般用于對(duì)數(shù)據(jù)可靠性要求較高,但是數(shù)據(jù)傳輸速度較低的情況。而UDP的傳輸速度較快,但是可靠性較低,需要應(yīng)用層保證數(shù)據(jù)到達(dá)的有效性,而在此應(yīng)用中需要傳輸?shù)臄?shù)據(jù)量較小,但是對(duì)可靠性要求較高,因此選擇TCP通信模式。

LwIP提供了兩套API:底層的基于回調(diào)(callback)的raw API和高層的順序模型的API(類似BSD Socket)。

順序模型的API為普通的順序程序提供使用協(xié)議棧的API,和BSD 風(fēng)格的API很相似,也是基于阻塞的open-read-write-close模式。鑒于TCP/IP 協(xié)議棧本身就基于時(shí)間,所以TCP/IP代碼和應(yīng)用程序的代碼必須在不同的線程中,因此此種模式需要提供操作系統(tǒng)的支持。

而raw API可以讓應(yīng)用程序和TCP/IP 協(xié)議棧代碼結(jié)合得更緊密。程序的執(zhí)行也是基于事件的,使用回調(diào)函數(shù)的機(jī)制。這種方式TCP/IP 代碼和應(yīng)用代碼運(yùn)行在同一個(gè)線程中,因此這種模式可以在沒有操作系統(tǒng)支持的情況下使用。

實(shí)際上,順序模型的API也是基于raw API實(shí)現(xiàn)的。此次實(shí)現(xiàn)使用的是raw API,降低對(duì)硬件及軟件資源的需求,而raw API是基于事件驅(qū)動(dòng)的,在數(shù)據(jù)的響應(yīng)速度上也存在一定的優(yōu)勢(shì)。

raw API的操作方法與順序模型基本類似,只是程序的運(yùn)行模式不一樣,需要采用回調(diào)式的編程思想。基本動(dòng)作包括建立連接、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、關(guān)閉連接4類,每一類根據(jù)不同的需求提供了不同的接口函數(shù)。

結(jié) 語

經(jīng)過測(cè)試,在STM32F207 處理器及DM9161A 硬件平臺(tái)上移植LwIP 協(xié)議棧可以實(shí)現(xiàn)TCP、UDP 等功能并穩(wěn)定地運(yùn)行,為后續(xù)基于此平臺(tái)開發(fā)電力系統(tǒng)的通信網(wǎng)絡(luò)提供良好的基礎(chǔ)。

[1]STMicroelectronics.STM32F2XX advanced ARM-based 32-bit MCUs[EB/OL].(2011-12-15)[2012-06-25].http://www.st.com.

[2]DAVICOM Semiconductor Inc.DM9161A 10/100 Mbps Fast Ethernet Physical Layer Single Chip Transceiver[EB/OL].(2009-10-16)[2012-06-25].http://www.davicom.com.tw.

[3]Adam Dukels.Design and Implementation of the LwIP TCP/IP[EB/OL].[2012-06-25].http://wenku.baidu.com/view/e8b6dabbfd0a79563c1e7270.html.

猜你喜歡
物理層以太網(wǎng)代碼
基于K-ML-MPWFRFT的物理層安全傳輸技術(shù)
基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
公路聯(lián)網(wǎng)電子不停車收費(fèi)系統(tǒng)路側(cè)單元物理層自動(dòng)測(cè)試軟件研發(fā)
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
電子制作(2017年24期)2017-02-02 07:14:44
多天線物理層安全傳輸系統(tǒng)性能分析
一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
光山县| 扎鲁特旗| 宁强县| 南投市| 满洲里市| 南充市| 桂东县| 尼勒克县| 平昌县| 喀喇沁旗| 长汀县| 屯昌县| 河间市| 雷州市| 湛江市| 莒南县| 孝感市| 九龙县| 遂溪县| 双牌县| 汝南县| 淮阳县| 四平市| 阿合奇县| 温宿县| 剑阁县| 南雄市| 绩溪县| 西安市| 永修县| 桓仁| 嵩明县| 肥东县| 竹北市| 甘肃省| 巴彦淖尔市| 达日县| 普兰店市| 西和县| 亚东县| 千阳县|