?? link的cmd文件的作用是什么?.txt
字號:
TMS320C67xx:PLL可以×1和×4,因此外部主頻可以為12.5MHz-230MHz。
TMS320C64xx:PLL可以×1,×6和×12,因此外部主頻可以為30MHz-720MHz
如何選擇DSP的外部存儲器?
DSP的速度較快,為了保證DSP的運行速度,外部存儲器需要具有一定的速度,否則DSP訪問外部存儲器時需要加入等待周期。
1)對于C2000系列: C2000系列只能同異步的存儲器直接相接。 C2000系列的DSP目前的最高速度為150MHz。建議可以用的存儲器有:
CY7C199-15:32K×8,15ns,5V;
CY7C1021-12:64K×16,15ns,5V; CY7C1021V33-12:64K×16,15ns,3.3V。
2)對于C3x系列: C3x系列只能同異步的存儲器直接相接。 C3x系列的DSP的最高速度,5V的為40MHz,3.3V的為75MHz,為保證DSP無等待運行,分別需要外部存儲器的速度<25ns和<12ns。建議可以用的存儲器有:
ROM: AM29F400-70:256K×16,70ns,5V,加入一個等待;
AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入兩個等待(目前沒有更快的Flash)。
SRAM: CY7C199-15:32K×8,15ns,5V;
CY7C1021-15:64K×16,15ns,5V;
CY7C1009-15:128K×8,15ns,5V;
CY7C1049-15:512K×8,15ns,5V;
CY7C1021V33-15:64K×16,15ns,3.3V;
CY7C1009V33-15:128K×8,15ns,3.3V;
CY7C1041V33-15:256k×16,15ns,3.3V。
3)對于C54x系列: C54x系列只能同異步的存儲器直接相接。 C54x系列的DSP的速度為100MHz或160MHz,為保證DSP無等待運行,需要外部存儲器的速度<10ns或<6ns。建議可以用的存儲器有:
ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入5或9個等待(目前沒有更快的Flash)。
SRAM: CY7C1021V33-12:64K×16,12ns,3.3V,加入一個等待;
CY7C1009V33-12:128K×8,12ns,3.3V,加入一個等待。
4)對于C55x和C6000系列: TI的DSP中只有C55x和C6000可以同同步的存儲器相連,同步存儲器可以保證系統的數據交換效率更高。
ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V。
SDRAM: HY57V651620BTC-10S:64M,10ns。
SBSRAM: CY7C1329-133AC,64k×32;
CY7C1339-133AC,128k×32。
FIFO:CY7C42x5V-10ASC,32k/64k×18。
DSP芯片有多大的驅動能力?
DSP的驅動能力較強,可以不加驅動,連接8個以上標準TTL門。
調試TMS320C2000系列的常見問題?
1)單步可以運行,連續運行時總回0地址: Watchdog沒有關,連續運行復位DSP回到0地址。
2)OUT文件不能load到片內flash中: Flash不是RAM,不能用簡單的寫指令寫入,需要專門的程序寫入。CCS和C Source Debugger中的load命令,不能對flash寫入。 OUT文件只能load到片內RAM,或片外RAM中。
3)在flash中如何加入斷點: 在flash中可以用單步調試,也可以用硬件斷點的方法在flash中加入斷點,軟件斷點是不能加在ROM中的。硬件斷點,設置存儲器的地址,當訪問該地址時產生中斷。
4)中斷向量: C2000的中斷向量不可重定位,因此中斷向量必須放在0地址開始的flash內。在調試系統時,代碼放在RAM中,中斷向量也必須放在flash內。
調試TMS320C3x系列的常見問題?
1) TMS320C32的存儲器配置: TMS320C32的程序存儲器可以配置為16位或32位;數據存儲器可以配置為8位、16位或32位。
2)TMS320VC33的PLL控制: TMS320VC33的PLL控制端只能接1.8V,不能接3.3V或5V。
如何調試多片DSP?
對于有MPSD仿真口的DSP(TMS320C30/C31/C32),不能用一套仿真器同時調試,每次只能調試其中的一個DSP; 對于有JTAG仿真口的DSP,可以將JTAG串接在一起,用一套仿真器同時調試多個DSP,每個DSP可以用不同的名字,在不同的窗口中調試。 注意:如果在JTAG和DSP間加入驅動,一定要用快速的門電路,不能使用如LS的慢速門電路。
在DSP系統中為什么要使用CPLD?
DSP的速度較快,要求譯碼的速度也必須較快。利用小規模邏輯器件譯碼的方式,已不能滿足DSP系統的要求。 同時,DSP系統中也經常需要外部快速部件的配合,這些部件往往是專門的電路,有可編程器件實現。 CPLD的時序嚴格,速度較快,可編程性好,非常適合于實現譯碼和專門電路。
DSP系統構成的常用芯片有哪些?
1) 電源: TPS73HD3xx,TPS7333,TPS56100,PT64xx...
2)Flash: AM29F400,AM29LV400,SST39VF400...
3)SRAM: CY7C1021,CY7C1009,CY7C1049...
4)FIFO: CY7C425,CY7C42x5...
5)Dual port: CY7C136,CY7C133,CY7C1342...
6)SBSRAM: CY7C1329,CY7C1339...
7)SDRAM: HY57V651620BTC...
8)CPLD: CY37000系列,CY38000系列,CY39000系列...
9)PCI: PCI2040,CY7C09449...
10)USB: AN21xx,CY7C68xxx...
11)Codec:TLV320AIC23,TLV320AIC10...
12)A/D,D/A:ADS7805,TLV2543...
具體資料見www.ti.comhttp://www.cypress.com/
什么是boot loader?
DSP的速度盡快,EPROM或flash的速度較慢,而DSP片內的RAM很快,片外的RAM也較快。為了使DSP充分發揮它的能力,必須將程序代碼放在RAM中運行。為了方便的將代碼從ROM中搬到RAM中,在不帶flash的DSP中,TI在出廠時固化了一段程序,在上電后完成從ROM或外設將代碼搬到用戶指定的RAM中。此段程序稱為“boot loader”。
TMS320C3x如何boot?
在MC/MP管腳為高時,C3x進入boot狀態。C3x的boot loader在reset時,判斷外部中斷管腳的電平。根據中斷配置決定boot的方式為存儲器加載還是串口加載,其中ROM的地址可以為三個中的一個,ROM可以為8位。
Boot有問題如何解決?
1)仔細檢查boot的控制字是否正確。 2)仔細檢查外部管腳設置是否正確。 3)仔細檢查hex文件是否轉換正確。 4)用仿真器跟蹤boot過程,分析錯誤原因。
DSP為什么要初始化?
DSP在RESET后,許多的寄存器的初值一般同用戶的要求不一致,例如:等待寄存器,SP,中斷定位寄存器等,需要通過初始化程序設置為用戶要求的數值。 初始化程序的主要作用: 1)設置寄存器初值。 2)建立中斷向量表。 3)外圍部件初始化。
DSP有哪些數學庫及其它應用軟件?
TI公司為了方便客戶開發DSP,在它的網站上提供了許多程序的示例和應用程序,如MATH庫,FFT,FIR/IIR等,可以在TI的網頁免費下載。
如何獲得DSP專用算法?
TI有許多的Third Party可以通過DSP上的多種算法軟件。可以通過TI的網頁搜索你所需的算法,找到通過算法的公司,同相應的公司聯系。注意這些算法都是要付費的。
eXpressDSP是什么?
eXpressDSP是一種實時DSP軟件技術,它是一種DSP編程的標準,利用它可以加快你開發DSP軟件的速度。 以往DSP軟件的開發沒有任何標準,不同的人寫的程序一般無法連接在一起。DSP軟件的調試工具也非常不方便。使得DSP軟件的開發往往滯后于硬件的開發。 eXpressDSP集成了CCS(Code Composer Studio)開發平臺,DSP BIOS實時軟件平臺,DSP算法標準和第三方支持四部分。利用該技術,可以使你的軟件調試,軟件進程管理,軟件的互通及算法的獲得,都便的容易。這樣就可以加快你的軟件開發進程。
1)CCS是eXpressDSP的基礎,因此你必須首先擁有CCS軟件。
2)DSP BIOS是eXpressDSP的基本平臺,你必須學會所有DSP BIOS。
3)DSP算法標準可以保證你的程序可以方便的同其它利用eXpressDSP技術的程序連接在一起。同時也保證你的程序的延續性。
為什么要用DSP?
3G技術和internate的發展,要求處理器的速度越來越高,體積越來越小,DSP的發展正好能滿足這一發展的要求。因為,傳統的其它處理器都有不同的缺陷。MCU的速度較慢;CPU體積較大,功耗較高;嵌入CPU的成本較高。 DSP的發展,使得在許多速度要求較高,算法較復雜的場合,取代MCU或其它處理器,而成本有可能更低。
如何選擇DSP?
選擇DSP可以根據以下幾方面決定:
1)速度: DSP速度一般用MIPS或FLOPS表示,即百萬次/秒鐘。根據您對處理速度的要求選擇適合的器件。一般選擇處理速度不要過高,速度高的DSP,系統實現也較困難。
2)精度: DSP芯片分為定點、浮點處理器,對于運算精度要求很高的處理,可選擇浮點處理器。定點處理器也可完成浮點運算,但精度和速度會有影響。
3)尋址空間: 不同系列DSP程序、數據、I/O空間大小不一,與普通MCU不同,DSP在一個指令周期內能完成多個操作,所以DSP的指令效率很高,程序空間一般不會有問題,關鍵是數據空間是否滿足。數據空間的大小可以通過DMA的幫助,借助程序空間擴大。
4)成本: 一般定點DSP的成本會比浮點DSP的要低,速度也較快。要獲得低成本的DSP系統,盡量用定點算法,用定點DSP。
5)實現方便: 浮點DSP的結構實現DSP系統較容易,不用考慮尋址空間的問題,指令對C語言支持的效率也較高。
6)內部部件:根據應用要求,選擇具有特殊部件的DSP。如:C2000適合于電機控制;OMAP適合于多媒體等。
要了解DSP芯片的性能,本網中的"DSP及相關器件"中有介紹。
DSP同MCU相比的特點?
1) DSP的速度比MCU快,主頻較高。
2)DSP適合于數據處理,數據處理的指令效率較高。
3)DSP均為16位以上的處理器,不適合于低檔的場合。
4)DSP可以同時處理的事件較多,系統級成本有可能較低。
5)DSP的靈活性較好,大多數算法都可以軟件實現。
6)DSP的集成度較高,可靠性較好。
DSP同嵌入CPU相比的特點?
1) DSP是單片機,構成系統簡單。 2)DSP的速度快。 3)DSP的成本較低。 4)DSP的性能高,可以處理較多的任務。
如何編寫C2000片內Flash?
DSP中的Flash的編寫方法有三中:
1.通過仿真器編寫:在我們的網頁上有相關的軟件,在銷售仿真器時我們也提供相關軟件。其中LF240x的編寫可以在CCS中加入一個插件,F24x的編寫需要在windows98下的DOS窗中進行。具體步驟見軟件中的readme。有幾點需要注意: a.必須為MC方式; b.F206的工作頻率必須為20MHz; c.F240需要根據PLL修改C240_CFG.I文件。建議外部時鐘為20MHz。 d.LF240x也需要根據PLL修改文件。 d.如果編寫有問題,可以用BFLWx.BAT修復。
2.提供串口編寫:TI的網頁上有相關軟件。注意只能編寫一次,因為編寫程序會破壞串口通信程序。
3.在你的程序中編寫:TI的網頁上有相關資料。
如何編寫DSP外部的Flash?
DSP的外部Flash編寫方法:
1.通過編程器編寫:將OUT文件通過HEX轉換程序轉換為編程器可以接受的格式,再由編程器編寫。
2.通過DSP軟件編寫:您需要根據Flash的說明,編寫Flash的編寫程序,將應用程序和編寫Flash的程序分別load到RAM中,運行編寫程序編寫。
對于C5000,大于48K的程序如何BOOT?
對于C5000,片內的BOOT程序在上電后將數據區的內容,搬移到程序區的RAM中,因此FLASH必須在RESET后放在數據區。由于C5000,數據區的空間有限,一次BOOT的程序不能對于48K。解決的方法如下:
1.在RESET后,將FLASH譯碼在數據區,RAM放在程序區,片內BOOT程序將程序BOOT到RAM中。
2.用戶初試化程序發出一個I/O命令(如XF),將FLASH譯碼到程序區的高地址。開放數據區用于其它的RAM。
3.用戶初試化程序中包括第二次BOOT程序(此程序必須用戶自己編寫),將FLASH中沒有BOOT的其它代碼搬移到RAM中。
4.開始運行用戶處理程序。
DSP外接存儲器的控制方式
對于一般的存儲器具有RD、WR和CS等控制信號,許多DSP(C3x、C5000)都沒有控制信號直接連接存儲器,一般采用的方式如下:
1.CS有地址線和PS、DS或STRB譯碼產生;
2./RD=/STRB+/R/W; 3./WR=/STRB+R/W。
GEL文件的功能?
GEL文件的功能同emuinit.cmd的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增強,GEL在CCS下有一個菜單,可以根據DSP的對象不同,設置不同的初始化程序。以TMS320LF2407為例:
#define SCSR1 0x7018 ;定義scsr1寄存器
#define SCSR2 0X7019 ;定義scsr2寄存器
#define WDKEY 0x7025 ;定義wdkey寄存器
#define WDNTR 0x7029 ;定義wdntr寄存器
StartUp() ; 開始函數
{
GEL_MapReset(); ; 存儲空間復位 GEL_MapAdd(0x0000,0,0x7fff,1,1); 定義程序空間從0000-7fff 可讀寫
GEL_MapAdd(0x8000,0,0x7000,1,1); 定義程序空間從8000-f000 可讀寫
GEL_MapAdd(0x0000,1,0x10000,1,1); 定義數據空間從0000-10000可讀寫
GEL_MapAdd(0xffff,2,1,1,1); 定義i/o 空間0xffff可讀寫
GEL_MapOn(); 存儲空間打開
GEL_MemoryFill(0xffff,2,1,0x40); 在i/o空間添入數值40h
*(int *)SCSR1=0x0200; 給scsr1寄存器賦值
*(int *)SCSR2=0x000C; 給scsr2寄存器賦值,在這里可以進行mp/mc方式的轉換
*(int *)WDNTR=0x006f; 給wdntr寄存器賦值
*(int *)WDKEY=0x055; 給wdkey寄存器賦值
*(int *)WDKEY=0x0AA; 給wdkey寄存器賦值
}
使用TI公司模擬器件與DSP結合使用的好處。
1) 在使用TI公司的DSP的同時,使用TI公司的模擬可以和DSP進行無縫連接。器件與器件之間不需要任何的連接或轉接器件。這樣即減少了板卡的尺寸,也降低了開發難度。
2)同為TI公司的產品,很多器件可以固定搭配使用。少了器件選型的煩惱
3)TI在CCS中提供插件,可以用于DSP和模擬器件的開發,非常方便。
C語言中可以嵌套匯編語言?
可以。在ANSI C標準中的標準用法就是用C語言編寫主程序,用匯編語言編寫子程序,中斷服務程序,一些算法,然后用C語言調用這些匯編程序,這樣效率會相對比較高
在定點DSP系統中可否實現浮點運算
當然可以,因為DSP都可以用C,只要是可以使用c語言的場合都可以實現浮點運算。
JTAG頭的使用會遇到哪些情況
1) DSP的CLKOUT沒有輸出,工作不正常。
2)Emu0,Emu1需要上拉。
3)TCK的頻率應該為10M。
4)在3.3V DSP中,PD腳為3.3V 供電,但是仿真器上需要5V電壓供電,所以PP仿真器盒上需要單獨供電。
4)仿真多片DSP。在使用菊花鏈的時候,第一片DSP的TDO接到第二片DSP的TDI即可。注意當串聯DSP比較多的時候,信號線要適當的增加驅動。
include頭文件(.h)的主要作用
頭文件,一般用于定義程序中的函數、參數、變量和一些宏單元,同庫函數配合使用。因此,在使用庫時,必須用相應的頭文件說明。
DSP中斷向量的位置
1) 2000系列dsp的中斷向量只能從0000H處開始。所以在我們調試程序的時候,要把DSP選擇為MP(微處理器方式),把片內的Flash屏蔽掉,免去每次更改程序都要重新燒寫Flash工作。
2)3x系列dsp的中斷向量也只能在固定的地址。
3)5000,6000系列dsp的中斷向量可以重新定位。但是它只能被重新定位到Page0范圍內的任何空間。
有源晶振與晶體的區別,應用范圍及用法
1) 晶體需要用DSP片內的振蕩器,在datasheet上有建議的連接方法。晶體沒有電壓的問題,可以適應于任何DSP,建議用晶體。 2)有源晶振不需要DSP的內部振蕩器,信號比較穩定。有源晶振用法:一腳懸空,二腳接地,三腳接輸出,四腳接電壓。
程序經常跑飛的原因
1) 程序沒有結尾或不是循環的程序。
2)nmi管腳沒有上拉。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -