關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > MPC860的HDLC通道驅動程序的設計與實現

        MPC860的HDLC通道驅動程序的設計與實現

        作者: 時間:2010-01-13 來源:網絡 收藏

          3 的設計思想及其實現
            這里選擇VxWorks作為本CPU板的操作系統。VxWorks是美國風河系統公司推出的一種高性能、可裁減的實時嵌入式操作系統,以其良好的可靠性和卓越的實時性被廣泛應用于通信、軍事、航天等領域。因此,程序的設計必須按照這個操作系統的結構來構建。本文的主要目的是將處理器的一個SCC通道配置成為模式,以支持VxWorks操作系統下的通信,所以程序的設計主要圍繞這個目的進行,在此并沒有按照傳統驅動的模式構建,而是直接對硬件進行操作。首先設置通道參數,將其配置成模式,然后設計基本功能函數。當運行時,首先要進行SCC通道的初始化以及存儲區的初始化,然后才開始執行收發功能,在這當中要加上中斷控制。按照這個程序的基本流程,具體的實現分為下面幾步(在本設計中將SCC2配置成HDLC模式)。

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


          3.1 定義參數RAM
          

          參數RAM主要包括通道參數RAM和通道協議參數RAM兩部分,SCC通道的主要參數都在這個里面配置。它們包含CPM RISC用來正確操作SCC通道的特定協議所用的信息。


          3.2 初始化SCC2
          (1)將的PA12、PA13引腳作為SCC2的收發引腳。
          (2)有四個BGR和八個外部時鐘引腳,將SCC的收發時鐘分別配置成內部時鐘和外部時鐘。
          (3)將SCC2配置為NMSI模式。
          (4)初始化SDCR寄存器,給予SDMA一個仲裁ID以提供U總線上的優先級。
          (5)初始化SCC2的參數RAM(這步對所有的協議都是通用的):
          ①設置Rx/TxBD 表的基址相對于雙端口RAM的偏移量;
          ②設置收發緩沖區描述符表基址相對于IMMR寄存器中值的偏移量;
          ③設置Rx/Tx 的函數代碼;
          ④在MRBLR中設置接收緩存的最大空間。
          (6)針對SCC2的HDLC模式進行初始化;
          ①通過C_MASK和C_PRES 設置CCITT-CRC;
          ②對CPM維護的五個計數器DISFC、CRCEC、 ABTSC、 NMARC和RETRC清零;
          ③在MFLR中定義最大幀長度,通常定義為0x0100,表示最大幀長度為256字節;
          ④在RFTHR中定義接收到多少個HDLC幀時產生一個中斷申請,當將RFTHR置位0x0001時,表示每接收到一個幀產生一個中斷申請;
          ⑤設置接收地址,hmask用來定義地址掩碼,當hmsk=0x0000時,表示接收所有幀。



        關鍵詞: HDLC MPC 860 驅動程序

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 郎溪县| 汤阴县| 辛集市| 连州市| 平武县| 澄江县| 青阳县| 三原县| 铁力市| 页游| 灵丘县| 武城县| 遂溪县| 桂林市| 宕昌县| 会理县| 兴业县| 遂昌县| 车险| 禄丰县| 台前县| 天门市| 亳州市| 尉氏县| 阿图什市| 新晃| 金阳县| 宁晋县| 宜兰市| 蚌埠市| 丰原市| 长乐市| 西乡县| 望都县| 浪卡子县| 四平市| 东阳市| 固始县| 长寿区| 祥云县| 西城区|