新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 位單片機與以太網控制器RTL8029接口的VHDL設計

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

        作者: 時間:2013-09-30 來源:網絡 收藏
          51系列單片機是當前使用最為廣泛的8系列,其豐富的開發資源和較低的開發成本,使51系列單片機現在以至將來都仍會有強大的生命力。在網絡技術飛速發展的今天,實際工作中有將51系列單片機系統接入網絡的需求。由于5 1系列單片機沒有集成以太網接口,因此,如何將51系列單片機系統接入網路是一個值得探討的課題,其關鍵就是在硬件上如何實現單片機與的接口。本文將討論這一課題。

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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 清新县| 锡林郭勒盟| 昌都县| 巴彦县| 余庆县| 永丰县| 巧家县| 连云港市| 鄢陵县| 瑞丽市| 南木林县| 榆中县| 肃南| 卢湾区| 静乐县| 湖州市| 多伦县| 三门县| 临猗县| 星座| 巴塘县| 东山县| 杭锦旗| 秦安县| 彝良县| 寿光市| 泽库县| 淳安县| 五台县| 石门县| 桑日县| 延吉市| 个旧市| 巩留县| 竹溪县| 自贡市| 安新县| 西城区| 麻江县| 波密县| 临漳县|