嵌入式MICREL網(wǎng)卡驅(qū)動(dòng)設(shè)計(jì)
摘要:文中在HEROS嵌入式操作系統(tǒng)中,利用開放源代碼的TCP/IP協(xié)議棧,在MICREL芯片組成的網(wǎng)卡架構(gòu)的基礎(chǔ)上,詳細(xì)描述了添加網(wǎng)卡底層驅(qū)動(dòng)程序的步驟,探討并實(shí)現(xiàn)了驅(qū)動(dòng)程序的開發(fā)。
關(guān)鍵詞:網(wǎng)卡驅(qū)動(dòng);嵌入式操作系統(tǒng);MICREL
目前隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的電子設(shè)備已經(jīng)將網(wǎng)絡(luò)接入功能作為其默認(rèn)配置,以實(shí)現(xiàn)設(shè)備的遠(yuǎn)程監(jiān)控和信息分布式處理。TCP/IP協(xié)議棧在很多應(yīng)用中已經(jīng)證明了其穩(wěn)定性,所以在實(shí)際應(yīng)用中主要解決移植和編寫網(wǎng)卡的底層驅(qū)動(dòng)程序的問題,本文討論的是MICREL網(wǎng)卡驅(qū)動(dòng)在HEROS系統(tǒng)中的實(shí)現(xiàn),該款芯片為8851,有兩個(gè)完全獨(dú)立的網(wǎng)卡電路實(shí)現(xiàn)。
1 網(wǎng)卡與HEROS概述
網(wǎng)卡驅(qū)動(dòng)完成的工作是正常發(fā)送以及接收網(wǎng)絡(luò)數(shù)據(jù)包。Micrel網(wǎng)卡驅(qū)動(dòng)程序?qū)τ诓僮飨到y(tǒng)而言是一組子程序,它屏蔽了底層的硬件處理細(xì)節(jié),同時(shí)向上層軟件提供接口。驅(qū)動(dòng)程序?qū)⒁l(fā)送的數(shù)據(jù)包按指定格式寫入芯片并啟動(dòng)發(fā)送命令,然后Micrel網(wǎng)卡內(nèi)部處理單元會(huì)自動(dòng)把數(shù)據(jù)包轉(zhuǎn)換成物理幀格式在物理信道上傳輸。反之,Micrel網(wǎng)卡收到物理信號(hào)后將其還原成數(shù)據(jù),按指定格式存放在芯片緩沖區(qū)中以便主機(jī)程序取用。
由于Micrel網(wǎng)卡在HEROS系統(tǒng)中的設(shè)計(jì)采用的是外擴(kuò)設(shè)計(jì),所以圖1中Micrel網(wǎng)卡模塊的位置相應(yīng)地就位于HEROS操作系統(tǒng)以外,以體現(xiàn)其外擴(kuò)特性。
2 硬件設(shè)計(jì)
2.1 網(wǎng)卡硬件特點(diǎn)
KSZ8851整合了一個(gè)快速以太網(wǎng)MAC/PHY與一個(gè)8/16/32位的普通主機(jī)處理器接口和SPI接口。該設(shè)備擁有在RXQ和TXQ之間進(jìn)行共享的18KB內(nèi)部緩沖存儲(chǔ)器。該緩沖存儲(chǔ)器在接收隊(duì)列的緩存容量是12KB,而在發(fā)送隊(duì)列則是6KB。憑借引腳與麥瑞半導(dǎo)體現(xiàn)有的KSZ8841MQL和KSZ8842MQL系列兼容,該設(shè)備可提供80Mbps或更高的性能。該解決方案支持大端(Big—Endian)和小端(Little—Endian)處理器,還支持IPv4/IPv6 checksum生成與校驗(yàn)。這些功能大大減少了對(duì)CPU的使用,并提高了系統(tǒng)整體性能。通過能量檢測(cè)模式、可編程的3.3V/2.5V/1.8V IO選項(xiàng)以及一個(gè)零下40攝氏度至85攝氏度的工作溫度范圍,KSZ8851還為設(shè)計(jì)師提供了更強(qiáng)的功率管理功能。最后,該設(shè)備以多種封裝形式推出,包括128引腳PQFP封裝、48引腳LQFP封裝和32引腳QFN封裝。
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論