嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計(jì)及l(fā)inu驅(qū)動(dòng)_第1頁(yè)
嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計(jì)及l(fā)inu驅(qū)動(dòng)_第2頁(yè)
嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計(jì)及l(fā)inu驅(qū)動(dòng)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計(jì)及 linux 驅(qū)動(dòng)1以太網(wǎng)(Ethernet)是當(dāng)今局域網(wǎng)承受的最通用的通信協(xié)議標(biāo)準(zhǔn)。在以太網(wǎng)中,全部計(jì)算機(jī)被連接在一條電纜上,承受帶沖突檢測(cè)的載波偵聽多路訪問(wèn)體,如雙絞線電纜或同軸電纜、多端口集線器、網(wǎng)橋或交換機(jī)構(gòu)成。 聯(lián)參考模型)7(PHY)和數(shù)據(jù)鏈路層(對(duì)應(yīng)以MAC嵌入式處理器上擴(kuò)展以太網(wǎng)接口PHY1MACMACPHYMII、RMII 等接口實(shí)現(xiàn)的。在IEEE802LLCMACMACPHY但是還需要一個(gè)網(wǎng)絡(luò)隔離變壓器組成圖 2網(wǎng)絡(luò)隔離變壓器可起到抑制共模干擾、隔離線路以及阻抗匹配等作用。本文介紹一種款網(wǎng)絡(luò)接口芯片 DM9000A,它可以很便利的實(shí)現(xiàn)與嵌入式CP

2、UDM9000ADAVICOM的一款高速以太網(wǎng)接口芯片,其根本特征是:集成 10/100M 物理層接口;內(nèi)部帶FIFO8/16bitHPAUTO-Mdix(支持直接互連自動(dòng)翻轉(zhuǎn))功能;支持TCP/IPCPU10ns I/ODM9000AIEEE802.3EEPROMEEPROMAT91RM9200,DM9000A總線寬度讀/寫等待周期、時(shí)序匹配問(wèn)題CS8900A高電平觸發(fā))AT91RM9200DM9000A(NCR)(ISRDM9000ADM9000AUDPIP16 bitDM9000A填充到 DM9000ADM9000A 接收到外部網(wǎng)絡(luò)送來(lái)的CRC誤,則將該幀數(shù)據(jù)丟棄。否則將數(shù)據(jù)幀緩存到內(nèi)部

3、RAM,并通過(guò)中斷標(biāo)志位通知AT91RM9200DM9000AlinuxLinuxBSD UNIX(socket)機(jī)制。在系統(tǒng)和驅(qū)動(dòng)程序之間定義有特地的數(shù)據(jù)構(gòu)造(sk_buff)進(jìn)展數(shù)據(jù)傳輸。系統(tǒng)支持對(duì)發(fā)送Linux24.Linux設(shè)備驅(qū)動(dòng)功能層,主要是包括數(shù)據(jù)的接收,發(fā)送等把握。Linux 中全部的網(wǎng)絡(luò)設(shè)備都抽象為一個(gè)接口,有構(gòu)造體 struct net_device層的核心地位。net_device驅(qū)動(dòng)就是要實(shí)現(xiàn)這些具體的設(shè)備方法。網(wǎng)絡(luò)設(shè)備的初始化net_deviceinit通過(guò) dmfe_probe 函數(shù)檢測(cè)網(wǎng)絡(luò)物理設(shè)備是否存在,檢測(cè) DM9000A 內(nèi)部串行 NIC net_devic

4、e包括一些低層硬件信息:base_addr(I/O),irq(安排的中斷號(hào))等。翻開設(shè)備和關(guān)閉設(shè)備open 方法在網(wǎng)絡(luò)設(shè)備被激活的時(shí)被調(diào)用,具體 DM9000A 的硬件初始化工作放到這里來(lái)做。對(duì)于 DMOOOOA 需要完成的初始化包括:對(duì) DM9000A 內(nèi)部上電,軟PHY、RX/TXrequest_jrq申請(qǐng)中斷號(hào)登記中斷處理函數(shù),調(diào)用netif_carrier_onnetif_start_queue設(shè)備發(fā)送隊(duì)列。DM9000AAT91RM920032 個(gè)中斷源,默認(rèn)供給 7 個(gè)外部中斷源,但對(duì)于較簡(jiǎn)單的嵌入式系統(tǒng),可能會(huì)AT9lRM9200PIO以把多余的 IO 引腳配置為可用的中斷源。故

5、本系統(tǒng)中,設(shè)計(jì) DM9000A 中斷源與PD8PIO32斷處理函數(shù)執(zhí)行操作,就可以實(shí)現(xiàn)中斷處理。closeopenopen數(shù)據(jù)包發(fā)送兩個(gè)過(guò)程處理的好壞將直接影響到驅(qū)動(dòng)程序的整體運(yùn)行質(zhì)量。數(shù)據(jù)傳輸通過(guò) hard_start_xmitDM9000ATX FIFO SRAMsk buffDM9000ATXPLLnetif_stop_queuenetif_wake_queuetx_timeout,對(duì)硬件復(fù)位操作。數(shù)據(jù)包接收netif_rxDM9000A4CRC 校驗(yàn)401H、以太網(wǎng)幀狀態(tài)、以太網(wǎng)幀長(zhǎng)度低字節(jié)和長(zhǎng)度01H,則說(shuō)明有數(shù)據(jù);假設(shè)是 00H,則說(shuō)明很多據(jù),需要進(jìn)展復(fù)位。然后調(diào)用函數(shù)dev_al

6、loc_skb 申請(qǐng)一塊sK_buffDM9000A00HsK_buffsk_buff 構(gòu)造,最終調(diào)用 netif_rx函數(shù)將接收到的數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò)協(xié)議的上層。最終,可通過(guò)兩種方法加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序:系統(tǒng)內(nèi)核加載和模塊加載。網(wǎng)絡(luò)的應(yīng)用及測(cè)試試:#catprocnetdevifconfigrouter們都可以在 busybox 軟件包中找到。可用以下命令來(lái)配置 ip、網(wǎng)關(guān)、子網(wǎng)掩碼和域名解析效勞器:# ifconfig eth0 192.168.0.11O# route add -net default gw 192.168.0.254 netmask 255.255.255.0# nameserver 202.106.196.115過(guò)。N

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論