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

STM32F207和DM9161A的以太網實現方案

2012-08-27 08:32:56王濤范寒柏王磊陳邵權
單片機與嵌入式系統應用 2012年12期

王濤,范寒柏,王磊,陳邵權

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

引 言

隨著經濟的迅猛發展,用電需求量及電力負荷急劇增大,諧波作為目前電網中影響最為重要的一項指標,對電力系統的影響越來越嚴重。通過網絡傳輸采集和分析諧波數據,以實現對諧波的有效監測,便于更有效地控制諧波對電子系統的危害。

本文給出了基于STM32F207及DM9161A 的以太網具體實現方案,為電力系統設備提供便捷高效的網絡實現方法。

1 硬件的實現

基于STM32F207的以太網接口實質是內部的MAC單元控制PHY 的過程,兩者通過MII/RMII接口傳送數據。

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

PHY(Physical Layer)是物理接口收發器,它實現物理層的數據編碼與解碼,直接提供可使用的數據流到MAC層。

MII(Media Independent Interface,媒體獨立接口)是指在不對MAC硬件重新設計或替換的情況下,任何類型的PHY 設備都可以正常工作;RMII(Reduced Media Independant Interface,簡化媒體獨立接口),是標準的以太網PHY 接口之一。

MII數據接口總共需要16個信號,由于其信號線較多,在實際中應用較繁瑣。而RMII只需要7根信號線,大大減少了實際的物理連線,有效地降低了硬件的復雜度及成本。因此,此次實現采用RMII物理層接口。

意法半導體公司的STM32F207 系列處理器自帶IEEE802.3的MAC,只需增加PHY 物理層芯片就可以連接到TCP/IP網絡,此次實現是基于STM32F207ZGT6處理器[1]。

STM32F207以太網接口的特性如下:

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

◆專用的DMA 控制器能夠高速地傳輸數據;

◆支持VLAN 模式;

◆半雙工/雙工模式;

◆支持MAC控制層;

◆內置32位CRC校驗。

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

STM32F207提供標準的RMII硬件接口,只需要按照數據手冊的標識進行對應連接即可,此次實現的連接方式如表1所列。

表1 STM32F207硬件連接表

DM9161A 的實現電路如圖1所示。DM9161A 的RMII_REF_CLK 信號由STM32F207的內部MCO 提供,在簡化了硬件設計的同時也可以減少硬件成本[2]。HR911105A 是電路的網絡接口。

網絡控制部分的電路板如圖2所示。

圖1 DM9161A硬件實現電路

圖2 電力系統網絡控制部分電路板

2 軟件的實現

此部分的主要工作是在硬件平臺的基礎上實現TCP/IP協議棧,由于TCP/IP協議棧較復雜,功能實現比較困難,一般選擇成熟的TCP/IP 協議棧進行移植,此次選擇開源并且較成熟的LwIP以太網協議棧[3]。

LwIP(Light Weight IP)是瑞士計算機科學院開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧,可移植性強,對資源要求較低,在實現TCP/IP 協議主要功能的基礎上減少對RAM 的占用。一般它只需要幾百KB的RAM 和40KB 左右的ROM 就可以運行,這使得LwIP協議棧適合在低端的嵌入式系統中使用。

移植工作在ST 公司提供的STM32F207以太網接口驅動的基礎上進行,針對DM9161A 芯片更改部分底層驅動代碼,包括時鐘配置、端口配置及PHY 地址配置等,移植工作一般需要幾個小時即可完成。

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

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

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

而raw API可以讓應用程序和TCP/IP 協議棧代碼結合得更緊密。程序的執行也是基于事件的,使用回調函數的機制。這種方式TCP/IP 代碼和應用代碼運行在同一個線程中,因此這種模式可以在沒有操作系統支持的情況下使用。

實際上,順序模型的API也是基于raw API實現的。此次實現使用的是raw API,降低對硬件及軟件資源的需求,而raw API是基于事件驅動的,在數據的響應速度上也存在一定的優勢。

raw API的操作方法與順序模型基本類似,只是程序的運行模式不一樣,需要采用回調式的編程思想。基本動作包括建立連接、發送數據、接收數據、關閉連接4類,每一類根據不同的需求提供了不同的接口函數。

結 語

經過測試,在STM32F207 處理器及DM9161A 硬件平臺上移植LwIP 協議棧可以實現TCP、UDP 等功能并穩定地運行,為后續基于此平臺開發電力系統的通信網絡提供良好的基礎。

[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.

主站蜘蛛池模板: 久久精品无码中文字幕| 欧美日韩精品一区二区视频| 日韩精品成人网页视频在线| 亚洲国产天堂在线观看| 亚洲第一区欧美国产综合| 久久香蕉国产线| 亚洲乱码在线视频| 色哟哟精品无码网站在线播放视频| 成年A级毛片| 波多野结衣久久高清免费| 污视频日本| 国产精品专区第1页| 玩两个丰满老熟女久久网| 午夜在线不卡| 欧美特黄一级大黄录像| 欧美视频在线不卡| 国内精品自在欧美一区| 亚洲精品视频免费观看| 国产成人乱无码视频| 91破解版在线亚洲| 久久国产精品电影| 婷婷午夜天| 午夜少妇精品视频小电影| 九九香蕉视频| 欧美日韩午夜| 亚洲中文无码av永久伊人| 亚洲综合第一区| 亚洲天堂.com| 女高中生自慰污污网站| 国产办公室秘书无码精品| 伊人久久大香线蕉影院| 亚洲欧美成人在线视频| 狠狠色婷婷丁香综合久久韩国| 欧美一级大片在线观看| 日韩大乳视频中文字幕| 亚洲午夜福利在线| 亚洲AⅤ综合在线欧美一区| 色老头综合网| 97国产成人无码精品久久久| 99久视频| 欧美国产日韩在线观看| 亚洲第一成网站| 亚洲色无码专线精品观看| 色噜噜久久| 国产熟女一级毛片| 成人在线视频一区| 久久精品只有这里有| 潮喷在线无码白浆| 欧美高清国产| 亚洲欧洲日产无码AV| 婷婷六月天激情| 中文无码精品A∨在线观看不卡 | 午夜精品影院| 无码中文字幕乱码免费2| 欧美精品伊人久久| 久久综合一个色综合网| 在线无码av一区二区三区| 99在线视频免费| 自拍偷拍欧美| 国产理论最新国产精品视频| 国产成人精品免费视频大全五级| 中文国产成人久久精品小说| 亚洲一区波多野结衣二区三区| 国产老女人精品免费视频| 国产精品第5页| 色屁屁一区二区三区视频国产| 精品国产91爱| 在线播放国产一区| 日韩欧美一区在线观看| 最新国产高清在线| 欧美日韩资源| 国产麻豆福利av在线播放 | 久久人人妻人人爽人人卡片av| 国产91成人| 亚洲第一色视频| 久久国产精品麻豆系列| 国产高清在线观看| 天天躁夜夜躁狠狠躁躁88| 久久99国产综合精品女同| 国产亚洲精品精品精品| 91人妻在线视频| 亚洲精品少妇熟女|