版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)中常見(jiàn)的網(wǎng)卡驅(qū)動(dòng)比較(CS8900A,RTL8019,DM9000)DM9000CS8900AKITLCS8900ADM9000KITLDM9000驅(qū)動(dòng),我5.06.0CS8900AKITL出錯(cuò),具體怎么改呢?這是一個(gè)問(wèn)題,先留在這里。先把我今天看的一篇文章留在這里!1.CS8900ACS8900芯片是Cirrus Logic公司生產(chǎn)的一種局域網(wǎng)處理芯片,在嵌入式領(lǐng)域中使用非常常見(jiàn)。它的封裝是 100-pin TQFP,內(nèi)部集成了在片RAM、10BASE-T收發(fā)濾波器,并且提供8位和16位兩種接口。CS8900與ARM芯片按照16位方式連接,網(wǎng)卡芯片復(fù)位后默認(rèn)工作方式為 I/O連接基址是300H。CS8900A還提供其它性能和配置選擇.它獨(dú)特的Packet Page結(jié)構(gòu)可自動(dòng)適應(yīng)網(wǎng)絡(luò)通信量模式的改變和現(xiàn)有系統(tǒng)資源 ,從而提高系統(tǒng)效率。MCU與CS8900A的數(shù)據(jù)傳輸有三種模式:I/O模式,存儲(chǔ)器模式和DMA式.本設(shè)計(jì)采用CS8900A默認(rèn)的I/O模式,因?yàn)镮/O模式簡(jiǎn)單易用. 在I/O式下,通過(guò)訪問(wèn)8個(gè)16位的寄存器來(lái)訪問(wèn)PacketPage 結(jié)構(gòu),這8個(gè)寄存器被映射到2410地址空間的16個(gè)連續(xù)地址。當(dāng)CS8900A上電后,寄存器默認(rèn)的基址為0x300h。電路連接如下:CS8900AIO模式特點(diǎn)就是這個(gè)PacketPage結(jié)構(gòu)PacketPagePointerPacketPageDataPort這兩個(gè)寄存器對(duì)CS8900A的內(nèi)部寄存器進(jìn)行配置,非常方便。#define CS8900_PPTR *(volatileCS8900_REG*) (CS8900_BASE+0x05*CS8900_OFF)//PacketPagePointer 的定義#define CS8900_PDATA *(volatile CS8900_REG *)(CS8900_BASE+0x06*CS8900_OFF)//PacketPageData Port通過(guò)如下函數(shù)對(duì)cs8900a設(shè)置get_reg(int regno) //32,讀寄存器的數(shù)據(jù){CS8900_PPTR =regno; //regno為要讀的寄存器偏移地址return (unsigned short) CS8900_PDATA; //返回要讀寄存器的數(shù)據(jù)}static voidput_reg(int regno, unsigned shortval) //寫(xiě)寄存器{CS8900_PPTR =regno;CS8900_PDATA =val; //寫(xiě)寄存器}其中CS8900_BASE 為基址與硬件連接有關(guān)。硬件原理圖決定在 S3C2410,CS8900Ax19000000I/O模式下CS8900A的內(nèi)部寄存器默認(rèn)基地址為0x300h,S3C2410的地址空間中0x19000300。#define CS8900_BASE 0x19000300完成以上,下面的驅(qū)動(dòng)就非常好寫(xiě)了,用網(wǎng)卡掛起函數(shù)示例:voideth_halt( void){/*disable transmitter/receiver mode*/put_reg(PP_LineCTL, 0); //禁止網(wǎng)卡/*"shutdown" toshowChipID orkernel wouldn't findhecs8900 ...get_reg_init_bus(PP_ChipID);}2.rtl8019RTL8019AS 是高度集成以太網(wǎng)控制器,為了提供完全解決即插即用方案在集成10BASET 收發(fā)器,BNC,和AUI接口之間的自檢測(cè)功能。此外,8條IRQ總線和16條基本地址總線為大資源情況下提供了寬松的環(huán)境。RTL8019AS16k,32k64kBROM和閃存接口。它仍然提供頁(yè)面模式功能,這種功能能支持在僅16k字節(jié)內(nèi)存系統(tǒng)空間下的MBROM.此外,BROM 的無(wú)用命令被用來(lái)釋放BROM 內(nèi)存空間。RTL8019AS用16k 字節(jié)SRAM 設(shè)計(jì)在單片芯片上,它的設(shè)計(jì)不僅提供了更多友好功能,而且節(jié)省了SRAM 存儲(chǔ)資源。RTL8019選擇的端口I/O300H。它的地址偏移量共32個(gè),用到的地址空間為300H-31FH,將地址線SA0-SA4CPUA0-A4連接,SA8-SA9,ARMA22nGCS3,確定地址映射在系統(tǒng)的哪個(gè)Bank上,從而確定基地址。如若A22SA8,nGCS3SA5,那么尋址范圍就是0x8340001F~0x83400000。驅(qū)動(dòng)特點(diǎn)是,對(duì)其寄存器的訪問(wèn)與 CPU對(duì)自己內(nèi)對(duì)存訪問(wèn)幾乎一樣。寄存器采用了分頁(yè)技術(shù),每頁(yè)寄存器的便宜都是 00~1F這樣使硬件連簡(jiǎn)單。另外RTL8019有BROM接口,可以接非易失存儲(chǔ)器,復(fù)位時(shí)可以讀取其內(nèi)部數(shù)據(jù),十分方便。由于類似同意編址,而不像CS8900A那樣采用PacketPage 結(jié)構(gòu)此驅(qū)動(dòng)寫(xiě)起來(lái)更加容易,但是多一個(gè)頁(yè)確定函數(shù):寄存器配置函數(shù):static unsigned charget_reg (unsigned intregno) //得到寄存器的值{return (*(unsigned char*)regno);}static voidput_reg (unsigned intregno, unsigned charval)//給寄存器賦值{*(volatile unsigned char*)regno=val;}頁(yè)面切換方法:put_reg (RTL8019_COMMAND, RTL8019_PAGE0);網(wǎng)卡掛起函數(shù)示例:voideth_halt (void){put_reg (RTL8019_COMMAND, 0x01); //掛起網(wǎng)卡}3.DM9000DM9000是一款完全集成的和符合成本效益單芯片快速以太網(wǎng)10/100M自適應(yīng)的PHY4KDWORD值的SRAM。它的目的是在低功耗和高性能進(jìn)程的3.3V5V的支持寬容。DM9000還提供了介質(zhì)無(wú)關(guān)的接口,來(lái)連接所有提供支持介質(zhì)無(wú)關(guān)接口功能的家用電話線網(wǎng)絡(luò)設(shè)備或其他收發(fā)器。該 DM9000支持8位,16位和32-位接口訪問(wèn)內(nèi)部存儲(chǔ)器,以支持不同的處理器。隨著其成本的降低和功能的強(qiáng)大越來(lái)越被廣泛使用。DM9000,DM9000AEN()是輸SA4~SA9是地址總線4~9位,AENSA98高,SA7SA6SA5SA4為低時(shí),DM9000DM9000默認(rèn)I/0基地址為300H。CMD引腳用于設(shè)置COMMAND模式,CMD為高時(shí),選擇數(shù)據(jù)端口。MD為低時(shí),選地址端口。數(shù)據(jù)端口和地址端口的地址碼由下式?jīng)Q定 :DM9000=DM9000=其中,高位片選地址由S3C2410的NGCS3提供,即為:0X100000000H。:采用一個(gè)CMD信號(hào)來(lái)控制是對(duì)DM9000,,.有點(diǎn)類似CS8900APacketPage結(jié)構(gòu).驅(qū)動(dòng)關(guān)鍵如下:讀端口與寫(xiě)端口的宏#defineDM9000_outb(d,r)(*(volatileu8*)r=d)#defineDM9000_outw(d,r)(*(volatileu16*)r=d)#define DM9000_outl(d,r) ( *(volatile u32 *)r = d #define DM9000_inb(r) (*(volatile u8 *)r)#define DM9000_inw(r) (*(volatile u16 #define DM9000_inl(r) (*(volatile u32 *)r)配置寄存器的函數(shù):static u8DM9000_ior(int reg) //讀寄存器的值{DM9000_outb(reg, DM9000_IO); //類似cs8900a 把寄存器索引寫(xiě)道DM9000_IOreturn DM9000_inb(DM9000_DATA); //讀取DM9000_DATA即是寄存器的數(shù)值}static voidDM9000_iow(int reg,u8value){DM9000_outb(reg, DM9000_IO);DM9000_outb(value, DM9000_DATA); //給寄存器賦值}其中DM9000_IO就是DM9000,由高位片選地址+300H+0H,CMD接了A2,所以DM9000_DATA就是DM9000_IO+4,即是高位片選地址+300H+4H.掛起函數(shù)示例voideth_halt(void){DM9000_iow(DM9000_GPR,0x01);/*Power-Down PHY*/DM9000_iow(DM9000_IMR,0x80);/*Disable allinterrupt */DM9000_iow(DM9000_RCR,0x00);/*Disable RX*/}總結(jié):可以看出CS8900A的接線最為復(fù)雜需要將地址線全部接上900A支持內(nèi)存模式和IO模式; rtl8019功能較CS8900A強(qiáng)大,提供了BROM接口,采用寄存器統(tǒng)一編址,驅(qū)動(dòng)簡(jiǎn)單.接線相對(duì)簡(jiǎn)單只要若干根地址線;DM9000,功能最強(qiáng)大,自適應(yīng)以太網(wǎng)速度(10M/100M).接線最為簡(jiǎn)單只要一個(gè)地址線+一個(gè)片選線.3mcf52277dm9000coldfire52277dm90001688位顛倒了,這個(gè)錯(cuò)誤我以為是可以用軟件修正的,但修正后仍然不是很正常,pingtftp不行。Ndm9000這種東西布線沒(méi)有太多講究,以前dm9000比較嬌氣。5227752277來(lái)做的最大原lcdcontroller52277的引腳復(fù)用太厲害,導(dǎo)致同時(shí)能使用的模塊其實(shí)很有限。這樣,就大大削弱了它的功能,coldfiresamsungarm52277的成本沒(méi)有多少優(yōu)s3c2440還要貴點(diǎn)。52277另外一個(gè)不足是沒(méi)有集成以太網(wǎng)控制器,本來(lái)以為外擴(kuò)一個(gè)dm9000之的芯片,都是商業(yè)級(jí)的,沒(méi)有工業(yè)級(jí)的。dm90005227752277搭配一個(gè)dm9000去做,受限于dm9000的質(zhì)量,整個(gè)系統(tǒng)也只能在商業(yè)級(jí)使用,這樣的話coldfiresamsung2410之類的做,成本更低。以前很是不理解飛思卡爾眾多芯片為什么要集成以太網(wǎng)控制器,當(dāng)時(shí)我的理解PHY全集成,要不集成就全不集成,
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024知名大學(xué)與科研機(jī)構(gòu)聯(lián)合培養(yǎng)研究生協(xié)議
- 2025年度企業(yè)財(cái)務(wù)內(nèi)部控制與合規(guī)審計(jì)合同范本3篇
- 專用購(gòu)銷交易2024版協(xié)議格式版A版
- 二零二四商標(biāo)授權(quán)及知識(shí)產(chǎn)權(quán)跨界合作合同3篇
- 萬(wàn)科物業(yè)2024停車(chē)場(chǎng)運(yùn)營(yíng)管理協(xié)議
- 2024年談蕾離婚后財(cái)產(chǎn)與子女撫養(yǎng)協(xié)議書(shū)3篇
- 個(gè)性化小額資金借貸款項(xiàng)協(xié)議范本一
- 二零二四衛(wèi)生院衛(wèi)生間改造與裝修施工合同3篇
- 2025產(chǎn)學(xué)研科技成果轉(zhuǎn)化合同:生物科技產(chǎn)業(yè)合作框架4篇
- 2024路燈購(gòu)銷安裝合同范本
- SQL Server 2000在醫(yī)院收費(fèi)審計(jì)的運(yùn)用
- 《FANUC-Oi數(shù)控銑床加工中心編程技巧與實(shí)例》教學(xué)課件(全)
- 微信小程序運(yùn)營(yíng)方案課件
- 抖音品牌視覺(jué)識(shí)別手冊(cè)
- 陳皮水溶性總生物堿的升血壓作用量-效關(guān)系及藥動(dòng)學(xué)研究
- 安全施工專項(xiàng)方案報(bào)審表
- 學(xué)習(xí)解讀2022年新制定的《市場(chǎng)主體登記管理?xiàng)l例實(shí)施細(xì)則》PPT匯報(bào)演示
- 好氧廢水系統(tǒng)調(diào)試、驗(yàn)收、運(yùn)行、維護(hù)手冊(cè)
- 中石化ERP系統(tǒng)操作手冊(cè)
- 五年級(jí)上冊(cè)口算+脫式計(jì)算+豎式計(jì)算+方程
- 氣體管道安全管理規(guī)程
評(píng)論
0/150
提交評(píng)論