




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章DSP最小系統(tǒng)的設(shè)計(jì)與
程序引導(dǎo)
8.1TI公司DSP主要外圍器件選擇8.2基于TMS320VC33的DSP最小系統(tǒng)設(shè)計(jì)8.3DSP與外圍存儲(chǔ)器的接口
8.43.3?V和5?V混合邏輯系統(tǒng)設(shè)計(jì)
8.5程序引導(dǎo)功能的實(shí)現(xiàn)
本章小結(jié)思考題與習(xí)題
8.1TI公司DSP主要外圍器件選擇
TI公司的外圍器件與TI公司的DSP結(jié)合使用有很大的好處,其外圍器件可以和DSP進(jìn)行無(wú)縫連接。器件與器件之間不需要任何的連接或轉(zhuǎn)換器件。這樣既可以減少PCB的尺寸,也降低了系統(tǒng)的開發(fā)難度。由于它們同為TI公司的產(chǎn)品,很多器件可以固定搭配使用,減少了器件選型的煩惱。TI公司在CC開發(fā)環(huán)境中提高了插件使用功能,可以用于外圍器件的開發(fā),非常方便。
DSP系統(tǒng)構(gòu)成的常用芯片有如下幾種:
(1)?電源:TPS73HD3xx,TPS7333,TPS56100,PT64xx,…
(2)?FLASH:AM29F400,AM29LV400,SST39VF400,…
(3)?SRAM:CY7C1021,CY7C1009,CY7C1049,…
(4)?FIFO:CY7C425,CY7C42x5,…
(5)?Dualport:CY7C136,CY7C133,CY7C1342,…
(6)?SDRAM:HY57V651620BTC,…
(7)?PCI:PCI2040,CY7C09449,…
(8)?USB:AN21xx,CY7C68xx,…
(9)?A/D,D/A:ADS7805,TLV2543,…
DSP的速度較快,要求譯碼的速度也必須快。同時(shí),DSP系統(tǒng)中也經(jīng)常需要外部快速器件的配合,這部分的功能多用可編程器件實(shí)現(xiàn)。我們知道FPGA/CPLD的時(shí)序嚴(yán)格,速度較快,可編程性好,易于產(chǎn)品升級(jí),非常適合于實(shí)現(xiàn)譯碼和專門電路。因此在DSP系統(tǒng)中多用FPGA/CPLD。對(duì)于C3x系列的DSP只能同異步的存儲(chǔ)器直接相連。VC33DSP的最高速度為75?兆次/秒。為了保證DSP無(wú)等待運(yùn)行,需要外部存儲(chǔ)器的存取時(shí)間小于12?ns??蓞⒖际褂靡韵麓鎯?chǔ)器:
ROM:AM29LV400-55(SST39VF400)256K?×?16,55?ns,3.3?V供電,加入3個(gè)等待狀態(tài);
SRAM:CY7C1021V33-1564K?×?16,15?ns,3.3?V;
CY7C1009V33-15128K?×?16,15?ns,3.3?V;
CY7C1041V33-15256K?×?16,15?ns,3.3?V。8.2基于TMS320VC33的DSP最小系統(tǒng)設(shè)計(jì)8.2.1電源設(shè)計(jì)為了獲得更好的電源性能,TMS320VC33芯片采用了雙電源供電機(jī)制,即I/O電源(DVDD)3.3?V和內(nèi)核電源(CVDD)1.8?V,其中I/O電源可以實(shí)現(xiàn)直接與外部低電壓器件接口,而內(nèi)核電源主要為CPU和其他外設(shè)邏輯提供電壓。TMS320VC33采用這樣的電壓配置方案,與TMS320C31相比,功耗降低了約一個(gè)數(shù)量級(jí),進(jìn)一步提高了系統(tǒng)的穩(wěn)定性。由于采用了雙電源,在設(shè)計(jì)時(shí)就需要考慮加電順序的問(wèn)題,理想情況下,DSP芯片上的兩個(gè)電源同時(shí)加電。DVDD的最大電壓不允許超過(guò)4?V,而CVDD不允許超過(guò)2.4?V,否則芯片就會(huì)被損壞。在大部分?jǐn)?shù)字系統(tǒng)中提供給器件的電壓主要有3.3?V和5?V,下面討論這兩種情況下的芯片供電機(jī)制。如圖8.1所示,從5?V生成工作電壓,在這種設(shè)計(jì)中主要通過(guò)兩個(gè)電壓調(diào)節(jié)器產(chǎn)生3.3?V和1.8?V的電壓。在圖8.2中,DVDD直接使用外部提供的3.3?V電壓,只需要通過(guò)一個(gè)電壓調(diào)節(jié)器產(chǎn)生1.8?V的CVDD電壓。圖8.1從5?V產(chǎn)生雙電源圖8.2從3.3?V產(chǎn)生雙電源目前芯片制造商已經(jīng)提供了多種類型的電源芯片來(lái)支持DSP電源設(shè)計(jì)。例如對(duì)于單3.3?V電壓的輸出可以選用TI公司的TPS7133、7233或者M(jìn)AXIM公司的Max604,另外還可以利用TI公司的TPS7101獲得1.2~9.75?V可以調(diào)節(jié)的電壓,或通過(guò)TPS73HD318芯片可以直接輸出TMS320VC33芯片所需要的3.3?V和1.8?V兩路電壓。8.2.2復(fù)位信號(hào)的產(chǎn)生
DSP在上電瞬間,TMS320VC33處理器的狀態(tài)是不確定的,無(wú)法進(jìn)行數(shù)字信號(hào)處理運(yùn)算。因此,TMS320VC33支持一個(gè)非屏蔽的外部復(fù)位信號(hào)(),以將處理器置入一個(gè)已知的狀態(tài)。TMS320VC33的復(fù)位是通過(guò)在引腳上置10個(gè)H1周期以后的低電平來(lái)實(shí)現(xiàn)的。一旦加上了一個(gè)合適的復(fù)位脈沖處理器,將執(zhí)行以下的操作:
(1)外設(shè)復(fù)位;
(2)將CPU寄存器裝載0值;
(3)從零單元提取復(fù)位的量,它包含了系統(tǒng)的初始化程序的地址;
(4)執(zhí)行初始化程序。初始化程序在硬件復(fù)位時(shí)執(zhí)行如下功能:
(1)允許所有中斷;
(2)禁止溢出方式;
(3)將數(shù)據(jù)存儲(chǔ)器頁(yè)指針置為零;
(4)將內(nèi)部存儲(chǔ)器填充為零。另外,還有一種復(fù)位方式為手動(dòng)復(fù)位。這種復(fù)位的結(jié)果是DSP系統(tǒng)停止在運(yùn)行的程序,并執(zhí)行與上電復(fù)位相同的操作。上面已經(jīng)提到,為了使系統(tǒng)被復(fù)位信號(hào)正確地初始化,復(fù)位信號(hào)的脈沖寬度必須至少為10個(gè)H1周期以上。如果DSP芯片為TMS320VC33,工作在55?MHz,則=0的時(shí)間至少為360?ns。不過(guò)上電之后,系統(tǒng)的振蕩器達(dá)到穩(wěn)定工作狀態(tài)需要20?ms,甚至更長(zhǎng)的時(shí)間。一般來(lái)說(shuō),上電復(fù)位時(shí),在復(fù)位引腳上置100~200?ms的一個(gè)低電平脈沖是比較合適的。實(shí)現(xiàn)DSP的復(fù)位功能常用以下三種方案。
1.方案1如圖8.3所示,復(fù)位引腳的電壓由R1和C1網(wǎng)絡(luò)控制。由
U=VCC[I-e-cosC3]
t=R3C1ln[1-U/VCC]取
R2=100kW,C1=4.7mF,VCC=5V當(dāng)U=1.5V時(shí),t=167ms。工作原理分析如下:電源上電之后,通過(guò)R1給C1充電,C1的電壓緩慢上升。在C1上的電壓超過(guò)復(fù)位引腳的低電平上限之前,處于低電平,TMS320VC33被復(fù)位。當(dāng)電源斷開或降到0?V時(shí),二極管可快速將下拉至低電平。按動(dòng)開關(guān)S,則C1上的電荷將被快速釋放,并重新進(jìn)行復(fù)位。但復(fù)位電路正常工作的前提是:假設(shè)電源電壓的上升速度相對(duì)于RC時(shí)間常數(shù)足夠快,復(fù)位信號(hào)能夠保證TMS320VC33在重新開啟之前恢復(fù)到穩(wěn)定狀態(tài),使系統(tǒng)不受電壓跌落的影響。但是,當(dāng)電源電壓上升非常緩慢或電源上存在噪聲時(shí),如果此時(shí)電源電壓恰好處于復(fù)位極限附近,復(fù)位電路將被反復(fù)觸發(fā)翻轉(zhuǎn),產(chǎn)生振蕩信號(hào)提供給微處理器,使其無(wú)法正常工作。為了克服這一情況,一般在原有的復(fù)位電路上引入滯回電壓比較器或反相器電路,如圖8.4所示,其中74AS14的使用是為了引入滯回電壓,用兩個(gè)74AS14是為了保持電平一致。圖8.3TMS320VC33的復(fù)位電路圖8.4TMS320VC33改進(jìn)后的復(fù)位電路
2.方案2采用MAXIM等公司的集成微處理器監(jiān)控復(fù)位電路來(lái)完成。與上述傳統(tǒng)的mP監(jiān)控復(fù)位電路比起來(lái),集成功能監(jiān)控復(fù)位電路不用引入額外的滯回電壓。當(dāng)電源電壓達(dá)到檢測(cè)極限時(shí),讓復(fù)位信號(hào)保持一固定的延遲。如果遇到上述的問(wèn)題,這一延遲將不斷地被觸發(fā),直到電源電壓高于復(fù)位極限并保持大于設(shè)定的延遲時(shí),復(fù)位脈沖才恢復(fù)到高電平,因而避免了振蕩。與傳統(tǒng)的mP監(jiān)控復(fù)位電路比起來(lái),集成mP監(jiān)控復(fù)位電路有可靠性高、動(dòng)態(tài)響應(yīng)好(如電源出現(xiàn)瞬時(shí)跌落時(shí),傳統(tǒng)方案由于動(dòng)態(tài)響應(yīng)慢而無(wú)法產(chǎn)生符合要求的復(fù)位脈沖)、功耗小、設(shè)計(jì)簡(jiǎn)單、體積小等優(yōu)點(diǎn)。
MAX705/706/813L、MAX707/708系列微機(jī)監(jiān)控電路減少了用于監(jiān)控微機(jī)系統(tǒng)的電源與監(jiān)控電路的電路元件和復(fù)雜性,并完成復(fù)位功能的復(fù)位。與由分立RC組成的微機(jī)監(jiān)控電路相比,MAX705/706/813L、MAX707/708大大提高了可靠性和精確度。
MAX705/706/813L、MAX707/708系列mP微機(jī)監(jiān)控芯片能實(shí)現(xiàn)以下四個(gè)功能:
(1)在電路上電、掉電及異常時(shí)產(chǎn)生一個(gè)長(zhǎng)達(dá)200?ms的復(fù)位信號(hào);
(2)有一個(gè)獨(dú)立的看門狗,當(dāng)1.6?s以上沒觸發(fā)看門狗輸入時(shí),看門狗輸出變低;
(3)有一個(gè)1.25?V的電壓門檻檢測(cè)器,用于掉電報(bào)警、電池欠壓檢測(cè)或監(jiān)控高于+5V的電壓;
(4)一個(gè)低電平有效的手動(dòng)復(fù)位輸入,用于實(shí)現(xiàn)手動(dòng)復(fù)位功能。利用MAX705/706/813L、MAX707/708系列mP微機(jī)監(jiān)控芯片實(shí)現(xiàn)TMS320VC33最簡(jiǎn)單的上電復(fù)位功能的電路如圖8.5所示,它具有手動(dòng)復(fù)位、上電復(fù)位及掉電復(fù)位的功能。圖8.5使用MAX705復(fù)位TMS320VC33簡(jiǎn)單電路
(1)如果是上電復(fù)位的情況,則為VCC>1.0?V時(shí),開始輸出小于0.4?V的低電平復(fù)位信號(hào)。當(dāng)VCC電壓高于復(fù)位門檻時(shí),保持低電平200?ms之后,變?yōu)楦唠娖?;如果VCC處于1.0?V到復(fù)位門檻之間,將一直保持低電平。
(2)如果還為低電平,VCC從高于復(fù)位門檻降到低于復(fù)位門檻時(shí),將繼續(xù)保持低電平至少140?ms。
(3)如果處于掉電狀態(tài),則從VCC電壓低于復(fù)位門檻開始到VCC低于1.0?V期間,都處于低電平,VCC低于1.0?V時(shí)復(fù)位狀態(tài)將不能正常工作。
(4)手動(dòng)復(fù)位時(shí),如果將置低,也將導(dǎo)致輸出低電平。手動(dòng)復(fù)位將產(chǎn)生至少140?ms的低電平復(fù)位脈沖。
3.方案3利用電源芯片本身帶的復(fù)位信號(hào)進(jìn)行復(fù)位。TI公司的芯片TPS73HD318除了實(shí)現(xiàn)5?V到3.3?V的轉(zhuǎn)換,同時(shí)還可給DSP提供上電復(fù)位信號(hào),如圖8.6所示。圖8.6電源芯片給DSP提供復(fù)位信號(hào)8.2.3時(shí)鐘電路設(shè)計(jì)在設(shè)計(jì)中,時(shí)鐘往往不被人們充分重視。其實(shí),時(shí)鐘是電路設(shè)計(jì)中非常重要的一個(gè)環(huán)節(jié)。TMS320VC33的時(shí)鐘,既可由外部提供,亦可由板上的振蕩器來(lái)提供,使用板上振蕩器是方便的。但一般DSP系統(tǒng)中經(jīng)常使用外部時(shí)鐘輸入,因?yàn)橥獠繒r(shí)鐘的精確度高、穩(wěn)定性好、使用方便,其接法和幾種常用的引腳如圖8.7所示。圖8.7外部時(shí)鐘連接圖和外部時(shí)鐘引腳當(dāng)使用外部時(shí)鐘時(shí),外部時(shí)鐘的質(zhì)量就非常重要。時(shí)鐘一般是由晶振產(chǎn)生的。DSP對(duì)時(shí)鐘的主要要求是:能持續(xù)穩(wěn)定地輸出沒有毛刺的時(shí)鐘。由于DSP及其它芯片工作都是以時(shí)鐘為基準(zhǔn)的,如果時(shí)鐘質(zhì)量不高,那么系統(tǒng)的可靠性、穩(wěn)定性就很難保證。比如有時(shí)系統(tǒng)死機(jī)便是由于晶振在上電工作一段時(shí)間后停振或振蕩不正常而造成的。有時(shí)一些片選及時(shí)序的不正常工作也是由時(shí)鐘信號(hào)的毛刺造成的(尤其是在高頻系統(tǒng)中)。正是由于這些原因,應(yīng)該非常重視晶振的質(zhì)量。雖然一般情況下晶振工作還是比較可靠的,也要對(duì)晶振的穩(wěn)定性、毛刺及帶負(fù)載能力做全面的檢驗(yàn),以便系統(tǒng)可靠地工作。特別注意的是:在實(shí)際應(yīng)用過(guò)程中,有時(shí)DSP工作不正常,檢查發(fā)現(xiàn)時(shí)鐘的工作不穩(wěn)定。但是檢測(cè)外部時(shí)鐘輸出頻率是穩(wěn)定的,而H1的時(shí)鐘周期是不穩(wěn)定的。我們?yōu)榱送ㄟ^(guò)外部較低頻率時(shí)鐘,達(dá)到DSP在高頻率工作的情況,常常使DSP工作在5倍頻模式。但是檢測(cè)時(shí)鐘,有時(shí)出現(xiàn)外部時(shí)鐘的1倍頻,有時(shí)出現(xiàn)外部時(shí)鐘的3倍頻,最后檢查發(fā)現(xiàn)這是由于復(fù)位信號(hào)所致。復(fù)位信號(hào)在上一節(jié)已經(jīng)提到,它必須持續(xù)100~200?ms的低電平,等待著振蕩器工作穩(wěn)定。因此采取的辦法是在引腳上增加一個(gè)電容,延遲變?yōu)楦唠娖降臅r(shí)間,使DSP完全復(fù)位。
8.2.4等待對(duì)高速的DSP而言,它的讀操作從地址穩(wěn)定到數(shù)據(jù)有效僅需幾十納秒左右的時(shí)間,而DSP外設(shè)的速度則參差不齊。為了解決高速DSP與低速外設(shè)在速度上的沖突,在高速的DSP與存儲(chǔ)器等外設(shè)的接口之間,等待狀態(tài)的設(shè)計(jì)是一個(gè)關(guān)鍵的問(wèn)題。在TMS320C3x系列DSP中有信號(hào)線用以協(xié)調(diào)這一矛盾,其它系列的DSP也有相應(yīng)的信號(hào)線用以解決這一問(wèn)題。
DSP芯片中等待狀態(tài)的使用大大地增加了系統(tǒng)的靈活性,降低了外設(shè)系統(tǒng)的成本。TMS320C3x系列DSP芯片具有在外部總線上產(chǎn)生等待狀態(tài)的能力。其等待狀態(tài)的產(chǎn)生是通過(guò)控制就緒信號(hào)來(lái)實(shí)現(xiàn)的。如果系統(tǒng)未就緒,則使外部總線處于等待狀態(tài);如果系統(tǒng)就緒,則解除外部總線的等待狀態(tài)。對(duì)于片內(nèi)等待狀態(tài)的產(chǎn)生參見第2章的總線一節(jié)內(nèi)容。下面主要介紹外部等待就緒信號(hào)的產(chǎn)生方法。一般來(lái)說(shuō),等待電路的設(shè)計(jì)分為三步,即:
(1)片選,即為外設(shè)分配地址空間;
(2)給各個(gè)外設(shè)(各段地址空間)分配合適的等待時(shí)間,以H1/H3為單位;
(3)對(duì)所有分開的就緒定時(shí)作邏輯或并連接實(shí)際的就緒輸入產(chǎn)生外部就緒信號(hào)。對(duì)于片選,一般情況下是可以按照片選占的地址空間來(lái)進(jìn)行的,如27C512的EPROM地址空間FFFFh。假如把DSP的地址空間500000h~80FFFFh的地址分配給EPROM,則EPROM的片選為:。由于EPROM為慢速器件,這種片選是可以接受的。同樣,如果要把這段地址給相同容量的零等待的SRAM,仍然采用上述方式肯定是不行的,因?yàn)檫@至少需要兩級(jí)門,延時(shí)將超過(guò)TMS320VC33尋址后的就緒延遲時(shí)間。因而不僅要采用速度更快的門,更重要的是要采用更為簡(jiǎn)潔的片選方式。例如,可以使=并將0x800000h~0xFFFFFFh這段地址均分配給片外SRAM。這樣就充分保證了時(shí)序的要求。顯然這樣的處理方式要浪費(fèi)一部分地址空間。一般在高速外設(shè)不是很多的情況下,這種做法是可以接受的。同樣,如果要把這段地址給相同容量的零等待的SRAM,仍然采用上述方式肯定是不行的,因?yàn)檫@至少需要兩級(jí)門,延時(shí)將超過(guò)TMS320VC33尋址后的就緒延遲時(shí)間。因而不僅要采用速度更快的門,更重要的是要采用更為簡(jiǎn)潔的片選方式。例如,可以使=并將0x800000h~0xFFFFFFh這段地址均分配給片外SRAM。這樣就充分保證了時(shí)序的要求。顯然這樣的處理方式要浪費(fèi)一部分地址空間。一般在高速外設(shè)不是很多的情況下,這種做法是可以接受的。對(duì)于外部設(shè)置指令合適的等待時(shí)間,主要要看外設(shè)的速度。DSP工作頻率越高,外設(shè)的速度越慢,加入的等待狀態(tài)越多。簡(jiǎn)單的方案可以利用觸發(fā)器觸發(fā)延遲,如果大于8個(gè)等待狀態(tài),需要在片外擴(kuò)展計(jì)數(shù)器來(lái)實(shí)現(xiàn)。如果兼顧多層次的用戶和各種各樣的應(yīng)用場(chǎng)合,則可以采用可編程的邏輯器件,如FPGA、CPLD等。8.2.5JTAG仿真接口
DSP的實(shí)時(shí)在線仿真器是一個(gè)擴(kuò)展的開發(fā)系統(tǒng),它具有全速仿真所需的全部特點(diǎn)。TMS320VC33包含一個(gè)專門仿真口來(lái)支持由IEEE1149.1標(biāo)準(zhǔn)規(guī)范的JTAG仿真,該端口可以通過(guò)仿真器直接訪問(wèn),這種設(shè)計(jì)極大地方便了TMS320VC33仿真軟件的調(diào)試。為了能與仿真器進(jìn)行通信,所設(shè)計(jì)的目標(biāo)板上應(yīng)該有14腳JTAG仿真頭。14腳JTAG仿真頭的信號(hào)及引腳位置如圖8.8所示,其中第6腳空缺是為了確保仿真頭的方向正確。圖8.814針JTAG仿真頭圖中主要信號(hào)說(shuō)明如下:
EMU0:仿真管腳0;EMU1:仿真管腳1;TMS:測(cè)試模式選擇;TDI:測(cè)試數(shù)據(jù)輸入;TCK:測(cè)試時(shí)鐘信號(hào);:測(cè)試復(fù)位;TCK-RET:測(cè)試信號(hào)的返回,用于保證目標(biāo)系統(tǒng)與測(cè)試時(shí)鐘信號(hào)同步;PD:檢測(cè)信號(hào),檢測(cè)電纜是否已連接以及目標(biāo)系統(tǒng)是否已加電,在目標(biāo)系統(tǒng)中PD電壓應(yīng)固定為+5?V。為了保證目標(biāo)系統(tǒng)中的TMS320VC33處理器與仿真器之間傳輸高質(zhì)量的信號(hào),在一些情況下,需要根據(jù)仿真插頭與目標(biāo)系統(tǒng)間的距離對(duì)傳輸信號(hào)進(jìn)行緩沖。當(dāng)仿真頭和JTAG目標(biāo)芯片之間的距離小于6英寸時(shí),信號(hào)不需要進(jìn)行緩沖,但是EMU0和EMU1信號(hào)必須通過(guò)上拉電阻連接到電源上,用以提供少于10?μs的信號(hào)上升時(shí)間,上拉電阻R1和R2可取4.7?kΩ。TMS320VC33與仿真器在無(wú)信號(hào)緩沖時(shí)的連接如圖8.9所示。圖8.9TMS320VC33與仿真器在無(wú)信號(hào)緩沖時(shí)的連接當(dāng)二者的距離超過(guò)6英寸時(shí),仿真信號(hào)TMS、TDI、TDO和TCK-RET要加緩沖,同時(shí)引腳EMU0、EMU1、TMS、TDI應(yīng)該加上拉電阻連接到電源上,以保證仿真信號(hào)傳輸?shù)男枰?.3DSP與外圍存儲(chǔ)器的接口8.3.1存儲(chǔ)器的發(fā)展現(xiàn)狀存儲(chǔ)器是DSP系統(tǒng)中最主要的部件之一。從使用功能的角度,存儲(chǔ)器可分為斷電后數(shù)據(jù)會(huì)丟失的易失性存儲(chǔ)器,斷電后數(shù)據(jù)不會(huì)丟失的非易失性存儲(chǔ)器。在傳統(tǒng)的概念上,前者叫做RAM,包括SRAM(靜態(tài)RAM)和DRAM(動(dòng)態(tài)RAM);后者叫做ROM,這種存儲(chǔ)器只能脫機(jī)寫入,使用時(shí)只能讀不能寫??刹脸齊OM的發(fā)展大概經(jīng)歷了紫外線可擦除(EPROM)、電可擦除(EEPROM)和可快速擦寫閃存(FlashMemory)三個(gè)階段。目前,EPROM和EEPROM的發(fā)展已趨于平緩,ROM的發(fā)展主要集中在FlashMemory上。市場(chǎng)上的FlashMemory競(jìng)爭(zhēng)非常激烈,其中Intel、AMD、ATMEL占據(jù)了最大的市場(chǎng)份額。從性能上來(lái)看,目前FlashMemory的發(fā)展水平至少已經(jīng)達(dá)到了256?MB的容量,100萬(wàn)次的可重寫編程壽命,60?ns以下的訪問(wèn)速度,現(xiàn)在仍在向大容量、快速訪問(wèn)方向發(fā)展,而且隨著CPU的工作電壓的下降,它的工作電壓也在不斷下降。FlashMemory一般僅需單電源??紤]到DSP中的應(yīng)用,將介紹EEPROM中的X28C512/X28513、FlashMemory中的AT29LV1024,并設(shè)計(jì)它們與DSP的接口。
RAM包括SRAM和DRAM,SRAM是基于觸發(fā)器原理的,讀寫速度快,但集成度低、成本高、功耗大。由于DSP系統(tǒng)中的高速要求,SRAM在DSP系統(tǒng)中得到廣泛應(yīng)用。為了適用計(jì)算機(jī)大容量、高速度的要求,目前RAM的發(fā)展主要集中在DRAM上。
DRAM基于分布電容電荷存儲(chǔ)原理,有集成度高、成本低、功耗低等優(yōu)點(diǎn)。由于DRAM的電容特性,需要定時(shí)對(duì)其進(jìn)行刷新,這就造成了DRAM讀寫速度慢的缺點(diǎn)。因此,目前發(fā)展的DRAM的途徑一般把注意力集中在存儲(chǔ)器芯片的片外附加邏輯上,試圖在片外組織連續(xù)的數(shù)據(jù)流來(lái)提高單位時(shí)間內(nèi)的數(shù)據(jù)流量,增加存儲(chǔ)器的帶寬。
TI公司提出了一種新型的高速同步動(dòng)態(tài)RAM的解決方案,能在降低成本的同時(shí)提高性能。這種RAM被稱為SDRAM(SynchronousDRAM),它的訪問(wèn)速度可達(dá)到10?ns。所謂同步RAM,是一種與內(nèi)存總線同步運(yùn)行的DRAM,其擁有一個(gè)高速的時(shí)鐘連接口,SDRAM在非??斓耐话l(fā)方式下傳遞信息。由于SDRAM在性能價(jià)格比上的優(yōu)勢(shì),SDRAM已經(jīng)是目前計(jì)算機(jī)的主流內(nèi)存。目前還推出了一種叫SBSRAM的產(chǎn)品,它的訪問(wèn)速度更快。
SRAM、SDRAM、SBSRAM在DSP系統(tǒng)中會(huì)有廣泛的應(yīng)用。而SRAM仍然是目前DSP系統(tǒng)中應(yīng)用最多的RAM。SDRAM和SBSRAM這一類大容量、高速度的內(nèi)存是今后DSP系統(tǒng)內(nèi)存的主要發(fā)展方向。8.3.2EPROM和DSP的接口
X28C512/513是Xicor公司的一種采用CMOS工藝制成的64?KB的電可擦除、可編程的存儲(chǔ)器。該芯片的引腳圖和引腳說(shuō)明如圖8.10所示。圖8.10X27C512/513的引腳圖及引腳說(shuō)明在系統(tǒng)的邏輯電路中要為不同的EEPROM選擇不同的等待狀態(tài)。這里需要注意的是,若DSP選擇的是低功耗的TMS320VC33芯片,就不能直接與X27C512/513相連接,必須對(duì)數(shù)據(jù)總線進(jìn)行電平轉(zhuǎn)換以滿足電平接口。同時(shí)CPU若為3.3?V接口的TMS320VC33,則數(shù)據(jù)總線必須進(jìn)行電平轉(zhuǎn)換,才能使二者接口。這是因?yàn)門MS320VC33芯片的I/O口耐壓最高為4伏,若直接與?+5?V供電的器件連接,會(huì)導(dǎo)致DSP芯片的燒壞,如圖8.11所示。圖8.11X27C512/513與DSP之間的接口8.3.3FLASH、RAM與DSP的接口
AT29LV1024芯片是ATMEL公司生產(chǎn)的容量為64K×16位、可支持3?V在系統(tǒng)編程的Flash存儲(chǔ)器。AT29LV1024將存儲(chǔ)空間分成512個(gè)獨(dú)立的扇區(qū),每個(gè)扇區(qū)有128?B,其中A7~A15用來(lái)確定扇區(qū)地址,A0~A6用來(lái)選擇字節(jié)地址,每個(gè)扇區(qū)的編程操作最長(zhǎng)需要20?ms。AT29LV1024在編程之前,會(huì)自動(dòng)擦除片內(nèi)對(duì)應(yīng)扇區(qū)的數(shù)據(jù),因而不需要額外的擦除命令。
AT29LV1024有三根邏輯控制線:、、,其作用如表8.1所示。在讀模式下,AT29LV2024的讀時(shí)鐘時(shí)序與典型的存儲(chǔ)器讀時(shí)序類似(即和的邏輯電平為低電平,的邏輯電平為高電平);在編程模式下,AT29LV2024的讀時(shí)鐘時(shí)序與典型的存儲(chǔ)器讀時(shí)序兼容(即和的邏輯電平為低電平,的邏輯電平為高電平)。表8.1AT29LV1024的控制邏輯信號(hào)入緩沖器的字節(jié)數(shù)不足128?B,則編程時(shí)自動(dòng)將未寫入的字節(jié)擦除為0xFFFFh。一旦某一扇區(qū)中的字節(jié)被裝入,這些字節(jié)將同時(shí)在內(nèi)部編程時(shí)間進(jìn)行編程,此時(shí)如果有數(shù)據(jù)被裝入,則會(huì)產(chǎn)生不確定的數(shù)據(jù)。每一個(gè)新裝載的數(shù)據(jù)若要被編程,則必須有由高到低的跳變。這一跳變需要在150?μs內(nèi)完成,如果超過(guò)150?μs,器件會(huì)自動(dòng)進(jìn)入扇區(qū)內(nèi)部編程方式。為了防止意外的編程操作,AT29LV1024提供了軟件保護(hù)編程的功能,即在對(duì)Flash的每個(gè)扇區(qū)進(jìn)行編程時(shí),必須先將3個(gè)命令字正確地寫入到對(duì)應(yīng)的地址單元,然后才能向片內(nèi)編寫程序。在對(duì)每一個(gè)扇區(qū)編程之前,都要執(zhí)行相同的三字節(jié)指令序列。除軟件保護(hù)外,AT29LV1024還提供了硬件保護(hù),一般當(dāng)芯片VCC的電壓低于1.8?V時(shí),芯片的編程操作將被迫停止,另外,還可以直接控制、和引腳,通過(guò)引腳置低電平,或引腳置高電平來(lái)結(jié)束對(duì)芯片的編程。而器件IS61LV256是ICSI公司采用先進(jìn)的CMOS技術(shù)生產(chǎn)的高速16位靜態(tài)RAM,工作電壓為3.3?V,存儲(chǔ)空間為4?MB,使用起來(lái)簡(jiǎn)單方便,具有性能穩(wěn)定、非易失性、低電壓的設(shè)計(jì)特點(diǎn),適用于低功耗、高性能的系統(tǒng)設(shè)計(jì)。關(guān)于IS61LV256芯片的引腳功能如表8.2所示。表8.2IS61LV256的引腳說(shuō)明表
IS61LV256在進(jìn)行讀操作時(shí),、為低電平,為高電平,此時(shí)若為高電平而為低電平,則數(shù)據(jù)線的低8位I/O0~I(xiàn)/O7輸出;若為低電平而為高電平,則數(shù)據(jù)線的高8位I/O8~I(xiàn)/O15輸出;若兩者同時(shí)低有效,那么16位的數(shù)據(jù)全部輸出。當(dāng)進(jìn)行寫操作時(shí),和的信號(hào)被置為低電平,此時(shí)若為高電平而為低電平,則數(shù)據(jù)線的低8位I/O0~I(xiàn)/O7被寫入;若為低電平而為高電平,則數(shù)據(jù)線的高8位I/O8~I(xiàn)/O15被寫入;若二者同時(shí)低有效,那么數(shù)據(jù)位全部寫入。圖8.12為TMS320VC33與外部存儲(chǔ)器IS61LV256的接口設(shè)計(jì)示意圖。這里DSP利用了一片地址譯碼器74LS138來(lái)產(chǎn)生數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的片選地址,AT29LV1024作為程序存儲(chǔ)器來(lái)擴(kuò)展DSP的內(nèi)部存儲(chǔ)器,其地址總線和數(shù)據(jù)總線分別接至DSP的外部總線,與地址譯碼器74LS138的Y1輸出相連,DSP的R/引腳與相連。用DSP的XF引腳驅(qū)動(dòng)AT29LV1024的輸出控制,當(dāng)XF為低電平時(shí),F(xiàn)lash處于讀狀態(tài);反之,處于編程狀態(tài)。IS61LV256芯片在這里被用來(lái)擴(kuò)展DSP內(nèi)存,進(jìn)行數(shù)據(jù)的存儲(chǔ)。由于IS61LV256只有16根數(shù)據(jù)線,所以采用了兩片IS61LV256,分別與DSP數(shù)據(jù)線的高16位與低16位數(shù)據(jù)線接口,IS61LV25616的低8位控制、高8位控制和輸出使能都接地,而地址線直接與DSP相連,片選信號(hào)和AT29LV1024類似與地址譯碼器74LS138的Y2輸出相連,DSP通過(guò)R/信號(hào)引腳控制對(duì)IS61LV25616芯片的讀寫操作。因?yàn)轫?yè)選通信號(hào)的開始地址是800000h,當(dāng)DSP的A20、A19以及A18都為0時(shí),Y0腳輸出低電平,從而啟動(dòng)了16位的AT29LV1024,所以程序存儲(chǔ)器的地址應(yīng)該是800000h~80FFFFh。同樣,當(dāng)DSP的A20為1,A19、A18為0時(shí),Y1腳輸出低電平,啟動(dòng)了IS61LV25616芯片,這時(shí)的DSP地址從840000h開始,而兩片IS61LV25616構(gòu)成了16位的數(shù)據(jù)傳輸,所以數(shù)據(jù)存儲(chǔ)器的地址應(yīng)當(dāng)為0840000h~087FFFFh。圖8.12TMS320VC33與外部存儲(chǔ)器的接口設(shè)計(jì) 8.3.4NVSRAM與DSP的接口
DS1251Y是一個(gè)內(nèi)部帶有時(shí)鐘電路、存儲(chǔ)空間為512K?×?8位的靜態(tài)非易失RAM,其高電平的輸出電壓為5V的芯片。表8.3對(duì)TMS320VC33與DS1251Y的電平轉(zhuǎn)化參數(shù)作了比較。表8.3TMS320VC33與DS1251Y的電平轉(zhuǎn)化參數(shù)從表中看出,TMS320VC33與DS1251Y的電平轉(zhuǎn)換參數(shù)能夠相互支持,因此從TMS320VC33到DS1251Y的地址線和信號(hào)線是可以直接連接的,但是TMS320VC33芯片承受不了5?V的數(shù)據(jù)電壓,所以兩者的數(shù)據(jù)線信號(hào)不能直接相接,需要在中間加一個(gè)緩沖器件。該器件必須既可以支持3.3?V的單電壓供電,也可以承受5?V的電壓。這里采用SN74LVC4245充當(dāng)緩沖器件實(shí)現(xiàn)二者的接口。
SN74LVC4245是一個(gè)能夠?qū)崿F(xiàn)電壓3.3?V到5?V轉(zhuǎn)換的雙向收發(fā)器,可以被當(dāng)作2組8位收發(fā)器。一組的工作電壓是3.3?V,另一組的工作電壓是5?V,根據(jù)方向控制端DIR的邏輯電平來(lái)確定數(shù)據(jù)的發(fā)送方向。如果DIR上是低電平信號(hào),則數(shù)據(jù)從B端傳輸?shù)紸端,反之,則實(shí)現(xiàn)數(shù)據(jù)從A端向B端的傳輸。當(dāng)輸出使能控制端為高電平時(shí),將使器件處于無(wú)效狀態(tài),器件兩端不再進(jìn)行數(shù)據(jù)的通信。SN74LVC4245操作方式說(shuō)明如表8.4所示。表8.4SN74LVC4245的操作方式圖8.13給出了TMS320VC33與具有的DS1251Y接口示意圖。DS1251Y是一個(gè)512K×8位的NVRAM芯片,在這里被用來(lái)存儲(chǔ)數(shù)據(jù)和程序,圖10.13中在TMS320VC33與DS1251Y的數(shù)據(jù)總線之間加入電平轉(zhuǎn)換芯片SN74LVC4245,實(shí)現(xiàn)了+3.3?V和+5?V電平的轉(zhuǎn)換。其中DS1251Y和電平轉(zhuǎn)換芯片SN74LVC4245的、、DIR引腳由TMS320VC33控制,當(dāng)DSP讀取DS1251Y內(nèi)部的數(shù)據(jù)和程序時(shí),DSP置CLKX0引腳為高電平,通過(guò)驅(qū)動(dòng)電路7406使DS1251Y的引腳為低電平,這時(shí)DSP的R/引腳為高電平,即DS1251Y和電平轉(zhuǎn)換芯片的、DIR引腳為高電平,DS1251Y處于讀狀態(tài),實(shí)現(xiàn)DSP對(duì)外部數(shù)據(jù)和程序的讀?。划?dāng)DSP向DS1251Y寫數(shù)據(jù)時(shí),DSP置CLKX0引腳為低電平,通過(guò)7406使DS1251Y的引腳為高電平,這時(shí)DSP的R/引腳為低電平,即DS1251Y和SN74LVC4245的、DIR引腳也為低電平,DS1251Y處于寫狀態(tài),實(shí)現(xiàn)DSP對(duì)外部存儲(chǔ)器的寫數(shù)據(jù)操作。圖8.13TMS320VC33與5V的NVSRAM的接口8.43.3?V和5?V混合邏輯系統(tǒng)設(shè)計(jì)
TMS320VC33的I/O工作電壓是3.3?V,即I/O的邏輯電平是3.3?V。因此在設(shè)計(jì)DSP系統(tǒng)時(shí),除了DSP芯片外,還必須涉及DSP芯片與其他外圍芯片的接口,由于很多外圍芯片,如EPROM、SRAM、A/D轉(zhuǎn)換芯片等,它們的工作電壓都是5?V,所以本節(jié)主要來(lái)討論如何實(shí)現(xiàn)3.3?V的DSP芯片與5?V的供電芯片的安全接口問(wèn)題。圖8.14所示為5V的CMOS、5V的TTL和3V的TTL電平的轉(zhuǎn)換標(biāo)準(zhǔn)。這里VOH表示輸出高電平的最低電壓,VIH表示輸入高電平的最低電壓,VIL表示輸入低電平的最高電壓,VOL表示輸出低電平的最高電壓。從圖中可以看到5?V的TTL和3.3?V的TTL的轉(zhuǎn)換標(biāo)準(zhǔn)是一樣的,而5?V的CMOS的轉(zhuǎn)換電平則是不同的,因此在進(jìn)行3.3?V系統(tǒng)與5?V系統(tǒng)接口設(shè)計(jì)時(shí)必須考慮兩者的不同。圖8.145?V的CMOS、5?V的TTL和3.3?V的TLL電平轉(zhuǎn)換標(biāo)準(zhǔn)由圖8.14可知,當(dāng)用5?V的TTL器件驅(qū)動(dòng)3.3?V的TTL器件時(shí),由于二者的電平標(biāo)準(zhǔn)是一樣的,因此,如果3.3?V器件能夠承受5V電壓,就可以直接相連,如圖8.15(a)所示。如果用3.3?V的TTL器件驅(qū)動(dòng)5?V的TTL器件,由于兩者的電平轉(zhuǎn)換標(biāo)準(zhǔn)是一樣的,因此不需要額外器件就可以將兩者直接連接,3.3?V器件能夠驅(qū)動(dòng)5?V,這是因?yàn)?.3?V器件的VOH和VOL電平分別是2.4?V和0.4?V,而5?V器件的VIH和VIL電平分別是2?V和0.8?V,所以5?V器件可以將輸入讀為有效電平,如圖8.15(b)所示。當(dāng)用5?V的CMOS驅(qū)動(dòng)3.3?V的TTL器件時(shí),雖然二者的轉(zhuǎn)換電平不一樣,但是5?V的器件的VOH和VOL的參數(shù)要求可以滿足3.3?V器件的VIH和VIL參數(shù)要求,所以承受了5?V電壓的3.3?V器件能夠正確識(shí)別5?V器件送來(lái)的電平值,如果采用能夠承受5?V電壓的LVC器件,5?V器件的輸出是可以直接與3.3?V器件的輸入端接口的,如圖8.15(c)所示。而用3.3?V的TTL器件驅(qū)動(dòng)5?V的CMOS如圖8.15(d)所示,兩者的電平轉(zhuǎn)換標(biāo)準(zhǔn)也不相同,與上一種情況不同的是3.3?V器件輸出的高電平的最低電壓值是2.4?V,不能滿足5?V器件輸入的高電平的最低電壓值為3.5?V的要求,所以3.3?V的TTL器件輸出不能直接與5?V的CMOS的輸入連接,這時(shí)要采用雙電壓供電的驅(qū)動(dòng)器,一邊提供3.3?V電壓,一邊提供5?V供電。后面的章節(jié)中將對(duì)這種情況通過(guò)實(shí)例做出詳細(xì)說(shuō)明。圖8.153.3?V器件與5V器件的四種接口情形8.5程序引導(dǎo)功能的實(shí)現(xiàn)由于DSP芯片的運(yùn)算速度很高,所以也就要求其程序存儲(chǔ)器具有很高的訪問(wèn)速度以滿足其取址的速度要求。一般來(lái)說(shuō),常用于程序存儲(chǔ)的EPROM和FLASH等存儲(chǔ)器的訪問(wèn)速度比RAM器件要慢,這是無(wú)法滿足要求的。因此TI公司的DSP芯片上設(shè)計(jì)有引導(dǎo)功能,在系統(tǒng)開始上電工作或復(fù)位時(shí),將程序裝入具有很高訪問(wèn)速度的片內(nèi)高速RAM運(yùn)行。
TMS320VC33具有片上引導(dǎo)功能,可以通過(guò)處理器、存儲(chǔ)器(EPROM和FLASH)以及串口將可執(zhí)行的程序裝載到系統(tǒng)指定的高速RAM區(qū),然后運(yùn)行程序。這個(gè)程序引導(dǎo)功能是通過(guò)TMS320VC33內(nèi)部固化的引導(dǎo)程序(BootLoader)來(lái)實(shí)現(xiàn)的。這種方式也稱為脫機(jī)運(yùn)行方式。除自身代碼外,BootLoader程序還需要可執(zhí)行程序在程序各段前加入少量標(biāo)識(shí)字以提供其運(yùn)行所必需的信息。TI公司提供了一個(gè)HEX格式轉(zhuǎn)換工具,將?.out格式的可執(zhí)行文件轉(zhuǎn)換為具有特定的格式的可寫入EPROM或FLASH等存儲(chǔ)器芯片的十六進(jìn)制格式,并在文件中加入BootLoader所需的信息字節(jié)。8.5.1引導(dǎo)方式選擇若TMS320VC33執(zhí)行程序引導(dǎo)功能,必須保證MCBL/引腳為高電平,此時(shí)片內(nèi)固化的引導(dǎo)程序?qū)⑵鹱饔谩T谝龑?dǎo)前,首先要選擇引導(dǎo)方式,其引導(dǎo)方式分為存儲(chǔ)器引導(dǎo)和串行口引導(dǎo)兩種。當(dāng)MCBL/引腳為高電平時(shí),片內(nèi)的引導(dǎo)程序被映射到0h~FFFh的內(nèi)存空間內(nèi),DSP上電復(fù)位后,通過(guò)查詢~引腳的電平來(lái)確定引導(dǎo)方式,表8.5給出了可供選擇的方式,選擇的準(zhǔn)則是~引腳的電平。圖8.16給出了引導(dǎo)方式選擇流程圖,該流程也就是固化在TMS320VC33內(nèi)部的程序所實(shí)現(xiàn)的部分功能。表8.5引導(dǎo)方式選擇圖8.16引導(dǎo)方式選擇流程由表8.5可知,如果上電后外部中斷引腳為低電平,則通過(guò)串行口來(lái)進(jìn)行引導(dǎo),所采用的字長(zhǎng)只能是32位,串行口的工作方式只能是固定速率的爆發(fā)方式。圖8.17給出了串行口引導(dǎo)的流程,傳送的數(shù)據(jù)是從最高有效位(MSB)開始,到最低有效位(LSB)結(jié)束。圖8.17串行口引導(dǎo)流程8.5.2引導(dǎo)程序的工作流程下面給出了BootLoader引導(dǎo)程序的工作流程。
(1)在復(fù)位時(shí)將MCBL/引腳置高位以及通過(guò)將~中相應(yīng)的引腳接低電平來(lái)選擇引導(dǎo)方式。在這個(gè)引導(dǎo)過(guò)程中,MCBL/引腳必須保持高電平,但是當(dāng)引導(dǎo)結(jié)束后可以隨意改變其電平。當(dāng)引導(dǎo)過(guò)程結(jié)束后可以直接改變~引腳信號(hào)而不需復(fù)位。
(2)中斷標(biāo)志寄存器(IF)的~為給出引導(dǎo)方式,如圖8.16所示。
(3)如果只有IF寄存器的位置位,則BootLoader將串口配置為具有外部串口時(shí)鐘和幀同步信號(hào)的32位固定爆發(fā)讀方式,然后通過(guò)串口引導(dǎo)源程序。串口傳輸?shù)臄?shù)據(jù)順序?yàn)橄雀呶缓蟮臀弧?/p>
(4)反之,引導(dǎo)程序?qū)L試存儲(chǔ)器引導(dǎo)方式。存儲(chǔ)器引導(dǎo)方式的程序的首地址與相應(yīng)的中斷對(duì)應(yīng),如表8.6所示。存儲(chǔ)器引導(dǎo)的源程序包含一個(gè)用于指示引導(dǎo)存儲(chǔ)器寬度和存儲(chǔ)器配置控制字的文件頭,該配置字復(fù)制寫入控制寄存器以配置外部主總線接口。
(5)讀完文件頭后,引導(dǎo)程序開始復(fù)制源程序塊。源程序塊的前面有兩部分:第一部分給出了該塊的大小,若大小為零,則表示已經(jīng)到源程序的末尾;第二部分給出了該塊要重復(fù)到的存儲(chǔ)區(qū)的地址。除非地址譯碼邏輯被重映射,否則引導(dǎo)程序無(wú)法將源程序載入地址1000h以下的任何存儲(chǔ)區(qū)。
(6)引導(dǎo)程序跳轉(zhuǎn)到第一個(gè)源程序塊的目的地址并開始執(zhí)行程序。8.5.3引導(dǎo)數(shù)據(jù)結(jié)構(gòu)采用存儲(chǔ)器引導(dǎo)方式時(shí),文件頭必須包括下列信息:
(1)外部存儲(chǔ)器的寬度(8/16/32位);
(2)程序代碼塊的長(zhǎng)度;
(3)裝入的目的起始地址;
(4)存儲(chǔ)器訪問(wèn)的定時(shí)控制(如等待狀態(tài)數(shù))。存儲(chǔ)器引導(dǎo)方式時(shí)的文件頭安排如表8.6所示。表8.6文件頭內(nèi)容安排表8.7給出了一個(gè)引導(dǎo)程序頭的例子。假設(shè)復(fù)位后檢測(cè)到有效(外部存儲(chǔ)器引導(dǎo)方式為boot2,存儲(chǔ)器起始地址為400000h);EPROM程序存儲(chǔ)器需要插入7個(gè)等待狀態(tài),SWW=11,裝入目的地址為片內(nèi)RAM2的起始地址為800000h;程序代碼長(zhǎng)度為400h。表8.78位boot存儲(chǔ)器的引導(dǎo)程序頭8.5.4中斷的考慮與微處理器(MP)方式不同,當(dāng)TMS320VC33工作于微計(jì)算機(jī)引導(dǎo)(MCBL)模式時(shí),采用雙向量方案來(lái)響應(yīng)中斷請(qǐng)求。雙向量方案的目的是為了保證與芯片后續(xù)版本的兼容性。在這種方案中,需要在相應(yīng)的中斷和陷阱向量地址存放一條跳轉(zhuǎn)指令,而不是直接存放中斷服務(wù)程序的地址。正常的中斷陷阱向量地址定義在片內(nèi)RAM1的最后63個(gè)地址中,起始地址為809FC1h。激活引導(dǎo)程序以后,則需要在TMS320VC33片內(nèi)RAM1的最后63個(gè)地址存放跳轉(zhuǎn)至相應(yīng)中斷服務(wù)程序的跳轉(zhuǎn)指令。如INT0中斷向量的地址及其內(nèi)容如下:
0X809FC1BRINT0_SUB_ADDRESS其中的INT0_SUB_ADDRESS為INT0中斷服務(wù)程序的首地址,其余的中斷向量地址的內(nèi)容寫法與此類似。8.5.5HEX格式的轉(zhuǎn)換
TMS320C3x/4x匯編器和鏈接器創(chuàng)建的目標(biāo)文件格式為COFF(CommonObjectFileFormat)。這種格式不僅支持模塊化編程,同時(shí)也為代碼段的管理提供了靈活的方法。但是,許多EPROM并不接受COFF目標(biāo)文件格式,因此必須將COFF目標(biāo)文件轉(zhuǎn)換為十六進(jìn)制ASCII格式才能將其寫入EPROM中。在調(diào)試和裝載程序時(shí)也需要對(duì)COFF目標(biāo)文件進(jìn)行十六進(jìn)制轉(zhuǎn)換。
COFF文件經(jīng)十六進(jìn)制轉(zhuǎn)換后,可以生成以下輸出文件格式:
(1)十六進(jìn)制格式;
(2)擴(kuò)展十六進(jìn)制Tektronix格式;
(3)奔騰十六進(jìn)制MCS-86格式;
(4)
Motorola-S格式;
(5)
TI格式。采用COFF格式生成引導(dǎo)表比較麻煩。TI公司提供了一個(gè)很有用的轉(zhuǎn)換工具HEX30,只需編寫一個(gè)命令文件,就可以使用該轉(zhuǎn)換工具自動(dòng)生成引導(dǎo)表。
1.十六進(jìn)制轉(zhuǎn)換的作用用戶編寫的匯編語(yǔ)言或C語(yǔ)言或者二者混編的源程序經(jīng)過(guò)匯編器的匯編后,生成公共目標(biāo)文件。公共目標(biāo)文件經(jīng)過(guò)鏈接器鏈接后生成可執(zhí)行的目標(biāo)文件,這種可執(zhí)行的目標(biāo)文件可以通過(guò)仿真器等調(diào)試工具下載到DSP芯片內(nèi)部的存儲(chǔ)中進(jìn)行軟件和硬件的調(diào)試。調(diào)試完成后就可脫機(jī)運(yùn)行了,這時(shí)必須把調(diào)試好的程序?qū)懙紼PROM中。但由于EPROM不接受COFF文件格式,所以必須將其轉(zhuǎn)換成十六進(jìn)制的文件。
2.HEX轉(zhuǎn)換命令及轉(zhuǎn)換流程轉(zhuǎn)換命令的格式如下:
hex30[選項(xiàng)]文件名
hex30:十六進(jìn)制轉(zhuǎn)換命令。選項(xiàng):控制十六進(jìn)制轉(zhuǎn)換過(guò)程的附加信息,這些選項(xiàng)可以直接在命令后面給出,也可以通過(guò)命令文件給出。文件名:輸入鏈接器生成的可執(zhí)行目標(biāo)文件名,如test.out;或者輸入命令文件名,如test.cmd。前一種方法必須在命令行中輸入可選項(xiàng),否則將對(duì)所有選項(xiàng)取缺省值,但這些缺省值不一定適合正在開發(fā)的應(yīng)用系統(tǒng)的具體情況。如果輸入的是命令文件名,可以不再輸入選項(xiàng),因?yàn)檫@些選項(xiàng)和.out文件已經(jīng)在該文件中給出了。如果認(rèn)為該命令文件中的選項(xiàng)需要補(bǔ)充,也可以在命令行中再給出想要補(bǔ)充的選項(xiàng)。此處的命令文件與4.6節(jié)所述的命令文件的內(nèi)容和用途是完全不同的,4.6節(jié)的命令文件用于給出鏈接信息,此處的命令文件是給出十六進(jìn)制文件轉(zhuǎn)換的信息。選項(xiàng)的使用應(yīng)注意以下幾點(diǎn):
(1)所有的選項(xiàng)都以“-”開始,且不區(qū)分大小寫;
(2)多個(gè)參數(shù)的選項(xiàng)之間至少用一個(gè)空格分開;
(3)選項(xiàng)必須嚴(yán)格拼寫,不允許縮寫;
(4)選項(xiàng)不受書寫次序的影響。但如果使用選項(xiàng)“-q”,它必須寫在其它選項(xiàng)之前。表8.8列出了十六進(jìn)制轉(zhuǎn)換命令的選項(xiàng),這些選項(xiàng)包括基本選項(xiàng)和引導(dǎo)選項(xiàng)?;具x項(xiàng)包括映象選項(xiàng)、存儲(chǔ)器選項(xiàng)、格式選項(xiàng),其中最主要的選項(xiàng)是存儲(chǔ)器選項(xiàng)。表8.8十六進(jìn)制轉(zhuǎn)換命令的選項(xiàng)十六進(jìn)制的轉(zhuǎn)換流程如圖8.18所示。由圖可見,轉(zhuǎn)換過(guò)程分為三個(gè)階段,第一階段把COFF文件中的字長(zhǎng)調(diào)整為?-datawidth指定的字長(zhǎng),-datawidth是一個(gè)可選項(xiàng),一般來(lái)說(shuō),-datawidth的長(zhǎng)度也就是DSP芯片的字長(zhǎng)。在C3x系列DSP中,只有TMS320C32允許將-datawidth設(shè)置為不同于系統(tǒng)字長(zhǎng)的其它值。十六進(jìn)制轉(zhuǎn)換的第二階段是把-datawidth指定的字長(zhǎng)分解為存儲(chǔ)系統(tǒng)的字長(zhǎng),這里所述的存儲(chǔ)系統(tǒng)的字長(zhǎng)是指存放程序的所有ROM的字長(zhǎng)之和。例如,如果存儲(chǔ)系統(tǒng)采用了兩片字長(zhǎng)為8位的ROM,則存儲(chǔ)系統(tǒng)的字長(zhǎng)為16位。如果采用了4片8位的ROM,則存儲(chǔ)系統(tǒng)的字長(zhǎng)為32位,但存儲(chǔ)系統(tǒng)的字長(zhǎng)不能超過(guò)DS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代駕公司文化活動(dòng)方案
- 以繩子特色活動(dòng)方案
- 儀征烈士跳傘活動(dòng)方案
- 任務(wù)意識(shí)活動(dòng)方案
- 企業(yè)感恩活動(dòng)方案
- 企業(yè)黨員安全活動(dòng)方案
- 企業(yè)六一捐贈(zèng)活動(dòng)方案
- 企業(yè)勞動(dòng)節(jié)趣味活動(dòng)方案
- 企業(yè)員工幫扶活動(dòng)方案
- 企業(yè)安全黨建活動(dòng)方案
- 山東省青島市市南區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末語(yǔ)文試題(解析版)
- 云南省昆明市2023-2024學(xué)年高二下學(xué)期期末質(zhì)量檢測(cè)化學(xué)試題
- 海南省三亞市(2024年)小學(xué)語(yǔ)文部編版小升初真題(知識(shí)梳理)完整試卷(含答案)
- 精神科一科一品-多形式健康教育在精神科的運(yùn)用
- 閃蒸罐計(jì)算完整版本
- 管材、管件供貨方案
- 全國(guó)傷害監(jiān)測(cè)培訓(xùn)課件
- 金屬?gòu)U料加工的廢料分類與分揀技術(shù)
- 幼兒園公開課:大班語(yǔ)言《相反國(guó)》課件(優(yōu)化版)
- 醫(yī)院污泥處置管理制度
- 護(hù)坡混凝土施工方案
評(píng)論
0/150
提交評(píng)論