国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

利用微控制器進行網絡通信的網卡配置

發布時間:2010-6-25 16:22    發布者:techieboy
關鍵詞: 網卡配置
利用單片機進行網絡通信的關鍵是驅動和配置網絡接口卡,而RTL8019是REALTEK公司高集成度的專用以太網接口芯片,支持PnP自動探測,并且內嵌16K SRAM,有全雙工的通信接口,可以通過交換機在雙絞線上同時發送和接收數據,使帶寬從10兆增加到20兆,是用來進行以太網通信的理想芯片。

RTL8019AS是針對ISA總線設計的,在PC上用來實現網絡的物理層協議,主要包括網卡與網絡電纜的物理連接、介質訪問控制(如CSMA/CD)、數據幀的拆裝、幀的發送與接收、錯誤校驗、數據信號的編/解碼(如曼徹斯特碼和NRZ碼的轉換等)、數據的串、并行轉換等功能。而要實現這些功能,必須要對網絡接口芯片進行正確的配置。

而大部分微控制器是8位的,所以用8位單片機和RTL8019as接口時必須把接口芯片置成8位模式,現用具體代碼來詳細說明用單片機對RTL8019AS進行配置,從而實現利用微控制器進行網絡通信。

RTL8019共有四頁寄存器組,每頁寄存器組有16個寄存器。實際上網絡通信也就是對這些寄存器進行設置。其中CR寄存器是控制命令寄存器,地址是00h,其各個位的含義如表1所示,這個寄存器用來選擇寄存器頁,控制遠程DMA操作。

PS1,PS0用來指定寄存器的頁。在實際配置寄存器時,首先要指定要配置的寄存器屬于哪一頁(就是進行PS1和PS0的設置),然后對那一頁中的寄存器寫入配置信息。

要進行網絡通信必須對網絡控制芯片初始化,初始化比較煩瑣,但非常重要,它決定者網絡通信的一些重要參數,詳細配置過程如下。

表1 CD寄存器各位的含義
NONAMETYPEBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
00hCDR/WPSIPS0RD2RD1RD0TXRSTASTP

1.初始化復位寄存器,地址1fh,代碼如下。

  mov nicIOAddr,#$1F;給出復位寄存器的地址
  mov w,#0;寫入數據0
  call NICWrite;調寫子程序,把數據寫入

2.選擇RTL8019as為用戶配置模式,然后對9346CR寄存器進行寫使能,再對RTL8019AS的配置寄存器2進行設置,代碼如下。

  clr nicIOAddr;選CR寄存器
  mov w,#d1h;選第三頁,停止傳輸操作
  call NICWrite;寫入數據
  mov nicIOAddr,#$01;選9346CR寄存器
  mov w,#d0h;配置寄存器寫使能
  call NICWrite;寫入數據
  mov nicIOAddr,#05h;選配置寄存器2
  mov w,#0h;網絡連接自動檢測使能(10BaseT)
  call NICWrite;寫入數據

3.配置當前頁寄存器(寫時選擇第一頁07h寄存器,讀時選擇第二頁07h寄存器)。

  inc nicIOAddr;($07) CURR寄存器指向接收緩沖區的第一頁(每頁256個字節)
  mov w,#RXBUF_START;把開始地址寫入CUR寄存器中
  call NICWrite;寫入數據

4.配置接收緩沖區的大小(在第一頁寄存器組中).

  clr nicIOAddr;選擇第一頁寄存器
  mov w,#01h;寫入數據1
  call NICWrite;寫入數據
  inc nicIOAddr;“頁開始寄存器”($01, PSTART)設置接收緩沖區的開始頁
  mov w,#RXBUF_START
  call NICWrite;寫入數據
  inc nicIOAddr;“頁終止寄存器”($02, PSTOP)設置接收緩沖區的終止頁
  mov w,#RXBUF_END
  call NICWrite;寫入數據

5.設置邊界寄存器

  inc nicIOAddr;($03)BNRY()用作一個指針,指向數據緩沖區中的最后一頁的接收數據
  mov w,#RXBUF_START
  call NICWrite;寫入數據

6.設置中斷寄存器(地址在第一頁的07h)

  mov nicIOAddr,#$07;ISR中斷寄存器
  mov w,#$FF
  call NICWrite;寫入數據
  中斷寄存器各個位的含義如表2所示。

8.設置接收配置寄存器(0C,RCR)

mov nicIOAddr,#$0C;RCR設置為扔掉錯誤的接收包;不支持多播地址的包;接收少于64字節的數據包;支持廣播地址;物理目的地址必須和在PARO-5的接點地址相匹配;數據在存儲器中緩沖;拒絕接收有錯誤的包。
  mov w,#%11000110
  call NICWrite;

表2 中斷寄存器各個位的含義

符號描 述
7RDCNIC開始時置"1",開始命令寫入CD時置"1"當包從緩沖區讀取時置"0"
6RDC當遠程DMA操作完成時置"1"
5CNT當網絡計算器被設置時置"1"
4OVW當接收緩沖區用完時置"1"
3當傳輸包由于網絡問題而掉時被置"1"
2RXE當有以下情況時被置"1":CRC校驗錯;
幀對起錯誤;丟包
1PTX這個位指示發送包沒有錯誤
0PRX這個位指示接收包沒有錯誤

9.設置發送配置寄存器(0D,TCR)

inc nicIOAddr;TCR設置為包要進行地址匹配檢查,CRC校驗和幀對齊校驗;物理目的地址必須和在PARO-5的接點地址相匹配;不支持多播地址的包;發送少于64字節的數據包。

  mov w,#%11100000
  call NICWrite

10.設置數據配置寄存器(0E,DCR)

  inc nicIOAddr;數據配置在低8位,每次傳送一個字節,而不是一個字
  mov w,#%10111000
  call NICWrite;調寫子程序,把數據寫入

11.開始接收數據

  clr nicIOAddr;選擇CR寄存器
  mov w,#%00000010;Page0,數據設置為開始接收
  call NICWrite;調寫子程序,把數據寫入

利用單片機對網絡控制器進行上述設置后,再結合高層的TCP/IP協議,就可以在以太網上進行數據傳輸了。

利用8位微控制器配置網絡控制卡的寄存器較為煩瑣,上述過程和代碼只是簡要的介紹,用戶也可針對自己的特殊需要進行一些特殊設置,總之,要以提高數據傳輸效率為原則。
本文地址:http://www.qingdxww.cn/thread-13725-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 利用模擬開發工具生態系統進行安全電路設計
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美中文字幕第一页 | 国产精品福利在线观看免费不卡 | 中国一级毛片aaa片 中国性天美传媒 | 一二三四免费高清视频社区 | 999精品影视在线观看 | 天天操精品 | 四虎永久免费影院 | 亚洲男人的天堂在线观看 | 精品国产一区二区三区www | h视频在线观看视频观看 | 奇米网奇米色 | 一级特黄aaa大片 | 91麻豆精品国产片在线观看 | 久久新视频 | 日韩中文字幕在线播放 | 国产一区二区高清视频 | 手机免费看黄在线高清视频 | 日韩精品成人免费观看 | 久久成人永久免费播放 | 日韩欧美一区二区三区在线视频 | 男女性关系视频免费观看软件 | 亚洲国产欧美在线观看 | 日日碰狠狠添天天爽五月婷 | 国产精品视频大全 | 国产精品不卡在线观看 | 韩国一大片a毛片 | 成人一级 | 四虎永久免费影院 | 欧美一区二区三区不卡片 | 亚洲国产影视 | 亚洲精品小视频 | 亚洲乱码视频在线观看 | 99精品视频在线 | 资源在线www天堂 | 国产一级做a爰片久久毛片男 | 日韩免费在线 | 婷婷五月天.com | 国产一级毛片a午夜一级毛片 | 欧美日本高清视频在线观看 | 欧美午夜精品一区二区三区 | 国产成人精品福利网站人 |