新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PowerPC嵌入式系統中的以太網接口設計

        PowerPC嵌入式系統中的以太網接口設計

        作者: 時間:2009-04-08 來源:網絡 收藏

        5 網口部分
        網口部分的基于芯片組Tsil07控制的PCI總線,基本框圖如圖2。

        網口部分主要由Intel 82559,網絡隔離變壓器和RJ453部分組成。82559是一個高集成度、高性能、低功耗的10/100 Mb/s快速控制器,符合LON規范。物理尺寸只有15 mm×15 mm,是一款高性價比芯片。82559有完整的PCI,既可作主設備又可作從設備,在上電對其進行配置時只能作為從設備,正常工作后可作為主設備。32位的PCI控制器使82559在PCI總線上執行高速的數據傳輸。并且PCI控制器可處理通信任務,因而減輕CPU的負擔。82559包含一個傳輸FIFO和一個接收FIFO,大小各為3 kB,在等待總線傳輸時可防止數據的流失。這將使82559利用最小的幀間距傳送數據。82559可工作在全雙工和半雙工模式。82559連接一個E2PROM,E2PROM為硬件和軟件提供上電初始化。在82559芯片上集成了MAC(介質訪問子層)和PHY(物理層)的功能,通過片上的命令和狀態寄存器經由PCI總線和通信。H1102是一個網絡隔離變壓器,82559通過網絡隔離變壓器驅動剛45網線,用來支持10/100BASE―T,實現與外界通信。


        6 的VxWorks 的開發
        即Board Support Package,板級支持包,是對目標的底層支持軟件。對于具體的硬件平臺,與硬件相關的代碼都被封裝在中,由BSP向上提供虛擬的硬件平臺,BSP與操作通過定義好的接口進行交互。BSP是所有與硬件相關的代碼體的集合,是介于底層硬件和上層操作系統之間的一層,主要目的是為了支持操作系統,使之能夠更好地運行于硬件系統。以下介紹了網口的VxWorks BSP的開發方法。
        6.1 Tsil07的PCI接口的寄存器初始化
        對Tsil07的PCI接口的寄存器初始化主要是對PCI命令寄存器,PCI狀態寄存器,PCI仲裁控制寄存器等和PCI相關的寄存器設置。因用戶手冊上對各寄存器的參數進行了詳細的說明,在此將不再贅述。
        Tsil07中的32位配置寄存器地址是0x8000_00nn,nn是寄存器的相對偏移地址。對配置寄存器的訪問采用間接方式,將配置寄存器的地址寫到CONFIG_ADDR端口,則配置寄存器的內容將在CONFIG_DATA端口獲得。CONFIG_ADDR端口的地址為:OxFEC0_0000~OXFEDF_FFFC,CONFIG_DATA端口的地址為0xFEE0_0000~0xFEEF_FFFF。
        6.2 82559的PCI接口的寄存器初始化
        對Tsil07的PCI接口的寄存器初始化包括對PCI命令寄存器,PCI狀態寄存器,Cache行大小(CLS)寄存器等寄存器的設置,以便能夠找到PCI設備82559,使Power―PC能夠對該設備進行訪問。
        PCI定義了3個地址空間:PCI memory空間,PCII/O空間和PCI配置空間。PCI memory空間,PCI I/O空間采用直接訪問。PCI支持2種類型的配置訪問,typeO和type 1。AD[31:O]信號表示地址時根據配置訪問的類型使用不同的形式,地址的低兩位表明配置訪問的類型――type O(AD[1:O]=ObOO)或type 1(AD[1:O]=Ob01)。2種地址形式都表明了一個具體的設備和該設備的一個具體的配置寄存器。typel 0用于在本地PCI總線上選擇一個設備,type 1通過一個PCI―to―PCI橋傳遞配置請求到另一個PCI總線。系統采用type O配置,如圖3所示。

        為訪問配置空間,必須向CONFIG_ADDR寄存器寫入一個32位的值,用于定義目標PCI總線、該總線上的目標設備和設備中要訪問的配置寄存器。對CONFIG_DATA寄存器的一個讀或寫操作將使主橋將該訪問轉化為一個PCI配置周期(CONFIG_ADDR中的使能位被設置并且設備編號不是0b1_1111)。
        對于map B,處理器可在地址空間0xFEC0_0000~0xFEDF_FFFF中使用任何地址訪問CONFIG_ADDR寄存器。盡管系統可以使用0xFEC0_0000~OxFEDF_FFFF中的任何地址,但一般使用地址0xFEC0_0CF8。為簡化CONFIG_ADDR的地址通常被稱為CF8。處理器可在地址空間0xFEE0_0000~0xFEEF_FFFF中的任何地址訪問CONFIG_DATA寄存器。最常用的地址為0xFEE0_OCFC~0xFEE0_0CFF。為簡化起見,一般指為CFC。
        對于type O配置,Tsi107把CONFIG_ADDR寄存器的設備編號轉化為惟一的IDSEL信號,它們之間有一一對應的關系。功能編號和寄存器編號將不加改變的復制到AD[10:2],AD[1:O]在type O配置時為0b00。
        6.3 中斷的實現
        Tsil07的EPIC(可編程中斷控制單元)支持5個外部中斷。IRQ[O:4]信號代表了外部中斷,它們被5個IRQ向量/優先級寄存器(IVPRO―IVPR4)控制和初始化。外部中斷可被設置為電平或邊沿觸發。軟件通過對向量/優先級寄存器的寫操作為每一個中斷源設置優先級,優先級的值在O~15之間,15最高。EPIC單元通過麗向處理器核申請中斷。當處理器通過對EPIC單元中的中斷響應寄存器(IACK)進行讀操作以響應中斷請求時,EPIC返回一個8位的中斷向量到處理器,然后處理器處理該中斷。處理器對EPIC單元的結束中斷(EOI)寄存器進行寫操作時,中斷處理完成。
        對EPIC的初始化主要是設置各中斷源的優先級和中斷向量的設置。包括對特征報告寄存器(FRR)、全局配置寄存器(GCR)、偽向量寄存器(SVR)、外部和內部中斷寄存器等的設置。


        7 結 語
        搭建以MPC7410為核心處理器的系統硬件平臺,闡述接口硬件設計和VxWorks BSP的設計方法,使在系統中能正常通信。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 礼泉县| 宿松县| 兴安盟| 鄂州市| 莱州市| 洱源县| 萍乡市| 灵川县| 宽甸| 高唐县| 铁岭市| 徐汇区| 成武县| 平陆县| 沈阳市| 兰西县| 建阳市| 溆浦县| 塔河县| 庄浪县| 宝鸡市| 海原县| 南溪县| 通榆县| 太白县| 桐庐县| 综艺| 昌邑市| 绥中县| 咸丰县| 静乐县| 新兴县| 伊川县| 资源县| 临潭县| 达州市| 平乡县| 霍城县| 邵阳市| 舟曲县| 广元市|