1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      8位單片機與以太網控制器RTL8029接口的VHDL設計

      更新時間: 2006-06-24 13:06:49來源: 粵嵌教育瀏覽量:1050

          51系列單片機是當前使用為廣泛的8位單片機系列,其豐富的開發(fā)資源和較低的開發(fā)成本,使51系列單片機現(xiàn)在以至將來都仍會有強大的生命力。在網絡技術飛速發(fā)展的今天,實際工作中有將51系列單片機系統(tǒng)接入網絡的需求。由于5 1系列單片機沒有集成以太網接口,因此,如何將51系列單片機系統(tǒng)接入網路是一個值得探討的課題,其關鍵就是在硬件上如何實現(xiàn)單片機與以太網控制器的接口。本文將討論這一課題。


      1 以太網控制器
          臺灣Realtek公司的以太網控制器是一種符合IEEE802.3以太網標準的控制器,有RTL8019、RTL8029和RTL8139等系列。其中RTL8019是ISA總線的,較易與8位MCU實現(xiàn)接口。RTL8029和RTL8139是PCI總線的,不能直接與8位的MCU接口,需要一個PCI接口進行轉接。考慮到目前RTL8029在市場上較容易購買,故采用RTL8029以太網控制器作為網絡接口。
          RTL8029內部已經包含有整個網絡接口層的協(xié)議 (PHY層和MAC層協(xié)議),因此應用起來較簡單。用戶不必考慮鏈路控制問題,而只需考慮單片機如何從RTL8029中去讀TCP/IP協(xié)議的數據即可。
          PCI總線信號有3.3V標準和5V標準,信號線眾多,但是并不是所有的PCI設備都使用全部的PCI接口信號,實際上只使用它們需要的即可。RTL8029AS以太網控制器遵循5V標準,并且只使用了PCI總線信號中的以下部分:
          AD[31:0]――數據信號復用總線。
          FRAME――幀周期信號,由當前主設備驅動,表示一次訪問的開始和持續(xù)時間。
          IRDY――主設備準備好信號。
          TRDY――從設備準備好信號。 
          C/BE――總線命令和字節(jié)使能復用信號。地址期是總線命令,數據期是字節(jié)使能。
          IDSEL――初始化設備選擇信號。在參數配置讀寫傳輸期間,用作片選。對于只有一個PCI設備的情況,它可以總接高電平。
          RST――復位信號。
          CLK――系統(tǒng)時鐘信號,頻率范圍DC~33MHz。以上信號都在CLK的上升沿有效。
          INTA――中斷請求信號,RTL8029數據準備好后可以用來向主控制器發(fā)出中斷。
          DEVSEL――設備選擇信號,表明驅動它的設備已成當前訪問的設備,由于在單片機系統(tǒng)中,RTL8029是單一的PCI設備,因此該信號可以不用。


      2 PCI接口設計
          在以太網控制器的接口信號中,除地址數據總線是雙向的外,TRDY信號由以太網控制器產生,方向為從以太網控制器至PCI接口;其余信號都由接口部分產生,方向是從PCI接口至以太網控制器。
          接口設計的思路是:可將PCI接口當作單片機的外部存儲器看待,單片機以讀寫外部存儲器的時序對PCI接口進行讀寫,再由PCI接口將這種讀寫操作時序轉換成PCI時序對以太網控制器進行操作。
          單片機在進行外部存儲器操作時用到的信號有PO口、P2口、ALE以及RD和WR信號。其中,P0口為地址(低8位)/數據復用,P2口為高8位地址信號;ALE為地址鎖存信號,為高電平時將P0口的值鎖存到低8位數據線上;RD和WR為讀寫有效信號,低電平有效。因此,PCI接口實際上是起到一個從8位單片機讀寫時序到32位PCI讀寫時序轉換的作用,原理框圖如圖1所示,訪目時序如圖2所示。

          在圖2中,可以完成對PCI設備的配置訪問與I/O讀寫訪問,只要有這兩種訪問就完全可以實現(xiàn)單片機對RTL8029的操作。IDSEL信號只是在配置訪問中才起作月,在I/O訪問中不使用該信號。
          FRAME有效后的個時鐘前沿是地址期的開始。此時在AD總線上傳送地址,在C/BE總線上傳送命令。IRDY有效后即為數據期,此時在AD總線上傳送數據,在C/BE總線上傳送字節(jié)使能。但數據的傳輸是在IRDY和TRDY同時有效的時鐘前沿進行。字節(jié)使能指明此時32位數據線上的數據中哪一個數據字節(jié)是有效的。
          讀配置的過程:首先送地址,送命令(命令值為1010B)和字節(jié)使能,再讀配置空間中的內容。
          寫配置的過程:首先送地址,送命令(命令值為101lB)和字節(jié)使能,再送配置數據。
          讀I/O的過程:首先送地址,送命令(命令值為0010B)和字節(jié)使能,再讀I/O空間中的內容。
          寫I/O的過程:首先送地址,送命令(命令值為001lB)和字節(jié)使能,再送數據。
          在I/O訪問中,AD[1:O]兩位有特殊要求,需要與C/BE[3:0]相配合。當C/BEO有效時,AD[1:O]必須為00,當C/BE3有效時,AD[1:0]必須為11。在具體訪問中,每當一個設備地址譯碼選中后,便要檢查字節(jié)使能信號是否與AD[1:0]相符。如果二者矛盾,則整個訪問將無法完成。因此,寫單片機軟件需要參考PCI總線協(xié)議中關于這一部分的內容,才能正確操作以太網控制器。
          總線命令/字節(jié)使能(C/BE)寄存器的地址有效后的一個時鐘周期內,F(xiàn)RAME信號應該有效,表示地址期開始,C/BE[3:0]總線上為總線命令,地址期可以只持續(xù)一個周期,然后立即進入數據期。在單片機系統(tǒng)中可以不考慮去支持復雜的PCI數據連發(fā),進入數據期后,F(xiàn)RAME信號應立即拉回高電平,此時C/BE[3:0]總線上為字節(jié)使能。因此FRAME信號可以用總線命令/字節(jié)使能寄存器的地址信號來產生。
          IRDY信號在數據期才有效,因此IRDY也可以由總線命令/字節(jié)使能寄存器的地址信號來產生或由FRAME信號來產生。
          IDSEL信號只與配置訪問有關,因此可以通過總線命令的命令字來產生。在I/O訪問時。命令字的位bit3為O;在配置訪問時。命令字的位bit3為l。因此,可以用該位來產生IDSEL信號。
          另外前面已說明,可將PCI接口當作外部存儲器來訪問,因此,要從8位數據轉換成32位的數據。PCI接口中需要設計以下寄存器:
          寄存器0,對應于32位數據/地址總線的AD[7:0],用于寫;
          寄存器1,對應于32位數據/地址總線的AD[15:8],用于寫;
          寄存器2,對應于32位數據/地址總線的AD[23:16],用于寫;
          寄存器3,對應于32位數據/地址總線的AD[31:24],用于寫:
          寄存器4,對應于32位數據/地址總線的AD[7:O],用于讀;
          寄存器5,對應于32位數據/地址總線的.AD[1 5:8],用于讀;
          寄存器6,對應于32位數據/地址總線的AD[23:16],用于讀;
          寄存器7,對應于32位數據/地址總線的AD[31:24],用于讀;
          總線命令/字節(jié)使能寄存器,對應于C/BE[3:0];
          復位寄存器,用于對RTL8029AS的硬件復位操作。
          根據以上分析,得PCI接口原理框圖,如圖3所示。

      3 接口的VHDL實現(xiàn)

          PCI接口的VHDL代碼見本刊網站:www.dpj.com.cn。

          以上代碼在Qaartus II下編譯并綜合,占用149個宏單元的資源,可選用CPLD器件MAx7l60來完成。


      4 結語
          本文所闡述的設計方法,已成功應用在無線電監(jiān)測系統(tǒng)的遠程控制中,通過5l單片機系統(tǒng)接入以太網,實現(xiàn)了在網絡上對遠程機房設備的無人監(jiān)控。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲欧美久久夜夜综合伊人 | 中文字幕乱码中文乱码二区 | 亚洲视频一区二区在线观看 | 日韩欧美亚洲中文字幕2021 | 亚洲第一视频在线观看播放 | 中文热免费在线视频 |