• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機應用實現網絡上對遠程機房設備無人監控解析方案

    單片機應用實現網絡上對遠程機房設備無人監控解析方案

    作者: 時間:2012-06-18 來源:網絡 收藏

    在圖2中,可以完成對PCI的配置訪問與I/O讀寫訪問,只要有這兩種訪問就完全可以單片機對RTL8029的操作。IDSEL信號只是在配置訪問中才起作月,在I/O訪問中不使用該信號。

    FRAME有效后的第一個時鐘前沿是地址期的開始。此時在AD總線上傳送地址,在C/BE總線上傳送命令。IRDY有效后即為數據期,此時在AD總線上傳送數據,在C/BE總線上傳送字節使能。但數據的傳輸是在IRDY和TRDY同時有效的時鐘前沿進行。字節使能指明此時32位數據線上的數據中哪一個數據字節是有效的。

    讀配置的過程:首先送地址,送命令(命令值為1010B)和字節使能,再讀配置空間中的內容。

    寫配置的過程:首先送地址,送命令(命令值為101lB)和字節使能,再送配置數據。

    讀I/O的過程:首先送地址,送命令(命令值為0010B)和字節使能,再讀I/O空間中的內容。

    寫I/O的過程:首先送地址,送命令(命令值為001lB)和字節使能,再送數據。

    在I/O訪問中,AD[1:O]兩位有特殊要求,需要與C/BE[3:0]相配合。

    當C/BEO有效時,AD[1:O]必須為00,當C/BE3有效時,AD[1:0]必須為11。在具體訪問中,每當一個地址譯碼選中后,便要檢查字節使能信號是否與AD[1:0]相符。如果二者矛盾,則整個訪問將無法完成。因此,寫單片機軟件需要參考PCI總線協議中關于這一部分的內容,才能正確操作以太網控制器。

    總線命令/字節使能(C/BE)寄存器的地址有效后的一個時鐘周期內,FRAME信號應該有效,表示地址期開始,C/BE[3:0]總線上為總線命令,地址期可以只持續一個周期,然后立即進入數據期。在單片機系統中可以不考慮去支持復雜的PCI數據連發,進入數據期后,FRAME信號應立即拉回高電平,此時C/BE[3:0]總線上為字節使能。因此FRAME信號可以用總線命令/字節使能寄存器的地址信號來產生。

    IRDY信號在數據期才有效,因此IRDY也可以由總線命令/字節使能寄存器的地址信號來產生或由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],用于讀;

    總線命令/字節使能寄存器,對應于C/BE[3:0];

    復位寄存器,用于對RTL8029AS的硬件復位操作。

    根據以上分析,得PCI接口原理框圖,如圖3所示。

    3 接口的VHDL

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

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

    4 結語

    本文所闡述的設計方法,已成功在無線電監測系統的控制中,通過5l單片機系統接入以太網,了在上對


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 阿勒泰市| 三台县| 宜章县| 信丰县| 江川县| 邹城市| 元朗区| 青神县| 金昌市| 库伦旗| 和静县| 武功县| 连云港市| 龙江县| 达州市| 凌云县| 盘锦市| 阜康市| 盘锦市| 怀宁县| 仁怀市| 平江县| 林西县| 东阿县| 闸北区| 株洲县| 柳江县| 梅州市| 蒙自县| 水城县| 方山县| 牡丹江市| 乌兰县| 乌鲁木齐县| 克山县| 申扎县| 彩票| 舞阳县| 隆德县| 长顺县| 修文县|