<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 以太網(wǎng)控制器接□模塊的程序設(shè)計(jì)

          以太網(wǎng)控制器接□模塊的程序設(shè)計(jì)

          作者: 時間:2011-07-20 來源:網(wǎng)絡(luò) 收藏

          1.軟件開發(fā)流程   

          由于數(shù)據(jù)幀最大為1518字節(jié),而單片機(jī)PIC 16F877的內(nèi)存容量只有368字節(jié),因此就要利用接 口控制器RTL8019AS內(nèi)置的16KB的SRAM,用作接收緩收區(qū),并且單片機(jī)PlC16F877僅傳輸和處理數(shù)據(jù)報(bào)的有用 部分。在接收處理時,不使用中斷方式,而采用輪詢(Polling)方式,其幀接收流程為圖1所示。

          圖1 幀接收流程圖  ?。?)流程說明。

          幀接收流程完成NIC初始化后,主程序始終等待是否有數(shù)據(jù)幀到達(dá),當(dāng)收到數(shù)據(jù)幀后,判別接收幀的類型 字段,如果是0806h,轉(zhuǎn)入ARP接收處理;如果是0800h就轉(zhuǎn)入IP接收處理。

          如果是發(fā)給自己的ARP請求,則生成ARP應(yīng)答交鏈路層裝幀后發(fā)送,否則丟棄;若經(jīng)判斷數(shù)據(jù)幀為發(fā)給自己 的P數(shù)據(jù)報(bào),則將IP數(shù)據(jù)報(bào)交IP協(xié)議處理。

          在IP協(xié)議處理中要對ICMP和rap報(bào)文進(jìn)行區(qū)分,交各自的協(xié)議處理。當(dāng)rap或ICMP協(xié)議有數(shù)據(jù)需要發(fā)送時, 則通知P層,IP協(xié)議將待發(fā)數(shù)據(jù)進(jìn)行封裝,然后交給鏈路層裝幀發(fā)送。對其他數(shù)據(jù)報(bào)沒有必要應(yīng)答,仍然繼 續(xù)輪詢。

          接口控制器RTL8019AS的接收緩沖區(qū)大約有14KB,但實(shí)際上,數(shù)據(jù)是以256字節(jié)為上限(作為一幀) 寫入的,假設(shè)1頁中寫入1幀(256字節(jié)),最大的緩沖容量為58個幀。一旦發(fā)生緩沖區(qū)溢出,程序?qū)σ蕴?網(wǎng)接口控制器RTL8019AS重置,這期間接收的數(shù)據(jù)幀將全部廢棄扔掉。一旦發(fā)生溢出,使用上層協(xié)議的超時等來保證其可靠性。

          (2)初始化過程。

          ①從內(nèi)置E2PROM中將必要的數(shù)據(jù)拷貝至RAM中。在Remote LO畫面中,即使改變IP Address或Port號,如果不進(jìn)行重置,其變更值不會生效。

          ②如果液晶顯示器的端口號不是0的話,將對液晶顯示器進(jìn)行初始化。該過程大概需要數(shù)十毫秒的時間。

          ③對RTL8019AS的RSTDRV端進(jìn)行RESET,大概需要數(shù)毫秒完成該動作。這期間,   RTL8019AS讀取93C46的CONFIG1ˉCONFIG4。

          ④PIC經(jīng)8019AS從93C46中讀MAC地址。

          ⑤將MAC地址寫入8019AS內(nèi)的寄存器中,8019AS的初始化完畢。

          ⑥檢查JP2,轉(zhuǎn)入普通模式或輔助程序模式。

          ⑦在普通模式的最初,判別是否有取P地址(IP=0.0.0.0)的必要,如果必要,在DHCP服務(wù)器中,使用廣播通信方式將DHCP協(xié)議中的DISCOVER信息送出。

          上述處理完后,進(jìn)入幀接收處理狀態(tài)。

            初始化過程如圖2~圖7所示。

          圖2 將必要的數(shù)據(jù)拷貝到RAM   圖3 將8019重置,讀CONFIG寄存器   

          圖4 取MAC地址

          圖5 將MAC地址寫入PAR寄存器    圖6 檢查動作方式   圖7 如果是DHCP的話,發(fā)出DISCOVER   

          (3)協(xié)議處理程序。

          ①ARP協(xié)議處理。



          關(guān)鍵詞: 以太網(wǎng) 控制器接□

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();