1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      ARM CPU CS89712 與C5510 DSP 的接口設計

      更新時間: 2008-08-01 09:59:32來源: 粵嵌教育瀏覽量:1292

      1 引言
        目前嵌入式系統已被廣泛地應用到電子產品領域和無線通信、網絡通信等高端設備領域。32 位ARM嵌入式處理器具有高性能、低功耗的特性,DSP芯片由于功能強大,加上接口方便、軟件可用資源豐富、編程方便、穩定性好、精度高等優點,應用也越來越廣泛。通常在嵌入式系統的設計中,由ARM嵌入式處理器實現整個系統的協調控制和網絡功能,由DSP 芯片來執行復雜計算,因此需要實現ARM處理器和DSP 之間的數據交換。從某種程度上來說,ARM嵌入式處理器和DSP 之間數據交換的速度決定了整個系統的運行速度和性能。

      2 ARM CPU CS89712 的特點
        CS89712 是Cirrus Logic 公司一款基于ARM7TDMI的SOC 芯片。它一方面具有ARM 處理器的所有優點:低功耗、高性能;同時又具有非常豐富的片上資源,非常適合嵌入式產品的開發。其特點如下:

        采用ARM7TDMI 內核,I/O 電壓3.3 V ,內核電壓2.5 V ;
      內置鎖相環(PLL) ,系統主頻達74 MHz ;
      3 種工作模式,可以實現電源管理以降低系統功耗;
      8KB 的系統高速緩存(CACHE) ,極大地提高了系統運行速度;
      支持8 個MEMORYBANK,外部存儲空間達256 MB ,并支持SDRAM;
      內置單色LCD 控制器;
      2 路異步串口(UART) ;
      27 個通用I/O 口;
      實時時鐘(RTC) 和看門狗電路(WATCHDOG) 。
      3 C55X DSP 及其EHPI 接口
      3.1 C5510 DSP 的特點
        以高速、低功耗為特征的VC55X 系列DSP 采用先進的改進型哈佛結構,具有分離的數據總線和程序總線,片內集成了ROM、RAM和多個外設,如通用I/O 口、定時器、時鐘發生器、軟件可編程等待狀態發生器、可編程塊切換邏輯、串行口、直接存儲器存取控制器(DMA) 和與外部處理器通信用的主機接口(HPI) 。

      3.2 C55X的增強型主機接口( EHPI)
        TI 的C5510 之前的DSP 系列(C54X 系列) 中的主機接口(HPI) 主要有三種:標準8 位HPI8 接口、增強型8 位HPI8 接口和16 位HPI16 接口。其中C542~C549 內含標準型HPI8 ;C5402、C5410 內含增強型HPI8 ;C5410 以上為HPI16 ;C5409、C5416 的HPI 可以由用戶設置為增強型HPI8 或HPI16。C5510 其內部使用的是增強型主機接口,增強型比標準型更優越之處主要在于:增強型允許主機訪問DSP 內部的所有片內RAM,而標準只能訪問RAM 區中指定的2K字。
      C55X為主機提供增強型的16 位并行接口( EHPI) 具有以下特點 :

      20 位主機地址總線
      16 位主機數據總線
      復用和非復用兩種總線模式
      主機可以訪問C5510 的片內SARAM、片內DARAM和片外存儲器
      在高速傳輸數據時可以自增的20 位的地址寄存器(在復用模式下)
      多地址、數據探頭為各種主機提供緊密接口
      HRDY信號用來與主機進行握手
        C5510 與外部主機或微處理器的連接具有單獨的16 根數據線HD0 ~ HD15、20 根地址線HA0 ~HA19 和10 根控制線。主機主動通過EHPI 口能夠直接訪問DSP 的存儲區。在圖1 所示的HPI 能訪問的地址范圍內,主機和DSP 可以通過DSP 的內部和外部存儲區來交換信息。除了對主機發中斷(通過置HPIC 寄存器的HINT 位,可以使HINT 線有效)或清除主機發來的中斷(通過清HPIC 寄存器的DSPINT標志) 需要DSP 干涉外,C5510 幾乎不用進行其他操作。片內的DMA 通道會自動輔助完成RAM區與HPI 數據寄存器的數據傳輸。主機由HCNTL0/1 線來選擇HPI 的某個控制寄存器,如表1 所列。通過對這4 個寄存器的訪問,就可以在所設安全機制的允許范圍下讀/寫DSP 的所有或部分片內RAM。
      主機由HCNTL0/1 線來選擇HPI 的某個控制寄存器。在非復用模式下,HCNTL0 決定HPI 是否訪問控制其(HPIC) 寄存器或數據寄存器(HPID) ,如表1 所示(0 —低電平,1 —高電平) ,此時HCNTL1未被使用。


      表1  HCNTL0/1 的選擇功能描述 HCNTL0 訪問類型(非復用模式下)
        
      HCNTL0 訪問類型(非復用模式下)
      0 主機讀/寫HPI 控制寄存器- HPIC
      1 主機讀/寫HPI 數據寄存器- HPID




                  
                    圖1  通過HPI 可以訪問的DSP 存儲區圖

      4 CS89712 與C5510 DSP 的接口設計
      4.1  硬件連線
        TMS320VC5510 與CS89712 連接的接口電路如圖2 所示。由圖2 可見,C5510 通過EHPI 與主機設備相連時,除了EHPI 數據總線及控制信號線外,不需要附加其它的邏輯電路,非常方便。
              
                      圖2  EHPI接口非復用模式下的連接圖
        從EHPI 寄存器的編址方式可以看出,將HPI16接口安排在CS89712 的BANK3(即地址范圍0X03000000~0X03FFFFFF) ,而且CS89712 具有內部譯碼器,直接產生片選信號CS3。
        由于C55X HPI16 是一個16 位的并行端口,而C5510 的內部結構為16 位,所以在非復用模式下,只需將數據和地址總線分別連接即可。另外,還有幾個關鍵的控制信號需要連接。一個就是HR/W信號,由于CS89712 沒有此信號,使用端口A 的PA3 來代替。當PA3 = 1 時,代表讀操作,反之為寫操作。由于CS89712 和C5510 EHPI 接口的控制邏輯不盡相同,需要使用其它的一些信號線來進行模擬,此時要嚴格遵循EHPI 的讀寫時序。

      4.2 軟件設計
        在硬件連接設計好的基礎上,我們還需要通過正確的編程才能實現我們預想的時序。因為我們在ARM CS89712 上運行嵌入式操作系統uCOS-II ,所以在寫程序對HPI 接口進行讀/寫操作時將HPI 接口看作一個外部設備,將完成讀/寫操作的程序看成在uCOS-II 下面的一個字符型驅動。這樣軟件的設計就變成了在uCOS-II 下面驅動程序的開發。
      考慮到CS89712 不光要將DSP 的數據取過來,而且還要將這些數據處理后再發送出去,這就需要這兩者之間有很好的配合。
        CS89712 與DSP5510 之間的EHPI 接口讀/寫程序主要由兩個部分組成: 1.ARM 自身的初始化;2.HPI 接口讀寫程序。
      4.2.1  ARM 處理器自身的初始化
        ARM處理器首先要完成自身工作模式等一系列的初始化,才能正常進行EHPI 接口的讀/寫,源代碼如下所示。
      //為了配合EHPI 口的時序,關掉MMU 頁表中bank3 的Cache
      Xcount SETA 0x30000c1e
       WHILE Xcount < 0x31000000
      DCD Xcount
      Xcount SETA Xcount + 0x00100000
       WEND
      rMEMCFG1 &= 0x00ffffff ; //設置與DSP 連接的nCS3 :16 位總線寬度、8 個隨機狀態
        rMEMCFG1 | = 0x01000000 ; //3 個順序等待狀態、禁止順序訪問、禁止擴展時鐘上面這段代碼主要是對幾個寄存器進行配置。
        在配置好ARM 處理器的工作模式后,對外部I/O 接口BANK3 的對應地址進行讀/寫操作,就可以完成對HPI 接口的相應操作了。
      4.2.2  HPI 接口讀寫程序
        以下的句代碼是宏定義,定義了C5510 的EHPI 接口寄存器的地址。在本設計中,已經將HPI口與外部I/O 接口的BANK3 相接,這樣HPI 口將占用外部I/O 接口BANK3 的地址。由于是使用PA3來模擬HPI16 接口的HR/W,所以對DSP 進行讀/寫操作時, 應先將該信號置為相應的讀/寫有效狀態。
      //ARM向DSP 寫數據時
      #define EHPI-BASE 0x3208000
      int t;
      rPADDR = 0x08 ; //PA3 方向定義為輸出
      rPADR = 0x00 ; //PA3 為低電平
      t = *(volatile U16 *) ( EHPI-BASE + Add-offset) ;
      //ARM從DSP 讀取數據時
      rPADDR = 0x08 ; //PA3 方向定義為輸出
      rPADR = 0x08 ; //PA3 為高電平
      (volatile U16 *) ( EHPI-BASE + Add-offset) = t

      5 結束語
        以ARM芯片作為主控制器,用DSP 芯片進行運算,然后通過HPI 接口進行通信和交換數據的嵌入式系統設計應用模式的得到越來越廣泛的應用,而這兩者之間能夠高效、快速并且穩定的進行數據交換將是影響系統性能的關鍵部分之一。文中給出的CS89712 和C5510 之間的硬件連接方法和軟件設計經過實踐的驗證,是可行的和滿足要求的。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲最大色资源在线观看 | 久久国内中文字幕 | 一级电影在线亚洲 | 天天影视综合网色综合国产 | 亚洲无线国产观看原创 | 日本A级按摩片春药在线观看 |