1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>ARM CPU S3C44B0X與C54X 

    ARM CPU S3C44B0X與C54X 

    時間:2022-12-05 14:05:35 電子通信論文 我要投稿
    • 相關推薦

    ARM CPU S3C44B0X與C54X DSP的接口設計

    摘要:以SAMSUNG公司的ARMSOC芯片S3C44B0X和TI公司的TMS320C5416DSP為例,講述了ARM與DSP的數據接口技術,并結出了硬件連接圖和軟件代碼。
      關鍵詞:ARMS3C44B0X主機接口(HPI)TMS320C5416
      
      后PC時代,嵌入式產品逐漸占領市場。而這些嵌入式產品的核心——處理器決定了產品的市場和性能。高性能、低功耗、低成本是嵌入式處理器的主要特點。在32位嵌入式處理器市場中,ARM占有78.6%的份額。而TI而占有DSP市場的絕大部分份額。通常的嵌入式系統設計中,由微控制器實現整個系統的控制,由DSP來執行計算密集型操作,然后通過一定的手段實現微控制器與DSP之間的通信和數據交換。因此,如何高效地設計控制器(ARM)與DSP之間的接口以滿足嵌入式系統的實時性要求,在嵌入式系統設計中顯得尤為重要。
      
      1ARMCPUS3C44B0X的特點
      
      ARM是一款32位的精簡指令集(RISC)處理器架構,以其高性能、低功耗、低成本占有市場。由于ARM公司采用IP授權的方式經營,全球幾乎所有的大半導體公司都有基于ARM的SOC芯片。
      
      S3C44B0X是SAMSUNG(三星)公司一款基于ARM7TDMI的SOC芯片。它一方面具有ARM處理器的所有優點:低功耗、高性能;同時又具有非常豐富的片上資源,非常適合嵌入式產品的開發。其特點如下:
      
      ·采用ARM7TDMI內核,I/O電壓3.3V,內核電壓2.5V;
      
      ·內置鎖相環(PLL),系統主頻最高達66MHz;
      
      ·4種工作模式,可以實現電源管理以降低系統功耗;
      
      ·8KB的系統高速緩存(CACHE),極大地提高了系統運行速度;
      
      ·支持8個MEMORYBANK,最大外部存儲空間達256MB,并支持SDRAM;
      
      ·內置彩色LCD控制器;
      
      ·2路異步串口(UART);
      
      ·71個通用I/O口;
      
      ·8通路模/數轉換器(ADC);
      
      ·實時時鐘(RTC)和看門狗電路(WATCHDOG)。
      
      2C54XDSP及其HPI接口
      
      2.1C54XDSP的特點
      
      以高速、低功耗為特征的C54X系列DSP采用先進的改進型哈佛結構,具有分離的數據總線和程序總線,片內集成了ROM、RAM和多個外設,如通用I/O口、定時器、時鐘發生器、軟件可編程等待狀態發生器、可編程塊切換邏輯、串行口、直接存儲器存取控制器(DMA)和與外部處理器通信用的主機接口(HPI)。
      
      2.2C54X的主機接口(HPI)
      
      C54X中的主機接口(HPI)主要有三種:標準8位HPI8接口、增強型8位HPI8接口和16位HPI16接口。其中C542~C549內含標準型HPI8;C5402、C5410內含增強型HPI8;C5410以上為HPI16;C5409、C5416的HPI可以由用戶設置為增強型HPI8或HPI16。增強型比標準型更優越之處主要在于:增強型允許主機訪問DSP內部的所有片內RAM,而標準只能訪問RAM區中指定的2K字。
      
      以TMS320C5416(簡稱C5416)包含的增強型HPI8接口為例,它與外部主機或微處理器的連接具有單獨的8根數據線HD0~HD7和10根控制器。主機主動通過HPI口訪問DSP的內部RAM以及其它資源。除了對主機發中斷(通過置HPIC寄存器的HINT位,可以使HINT線有效)或清除主機發來的中斷(通過清HPIC寄存器的DSPINT標志)需要DSP干涉外,C5416幾乎不用進行其他操作,片內的DMA通道會自動輔助完成RAM區與HPI數據寄存器的數據傳輸。主機由HCNTL0/1線來選擇HPI的某個控制寄存器,如表1所列。通過對這4個寄存器的訪問,就可以在所設安全機制的允許范圍下讀/寫DSP的所有或部分片內RAM。
      
      表1HCNTL0/1的選擇功能描述
      
      HCNTL1HCNTL0說明00主機讀/寫HPI控制寄存器--HPIC。01主機以地址自動增的模式讀/寫HPI數據鎖存器--HPID。若為讀操作,則HPI地址寄存器HPIA自動讀后增1;若為寫操作,則HPIA自動寫后增1。10主機讀/寫HPI地址寄存器--HPIA,該地址指向C54X的片內RAM。11主機讀/寫HPI數據鎖存器--HPID,HPIA不變。
      由于DSP最小的存儲單位是字(16bit),因此對于HPI8,每個傳遞必須要有2個傳遞周期才能完成。HBIL信號用于區分傳遞的字節是當前字的第一字節還是第二字節。通過設置HPIC寄存器的BOB位,可以決定第一字節是這個字的高字節還是低字節。
      
      2.3時序圖
      
      C54XHPI8的時序如圖1所示,該時序可滿足市場上大多數微控制器的時序特片。因此,C54X可以通過HPI8很方便地與微控制器接口,S3C44B0X也不例外。
      
      3S3C44B0X與C54XDSP的接口設計
      
      3.1硬件連線
      
      TMS320C5416與S3C44B0X連接的接口電路如圖2所示。由圖2可見,C54X通過HPI8與主機設備相連時,除了8位HPI數據總線及控制信號線外,不需要附加其它的邏輯電路,非常方便。
      
      從HPI寄存器的編址方式可以看出,主機只需兩根地址線(A3、A2)便可尋址到HPI接口的所有控制寄存器、地址寄存器和數據寄存器。同時,將HPI8接口安排在S3C44B0X的BANK2(即地址范圍0X04000000~0X05FFFFFF),而且S3C44B0X具有內部譯碼器,直接產生片選信號nGCS2。由于C54XHPI8是一個8位的并行端口,而C5416的內部結構為16位,因而主機必須讀/寫兩個連續的8位字節,而且主機還應該提供HBIL信號指示當然傳輸的是第一字節還是第二字節。在S3C44B0X中,可以直接使用址線A1來完成此功能:當向A1=0的地址寫入數據時,表示為第一字節;向A1=1的地址寫入數據表示第二字節。
      
      另外,還有幾個關鍵的控制信號線需要連接。一個就是HR/W信號,由于S3C44B0X沒有此信號,使用地址線A4來代替。當A4=1時,代表讀操作,反之為寫操作。在HPI8的操作中,所有的地址線和控制線在HDS1/2的下降沿采樣,用S3C44B0X的讀/寫信號nOE和nWE來完成此功能。
      
      由于S3C44B0X和C5416HPI接口的控制邏輯不盡相同,需要使用其它的一些信號線來進行模擬,此時要嚴格遵循HPI的讀寫時序(如圖1所示)。
      
      3.2軟件設計
      
      由于主機接口(HPI)傳送8位數據字節,而HPIC寄存器(通常是S3C44B0X首先要尋址的寄存器)是一個16位寄存器,在S3C44B0X這一邊可以相同內容的高字節與低字節來管理HPIC寄存器(盡管某些位的尋址受到一定的限制),在C54X這一邊高位不用。
      
      當主機開始存取DSP的數據時,首先要執行以下兩步操作:
      
      ·HPIC寄存器的BOB位置1(高字節與低字節必須相同)。BOB位為字節選擇位。BOB位置1,表示第一字節為低字節。BOB位影響數據和地址的傳送。只有主機可以修改這一位,C54X對它既不能讀也不能寫。
      
      ·將起始地址寫入HPIA寄存器。
      
      此后可正常存取DSP內部RAM的數據了。
      
      結合硬件設計和HPI的操作步驟,便可以在S3C44B0X上編寫程序實現C5416的數據通信。
      
      程序主要分為兩個部分:一部分是地址及數據的定義;一部分是實現代碼。具體程序如下:
      
      #defineHPI_BASE0x4000000
      
      /*HPICreg*/
      
      #defineHPIC_W_F*(UINT8*)(HPI_BASE+0x0)//00000
      
      #defineHPIC_W_S*(UINR8*)(HPI_BASE+0x2)//00010
      
      #defineHPIC_R_F*(UINT8*)(HPI_BASE+0x10)//11000
      
      #defineHPIC_R_S*(UNIT8*)(HPI_BASE+0x12)//11010
      
      /*defineHPID_W_A_F*(UINT8*)(HPI_BASE+0x4)//00100
      
      #defineHPID_W_A_S*(UINT8*)(HPI_BASE+0x6)//00110
      
      #defineHPID_R_A_F*(UINT8*)(HPI_BASE+0x14)//10100
      
      #defineHPID_R_A_S*(UINT8*)(HPI_BASE+0x16)//10110
      
      /*HPIAreg*/
      
      #defineHPIA_W_F*(UINT8*)(HPI_BASE+0x8)//01000
      
      #defineHPIA_W_S*(UINT8*)(HPI_BASE+0xA)//01010
      
      #defineHPIA_R_F*(UINT8*)(HPI_BASE+0x18)//11000
      
      #defineHPIA_R_S*(UINT8*)(HPI_BASE+0x1A)//11010
      
      上述這些宏定義了HPI8接口寄存器的地址。對S3C44B0X來說,HPI8占用其內存的BANK2,即起始地址為0X04000000。又由于HPI8的HR/W和HBIL信號用S3C44B0X的地址線實現,因此對同一個寄存器而言,其讀寫地址不同。
      
      以下代碼從DSP讀出數據:
      
      UINT16read_dsp(UINT16addr)
      
      {
      
      INT16i;
      
      INT8j;
      
      set_hpia(addr);//設置起始地址
      
      i=HPID_R_A_F;//讀出第一字節
      
      j=HPID_R_A_S;//讀出第二字節
      
      return(i<<8)|(j&0xff);
      
      }
      
      以下代碼向DSP寫入數據:
      
      voidwrite_dsp(UINT16addr,UINT16dat)
      
      {
      
      set_hpia(addr-1);//設置起始地址
      
      HPID_W_A_F=(UINT8)((dat>>8)&0xff);//寫入第一字節
      
      HPID_W_A_S=(UINT8)(dat&0xff);//寫入第二字節
      
      }
      
      在嵌入式系統設計中,用S3C44B0X作為主控制器,用TMS320C5416進行運算,然后通過HPI接口進行通信和交換數據。事實證明,用HPI接口在ARM和DSP間通信滿足嵌入式系統的實時性要求。
      
      
      
      

    【ARM CPU S3C44B0X與C54X 】相關文章:

    32位RISC CPU ARM芯片的應用和選型08-06

    ARM9處理器與ARM7處理器比較08-06

    基于ARM的實時測控系統開發平臺08-06

    用GNU工具開發基于ARM的嵌入式系統08-06

    基于ARM平臺的MAC協議IP核設計08-06

    ARM7在嵌入式應用中啟動程序的實現08-06

    基于ARM體系的嵌入式系統BSP的程序設計08-06

    32位ARM嵌入式處理器的調試技術08-06

    基于ARM的嵌入式TCP/IP協議的實現08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      热门午夜国产视频观看92 | 中文字幕永久乱码专区 | 亚洲日韩欧美综合在线的 | 日韩欧美中文在线套图 | 亚洲欧美国产另类首页 | 午夜精品久久久久久久久久 |