TMS320C6727 DSP兩種引導(dǎo)方式設(shè)計(jì)
摘要:文中詳細(xì)描述了TMS320C6727DSP兩種引導(dǎo)方式,并給出了在工程應(yīng)用的實(shí)現(xiàn)方法。這兩種方法都避免了在設(shè)計(jì)過程中使用外部程序存儲芯片,節(jié)約了布線空間和設(shè)計(jì)成本。在引導(dǎo)過程中,主機(jī)能夠驗(yàn)證寫入DSP芯片的數(shù)據(jù),提高了系統(tǒng)的可靠性。
TMS320C6727DSP是TI公司的浮點(diǎn)信號處理芯片,該芯片具有處理速度快,運(yùn)算精度高的特點(diǎn),因此被廣泛的使用。對該芯片進(jìn)行應(yīng)用程序加載通常采用的Parallel Flash方式,該方式需要一片外部存儲芯片,加載程序相對復(fù)雜,在加載的過程中具有不可預(yù)知性。對于具有上位主機(jī)的系統(tǒng)來說,采用HPI或SPI0 SLAVE方式進(jìn)行引導(dǎo)時,不僅不需要外部程序存儲芯片,同時在引導(dǎo)的過程中可以嚴(yán)格的驗(yàn)證寫入DSP芯片內(nèi)的數(shù)據(jù),具有更高的可靠性和靈活性。
1 引導(dǎo)方式配置
TMS320C6727(DSP)有HPI,SPI0,Parallel FLASH,I2C1等多種引導(dǎo)方式,不同的引導(dǎo)方式是通過芯片上電時讀取外部引腳配置確定的,本文主要對HPI和SPI0 Slave兩種引導(dǎo)方式進(jìn)行詳細(xì)介紹。引導(dǎo)方式的選擇見表1,圖1中描述了硬件實(shí)現(xiàn)方法。
根據(jù)圖1,當(dāng)選擇HPI引導(dǎo)方式時,電阻R255焊接,斷開電阻R254。當(dāng)選擇SPI0 SLAVE方式時斷開電阻R255,同時焊接R254,R256,R259和R260。
2 SPI0 SLAVE方式
在芯片上電后通過確定BOOT引腳的配置來選擇SPI0SLAVE引導(dǎo)方式,然后DSP運(yùn)行固化在芯片內(nèi)部的BOOTLOADER程序。DSP芯片的BOOTLO ADER引導(dǎo)程序主按照AIS通信協(xié)議與外部器件的通信,完成程序加載并運(yùn)行。AIS協(xié)議的基本結(jié)構(gòu)如圖2所示。
AIS協(xié)議分為3個傳輸過程:SWS-POS-OS;具體描述如下:
1)SWS階段主要用來同步主機(jī)與DSP之間的通信連接,在這個過程中主機(jī)向DSP發(fā)送同步數(shù)據(jù)0x5853,同時主機(jī)進(jìn)行接收,當(dāng)主機(jī)接收到的數(shù)據(jù)位0x5253后,表示主機(jī)與DSP之間同步完成,并進(jìn)行POS階段。
2)POS階段主機(jī)首先發(fā)送數(shù)據(jù)0x5853590B,并收到從DSP發(fā)送的數(shù)據(jù)0x5852590B,然后主機(jī)向DSP發(fā)送一個數(shù)據(jù)N,在正確接收到數(shù)據(jù)N后,主機(jī)依次向DSP發(fā)送數(shù)據(jù)1-N,并收到相應(yīng)的數(shù)據(jù),在整個過程中,如果數(shù)據(jù)接收出錯,則返回到SWS階段。如果正確接收,則進(jìn)入OS階段。
3)OS階段,主機(jī)首先向DSP發(fā)送一個AIS命令數(shù)據(jù),所有的AIS命令數(shù)據(jù)都是以0x5853xxxx的格式組成的,當(dāng)主機(jī)在向DSP發(fā)送命令數(shù)據(jù)時,主機(jī)會收到相應(yīng)的返回數(shù)據(jù),該數(shù)據(jù)的格式為0x5253xxxx。通過判斷接收的數(shù)據(jù)可以在OS階段監(jiān)控數(shù)據(jù)的寫入是否正常,當(dāng)出現(xiàn)異常時,返回到SWS階段,并從新開始正個過程。
3 HPI方式
相對于SPI SLAVE方式,HPI加載方式則要簡單的多,首先在DOS界面下利用HEX6X執(zhí)行一個命令文件,把COFF文件轉(zhuǎn)換成一個可下載的ASCII文件。命令文件的設(shè)置如下:
根據(jù)上面的命令文件,最終生成的ASCII文件每一行以‘:’開頭,具體的格式如表2所示。
由表2可以看出,當(dāng)COFF文件轉(zhuǎn)換后的長度大于64kbytes時,長度信息將無法表示,為了避免產(chǎn)生這種情況,當(dāng)數(shù)據(jù)長度大于64kbytes時,會自動增加一行,該行的主要功能是對地址進(jìn)行線性擴(kuò)展,在其下一行又從零開始,具體如下:
x.map文件包含有執(zhí)行程序在DSP中的入口地址信息(entry point)和各段的分配地址(dest)和長度(size)信息。上電后,上位機(jī)根據(jù)這些信息寫入到DSP的相應(yīng)的地址,當(dāng)整個文本文件傳輸完成后,向地址0x10000714中寫入DSP程序執(zhí)行的入口地址,然后向地址0x10000718中寫入數(shù)據(jù)0x01使DSP開始運(yùn)行。工作流程見圖6。
上位機(jī)實(shí)現(xiàn)加載的程序如下(C語言):
4 結(jié)束語
文中介紹了TMS320C6727DSP芯片的兩種引導(dǎo)方式,這兩種方式都是通過上位主機(jī)對DSP芯片加載應(yīng)用程序,有利于DSP算法的改進(jìn),同時在不該變硬件的基礎(chǔ)上能夠通過簡單的上位機(jī)程序就能對板卡進(jìn)行擴(kuò)展應(yīng)用。這兩種方法的上位機(jī)控制程序具有簡單易懂和便于移植的特點(diǎn)。兩種方法的區(qū)別在于,HPI方式由于是并行工作,因此速度很高,缺點(diǎn)是占用的引腳多,在硬件設(shè)計(jì)時對布線要求很高,而SPI0SLAVE方式以串行工作,相對來說程序加載時間相對較長,但是所需要的引腳很少,對于布線空間的要求低。在實(shí)際應(yīng)用中該兩種方式應(yīng)根據(jù)不同的實(shí)際情況進(jìn)行選擇。以上兩種方式在實(shí)踐中已經(jīng)被驗(yàn)證是穩(wěn)定可靠并可行的。