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

    EEPW首頁 > 嵌入式系統 > 設計應用 > DSP ARM雙核系統的通信接口設計

    DSP ARM雙核系統的通信接口設計

    作者: 時間:2011-04-26 來源:網絡 收藏

    2 的通信接口設計

    (1) 的HPI口介紹

      HPI是TMS320C54X等芯片提供的一種并行端口,專門用于和外部主機并行通信。HPI接口有標準HPI接口和增強型HPI接口。對于C5416和C5420DSP器件,它們的主機接口為增強型主機接口。標準HPI接口是一個8位總線接口,通過2個8位字節組合在一起形成1個16 字。增強型HPI接口分8位和16位兩種。8位增強型主機接口和標準HPI接口操作時序一樣,主要區別在于標準型只能訪問2 KB專用RAM,而增強型可以訪問DSP的整個RAM區。16位增強型HPI接口采用16位總線,只要一個主機操作就能完成訪問操作。

    (2) HPI硬件連線

      HMS30C7202與TMS320C5416接口電路如圖3所示。系統將HPI接口所有控制寄存器、地址寄存器、數據寄存器統一編址,映射到HMS30C7202物理地址0X0C000000開始的I/O內存空間。

    利用地址線RA[3:0]產生HPI訪問所需的控制信號。A0與A1決定訪問寄存器類型。A2決定訪問的是第一個字節還是第二個字節:A2=0 時,表示寫入的數據為第一個字節;A2=1時,表示寫入的數據為第二個字節。在HPI-8中所有地址線和控制線是在HDS1和HDS2的下降沿采樣,而不是由HR/W決定,因此HR/W通過地址線A3表示當前操作是讀還是寫,而數據鎖存信號由nRCS3和nRW0相與后共同產生。KSCAN[2]設置為 HMS30C7202的PORTA中斷輸入腳,DSP通過中斷方式與Linux底層HPI驅動程序通信。

    3 和DSP的通信接口驅動程序設計

      Linux是Unix操作系統的一種變種。在Linux下編寫驅動程序的原理和思想完全類似于其他的Unix系統,但它和DOS或Window 環境下的驅動程序有很大的區別。Linux驅動程序可以編譯進內核,也可以模塊形式動態地加入和卸載。Linux的這種特點可根據目標系統裁減內核,更適合于嵌入式系統。

    (1) Linux驅動程序基本原理

      在Linux中所有設備分為字符設備、塊設備和網絡設備三種,所有設備都看成普通文件,因此可以通過用操縱普通文件相同的系統調用來打開、關閉、讀取和寫入設備。系統中每個設備都用一種設備特殊文件來表示。

      在Linux中,設備驅動程序是一組相關函數的集合。它包含設備服務子程序和中斷處理程序,每個設備服務子程序只處理一種設備或者緊密相關的設備。其目的就是從與設備無關的軟件中接受抽象的命令并執行。當執行一條請求時,具體操作是根據控制器驅動程序提供的接口,并利用中斷機制去調用中斷服務子程序配合設備來完成這個請求。設備程序利用結構file_operations與文件系統聯系起來。在Linux下驅動程序裝載如圖4所示。

    (2) HPI驅動程序

      HPI接口可用I/O端口方式,也可以用I/O存取方式。系統平臺采用I/O存取方式,將HPI訪問控制寄存器、數據寄存器、地址寄存器,映射到內存物理地址為0X0C000000開始的空間,通過訪問存儲器指令對HPI進行操作。HPI具體物理地址定義如下:


    #defineHPI_BASE0X0C000000//HPI基地址
    #define HPD_READ_LOWHPI_BASE+0X0012
    //讀數據寄存器第一字節
    ?
    #define HPA_WRITE_HIGHHPI_BASE+0X000C
    //寫地址寄存器第二字節

      在Linux下,類似Windows,程序不能直接訪問物理地址。設備驅動程序是內核的一部分,它像內核中其他代碼一樣運行在內核模式,驅動程序如果出錯就會使系統受到嚴重破壞,因此需要將物理地址映射到內核空間。在Linux下通過virtul_address=(u32)ioremap (HPI_BASE,HPI_LENGTH)實現。驅動程序主要結構如下:


    struct file_operations hpi_fops={
    owner:THIS_MODULE,
    read: hpi_read,
    write: hpi_write,
    poll : hpi_poll,
    open: hpi_open,
    release: hpi_release,
    };

      HPI通信協議采用幀結構,由于增強型HPI接口允許訪問DSP內部RAM所有空間,系統通信在DSP內部分配2 K字(16位)作為幀緩沖區,讀寫各1 K字,協議采用一位滑動窗口協議。幀格式如表1所列。

    結語

      本文介紹了使用和DSP雙CPU構成的嵌入式系統的硬件平臺,以及源代碼開放的Linux作為嵌入式系統中操作系統的方法,給出了系統設計的總體框圖,詳細介紹了ARM和DSP通信接口的設計。這一設計方法可以適用于大多數現代嵌入式系統的設計,有一定的實用價值。


    上一頁 1 2 下一頁

    關鍵詞: ARM DSP 雙核

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 漠河县| 梨树县| 北票市| 英吉沙县| 东港市| 岳阳县| 宁强县| 那坡县| 曲阜市| 孝昌县| 清河县| 沾化县| 呈贡县| 迭部县| 雷波县| 改则县| 河北区| 霸州市| 同德县| 清镇市| 江都市| 彰化县| 上思县| 江孜县| 黑龙江省| 綦江县| 德庆县| 南陵县| 蓬安县| 新平| 丁青县| 峨边| 通渭县| 阿瓦提县| 台南县| 宾阳县| 西乡县| 淄博市| 合阳县| 东乌珠穆沁旗| 通许县|