日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
51單片機(jī)RTL8019AS網(wǎng)卡驅(qū)動(dòng)程序
51單片機(jī)RTL8019AS網(wǎng)卡驅(qū)動(dòng)程序
 更新時(shí)間:2008-7-26 19:48:40  點(diǎn)擊數(shù):3
【字體: 字體顏色
我的SNMP網(wǎng)管板使用了RTL8019AS 10M ISA網(wǎng)卡芯片接入以太網(wǎng)。選它的好處是:NE2000兼容,軟件移植性好;接口簡(jiǎn)單不用轉(zhuǎn)換芯片如PCI-ISA橋;價(jià)格便宜2.1$/片(我的購(gòu)入價(jià)為22元RMB/片);帶寬充裕(針對(duì)51);較長(zhǎng)一段時(shí)間內(nèi)不會(huì)停產(chǎn)。8019有3種配置模式:跳線方式、即插即用P&P方式、串行Flash配置方式。為了節(jié)省成本,我去掉了9346而使用X5045作為閃盤存儲(chǔ)MAC地址和其他可配置信息。P&P模式用在PC機(jī)中,這里用不上。只剩下跳線配置模式可用,它的電路設(shè)計(jì)參考REALTEK提供的DEMO板圖紙。一天時(shí)間就可以完成,相對(duì)來說硬件設(shè)計(jì)比較簡(jiǎn)單。
與這部分硬件相對(duì)應(yīng)的軟件是網(wǎng)卡驅(qū)動(dòng)。所謂驅(qū)動(dòng)程序是指一組子程序,它們屏蔽了底層硬件處理細(xì)節(jié),同時(shí)向上層軟件提供硬件無關(guān)接口。驅(qū)動(dòng)程序可以寫成子程序嵌入到應(yīng)用程序里(如DOS下的I/O端口操作和ISR),也可以放在動(dòng)態(tài)鏈接庫(kù)里,用到的時(shí)候再動(dòng)態(tài)調(diào)入以便節(jié)省內(nèi)存。在WIN98中,為了使V86、WIN16、WIN32三種模式的應(yīng)用程序共存,提出了虛擬機(jī)的概念,在CPU的配合下,系統(tǒng)工作在保護(hù)模式,OS接管了I/O、中斷、內(nèi)存訪問,應(yīng)用程序不能直接訪問硬件。這樣提高了系統(tǒng)可靠性和兼容性,也帶來了軟件編程復(fù)雜的問題。任何網(wǎng)卡驅(qū)動(dòng)都要按VXD或WDM模式編寫,對(duì)于硬件一側(cè)要處理虛擬機(jī)操作、總線協(xié)議(如ISA、PCI)、即插即用、電源管理;上層軟件一側(cè)要實(shí)現(xiàn)NDIS規(guī)范。因此在WIN98下實(shí)現(xiàn)網(wǎng)卡驅(qū)動(dòng)是一件相當(dāng)復(fù)雜的事情。
我這里說的驅(qū)動(dòng)程序特指實(shí)模式下的一組硬件芯片驅(qū)動(dòng)子程序。從程序員的角度看,8019工作流程非常簡(jiǎn)單,驅(qū)動(dòng)程序?qū)⒁l(fā)送的數(shù)據(jù)包按指定格式寫入芯片并啟動(dòng)發(fā)送命令,8019會(huì)自動(dòng)把數(shù)據(jù)包轉(zhuǎn)換成物理幀格式在物理信道上傳輸。反之,8019收到物理信號(hào)后將其還原成數(shù)據(jù),按指定格式存放在芯片RAM中以便主機(jī)程序取用。簡(jiǎn)言之就是8019完成數(shù)據(jù)包和電信號(hào)之間的相互轉(zhuǎn)換:數(shù)據(jù)包<===>電信號(hào)。以太網(wǎng)協(xié)議由芯片硬件自動(dòng)完成,對(duì)程序員透明。驅(qū)動(dòng)程序有3種功能:芯片初始化、收包、發(fā)包。
以太網(wǎng)協(xié)議不止一種,我用的是802.3。它的幀結(jié)構(gòu)如圖1所示。物理信道上的收發(fā)操作均使用這個(gè)幀格式。其中,前導(dǎo)序列、幀起始位、CRC校驗(yàn)由硬件自動(dòng)添加/刪除,與上層軟件無關(guān)。值得注意的是,收到的數(shù)據(jù)包格式并不是802.3幀的真子集,而是如圖2所示。明顯地,8019自動(dòng)添加了“接收狀態(tài)、下一頁(yè)指針、以太網(wǎng)幀長(zhǎng)度(以字節(jié)為單位)”三個(gè)數(shù)據(jù)成員(共4字節(jié))。這些數(shù)據(jù)成員的引入方便了驅(qū)動(dòng)程序的設(shè)計(jì),體現(xiàn)了軟硬件互相配合協(xié)同工作的設(shè)計(jì)思路。當(dāng)然,發(fā)送數(shù)據(jù)包的格式是802.3幀的真子集,如圖3所示。



有了收發(fā)包的格式,如何發(fā)送和接收數(shù)據(jù)包呢?如圖4所示,先將待發(fā)送的數(shù)據(jù)包存入芯片RAM,給出發(fā)送緩沖區(qū)首地址和數(shù)據(jù)包長(zhǎng)度(寫入TPSR、TBCR0,1),啟動(dòng)發(fā)送命令(CR=0x3E)即可實(shí)現(xiàn)8019發(fā)送功能。8019會(huì)自動(dòng)按以太網(wǎng)協(xié)議完成發(fā)送并將結(jié)果寫入狀態(tài)寄存器。如圖5所示,接收緩沖區(qū)構(gòu)成一個(gè)循環(huán)FIFO隊(duì)列,PSTART、PSTOP兩個(gè)寄存器限定了循環(huán)隊(duì)列的開始和結(jié)束頁(yè),CURR為寫入指針,受芯片控制,BNRY為讀出指針,由主機(jī)程序控制。根據(jù)CURR==BNRY 1?可以判斷是否收到新的數(shù)據(jù)包,新收到的數(shù)據(jù)包按圖2格式存于以CURR指出的地址為首址的RAM中。當(dāng)CURR==BNRY時(shí)芯片停止接收數(shù)據(jù)包。如果做過FPGA設(shè)計(jì),用過VHDL,可以想象到硬件芯片的工作原理。此處,設(shè)計(jì)2個(gè)8bit寄存器和一個(gè)2輸入比較器,當(dāng)收到數(shù)據(jù)包時(shí),接收狀態(tài)機(jī)根據(jù)當(dāng)前狀態(tài)和比較器結(jié)果決定下一個(gè)狀態(tài),如果CURR=BNRY,進(jìn)入停收狀態(tài);反之,CURR按模增1。8019數(shù)據(jù)手冊(cè)沒有給出硬件狀態(tài)機(jī)實(shí)現(xiàn)方法,說明也很簡(jiǎn)略,往往要通過作實(shí)驗(yàn)的方法推理出工作過程。比如,ISR寄存器不只和中斷有關(guān),當(dāng)接收緩沖溢出時(shí),如果不清ISR(寫入FFH),芯片將一直停止接收。在流量較大時(shí)溢出經(jīng)常發(fā)生,此時(shí)不清ISR,就會(huì)導(dǎo)致網(wǎng)卡芯片死機(jī)。 
 1234下一頁(yè)  GO
  • 上一篇: 89S51看門狗功能的使用方法
  • 下一篇: 基于AT89C51單片機(jī)的微型可編程控制器
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1