1 引言 要實現小型嵌入式設備的Internet接入,TCP/IP首先要解決的是底層硬件問題,即協議的物理層。Ethernet具有成熟的技術、低廉的網絡產品、豐富的開發工具和技術支持,當現場總線的發展遇到阻礙時,以太網控制網絡技術以其明顯的優勢得到了迅猛的發展,并逐漸形成了現場總線的新標準——Ethernet。考慮到國內局域網大部分是以太網,隨著交換式網絡、寬帶網絡的發展,基于以太網的嵌入式設備Internet接入應用有著現實意義。 在現有嵌入式系統中,大多數選用的是10Mb/s的以太網卡,其傳輸速率慢,已不能再適應現在人們的要求。而其它10/100Mb/s網卡芯片或工藝復雜或成本較高,不適應工業制造。而DM9000是完全綜合的、成本較低的單一快速以太網控制器芯片,具有通用的處理器接口。它被設計為低功耗、高處理性能,而其設計又非常簡單,所以可以容易的完成不同系統的軟件驅動開發。 DM9000——DAVICOM公司的10/100Mb/s自適應以太網芯片。其特點是:支持8位、16位、32位數據總線寬度;寄存器操作簡單有效,有成熟的Linux驅動程序支持;3.3V接口電平;成本相當低廉;還可以使用MII接口和PHY芯片連接。 2 DM9000與S3C2410的連接 2.1 硬件整體電路設計 硬件上要完成DM9000與ARM芯片S3C2410三大總線連接,以及DM9000與以太網水晶接頭RJ45的連接。基于ARM 嵌入式系統和以太網的接口如圖1。 圖1 ARM 嵌入式系統與以太網的接口電路示意圖 2.2 DM9000與S3C2410連接 實現DM9000與S3C2410連接,必須對兩者間的數據、地址、控制三大總線進行連接和轉換。S3C2410是32位微處理器,有32根地址線,支持4GB存儲空間。其中0—40000000的1G空間被分為8塊128M 空間,分別由NGCS0—NGCS7片選。DM9000為16位以太網控制芯片。圖2給出了S3C2410與DM9000的連接方法。 圖2 S3C2410與DM9000的邏輯連接 對DM9000讀寫操作,首先對DM9000正確尋址。AEN (地址允許)是輸入引腳片選信號。SA4~SA9是地址總線4~9位,當AEN低且SA9和SA8高,而SA7、SA6、SA5、SA4為低時,則DM9000被選中。 圖3 S3C2410與DM9000的連接電路 DM9000 默認I/0 基地址為300H。CMD 引腳用于設置COMMAND 模式,CMD為高時,選擇數據端口。CMD為低時,選地址端口。數據端口和地址端口的地址碼由下式決定: DM9000地址端口=高位片選地址+300H+0H DM9000數據端口=高位片選地址+300H+4H 其中,高位片選地址由S3C2410的NGCS3提供,即為:0X100000000H。 實際設計電路如圖3所示,其中nWAIT為讀寫等待信號。由于在S3C2410中以太網卡的中斷為9號中斷,所以 EINT9_ETHERNET為中斷信號。RESET為網卡芯片重啟信號。25MHz OSCILLATOR為芯片提供25MHz的工作頻率。(在本圖中省去了S3C2410芯片)SD0~SD15數據總線與S3C2410的數據總線連接。 3 DM9000驅動程序描述 3.1 驅動程序整體設計 Linux網絡驅動程序的體系結構可劃分為從上到下依次為網絡協議接口、網絡設備接口層、提供實際功能的設備驅動功能層以及網絡設備媒介層。Linux內核中提供了網絡設備接口級別以上層次的代碼,所以移植(或編寫)特定網絡硬件的驅動程序最主要的工作就是完成設備驅動功能層,主要包括數據的接收、發送等控制。在Linux中所有網絡都抽象為一個接口,由結構體 net_device來表示網絡設備在內核中的運行情況,即網絡設備接口。它既包括了網絡設備接口,如回環(loopback)設備,也包括了硬件網絡設備接口,如以太網卡。 驅動程序運行時,操作系統先調用檢測例程以發現安裝的網卡,如網卡支持即插即用,檢測例程自動發現網卡參數。否則,驅動程序運行前,設置好網卡參數供驅動程序使用。核心發送數據時,調用驅動程序的發送例程。將數據寫入空間,再激活物理發送過程。面向物理層接口程序中斷處理例程。當網卡接收數據、發送過程結束或出錯時,網卡產生中斷,核心調用中斷處理例程,再判斷中斷發生原因,并進行處理。 驅動程序流程如圖4,分為主程序和中斷服務程序,主程序進行DM9000的初始化和網卡檢測、網卡參數獲取。中斷服務程序以程序查詢方式識別中斷源,完成相應處理。具體分別如圖4(a)和(b)。 圖4 DM9000驅動程序流程 在整個過程中,首先要通過檢測物理設備的硬件特征判斷網絡物理設備是否存在,然后決定是否啟動這個驅動程序。接著會對設備進行資源配置,比如,即插即用的硬件就可在這個時候進行配置;而在本嵌入式平臺上,以太網的MAC地址也在這里指定。配置好硬件占用的資源后,就可向系統申請這些資源,如中斷、I/O空間等。最后,對結構體net_device相應的成員變量初始化,使得一個網絡設備可被系統使用。 數據包的發送和接收是實現Linux網絡驅動程序中關鍵的過程,對這兩個過程處理的好壞將直接影響到網絡的整體運行質量。驅動程序中并不存在一個接收方法。應由底層驅動程序來通知系統有數據收到。一般情況下,設備收到數據后都會產生一個中斷,在中斷處理程序中驅動程序申請一塊sk_buff(如定義為skb),從硬件讀出數據放到申請好的緩沖區中。 4 DM9000驅動程序測試 4.1 測試環境 在調試過程中,可以先建立可下載的鏡像文件。在目標板上先燒入vivi。通過vivi將內核映像下載到目標板運行。而網絡驅動是屬于BSP的一部分所以會在下載地過程中一同寫入目標板。 (1)主機環境 主機環境是在Fedora上運行的Linux的集成交叉開發環境及相關的測試用軟件。 (2)目標機環境 目標機的硬件環境是要作為海信商機使用的SBC2410A(ARM920T內核)開發板。 由主機和目標機共同組成了網絡驅動程序的測試環境,兩者通過串口及網線相連,在調試網絡驅動之前要通過串口加載程序。加載了程序之后就可以針對以太網接口來進行相關的測試工作。 4.2 硬件測試 當成功的將DM9000網絡芯片的驅動程序加載到Linux內核中后,就要對其進行測試。首先,要進行的就是硬件的測試。因為DM9000有4個GPIO端口,這里我們只要對這4個端口進行測試,如果它們能夠正常讀寫,則可說明DM9000網卡應工作在正常狀態下。 在測試程序進行編譯運后,運行過程中,用萬用表分別測量4個所對應引腳的電壓,經測試為3.3V,說明該引腳硬件正常,則芯片工作在正常狀態下。 4.3 驅動程序測試 測試過程中在目標機上編寫基于TCP協議的tcpServer()任務作為測試用程序,其功能是實現最簡單TCP服務器端程序。上位機運行相應的Client客戶端程序,由兩端組成TCP的Client-Sever系統進行網絡接口的速度測試和可靠性的測試。 表4-1 測試項目及結果
5 測試結論 通過對網絡驅動程序的測試,證明所開發的網絡驅動程序實現了所有先期設計功能,并在速度上得到了驗證,能夠滿足大批量數據的傳輸工作。 傳送3個包到202.108.9.39,從202.108.9.39接收3個包,無丟失。 本文創新點 S3C2410A內部沒有內嵌的專用網卡控制器,因此在以S3C2410A為硬件平臺的嵌入式設備中增設網卡模塊,必須自行設計接口電路并進行相應的驅動開發,本文使用SBC2410(ARM920T內核)開發板,作為軟硬件運行的硬件平臺,設計DM9000快速以太網網卡硬件電路并進行驅動程序的開發與實現。 采用此方案設計的網卡接口電路可應用到多種嵌入式設備中,在稅控收款機應用中直接經濟效益可達20余萬元。 |
愛欣文科技有限公司 [了解我們]:愛欣文科技有限公司,長期從事國際最新集成電路(IC)代理銷售業務.總公司下設香港公司和深圳公司及武漢公司,以及在內地各有關地區業務辦事處等機構,構成了國際國內IC市場營銷業務的立體網絡,是一個國際集成電路(IC)專業化全球化的代理銷售公司. 公司接受榮譽授權,全面代理臺灣DAVICOM聯杰國際﹑MAGCOM磁威、美國C2、TMC晶揚等國際知名1品牌集成電路(IC)及其相關的全線產品。 [網絡系列集成電路專家]:DAVICOM(臺灣聯杰國際)網絡芯片產品線 Davicom高速以太網路晶片(其"性價比"優于SMSC LAN9210,AX88796,CS8900A,RTL8019......) ①10/100MB/S SWITCH和高速以太網絡芯片 DM9006EP-64PIN LQFP,采用0.18工藝制成,2PORT SWTICH,支持遠程喚醒,IGMP,STP協議功能 DM9003EP-64PIN LQFP,采用0.25工藝制成,2PORT SWTICH,支持遠程喚醒,HP 雙絞線自適功能 DM9000AEP LQFP48PIN,采用0.25工藝制成,低功耗供電電壓2.5V-3.3V DM9000CEP LQFP48PIN,采用0.18工藝制成,低功耗供電電壓1.8v-2.5v,支持AUOT-MIX功能. DM9000CIEP_工規網絡芯片(工作溫度-45--80度) DM9000E - (SMSC LAN91C111 Equivalent)ISA接口高速以太網絡三合一單芯片(含 MII / RMII 接口). ②10MB/S 以太網絡芯片 DM9008AE - 0.25工藝制成,LOCAL BUS接口以太網絡三合一單芯片 ③10/100MB/S 高速以太網絡實體層收發器 DM9161B - 低功率, 高速以太網絡實體層收發器. 48-pin 0.35um. DM9161A - 低功率, 高速以太網絡實體層收發器. Auto-MDIX. 48-pin 0.25um. DM9161C -- 低功率, 高速以太網絡實體層收發器 DM9161E DM9161BIEP-工業級物理層PHY芯片(工作溫度-45--80度) DM8203EP - FAST Ethernet Switch,內置IGMP,STP功能。 ④DAVICOM¬¬¬--MODEM芯片:DM562P/DM562AP,性價比優異,該款IC由 兩個芯片組成DM6588和DM6580 ,同異步兼容,內置驅動器,支持FSK和DTMF來電顯示,同時,也8支持56K V.90 DATA /14.4-33.6K 彩色FAX/Voice/Speaker Phone For Embedded System [強大的免費技術支持]: 我公司為國內總代理商,免費為客戶提供網絡部分整套的產品生產解決方案,在產品生產過程中如果遇到技術上的問題我們可以免費提供下列服務: ①提供完整的開發資料及強大的技術支援,成熟可靠的產品方案. ②芯片的數據手冊,原理圖,驅動. ③Layoeut(布板指南). ④編程指南.可以提供各種產品方案,由原廠工程師解決各種技術問題。 [產品應用領域]:它是以嵌入式系統為核心, 其網絡產品廣泛應用在IPTV,DVB-C+IP,DVR/DVS, VOD、IPCAMERA VOIP,金融POS及商務終端,安防監控,門禁,稅控機和工業控制,功能控制及監控,智能抄表系統,教學實驗裝置,網絡網絡器件,網絡產品,上網本EPC等Embedded Production領域! [聯系我們]:如需開發資料的請與我聯系,謝謝! 電話:0755-86677600 傳真:0755-86677606 地址:深圳南山區高新北區新西路2號東方信息港綜合樓5樓503號 聯系人:任先生 電話:134 2896 8359 在線QQ:1870232565 E-Mail:bab_ren@axwdragon.com |
深圳市愛欣文科技是DAVICOM的一級代理商。供應DAVICOM全系列產品DM9000EP DM9161AEP DM9000AEP DM9000CEP DM9601EP DM9161EP DM9620 DM9621等芯片。原裝現貨,供貨穩定價格優惠,歡迎大家咨詢與定購。 新出兩款USB 2.0以太網橋接器DM9620/DM9621,主要應用于USB Dongle、家庭迷你音樂站(Docking Station)、便攜式多媒體播放器(PMP)和數字電視機上盒(STB)。DM9621及DM9620是針對USB 2.0至10/100Mbps提供的單芯片解決方案。它集成USB 2.0接收器、高速以太網絡MAC+PHY+usb接口,支持MII總線,RMII總線,RESEV,USB2.0,在全速的情況下,可以達到480M/s,支持AUTO-mix等功能。 DM9621(LQFP,48pin) ,DM9621/DM9620均已獲得WHQL及USB-IF認證,并提供Win 98/Me/2000/XP、VISTA WIN7 WinCE、Linux和MacOS等版本的驅動程序 ①提供完整的開發資料及強大的技術支援,成熟可靠的產品方案. ②芯片的數據手冊,原理圖,驅動. ③Layoeut(布板指南). ④編程指南.可以提供各種產品方案,由原廠工程師解決各種技術問題。 如需開發資料的朋友,請與我們聯系。謝謝 聯系人:廖先生 ADD:深圳市南山區高新北區新西路2號東方信息港1棟503室 TEL:0755-86677600 FAX:0755-86677606 Mobile:15899877934 MSN:adan-liao@hotmail.com QQ:761227397 |