- 相關(guān)推薦
兩類DSP芯片的引導(dǎo)過程分析
摘要:詳細分析了TI公司TMS320C40和TMS320VC5402兩類DSP芯片的系統(tǒng)引導(dǎo)特點。在了解機理的基礎(chǔ)上,敘述了工程設(shè)計中創(chuàng)建系統(tǒng)引導(dǎo)表的具體步驟,給出了創(chuàng)建步驟中所需的鍵接文件范例,并進行了說明。目前,DSP芯片正逐漸應(yīng)用到電子設(shè)計中,其中應(yīng)用最廣泛的是TI公司生產(chǎn)的DSP系列產(chǎn)品。筆者在工程項目的開發(fā)中,對TMS320C40和TMS320VC5402(以下簡稱C40和C5402)進行了系統(tǒng)的研究,并成功的實現(xiàn)了DSP的脫機運行。本文希望通過對C40和C5402兩種芯片系統(tǒng)引導(dǎo)的描述使大家了解設(shè)計DSP系列引導(dǎo)的步驟,能夠利用DSP設(shè)計自己的設(shè)備。
1 C40和C5402的系統(tǒng)引導(dǎo)機理
TI公司的每一種DSP產(chǎn)品,都為用戶設(shè)計了多種系統(tǒng)的引導(dǎo)方式,如串口、并行加載、HPI加載等。C40和C5402的引導(dǎo)方式如表1所示。
表1 C40和C5402的引導(dǎo)方式
在工程中,使用最廣泛的EEPROM并行加載方式。它又分為8位數(shù)據(jù)寬度和16位數(shù)據(jù)寬度兩種,筆者采用的是8位數(shù)據(jù)寬度的并行加載方式。需要注意的是C40的數(shù)據(jù)總線寬度是32位,引導(dǎo)表中數(shù)據(jù)存放的原則是低字節(jié)在低地址。C5402的數(shù)據(jù)寬度是16位,引導(dǎo)表中數(shù)據(jù)的存放原則是高字節(jié)在低地址。
1.1 C40的并行引導(dǎo)模式
C40加電時,芯片塞滿到ROMAN引腳為高電平,進入微處理器模式。再檢測IIOF3~IIOF0引腳電平,決定系統(tǒng)的引導(dǎo)方式和選擇并行引導(dǎo)的始地址。執(zhí)行程序引導(dǎo)程序時,程序和數(shù)據(jù)存取等時間可以設(shè)置為最長7個等待周期。若軟件延時不夠用,則需要輔助硬件延時等待。程序引導(dǎo)完畢后,會在IACK引腳產(chǎn)生脈沖,使引腳可以作為中斷引腳使用并轉(zhuǎn)入到程序的入口地址開始執(zhí)行程序。
C40由中斷引腳的電平?jīng)Q定系統(tǒng)引導(dǎo)后的程序執(zhí)行地址,或決定是否由通訊口進行程序的加載。采用0030 0000H作為主程序的入口地址,即將一片28C256地址設(shè)計為0030 0000H~0030 7FFFH。在系統(tǒng)引導(dǎo)時,需維持IIOF3~IIOF0四個引腳電平為1101。
下面以IIOF2引腳和IIOF1引腳為例,敘述一下系統(tǒng)引導(dǎo)前后的中斷引腳的處理過程。圖1電路是IIOF2引腳的外圍處理電路。在系統(tǒng)加電時,D31A的/PRE=0、/CLR=1,置位端有效,所以Q=1、/IIOF2=1。加電完畢后,/PRE=1、/CLR=1,此時無/IACK信號,Q=1、/IIOF2=1,C40開始程序的加載工作。當(dāng)C40程序加載完畢時,IACK引腳會產(chǎn)生一個脈沖,Q=D=0,/IIOF2=/INT2。C40會轉(zhuǎn)入程序的入口地址執(zhí)行程序,此時D觸發(fā)器電路的工作已經(jīng)完成,C40此時可以處理中斷信號。圖2電路是IIOF1引腳的外圍處理電路。系統(tǒng)引導(dǎo)時,要求/IIOF1引腳電平為低電平。
1.2 C5402并行引導(dǎo)模式
C5402加電時,如果芯片檢測到MP/MC引腳電平為低電平,系統(tǒng)從0FF80H開始執(zhí)行代碼。此處有一個分支指令(廠家編程設(shè)置的),可以跳轉(zhuǎn)到引導(dǎo)程序的開始地址(0F800H)。這個程序可以在引導(dǎo)之前設(shè)置CPU狀態(tài)寄存器的初始值。中斷被全局禁止,OVLY設(shè)置為1,程序和數(shù)據(jù)存取等待時間被設(shè)置為7個等待周期,外部內(nèi)存塊被設(shè)置為4K的WOROS(16BIT),然后開始程序的引導(dǎo)。
當(dāng)C5402檢測到INT2引腳為高電平、INT3引腳為高電平,即兩個引腳都無效時,C5402會轉(zhuǎn)到并行引導(dǎo)方式。并行引導(dǎo)方式是通過擴展的內(nèi)存接口從數(shù)據(jù)地址空間讀取所需的引導(dǎo)表,再將代碼傳送到程序存儲區(qū)。并行引導(dǎo)既支持8位的數(shù)據(jù)寬度,也支持16位的數(shù)據(jù)寬度。軟件可編程等待寄存器(SWWSR)和塊切換控制寄存器(BSCR)都可以在這兩種模式中得到設(shè)置。
C5402數(shù)據(jù)存儲區(qū)、程序存儲區(qū)和I/O地址空間,用/DS、/PS和/IS三個引腳信號區(qū)分。系統(tǒng)的引導(dǎo)表設(shè)在數(shù)據(jù)存儲區(qū),考慮到C5402內(nèi)部只有16K×16的雙存取RAM(DRAM),因此用于程序加載的EEPROM(EEPROM)中存放的是系統(tǒng)的引導(dǎo)表)可考慮使用28LV256。如果在設(shè)計中,使28LV256( 3.3V供電)占用系統(tǒng)的數(shù)據(jù)空間地址為8000H~0FFFFH,那么,C5402在系統(tǒng)引導(dǎo)時需從系統(tǒng)的數(shù)據(jù)地址0FFFEH和0FFFFH得到引導(dǎo)表的起始地址8000H。在設(shè)計系統(tǒng)引導(dǎo)表時要注意這兩個單元的內(nèi)容。如果設(shè)計EEPROM的首地址(系統(tǒng)引導(dǎo)表的首地址)為0C000H,那么數(shù)據(jù)地址0FFFEH和0FFFFH兩個單元要存放C0和00H,也就是引導(dǎo)表的首地址。在設(shè)計中也可以使用其它EEPROM或FLASH,如29LE010(128K×8BIT),但要正確配置它在系統(tǒng)中的地址。引導(dǎo)表的首地址(即EEPROM的在系統(tǒng)中的首地址)是通過系統(tǒng)數(shù)據(jù)地址0FFFEH和0FFFFH決定的,可以是08000H~0FFFDH之間的任意地址,但要保證能夠存儲系統(tǒng)引導(dǎo)表。
2 建立系統(tǒng)引導(dǎo)表的步驟
【兩類DSP芯片的引導(dǎo)過程分析】相關(guān)文章:
ARM Linux啟動過程分析06-17
芯片封裝技巧知多少06-05
基于dsp三相變流器滑模變結(jié)構(gòu)控制(c)06-03
改革:過程比結(jié)果更重要05-29
關(guān)于司法過程的理論神話06-08
平衡結(jié)果和過程指標(biāo)06-02
加強指導(dǎo),引導(dǎo)護生順利就業(yè)05-11
碩士論文寫作過程06-10