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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 一種定點數字信號處理器與單片機的接口設計方

    一種定點數字信號處理器與單片機的接口設計方

    作者: 時間:2011-08-31 來源:網絡 收藏

    (VC5402)增強外設由軟件等待狀態發生器、鎖相環時鐘發生器、6通道直接存儲器訪問(DMA)控制器、增強型8位并行主機接口(HPI)等組成。兩個可編程的多通道緩沖串口(McBSP)能夠全雙工、快速地與其他同步串口進行數據交換,硬件連接簡單,串口的工作模式和傳送數據的格式可通過編程實現。DSP和單片機之間的通信一般利用雙口RAM,通過串口或DSP的HPI接口實現。

      利用雙口RAM實現

      CY7C026是CYPRESS公司生產的16k×16B高速雙口靜態RAM,存取速度小于25ns。他具有真正的雙端口,可以同時進行數據存取,兩個端口具有獨立的控制信號線、地址線和數據線,另外通過主?從選擇可以方便地擴存儲容量和數據寬度。通過芯片的信號量標志器,左、右兩端口可以實現芯片資源的共享。

      由于DSP的數據是16位,而單片機的數據是8位,所以與雙口RAM的接口并無特別之處,但是89C51與雙口RAM之間的接口電路中就需要對89C51進行總線擴展了。具體做法是利用鎖存器74HC373的鎖存功能,通過對其使能信號的控制,進行分時讀寫,實現數據總線的擴展,即利用鎖存器作為虛擬總線。DSP,單片機與雙口RAM之間的接口電路如圖1所示。

      

    通過雙口RAM實現的接口電路

      圖1 通過雙口RAM實現的接口電路

      雙口RAM必須采用一定的機制來協調左右兩邊CPU對他的讀寫操作,否則會出現讀寫數據的錯誤。通常可以用中斷、硬件、令牌和軟件這4種方式來協調雙方。在接口電路中利用89C51的最低地址位A0把雙口RAM的存儲空間分為奇、偶地址兩個空間。其中,奇地址空間專供89C51寫,偶地址空間專供89C51讀。那么只需對VC5402的軟件做相應處理即可,即VC5402對雙口RAM的奇地址空間只讀,對偶地址空間只寫。這樣就避免了DSP和單片機對雙口RAM同一地址單元的寫入操作。另外,在對雙口RAM進行訪問之前,單片機和DSP首先對本端的BUSY信號進行查詢,只有本端/BUSY信號無效時才進行讀寫操作,進一步保證了數據讀寫的可靠性。

      通過串口實現

      VC5402多通道緩沖串行口(McBSP)主要特點:雙緩沖區發送,三緩沖區接收以便數據的連續性;接收與發送的幀同步、時鐘信號獨立;多通道發送和接收,最多可以到達128個通道;數據大小可為8,12,16,20,24和32b;μ率和A率壓縮;幀同步、數據時鐘極性可編程;內部時鐘和幀同步可自行設定。

      VC5402串口通過16b寬度的控制寄存器與內部總線通信。

      數據接收過程:數據從輸入引腳(DR)移位到接收移位寄存器(RSR),然后拷貝數據到接收緩沖寄存器(RBR),接著把數據拷貝到數據接收寄存器(DRR),CPU或者DMA控制器讀取DRR。

      數據輸出過程:CPU或者DMA把數據寫到數據傳輸寄存器(DXR),再通過寄存器(XSR)移位到數據輸出引腳DX6。

      對串口寄存器的訪問是間接尋址方式,例如要對McBSP數據寄存器進行訪問,首先寫串口控制寄存器SPCR子地址到子地址寄存器SPSA,然后對數據寄存器進行訪問。硬件連接如圖2所示。

      

    通過McBSP實現的硬件連接

      圖2 通過McBSP實現的硬件連接

      McBSP的位時鐘由內部采樣率發生器產生,為UART波特率×16。

      在軟件的設計中McBSP的16位代表UART的1位。發送時,軟件將UART的每一位擴展為16位,再由McBSP發送。接收時,軟件將McBSP接收的16位壓縮為UART的1位,并進行合并。軟件還應負責處理UART的起始位、奇偶校驗位和停止位。

      通過HPI和電平轉換器件實現

      DSP芯片中的HPI(主機接口)是為了滿足DSP與其他的微接口而專門設計的。他分為HPI—8和HPI1—6,分別針對具有8位和16位數據線的單片機。每一種又分為標準型和增強型,區別在于標準型只可以訪問固定的地址空間,而增強型可以訪問整個DSP的片內存儲器。利用C5402的增強型8位并行主機接口(HPI)與單片機通信。

      VC5402DSP的外部I/P引腳用的是3.3V的邏輯電平,而大部分51單片機用的是5V的邏輯電平。前者輸出高電平,最小值為2.4V;后者輸入高電平,最小值為2.0V。所以前者的輸出可以直接接到后者的輸入。但是前者允許輸入高電平最大值為3.6V,而后者的輸出高電平一般都在4.6V以上。所以前者的輸入和后者的輸出不能直接連接,需要做電平轉換。如果引腳數量少,可以直接用三極管電阻來轉換。這里由于引腳較多,所以選用TI74LVC16245A芯片來進行電平轉換。硬件電路如圖3所示。

      

    TI74LVC16245A芯片電平轉換硬件電路

      圖3 通過電平轉換芯片實現


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 连山| 工布江达县| 巫山县| 七台河市| 盐边县| 尼木县| 亳州市| 红安县| 三都| 若羌县| 南昌县| 石台县| 东台市| 金沙县| 德庆县| 云阳县| 富裕县| 祁东县| 吉木乃县| 喜德县| 安岳县| 兴隆县| 丹棱县| 兴安盟| 丹棱县| 成安县| 鄂州市| 当阳市| 唐山市| 砀山县| 嵩明县| 工布江达县| 分宜县| 大英县| 宜都市| 浙江省| 颍上县| 澄城县| 大安市| 泸水县| 基隆市|