日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1.引言TMS320VC5402(簡稱VC5402)是TI公司的DSP處理器,具有高級的數(shù)據(jù)處理結(jié)構(gòu)和豐富的片內(nèi)資源。但是VC5402 DSP內(nèi)部不具有可編程的非易失片內(nèi)存儲器,所以為了保存程序代碼和參數(shù)表,一般情況下要外擴一片存儲器。

1.引言

TMS320VC5402(簡稱VC5402)是TI公司的DSP處理器,具有高級的數(shù)據(jù)處理結(jié)構(gòu)和豐富的片內(nèi)資源。但是VC5402 DSP內(nèi)部不具有可編程的非易失片內(nèi)存儲器,所以為了保存程序代碼和參數(shù)表,一般情況下要外擴一片存儲器。VC5402可用的通用輸入輸出口(I/O port)少,軟件上對I/O口的控制不靈活,沒有對I/O口按位控制的指令,且具有流水線延遲。多不具有通用的通信接口如UART接口,CAN總線接口等,對控制的支持功能較少。AVR(Advanced RISC Architecture)單片機是ATMEL公司的flash型單片機,廣泛應(yīng)用于數(shù)據(jù)處理和控制領(lǐng)域,具有豐富的片內(nèi)資源和靈活的接口形式。片內(nèi)往往集成了幾十kB乃至幾百kB的flash存儲器,每個端口幾乎都可以通過軟件設(shè)置為通用的I/O口和具有特殊功能的端口。將AVR單片機和VC5402處理器相結(jié)合,發(fā)揮各自的優(yōu)點將是一個很好的設(shè)計方案。本文詳細描述了AVR型單片機ATMEL64L和VC5402的HPI接口的硬件設(shè)計原理和軟件設(shè)計構(gòu)架,同時詳細闡述了VC5402 HPI形式的bootloader方法及AVR實現(xiàn)方法。

2.  硬件設(shè)計原理

2.1. VC5402的HPI接口

VC5402的HPI接口是一個增強版的8位并行的HPI接口簡稱為HPI-8[1]。在 HPI-8接口中VC5402是從機。主機可以訪問VC5402中位于0x60~0x3FFF存儲器空間的片內(nèi)存儲器,這一區(qū)域是VC5402用戶可用的所有的片內(nèi)存儲器資源。主機通過兩個寄存器:地址寄存器(HPIA)和數(shù)據(jù)寄存器(HPID)訪問VC5402內(nèi)部的存儲器。還有一個控制寄存器(HPIC)包含有控制和狀態(tài)信息。HCNTL[0..1]是HPIA、HPID和HPIC的選址信號。同時,VC5402對 HCNTL[0..1]=“01”設(shè)置了特殊的訪問模式以加快主機訪問片內(nèi)存儲器的速度。此時主機讀寫HPID的內(nèi)容不用每次設(shè)置HPIA,當主機讀 HPID時VC5402將當前HPIA所指出的片內(nèi)存儲器的數(shù)據(jù)傳送到HPID寄存器,同時HPIA的內(nèi)容減1,當主機寫HPID時DSP先將當前 HPIA的內(nèi)容加1,然后由此時HPIA所指出的片內(nèi)存儲器的數(shù)據(jù)傳送到HPID寄存器。由此可見此種方式比較適合于主機訪問DSP內(nèi)部的連續(xù)存儲器空間。由于DSP內(nèi)部是按著16位的數(shù)據(jù)進行組織,所以主機通過8位的HPI口進行讀寫操作都必須由兩次操作組成,在兩次操作中由HBIL信號標明高低位字節(jié)。

2.2. ATMEL64L簡介

AVR單片機是ATMEL公司的8位高性能的低功耗微控制器。具有高級的精簡指令集結(jié)構(gòu),絕大多數(shù)指令都是單周期指令,執(zhí)行速度快。ATMEL64L是 Atmega103的升級版,具有64k字節(jié)在線可編程的flash存儲器,可用于存儲程序和固定的數(shù)據(jù)。具有2k字節(jié)的EEPROM,位于數(shù)據(jù)區(qū),可用于保存參數(shù)表。具有4k字節(jié)的SRAM,為動態(tài)數(shù)據(jù)結(jié)構(gòu)的存儲建立了可能。豐富的指令集、大容量而多樣的存儲器結(jié)構(gòu)增加了ATMEL64L程序設(shè)計的靈活性。另外ATMEL64L還具有豐富的片內(nèi)外設(shè),諸如:USART、SPI、定時器/計數(shù)器、PWM通道、在片的模擬比較器等,提供了豐富的通信及控制資源。

2.3. 硬件設(shè)計實現(xiàn)

ATMEL64L和TMS320VC5402的HPI-8接口的硬件設(shè)計關(guān)鍵在于實現(xiàn)HPI-8接口的邏輯時序。我們研究ATMEL64L外部數(shù)據(jù)空間的讀寫時序[2]和HPI-8接口時序[1]發(fā)現(xiàn):AVR的ALE信號在下降沿鎖存低8位地址信號(DA7:0),而HAS信號也是在下降沿鎖存HCNTL[0..1]、HBIL和HRW信號。在 AVR的WR信號的上升沿數(shù)據(jù)總線上的數(shù)據(jù)DA7:0已處于有效狀態(tài),在RD信號的上升沿來臨時數(shù)據(jù)總線的數(shù)據(jù)DA7:0必須處于有效狀態(tài),同時HPI- 8的兩個數(shù)據(jù)存儲信號HDS1和HDS2均是在上升沿將相應(yīng)的寄存器內(nèi)容設(shè)置到HD[7..0]上或是將HD[7..0]的數(shù)據(jù)鎖存到相應(yīng)的寄存器。由此可見HPI-8的重要控制線均可以和AVR相應(yīng)的控制線直接相連而不需要其他邏輯電路。設(shè)計的電路原理圖見圖1。


               圖1 電路原理圖

當DSP退出復(fù)位狀態(tài)后,30個有效時鐘周期內(nèi)觸發(fā)了一個有效的DSP中斷2,則DSP將僅進入HPI的 bootloader加載方式。原理圖中將HINT引腳和DSP INT2引腳直接相連就是為了DSP復(fù)位后實時的觸發(fā)DSP INT2中斷。VC5402通過ATMEL64L的INT2中斷申請加載DSP程序

3.HPI bootloader方式的實現(xiàn)

3.1. DSP bootloader方式簡介

DSP的bootloader模式就是將DSP的程序代碼和參數(shù)表由存儲位置移動到運行位置。之所以采用這一方式主要出于以下幾方面的考慮:

1.DSP系統(tǒng)的運行速度很快,如果程序代碼存儲在訪問速度較慢的非易失存儲器,將嚴重影響數(shù)據(jù)處理的速度。為提高效率有必要將程序代碼移動到快速的存儲空間[3]。

2.將程序代碼存儲位置和運行位置分開將有利于軟件的在線升級。

VC5402的片內(nèi)ROM存儲器0xF800~0xFBFF中有TI公司固化的bootloader程序[3][4]。當VC5402處于微計算機模式時,其復(fù)位后首先執(zhí)行bootloader程序。Bootloader程序依次掃描各種加載方式,當某一種方式滿足時,程序停止掃描,開始以此種方式加載DSP程序。這里我只介紹HPI方式的bootloader,其他方式的bootloader加載方法請參考[5-7]。當DSP查詢到有INT2中斷發(fā)生時就進入HPI方式的bootloader,清零0x007F存儲器單元,設(shè)置HINT信號向主機發(fā)送中斷請求。查詢 0x007F單元的內(nèi)容是否為零,當不為零時表明DSP程序加載完畢。將0x007F單元的內(nèi)容作為程序的入口地址開始執(zhí)行加載的DSP程序。

3.2.HPI bootloader方式的軟件實現(xiàn)框架

通過CCS將DSP源程序編譯連接成COFF文件格式得到.out文件。然后,由.out文件獲得DSP代碼的二進制文件。在AVR的C語言編輯環(huán)境ICCAVR V6.30C中采用下述方法將DSP的代碼數(shù)據(jù)配置到AVR flash空間。要注意const關(guān)鍵字使用。

  /* dsp vector section data. start address = 0x1000, length = 0x78 */
const unsigned int vector[120]={0xF073,0x3000,…,0xF495};

當DSP進入HPI Bootloader方式時,AVR的外部中斷2產(chǎn)生。AVR響應(yīng)外部中斷2傳輸完相應(yīng)的數(shù)據(jù)段到DSP對應(yīng)的片內(nèi)存儲器后要撤銷DSP的中斷申請。軟件框架如下:

#pragma interrupt_handler int2_isr:4
void int2_isr(void)
{
unsigned int number;
HPIAL = 0x0f;
HPIAH = 0xff;
for(number=0;number<120;number++)    /* 傳送vector數(shù)據(jù)段 */
{
             AUTOWL = vector[number]>>8;
   AUTOWH = vector[number];
}
……                                      /* 傳送其他數(shù)據(jù)段 */
  HPIAL = 0x00;                          /* 設(shè)置DSP程序入口地址 */
HPIAH = 0x7f;
WRITEL = 0x30;
WRITEH = 0x00;
while(((PIND & 0x04)==0x00))        /* 撤銷DSP的中斷申請 */
         {
HPICL = 0x0;
HPICH = 0x8;
    }
  }

4. 通信軟件設(shè)計框架

4.1. 主控器AVR命令的發(fā)布

AVR是主控器,DSP是從機。AVR和DSP之間通過DSP內(nèi)部存儲器的命令緩沖區(qū)和響應(yīng)標識緩沖區(qū)交換信息。AVR觸發(fā)DSP的HPI中斷通知DSP 有新的命令,DSP通過向響應(yīng)標識緩沖區(qū)寫入不同的內(nèi)容向AVR表明DSP所處的狀態(tài)。AVR通過查詢的方式確定DSP的處理狀態(tài)。

AVR發(fā)布命令的程序框架:
          HPIAL = 0x00;
              HPIAH = 0x60;
              WRITEL = orderhighbyte;
              WRITEH = orderlowbyte;  /* 向命令緩沖區(qū)0x60寫入命令*/
              HPIAL = 0x00;
              HPIAH = 0x61;
              WRITEL = orderhighparameter;
              WRITEH = orderlowparameter; /*向命令緩沖區(qū)0x61寫入命令參數(shù)*/
              HPICL = 0x0;                   /*觸發(fā)DSP中斷*/
             HPICH = 0x4;
dsphpidata = 0x00;
HPIAL = 0x00;
HPIAH = 0x62;
while((dsphpidata != 0xaa)) /*判斷響應(yīng)標識區(qū)0x62內(nèi)容是否為0xaaaa*/
              {
                dsphpidata = READL;
              dsphpidata = READH;
              }
……

4.2. DSP對主控器命令的執(zhí)行

AVR發(fā)給DSP的命令由DSP在HPI中斷中處理。DSP需要設(shè)置命令和響應(yīng)緩沖區(qū)、處理響應(yīng)的命令和設(shè)置響應(yīng)標志等工作。軟件設(shè)計框架如下:

interrupt void HPINT_isr(void);
#pragma DATA_SECTION(orderbuffer,"order_sec")   /* 設(shè)置命令和響應(yīng)緩沖區(qū) */
volatile unsigned int orderbuffer[8];
……
interrupt void HPINT_isr(void)
{
         switch(order[0])
         {
              case order1:              /* 處理命令1 */
                 ……
                 orderbuffer[2] = 0xaaaa;     /* 處理完命令1,設(shè)置響應(yīng)標志 */
              break;
              ……
          }
}

5. 結(jié)論

1)  本文詳細分析了AVR和TMS320VC5402 HPI接口通信軟硬件設(shè)計,給出了硬件設(shè)計原理圖和軟件設(shè)計框架。實際測試表明該系統(tǒng)設(shè)計方案運行可靠。

2)  利用AVR控制功能強、集成flash存儲器和DSP運算功能強、程序代碼配置靈活的特點,形成AVR和DSP之間優(yōu)勢互補,是一個可以選擇的合理的系統(tǒng)設(shè)計方案。

3)  有些DSP芯片內(nèi)部集成的bootloader程序通過HPI口只能配置內(nèi)部存儲器,對于DSP程序比較大的系統(tǒng)僅僅利用集成的bootloader程序不能完成全部加載工作。此時用戶可以自行設(shè)計一個bootloader程序,將大的DSP程序加載到外部存儲器空間。

6.參考文獻
[1] Texas Instruments Inc. TMS320C54x DSP Reference Set Volume 5: Enhanced Peripherals. P182~287
[2] Atmel Incorporation. ATMEL64/ATMEL64L preliminary.
[3] Texas Instruments. TMS320VC5402 and TMS320UC5402 Bootloader.
[4] Texas Instruments. TMS320VC5402 FIXED POINT DIGITAL SIGNAL PROCESSOR data sheet.
[5] Texas Instruments. A Practical Application of the TMS320C54x Host Port Interface(HPI).
[6] 李忠,李峰. DSP編程的幾個關(guān)鍵問題. 電子技術(shù)應(yīng)用, 2003,1:15-17.
[7] 香勇,施克仁. TMS320C54x的加載引導(dǎo). 國外電子元器件, 2003,3:4-7.

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉