關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于PPC8270的BSP開發與實現

        基于PPC8270的BSP開發與實現

        作者: 時間:2011-07-22 來源:網絡 收藏

        3.2.2 中斷控制器驅動
        中斷機制是目標機感知事件的重要手段,具有內部集成的中斷控制器,對各類中斷源的中斷向量號進行了明確的定義,并在一定程度上規定了各類中斷源的中斷優先級。在中斷控制器驅動中,應的主要功能包括:中斷控制器的初始化、中斷向量的獲取以及中斷的使能與禁止。
        (1)中斷控制器的初始化。集成中斷控制器的初始化過程較為簡單,主要的工作是通過SIMR(SIU Interrupt Mask Registers)的設置將所有中斷源對應的中斷信號進行禁止。
        (2)中斷向量的獲取。集成中斷控制器獲取中斷向量可通過讀取SIVEC(SIU Interrupt Vector Register)寄存器來獲得。
        (3)中斷的使能和禁止。在PPC8270集成中斷控制器中,通過對SIMR中相應數據位的置位與復位操作來指定中斷源的使能與禁止。
        3.2.3 定時器驅動
        定時器是一種特殊的中斷源,可為系統運行提供時間精度的支持,PPC8270內部具有4路獨立的16位定時器,也可以作為2路32位定時器使用,4路定時器分別擁有獨立的寄存器組:包括TMR(Timer Mode Register),TCR(Timer Counter Register),TRR(Timer Reference Register),TER(Timer Event Register),TGCR(Timer Global Configuration Register),可以根據應用的需要對相應的寄存器進行設置來完成定時器的初始化、定時器的使能與禁止、定時器頻率的設置與獲取等功能。
        (1)定時器的初始化。定時器的初始化主要是通過TRR來完成定時器的時鐘頻率設置并將指定的定時器中斷連接到相應的中斷處理程序。
        (2)定時器的啟動與停止。定時器的啟動與停止應能夠根據指定的定時器通道完成定時器的啟動與停止,包含兩方面的內容:即指定定時器中斷向量的使能與禁止和通過TGCR對指定定時器進行的啟動與停止。
        (3)定時器頻率的設置與獲取。
        3.2.4 網卡控制器驅動
        在進行網卡控制器驅動開發前,目標機系統與宿主機之間的通信是通過串口來的,雖然能夠滿足通信的功能,但面對大數據量的通信任務時,其性能卻遠不能滿足應用的需求。網卡控制器驅動的開發是目標機系統通訊能力實現升級的重要環節,為操作系統、應用程序的加載提供了更為高速的通路。
        (1)FCC的特征
        PPC8270采用內部集成的FCC(Fast Communications Controller)作為網卡控制器,FCC是為了適應高速傳輸協議而升級的SCC,具有如下特征:
        ①支持HDLC(High-level data link control)/SDLC(Synchronous data link control);
        ②FCC時鐘既可以通過內部BRG獲得,也可以通過外部時鐘源獲得;
        ③通過緩沖區描述符進行發送接收數據緩沖區管理;
        ④192 B FIFO(First In First Out)緩沖區;
        ⑤全雙工工作模式;
        ⑥支持數據回繞測試模式。
        (2)FCC的網卡控制器驅動開發
        FCC的網卡控制器驅動開發應包含網卡初始化、網口讀/寫功能。其中,網卡初始化是實現網卡正常工作的關鍵,其初始化過程需要在上電復位后對一系列的寄存器及參數進行設置,在本開發實例中的網卡初始化過程所述如下:
        ①輸入/輸出端口的初始化;
        ②通過配置GFMR(General FCC Mode Registers)MODE位選擇FCC的工作模式為以太網模式,并禁止發送和接收事件;
        ③根據系統需求通過FPSMR(FCC Protocol-Spe-cific Mode Registers)配置FCC在以太網模式下的各種工作參數,包括CRC校驗、心跳檢查、全雙工模式等;
        ④通過配置FDSR指定同步協議中的幀同步過程。由于FCC工作在以太網模式,選用推薦值0xD555;
        ⑤配置FCC的參數RAM,指定接收與發送緩沖區描述符的地址,并對其進行初始化;
        ⑥通過FCCE(FCC Event)寄存器清除所有FCC外部中斷事件,并通過FCCM(FCC Mask)使能所有在FCCE中指定的事件;
        ⑦使能網卡中斷向量,并連接相應的中斷處理程序;
        ⑧發送INIT TX AND RX PARAMETERS命令,并通過GFMR使能發送與接收事件。
        在完成網卡初始化后,可以通過判斷網卡中斷的狀態來區分發送和接收事件,并從相應的緩沖描述符中獲取緩沖區地址,實現數據的發送和接收,此過程與第3.2.1節中SCC的發送與接收過程相似。

        4 結語
        本文通過對目標機硬件環境初始化過程和硬件驅動開發過程的描述,詳細介紹了PPC8270的開發過程。在該開發實例中,該軟件能夠在目標機模塊上穩定運行,并為上層操作系統及應用程序提供有效的運行支持。在今后的工作中,將對該軟件的而可移植性進行進一步的優化,以便其能更好的應用于其他BSP軟件的開發實例中。

        本文引用地址:http://www.104case.com/article/161778.htm

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吴桥县| 丰原市| 台南市| 巴青县| 忻城县| 咸丰县| 和平区| 田林县| 庐江县| 瓮安县| 牡丹江市| 乌拉特中旗| 哈巴河县| 休宁县| 荥阳市| 什邡市| 福贡县| 博乐市| 巴塘县| 炉霍县| 双牌县| 临清市| 磐安县| 安达市| 北票市| 耿马| 建水县| 大竹县| 安丘市| 迁西县| 德江县| 大同市| 郓城县| 广南县| 蒙城县| 电白县| 黄大仙区| 泗阳县| 鹤壁市| 岳阳县| 凭祥市|