日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

DSP開發(fā)入門問答精華

出處:zhaozhh1 發(fā)布于:2008-08-25 15:32:34

  如何選擇外部時(shí)鐘?

    DSP的內(nèi)部指令周期較高,外部晶振的主頻不夠,因此DSP大多數(shù)片內(nèi)均有PLL。但每個(gè)系列不盡相同。

    1)TMS320C2000系列:

    TMS320C20x:PLL可以÷2,×1,×2和×4,因此外部時(shí)鐘可以為5MHz-40MHz。

    TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和×9,因此外部時(shí)鐘可以為2.22MHz-40MHz。

    TMS320F241/C242/F243:PLL可以×4,因此外部時(shí)鐘為5MHz。 TMS320LF24xx:PLL可以由RC調(diào)節(jié),因此外部時(shí)鐘為4MHz-20MHz。

    TMS320LF24xxA:PLL可以由RC調(diào)節(jié),因此外部時(shí)鐘為4MHz-20MHz。

    2)TMS320C3x系列:

    TMS320C3x:沒有PLL,因此外部主頻為工作頻率的2倍。

    TMS320VC33:PLL可以÷2,×1,×5,因此外部主頻可以為12MHz-100MHz。

    3)TMS320C5000系列:

    TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為0.625MHz-50MHz。

    TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為6.25MHz-300MHz。

    4)TMS320C6000系列:

    TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主頻可以為11.8MHz-300MHz。

    TMS320C67xx:PLL可以×1和×4,因此外部主頻可以為12.5MHz-230MHz。

    TMS320C64xx:PLL可以×1,×6和×12,因此外部主頻可以為30MHz-720MHz  

    軟件等待的如何使用? 

    DSP的指令周期較快,訪問慢速存儲器或外設(shè)時(shí)需加入等待。等待分硬件等待和軟件等待,每一個(gè)系列的等待不完全相同。

    1)對于C2000系列: 硬件等待信號為READY,高電平時(shí)不等待。 軟件等待由WSGR寄存器決定,可以加入多7個(gè)等待。其中程序存儲器和數(shù)據(jù)存儲器及I/O可以分別設(shè)置。

    2)對于C3x系列: 硬件等待信號為/RDY,低電平是不等待。 軟件等待由總線控制寄存器中的SWW和WTCNY決定,可以加入多7個(gè)等待,但等待是不分段的,除了片內(nèi)之外全空間有效。

    3)對于C5000系列: 硬件等待信號為READY,高電平時(shí)不等待。 軟件等待由SWWCR和SWWSR寄存器決定,可以加入多14個(gè)等待。其中程序存儲器、控制程序存儲器和數(shù)據(jù)存儲器及I/O可以分別設(shè)置。

    4)對于C6000系列(只限于非同步存儲器或外設(shè)): 硬件等待信號為ARDY,高電平時(shí)不等待。 軟件等待由外部存儲器接口控制寄存器決定,總線訪問外部存儲器或設(shè)備的時(shí)序可以設(shè)置,可以方便的同異步的存儲器或外設(shè)接口。

    仿真工作正常對于DSP的基本要求

    1)DSP電源和地連接正確。 2)DSP時(shí)鐘正確。 3)DSP的主要控制信號,如RS和HOLD信號接高電平。 4)C2000的watchdog關(guān)掉。 5)不可屏蔽中斷NMI上拉高電平。

    CCS或Emurst運(yùn)行時(shí)提示“Can't Initialize Target DSP”

    1)仿真器連接是否正常? 2)仿真器的I/O設(shè)置是否正確? 3)XDSPP仿真器的電源是否正確? 4)目標(biāo)系統(tǒng)是否正確? 5)仿真器是否正常?6)DSP工作的基本條件是否具備。

    建議使用目標(biāo)板測試。

    為什么CCS需要安裝Driver?

    CCS是開放的軟件平臺,它可以支持不同的硬件接口,因此不同的硬件接口必須通過標(biāo)準(zhǔn)的Driver同CCS連接。

    Driver安裝的常見問題?

    請認(rèn)真閱讀“安裝手冊”和Driver盤中的Readme。 1)對于SEED-XDS,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340。 2)對于SEED-XDSPP,安裝Readme中的步驟,將I/O口設(shè)為378或278。3)對于SEED-XDSUSB,必須連接目標(biāo)板,安裝Readme中的步驟,將I/O口設(shè)為A,USB連接后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 4)對于SEED-XDSPCI,安裝Readme中的步驟,將I/O口設(shè)為240,PCI接口板插入主機(jī)后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 5)對于Simulator,需要選擇不同的CFG文件,以模擬不同的DSP。 6)對于C5402 DSK,將I/O口設(shè)為請認(rèn)真閱讀“安裝手冊”和Driver盤中的Readme。 1)對于SEED-XDS,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340。 2)對于SEED-XDSPP,安裝Readme中的步驟,將I/O口設(shè)為378或278。注意主機(jī)BIOS中并口的型式必須同xds510pp.ini中一致。 3)對于SEED-XDSUSB,必須連接目標(biāo)板,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340,USB連接后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 4)對于SEED-XDSPCI,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340,PCI接口板插入主機(jī)后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 5)對于Simulator,需要選擇不同的CFG文件,以模擬不同的DSP。 6)對于C5402 DSK,將I/O口設(shè)為378或278。 7)對于C6211/6711 DSK,將I/O口設(shè)為378或278。 8)對于C6201/C6701 EVM,將I/O口設(shè)為0。

    Link的cmd文件的作用是什么?

    Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結(jié)果是未定位的,DSP沒有操作系統(tǒng)來定位執(zhí)行代碼,每個(gè)客戶設(shè)計(jì)的DSP系統(tǒng)的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以C5000為例,基本格式為:

    -o sample.out

    -m sample.map

    -stack 100

    sample.obj meminit.obj

    -l rts.lib

    MEMORY-p.htm" target="_blank" title="MEMORY貨源和PDF資料">MEMORY {

    PAGE 0: VECT: origin = 0xff80, length 0x80

    PAGE 0: PROG: origin = 0x2000, length 0x400

    PAGE 1: DATA: origin = 0x800, length 0x400

    }

    SECTIONS {

    .vectors : {} >PROG PAGE 0

    .text : {} >PROG PAGE 0

    .data : {} >PROG PAGE 0

    .cinit : {} >PROG PAGE 0

    .bss : {} >DATA PAGE 1

    }

    如何將OUT文件轉(zhuǎn)換為16進(jìn)制的文件格式?

    DSP的開發(fā)軟件集成了一個(gè)程序,可以從執(zhí)行文件OUT轉(zhuǎn)換到編程器可以接受的格式,使得編程器可以用次文件燒寫EPROM或Flash。對于C2000的程序?yàn)镈SPHEX;對于C3x程序?yàn)镠EX30;對于C54x程序?yàn)镠EX500;對于C55x程序?yàn)镠EX55;對于C6x程序?yàn)镠ex6x。以C32為例,基本格式為:

    sample.out

    -x

    -memwidth 8

    -bootorg 900000h

    -iostrb 0h

    -strb0 03f0000h

    -strb1 01f0000h

    -o sample.hex

    ROMS {

    EPROM: org = 0x900000,len=0x02000,romwidth=8

    }

    SECTIONS {

    .text: paddr=boot

    .data: paddr=boot

    }

  DSP仿真器為什么必須連接目標(biāo)系統(tǒng)(Target)?

    DSP的仿真器同單片機(jī)的不同,仿真器中沒有DSP,提供IEEE標(biāo)準(zhǔn)的JTAG口對DSP進(jìn)行仿真調(diào)試,所以仿真器必須有仿真對象,及目標(biāo)系統(tǒng)。目標(biāo)系統(tǒng)就是你的產(chǎn)品,上面必須有DSP。仿真器提供JTAG同目標(biāo)系統(tǒng)的DSP相接,通過DSP實(shí)現(xiàn)對整個(gè)目標(biāo)系統(tǒng)的調(diào)試。

    仿真工作正常對于DSP的基本要求

    1) DSP電源和地連接正確。 2)DSP時(shí)鐘正確。 3)DSP的主要控制信號,如RS和HOLD信號接高電平。 4)C2000的watchdog關(guān)掉。 5)不可屏蔽中斷NMI上拉高電平。

    
    CCS或Emurst運(yùn)行時(shí)提示“Can't Initialize Target DSP”

    1) 仿真器連接是否正常? 2)仿真器的I/O設(shè)置是否正確? 3)XDSPP仿真器的電源是否正確? 4)目標(biāo)系統(tǒng)是否正確? 5)仿真器是否正常?6)DSP工作的基本條件是否具備。

    建議使用目標(biāo)板測試。

    為什么CCS需要安裝Driver?

    CCS是開放的軟件平臺,它可以支持不同的硬件接口,因此不同的硬件接口必須通過標(biāo)準(zhǔn)的Driver同CCS連接。

    Link的cmd文件的作用是什么?

    Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結(jié)果是未定位的,DSP沒有操作系統(tǒng)來定位執(zhí)行代碼,每個(gè)客戶設(shè)計(jì)的DSP系統(tǒng)的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以C5000為例,基本格式為:

    -o sample.out

    -m sample.map

    -stack 100

    sample.obj meminit.obj

    -l rts.lib

    MEMORY-p.htm" target="_blank" title="MEMORY貨源和PDF資料">MEMORY {

     PAGE 0: VECT: origin = 0xff80, length 0x80

     PAGE 0: PROG: origin = 0x2000, length 0x400

     PAGE 1: DATA: origin = 0x800, length 0x400

    }

    SECTIONS {

     .vectors : {} >PROG PAGE 0

     .text : {} >PROG PAGE 0

     .data : {} >PROG PAGE 0

     .cinit : {} >PROG PAGE 0

     .bss : {} >DATA PAGE 1

    }  

    如何將OUT文件轉(zhuǎn)換為16進(jìn)制的文件格式?

    DSP的開發(fā)軟件集成了一個(gè)程序,可以從執(zhí)行文件OUT轉(zhuǎn)換到編程器可以接受的格式,使得編程器可以用次文件燒寫EPROM或Flash。對于C2000的程序?yàn)镈SPHEX;對于C3x程序?yàn)镠EX30;對于C54x程序?yàn)镠EX500;對于C55x程序?yàn)镠EX55;對于C6x程序?yàn)镠ex6x。以C32為例,基本格式為:

    sample.out

    -x

    -memwidth 8

    -bootorg 900000h

    -iostrb 0h

    -strb0 03f0000h

    -strb1 01f0000h

    -o sample.hex

    ROMS {

     EPROM: org = 0x900000,len=0x02000,romwidth=8

    }

    SECTIONS {

     .text: paddr=boot

     .data: paddr=boot

    } 
  

    DSP的C語言同主機(jī)C語言的主要區(qū)別?

    1)DSP的C語言是標(biāo)準(zhǔn)的ANSI C,它不包括同外設(shè)聯(lián)系的擴(kuò)展部分,如屏幕繪圖等。但在CCS中,為了方便調(diào)試,可以將數(shù)據(jù)通過prinf命令虛擬輸出到主機(jī)的屏幕上。 2)DSP的C語言的編譯過程為,C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對應(yīng)關(guān)系非常明確,非常便于人工優(yōu)化。 3)DSP的代碼需要定位;主機(jī)的C的代碼有操作系統(tǒng)定位。 4)DSP的C的效率較高,非常適合于嵌入系統(tǒng)。     

    為什么在CCS下編譯工具工作不正常?

    在CCS下有部分客戶會碰到編譯工具工作不正常,常見錯(cuò)誤為: 1)autoexec.bat的路徑“out of memory”。修改autoexec.bat,清除無用的PATH路徑。 2)編譯的輸出文件(OUT文件)寫保護(hù),無法覆蓋。刪除或修改輸出文件的屬性。 3)Windows有問題。重新安裝windows。 4)Windows下有程序?qū)CS有影響。建議用一“干凈”的計(jì)算機(jī)。     

    在CCS下,如何選擇有效的存儲器空間?

    CCS下的存儲器空間設(shè)置同你的硬件,沒有的存儲器不要有效。這樣便于調(diào)試,CCS會發(fā)現(xiàn)你調(diào)入程序時(shí)或程序運(yùn)行時(shí),是否訪問了無效地址。 1)在GEL文件中設(shè)置。參見CCS中的示例。 2)在Option菜單下,選擇Memory Map選項(xiàng),根據(jù)你的硬件設(shè)置。注意一定要將Enable Memory Mapping置為使能。    

    在CCS下,OUT文件加載時(shí)提示“Data verification failed...”的原因?

    Link的CMD文件分配的地址同GEL或設(shè)置的有效地址空間不符。中斷向量定位處或其它代碼、數(shù)據(jù)段定位處,沒有RAM,無法加載OUT文件。解決方法: 1)調(diào)整Link的CMD文件,使得定位段處有RAM。 2)調(diào)整存儲器設(shè)置,使得RAM區(qū)有效。

    為什么要使用BIOS?

    1)BIOS是Basic I/O System的簡稱,是基本的輸入、輸出管理。 2)用于管理任務(wù)的調(diào)度,程序?qū)崟r(shí)分析,中斷管理,跟蹤管理和實(shí)時(shí)數(shù)據(jù)交換。 3)BIOS是基本的實(shí)時(shí)系統(tǒng),使用BIOS可以方便地實(shí)現(xiàn)多任務(wù)、多進(jìn)程的時(shí)間管理。 4)BIOS是eXpress DSP的標(biāo)準(zhǔn)平臺,要使用eXpress DSP技術(shù),必須使用BIOS。     

    DSP發(fā)展動(dòng)態(tài)

    1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建議使用LF24xx系列替代C24x系列,LF24xx系列的價(jià)格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。 C28x系列主要用于大存儲設(shè)備管理,高性能的控制場合。

    2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推薦使用VC33。C3x系列是TI浮點(diǎn)DSP的基礎(chǔ),不可能停產(chǎn),但價(jià)格不會進(jìn)一步下調(diào)。

    3.TMS320C5x TMS320C5x系列已不推薦使用,建議使用C24x或C5000系列替代。

    4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。 其中VC54xx還不斷有新的器件出現(xiàn),如:TMS320VC5471(DSP+ARM7)。 C55x系列是TI的第三代DSP,功耗為VC54xx的1/6,性能為VC54xx的5倍,是一個(gè)正在發(fā)展的系列。 C5000系列是目前TI DSP的主流DSP,它涵蓋了從低檔到中的應(yīng)用領(lǐng)域,目前也是用戶多的系列。

    5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的DSP系列。 其中C62xx系列是定點(diǎn)的DSP,系列芯片種類較豐富,是主要的應(yīng)用系列。 C67xx系列是浮點(diǎn)的DSP,用于需要高速浮點(diǎn)處理的領(lǐng)域。 C64xx系列是新發(fā)展,性能是C62xx的10倍。

    6.OMAP系列 是TI專門用于多媒體領(lǐng)域的芯片,它是C55+ARM9,性能卓越,非常適合于手持設(shè)備、Internet終端等多媒體應(yīng)用。   

    5V/3.3V如何混接?

    TI DSP的發(fā)展同集成電路的發(fā)展一樣,新的DSP都是3.3V的,但目前還有許多外圍電路是5V的,因此在DSP系統(tǒng)中,經(jīng)常有5V和3.3V的DSP混接問題。在這些系統(tǒng)中,應(yīng)注意: 1)DSP輸出給5V的電路(如D/A),無需加任何緩沖電路,可以直接連接。 2)DSP輸入5V的信號(如A/D),由于輸入信號的電壓>4V,超過了DSP的電源電壓,DSP的外部信號沒有保護(hù)電路,需要加緩沖,如74LVC245等,將5V信號變換成3.3V的信號。 3)仿真器的JTAG口的信號也必須為3.3V,否則有可能損壞DSP。     

    為什么要片內(nèi)RAM大的DSP效率高?

    目前DSP發(fā)展的片內(nèi)存儲器RAM越來越大,要設(shè)計(jì)高效的DSP系統(tǒng),就應(yīng)該選擇片內(nèi)RAM較大的DSP。片內(nèi)RAM同片外存儲器相比,有以下優(yōu)點(diǎn): 1)片內(nèi)RAM的速度較快,可以保證DSP無等待運(yùn)行。 2)對于C2000/C3x/C5000系列,部分片內(nèi)存儲器可以在一個(gè)指令周期內(nèi)訪問兩次,使得指令可以更加高效。 3)片內(nèi)RAM運(yùn)行穩(wěn)定,不受外部的干擾影響,也不會干擾外部。 4)DSP片內(nèi)多總線,在訪問片內(nèi)RAM時(shí),不會影響其它總線的訪問,效率較高。     

    為什么DSP從5V發(fā)展成3.3V?

    超大規(guī)模集成電路的發(fā)展從1um,發(fā)展到目前的0.1um,芯片的電源電壓也隨之降低,功耗也隨之降低。DSP也同樣從5V發(fā)展到目前的3.3V,電壓發(fā)展到1V。目前主流的DSP的外圍均已發(fā)展為3.3V,5V的DSP的價(jià)格和功耗都價(jià)格,以逐漸被3.3V的DSP取代。    

    如何選擇DSP的電源芯片?

    TMS320LF24xx:TPS7333QD,5V變3.3V,500mA。

    TMS320VC33: TPS73HD318PWP,5V變3.3V和1.8V,750mA。

    TMS320VC54xx:TPS73HD318PWP,5V變3.3V和1.8V,750mA; TPS73HD301PWP,5V變3.3V和可調(diào),750mA。

    TMS320VC55xx:TPS73HD301PWP,5V變3.3V和可調(diào),750mA。

    TMS320C6000: PT6931,TPS56000,3A。

    軟件等待的如何使用?

    DSP的指令周期較快,訪問慢速存儲器或外設(shè)時(shí)需加入等待。等待分硬件等待和軟件等待,每一個(gè)系列的等待不完全相同。

    1)對于C2000系列: 硬件等待信號為READY,高電平時(shí)不等待。 軟件等待由WSGR寄存器決定,可以加入多7個(gè)等待。其中程序存儲器和數(shù)據(jù)存儲器及I/O可以分別設(shè)置。

    2)對于C3x系列: 硬件等待信號為/RDY,低電平是不等待。 軟件等待由總線控制寄存器中的SWW和WTCNY決定,可以加入多7個(gè)等待,但等待是不分段的,除了片內(nèi)之外全空間有效。

    3)對于C5000系列: 硬件等待信號為READY,高電平時(shí)不等待。 軟件等待由SWWCR和SWWSR寄存器決定,可以加入多14個(gè)等待。其中程序存儲器、控制程序存儲器和數(shù)據(jù)存儲器及I/O可以分別設(shè)置。

    4)對于C6000系列(只限于非同步存儲器或外設(shè)): 硬件等待信號為ARDY,高電平時(shí)不等待。 軟件等待由外部存儲器接口控制寄存器決定,總線訪問外部存儲器或設(shè)備的時(shí)序可以設(shè)置,可以方便的同異步的存儲器或外設(shè)接口。    

    中斷向量為什么要重定位?

    為了方便DSP存儲器的配置,一般DSP的中斷向量可以重新定位,即可以通過設(shè)置寄存器放在存儲器空間的任何地方。 注意:C2000的中斷向量不能重定位。    

    DSP的主頻能從芯片型號中獲得嗎?

    TI的DSP主頻可以從芯片的型號中獲得,但每一個(gè)系列不一定相同。

    1)TMS320C2000系列:

    TMS320F206-主頻20MHz。

    TMS320C203/C206-主頻40MHz。

    TMS320F24x-主頻20MHz。

    TMS320LF24xx-主頻30MHz。

    TMS320LF24xxA-主頻40MHz。

    TMS320LF28xx-主頻150MHz。

    2)TMS320C3x系列:

    TMS320C30:主頻25MHz。

    TMS320C31PQL80:主頻40MHz。

    TMS320C32PCM60:主頻30MHz。

    TMS320VC33PGE150:主頻75MHz。

    3)TMS320C5000系列:

    TMS320VC54xx:主頻160MHz。

    TMS320VC55xx:主頻300MHz。

    4)TMS320C6000系列:

    TMS320C62xx:主頻300MHz。

    TMS320C67xx:主頻230MHz。

    TMS320C64xx:主頻720MHz。    

    DSP可以降頻使用嗎?

    可以,DSP的主頻均有一定的工作范圍,因此DSP均可以降頻使用。    

    如何選擇外部時(shí)鐘?

    DSP的內(nèi)部指令周期較高,外部晶振的主頻不夠,因此DSP大多數(shù)片內(nèi)均有PLL。但每個(gè)系列不盡相同。

    1)TMS320C2000系列:

    TMS320C20x:PLL可以÷2,×1,×2和×4,因此外部時(shí)鐘可以為5MHz-40MHz。

    TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和×9,因此外部時(shí)鐘可以為2.22MHz-40MHz。

    TMS320F241/C242/F243:PLL可以×4,因此外部時(shí)鐘為5MHz。 TMS320LF24xx:PLL可以由RC調(diào)節(jié),因此外部時(shí)鐘為4MHz-20MHz。

    TMS320LF24xxA:PLL可以由RC調(diào)節(jié),因此外部時(shí)鐘為4MHz-20MHz。

    2)TMS320C3x系列:

    TMS320C3x:沒有PLL,因此外部主頻為工作頻率的2倍。

    TMS320VC33:PLL可以÷2,×1,×5,因此外部主頻可以為12MHz-100MHz。

    3)TMS320C5000系列:

    TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為0.625MHz-50MHz。

    TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為6.25MHz-300MHz。

    4)TMS320C6000系列:

    TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主頻可以為11.8MHz-300MHz。

    TMS320C67xx:PLL可以×1和×4,因此外部主頻可以為12.5MHz-230MHz。

    TMS320C64xx:PLL可以×1,×6和×12,因此外部主頻可以為30MHz-720MH  

    如何選擇DSP的外部存儲器?

    DSP的速度較快,為了保證DSP的運(yùn)行速度,外部存儲器需要具有一定的速度,否則DSP訪問外部存儲器時(shí)需要加入等待周期。

    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無等待運(yùn)行,分別需要外部存儲器的速度<25ns和<12ns。建議可以用的存儲器有:

    ROM: AM29F400-70:256K×16,70ns,5V,加入一個(gè)等待;

    AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入兩個(gè)等待(目前沒有更快的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無等待運(yùn)行,需要外部存儲器的速度<10ns或<6ns。建議可以用的存儲器有:

    ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入5或9個(gè)等待(目前沒有更快的Flash)。

    SRAM: CY7C1021V33-12:64K×16,12ns,3.3V,加入一個(gè)等待;

    CY7C1009V33-12:128K×8,12ns,3.3V,加入一個(gè)等待。

    4)對于C55x和C6000系列: TI的DSP中只有C55x和C6000可以同同步的存儲器相連,同步存儲器可以保證系統(tǒng)的數(shù)據(jù)交換效率更高。

    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芯片有多大的驅(qū)動(dòng)能力?

    DSP的驅(qū)動(dòng)能力較強(qiáng),可以不加驅(qū)動(dòng),連接8個(gè)以上標(biāo)準(zhǔn)TTL門。     

    調(diào)試TMS320C2000系列的常見問題?

    1)單步可以運(yùn)行,連續(xù)運(yùn)行時(shí)總回0地址: Watchdog沒有關(guān),連續(xù)運(yùn)行復(fù)位DSP回到0地址。

    2)OUT文件不能load到片內(nèi)flash中: Flash不是RAM,不能用簡單的寫指令寫入,需要專門的程序?qū)懭?。CCS和C Source Debugger中的load命令,不能對flash寫入。 OUT文件只能load到片內(nèi)RAM,或片外RAM中。

    3)在flash中如何加入斷點(diǎn): 在flash中可以用單步調(diào)試,也可以用硬件斷點(diǎn)的方法在flash中加入斷點(diǎn),軟件斷點(diǎn)是不能加在ROM中的。硬件斷點(diǎn),設(shè)置存儲器的地址,當(dāng)訪問該地址時(shí)產(chǎn)生中斷。

    4)中斷向量: C2000的中斷向量不可重定位,因此中斷向量必須放在0地址開始的flash內(nèi)。在調(diào)試系統(tǒng)時(shí),代碼放在RAM中,中斷向量也必須放在flash內(nèi)。    

    調(diào)試TMS320C3x系列的常見問題?

    1)TMS320C32的存儲器配置: TMS320C32的程序存儲器可以配置為16位或32位;數(shù)據(jù)存儲器可以配置為8位、16位或32位。

    2)TMS320VC33的PLL控制: TMS320VC33的PLL控制端只能接1.8V,不能接3.3V或5V。     

    如何調(diào)試多片DSP?

    對于有MPSD仿真口的DSP(TMS320C30/C31/C32),不能用一套仿真器同時(shí)調(diào)試,每次只能調(diào)試其中的一個(gè)DSP; 對于有JTAG仿真口的DSP,可以將JTAG串接在一起,用一套仿真器同時(shí)調(diào)試多個(gè)DSP,每個(gè)DSP可以用不同的名字,在不同的窗口中調(diào)試。 注意:如果在JTAG和DSP間加入驅(qū)動(dòng),一定要用快速的門電路,不能使用如LS的慢速門電路。    

    在DSP系統(tǒng)中為什么要使用CPLD?

    DSP的速度較快,要求譯碼的速度也必須較快。利用小規(guī)模邏輯器件譯碼的方式,已不能滿足DSP系統(tǒng)的要求。 同時(shí),DSP系統(tǒng)中也經(jīng)常需要外部快速部件的配合,這些部件往往是專門的電路,有可編程器件實(shí)現(xiàn)。 CPLD的時(shí)序嚴(yán)格,速度較快,可編程性好,非常適合于實(shí)現(xiàn)譯碼和專門電路。    

    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)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.com,www.cypress.com

   
    什么是boot loader?

    DSP的速度盡快,EPROM或flash的速度較慢,而DSP片內(nèi)的RAM很快,片外的RAM也較快。為了使DSP充分發(fā)揮它的能力,必須將程序代碼放在RAM中運(yùn)行。為了方便的將代碼從ROM中搬到RAM中,在不帶flash的DSP中,TI在出廠時(shí)固化了一段程序,在上電后完成從ROM或外設(shè)將代碼搬到用戶指定的RAM中。此段程序稱為“boot loader”。    

    TMS320C3x如何boot?

    在MC/MP管腳為高時(shí),C3x進(jìn)入boot狀態(tài)。C3x的boot loader在reset時(shí),判斷外部中斷管腳的電平。根據(jù)中斷配置決定boot的方式為存儲器加載還是串口加載,其中ROM的地址可以為三個(gè)中的一個(gè),ROM可以為8位。     

    Boot有問題如何解決?

    1)仔細(xì)檢查boot的控制字是否正確。 2)仔細(xì)檢查外部管腳設(shè)置是否正確。 3)仔細(xì)檢查hex文件是否轉(zhuǎn)換正確。 4)用仿真器跟蹤boot過程,分析錯(cuò)誤原因。     

    DSP為什么要初始化?

    DSP在RESET后,許多的寄存器的初值一般同用戶的要求不一致,例如:等待寄存器,SP,中斷定位寄存器等,需要通過初始化程序設(shè)置為用戶要求的數(shù)值。 初始化程序的主要作用: 1)設(shè)置寄存器初值。 2)建立中斷向量表。 3)外圍部件初始化。     

    DSP有哪些數(shù)學(xué)庫及其它應(yīng)用軟件?

    TI公司為了方便客戶開發(fā)DSP,在它的網(wǎng)站上提供了許多程序的示例和應(yīng)用程序,如MATH庫,F(xiàn)FT,F(xiàn)IR/IIR等,可以在TI的網(wǎng)頁。   
    如何獲得DSP專用算法?

    TI有許多的Third Party可以通過DSP上的多種算法軟件??梢酝ㄟ^TI的網(wǎng)頁搜索你所需的算法,找到通過算法的公司,同相應(yīng)的公司聯(lián)系。注意這些算法都是要付費(fèi)的。    

    eXpressDSP是什么?

    eXpressDSP是一種實(shí)時(shí)DSP軟件技術(shù),它是一種DSP編程的標(biāo)準(zhǔn),利用它可以加快你開發(fā)DSP軟件的速度。 以往DSP軟件的開發(fā)沒有任何標(biāo)準(zhǔn),不同的人寫的程序一般無法連接在一起。DSP軟件的調(diào)試工具也非常不方便。使得DSP軟件的開發(fā)往往滯后于硬件的開發(fā)。 eXpressDSP集成了CCS(Code Composer Studio)開發(fā)平臺,DSP BIOS實(shí)時(shí)軟件平臺,DSP算法標(biāo)準(zhǔn)和第三方支持四部分。利用該技術(shù),可以使你的軟件調(diào)試,軟件進(jìn)程管理,軟件的互通及算法的獲得,都便的容易。這樣就可以加快你的軟件開發(fā)進(jìn)程。

    1)CCS是eXpressDSP的基礎(chǔ),因此你必須首先擁有CCS軟件。

    2)DSP BIOS是eXpressDSP的基本平臺,你必須學(xué)會所有DSP BIOS。

    3)DSP算法標(biāo)準(zhǔn)可以保證你的程序可以方便的同其它利用eXpressDSP技術(shù)的程序連接在一起。同時(shí)也保證你的程序的延續(xù)性。    

    為什么要用DSP?

    3G技術(shù)和internate的發(fā)展,要求處理器的速度越來越高,體積越來越小,DSP的發(fā)展正好能滿足這一發(fā)展的要求。因?yàn)?,傳統(tǒng)的其它處理器都有不同的缺陷。MCU的速度較慢;CPU體積較大,功耗較高;嵌入CPU的成本較高。 DSP的發(fā)展,使得在許多速度要求較高,算法較復(fù)雜的場合,取代MCU或其它處理器,而成本有可能更低。
 
    如何選擇DSP?

    選擇DSP可以根據(jù)以下幾方面決定:

    1)速度: DSP速度一般用MIPS或FLOPS表示,即百萬次/秒鐘。根據(jù)您對處理速度的要求選擇適合的器件。一般選擇處理速度不要過高,速度高的DSP,系統(tǒng)實(shí)現(xiàn)也較困難。

    2): DSP芯片分為定點(diǎn)、浮點(diǎn)處理器,對于運(yùn)算要求很高的處理,可選擇浮點(diǎn)處理器。定點(diǎn)處理器也可完成浮點(diǎn)運(yùn)算,但和速度會有影響。

    3)尋址空間: 不同系列DSP程序、數(shù)據(jù)、I/O空間大小不一,與普通MCU不同,DSP在一個(gè)指令周期內(nèi)能完成多個(gè)操作,所以DSP的指令效率很高,程序空間一般不會有問題,關(guān)鍵是數(shù)據(jù)空間是否滿足。數(shù)據(jù)空間的大小可以通過DMA的幫助,借助程序空間擴(kuò)大。

    4)成本: 一般定點(diǎn)DSP的成本會比浮點(diǎn)DSP的要低,速度也較快。要獲得低成本的DSP系統(tǒng),盡量用定點(diǎn)算法,用定點(diǎn)DSP。

    5)實(shí)現(xiàn)方便: 浮點(diǎn)DSP的結(jié)構(gòu)實(shí)現(xiàn)DSP系統(tǒng)較容易,不用考慮尋址空間的問題,指令對C語言支持的效率也較高。

    6)內(nèi)部部件:根據(jù)應(yīng)用要求,選擇具有特殊部件的DSP。如:C2000適合于電機(jī)控制;OMAP適合于多媒體等。

    要了解DSP芯片的性能,本網(wǎng)中的"DSP及相關(guān)器件"中有介紹。

    DSP同MCU相比的特點(diǎn)?

    1)DSP的速度比MCU快,主頻較高。

    2)DSP適合于數(shù)據(jù)處理,數(shù)據(jù)處理的指令效率較高。

    3)DSP均為16位以上的處理器,不適合于低檔的場合。

    4)DSP可以同時(shí)處理的事件較多,系統(tǒng)級成本有可能較低。

    5)DSP的靈活性較好,大多數(shù)算法都可以軟件實(shí)現(xiàn)。

    6)DSP的集成度較高,可*性較好。

    DSP同嵌入CPU相比的特點(diǎn)?

    1)DSP是單片機(jī),構(gòu)成系統(tǒng)簡單。 2)DSP的速度快。 3)DSP的成本較低。 4)DSP的性能高,可以處理較多的任務(wù)。     

    如何編寫C2000片內(nèi)Flash?

    DSP中的Flash的編寫方法有三中:

    1.通過仿真器編寫:在我們的網(wǎng)頁上有相關(guān)的軟件,在銷售仿真器時(shí)我們也提供相關(guān)軟件。其中LF240x的編寫可以在CCS中加入一個(gè)插件,F(xiàn)24x的編寫需要在windows98下的DOS窗中進(jìn)行。具體步驟見軟件中的readme。有幾點(diǎn)需要注意: a.必須為MC方式; b.F206的工作頻率必須為20MHz; c.F240需要根據(jù)PLL修改C240_CFG.I文件。建議外部時(shí)鐘為20MHz。 d.LF240x也需要根據(jù)PLL修改文件。 d.如果編寫有問題,可以用BFLWx.BAT修復(fù)。

    2.提供串口編寫:TI的網(wǎng)頁上有相關(guān)軟件。注意只能編寫,因?yàn)榫帉懗绦驎茐拇谕ㄐ懦绦颉?

    3.在你的程序中編寫:TI的網(wǎng)頁上有相關(guān)資料
   
    如何編寫DSP外部的Flash?

    DSP的外部Flash編寫方法:

    1.通過編程器編寫:將OUT文件通過HEX轉(zhuǎn)換程序轉(zhuǎn)換為編程器可以接受的格式,再由編程器編寫。

    2.通過DSP軟件編寫:您需要根據(jù)Flash的說明,編寫Flash的編寫程序,將應(yīng)用程序和編寫Flash的程序分別load到RAM中,運(yùn)行編寫程序編寫。

    

    對于C5000,大于48K的程序如何BOOT?

    對于C5000,片內(nèi)的BOOT程序在上電后將數(shù)據(jù)區(qū)的內(nèi)容,搬移到程序區(qū)的RAM中,因此FLASH必須在RESET后放在數(shù)據(jù)區(qū)。由于C5000,數(shù)據(jù)區(qū)的空間有限,BOOT的程序不能對于48K。解決的方法如下:

    1.在RESET后,將FLASH譯碼在數(shù)據(jù)區(qū),RAM放在程序區(qū),片內(nèi)BOOT程序?qū)⒊绦駼OOT到RAM中。

    2.用戶初試化程序發(fā)出一個(gè)I/O命令(如XF),將FLASH譯碼到程序區(qū)的高地址。開放數(shù)據(jù)區(qū)用于其它的RAM。

    3.用戶初試化程序中包括第二次BOOT程序(此程序必須用戶自己編寫),將FLASH中沒有BOOT的其它代碼搬移到RAM中。

    4.開始運(yùn)行用戶處理程序。    

    DSP外接存儲器的控制方式

    對于一般的存儲器具有RD、WR和CS等控制信號,許多DSP(C3x、C5000)都沒有控制信號直接連接存儲器,一般采用的方式如下:

    1.CS有地址線和PS、DS或STRB譯碼產(chǎn)生;

    2./RD=/STRB+/R/W; 3./WR=/STRB+R/W。    

    GEL文件的功能?

    GEL文件的功能同emuinit.cmd的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增強(qiáng),GEL在CCS下有一個(gè)菜單,可以根據(jù)DSP的對象不同,設(shè)置不同的初始化程序。以TMS320LF2407為例:

    #define SCSR1 0x7018 ;定義scsr1寄存器

    #define SCSR2 0X7019 ;定義scsr2寄存器

    #define WDKEY 0x7025 ;定義wdkey寄存器

    #define WDNTR 0x7029 ;定義wdntr寄存器

    StartUp() ; 開始函數(shù)

    {

    GEL_MapReset(); ; 存儲空間復(fù)位 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); 定義數(shù)據(jù)空間從0000-10000可讀寫

    GEL_MapAdd(0xffff,2,1,1,1); 定義i/o 空間0xffff可讀寫

    GEL_MapOn(); 存儲空間打開

    GEL_MemoryFill(0xffff,2,1,0x40); 在i/o空間添入數(shù)值40h

    *(int *)SCSR1=0x0200; 給scsr1寄存器賦值

    *(int *)SCSR2=0x000C; 給scsr2寄存器賦值,在這里可以進(jìn)行mp/mc方式的轉(zhuǎn)換

    *(int *)WDNTR=0x006f; 給wdntr寄存器賦值

    *(int *)WDKEY=0x055; 給wdkey寄存器賦值

    *(int *)WDKEY=0x0AA; 給wdkey寄存器賦值

    }

    使用TI公司模擬器件與DSP結(jié)合使用的好處。

    1)在使用TI公司的DSP的同時(shí),使用TI公司的模擬可以和DSP進(jìn)行無縫連接。器件與器件之間不需要任何的連接或轉(zhuǎn)接器件。這樣即減少了板卡的尺寸,也降低了開發(fā)難度。

    2)同為TI公司的產(chǎn)品,很多器件可以固定搭配使用。少了器件選型的煩惱

    3)TI在CCS中提供插件,可以用于DSP和模擬器件的開發(fā),非常方便。

    C語言中可以嵌套匯編語言?

    可以。在ANSI C標(biāo)準(zhǔn)中的標(biāo)準(zhǔn)用法就是用C語言編寫主程序,用匯編語言編寫子程序,中斷服務(wù)程序,一些算法,然后用C語言調(diào)用這些匯編程序,這樣效率會相對比較高

    在定點(diǎn)DSP系統(tǒng)中可否實(shí)現(xiàn)浮點(diǎn)運(yùn)算

    當(dāng)然可以,因?yàn)镈SP都可以用C,只要是可以使用c語言的場合都可以實(shí)現(xiàn)浮點(diǎn)運(yùn)算。

    JTAG頭的使用會遇到哪些情況

    1)DSP的CLKOUT沒有輸出,工作不正常。

    2)Emu0,Emu1需要上拉。

    3)TCK的頻率應(yīng)該為10M。

    4)在3.3V DSP中,PD腳為3.3V 供電,但是仿真器上需要5V電壓供電,所以PP仿真器盒上需要單獨(dú)供電。

    4)仿真多片DSP。在使用菊花鏈的時(shí)候,片DSP的TDO接到第二片DSP的TDI即可。注意當(dāng)串聯(lián)DSP比較多的時(shí)候,信號線要適當(dāng)?shù)脑黾域?qū)動(dòng)。

    include頭文件(.h)的主要作用

    頭文件,一般用于定義程序中的函數(shù)、參數(shù)、變量和一些宏單元,同庫函數(shù)配合使用。因此,在使用庫時(shí),必須用相應(yīng)的頭文件說明。

    DSP中斷向量的位置

    1)2000系列dsp的中斷向量只能從0000H處開始。所以在我們調(diào)試程序的時(shí)候,要把DSP選擇為MP(微處理器方式),把片內(nèi)的Flash屏蔽掉,免去每次更改程序都要重新燒寫Flash工作。

    2)3x系列dsp的中斷向量也只能在固定的地址。

    3)5000,6000系列dsp的中斷向量可以重新定位。但是它只能被重新定位到Page0范圍內(nèi)的任何空間。

    有源晶振與晶體的區(qū)別,應(yīng)用范圍及用法

    1) 晶體需要用DSP片內(nèi)的振蕩器,在datasheet上有建議的連接方法。晶體沒有電壓的問題,可以適應(yīng)于任何DSP,建議用晶體。 2)有源晶振不需要DSP的內(nèi)部振蕩器,信號比較穩(wěn)定。有源晶振用法:一腳懸空,二腳接地,三腳接輸出,四腳接電壓。

    程序經(jīng)常跑飛的原因

    1) 程序沒有結(jié)尾或不是循環(huán)的程序。

    2)nmi管腳沒有上拉。

    3)在看門狗動(dòng)作的時(shí)候程序會經(jīng)常跑飛。

    4)程序編制不當(dāng)也會引起程序跑飛。

    5)硬件系統(tǒng)有問題。

    并行FLASH引導(dǎo)的一點(diǎn)經(jīng)驗(yàn)-阿哲

    近BBS上關(guān)于FLASH和BOOT的討論很活躍,我也多次來此請教。前幾天自制的DSP板引導(dǎo)成功,早就打算寫寫這方面的東西。我用的DSP是5416,以其為,做了一個(gè)相對獨(dú)立的子系統(tǒng)(硬件、軟件、算法),目前都已基本做好。 下面把在FLASH引導(dǎo)方面做的工作向大家匯報(bào)一下,希望能對大家有所幫助。本人經(jīng)驗(yàn)和文筆都有限,寫的不好請大家諒解。 硬件環(huán)境:

    DSP:TMS320VC5416PGE160

    FLASH:SST39VF400A-70-4C-EK 都是貼片的,F(xiàn)LASH映射在DSP數(shù)據(jù)空間的0x8000-0xFFFF

    軟件環(huán)境: CCS v2.12.01

    主程序(要燒入FLASH的程序): DEBUG版,程序占用空間0x28000-0x2FFFF(片內(nèi)SARAM),中斷向量表在0x0080-0x00FF(片內(nèi)DARAM),數(shù)據(jù)空間使用0x0100-0x7FFF(片內(nèi)DARAM)。 因?yàn)镕LASH是貼片的,所以需要自己編一個(gè)數(shù)據(jù)搬移程序,把要主程序搬移到FLASH中。在寫入FLASH數(shù)據(jù)時(shí),還應(yīng)寫入引導(dǎo)表的格式數(shù)據(jù)。在數(shù)據(jù)空間的0xFFFF處寫入引導(dǎo)表的起始地址(這里為0x8000)。

    搬移程序: DEBUG版,程序空間0x38000-0x3FFFF(片內(nèi)SARAM),中斷向量表在0x7800-0x78FF(片內(nèi)DARAM),數(shù)據(jù)空間使用0x5000-0x77FF(片內(nèi)DARAM)。 搬移程序不能使用與主程序的程序空間和中斷向量表重合的物理空間,以免覆蓋。 燒寫時(shí),同時(shí)打開主程序和搬移程序的PROJECT,先LOAD主程序,再LOAD搬移程序,然后執(zhí)行搬移程序,燒寫OK! 附:搬移程序(僅供參考)

    volatile unsigned int *pTemp=(unsigned int *)0x7e00; unsigned int iFlashAddr;

    int iLoop; /* 在引導(dǎo)表頭存放并行引導(dǎo)關(guān)鍵字 */

    iFlashAddr=0x8000;

    WriteFlash(iFlashAddr,0x10aa);

    iFlashAddr++; /* 初始化SWWSR值 */

    WriteFlash(iFlashAddr,0x7e00);

    iFlashAddr++; /* 初始化BSCR值 */

    WriteFlash(iFlashAddr,0x8006);

    iFlashAddr++; /* 程序執(zhí)行的入口地址 */

    WriteFlash(iFlashAddr,0x0002);

    iFlashAddr++;

    WriteFlash(iFlashAddr,0x8085);

    iFlashAddr++; /* 程序長度 */

    WriteFlash(iFlashAddr,0x7f00);

    iFlashAddr++; /* 程序要裝載到的地址 */

    WriteFlash(iFlashAddr,0x0002);

    iFlashAddr++;

    WriteFlash(iFlashAddr,0x8000);

    iFlashAddr++;

    for (iLoop=0;iLoop<0x7f00;iLoop++)

    { /* 從程序空間讀數(shù)據(jù),放到暫存單元 */

    asm(" pshm al");

    asm(" pshm ah");

    asm(" rsbx cpl");

    asm(" ld #00fch,dp");

    asm(" stm #0000h, ah");

    asm(" MVDM _iLoop, al");

    asm(" add #2800h,4,a");

    asm(" reada 0h");

    asm(" popm ah");

    asm(" popm al");

    asm(" ssbx cpl"); /* 把暫存單元內(nèi)容寫入FLASH */

    WriteFlash(iFlashAddr,*pTemp);

    iFlashAddr++; } /* 中斷向量表長度 */

    WriteFlash(iFlashAddr,0x0080);

    iFlashAddr++; /* 中斷向量表裝載地址 */

    WriteFlash(iFlashAddr,0x0000);

    iFlashAddr++;

    WriteFlash(iFlashAddr,0x0080);

    iFlashAddr++;

    for (iLoop=0;iLoop<0x0080;iLoop++) { /* 從程序空間讀數(shù)據(jù),放到暫存單元 */

    asm(" pshm al");

    asm(" pshm ah");

    asm(" rsbx cpl");

    asm(" ld #00fch,dp");

    asm(" stm #0000h, ah");

    asm(" MVDM _iLoop, al");

    asm(" add #0080h,0,a");

    asm(" reada 0h");

    asm(" popm ah");

    asm(" popm al");

    asm(" ssbx cpl"); /* 把暫存單元內(nèi)容寫入FLASH */

    WriteFlash(iFlashAddr,*pTemp);

    iFlashAddr++;

    } /* 寫入引導(dǎo)表結(jié)束標(biāo)志 */

    WriteFlash(iFlashAddr,0x0000);

    iFlashAddr++;

    WriteFlash(iFlashAddr,0x0000); /* 在數(shù)據(jù)空間的0xFFFF寫入引導(dǎo)表起始地址 */

    iFlashAddr=0xffff;

    WriteFlash(iFlashAddr,0x8000);

    

    關(guān)于LF2407A的FLASH燒寫問題的幾點(diǎn)說明

    TI現(xiàn)在關(guān)于LF24x寫入FLASH的工具為c2000flashprogsw_v112??梢灾С諰F2407、LF2407a、LF2401及相關(guān)的LF240x系列。建議使用此版本。在https://focus.ti.com/docs/tool/toolfolder.jhtml?PartNumber=C24XSOFTWARE上可以到這個(gè)工具。我們仿真器自帶的光盤中也有此燒寫程序。 在使用這個(gè)工具時(shí)注意:

    一,先解壓,再執(zhí)行setup.exe。

    二、進(jìn)入cc中,在tools圖標(biāo)下有燒寫工具;

    1、關(guān)于FLASH時(shí)鐘的選擇,此燒寫工具默認(rèn)頻率進(jìn)行FLASH的操作。根據(jù)目標(biāo)系統(tǒng)的工作主頻重新要進(jìn)行PLL設(shè)置。方法:先在advance options下面的View Config file中修改倍頻。存盤后,在相應(yīng)的目錄下(tic2xx\algos\相應(yīng)目錄)運(yùn)行buildall.bat就可以完成修改了。再進(jìn)行相應(yīng)的操作即可。

    2、若是你所選的頻率不是頻率,還需要設(shè)定你自已的timings.xx來代替系統(tǒng)默認(rèn)的頻率的timings.xx。例如LF2407a的默認(rèn)文件是timings.40。Timings.xx可以利用include\timings.xls的excel工作表來生成。然后在advance options下面的View Config file中修改相應(yīng)的位置。存盤后,在相應(yīng)的目錄下運(yùn)行buildall.bat就可以完成修改了。

    3、對于TMS320LF240XA系列,還要注意:由于這些DSP的FLASH具有加密功能,加密地址為程序空間的0x40-0X43H,程序禁止寫入此空間,如果寫了,此空間的數(shù)據(jù)被認(rèn)為是加密位,斷電后進(jìn)入保護(hù)FLASH狀態(tài),使FLASH不可重新操作,從而使DSP報(bào)廢,燒寫完畢后一定要進(jìn)行Program passwords的操作,如果不做加密操作就默認(rèn)寫入加密位的數(shù)據(jù)作為密碼。

    4、2407A不能用DOS下的燒寫軟件燒寫,必須用c2000flashprogsw_v112軟件燒寫;

    5、建議如下:

     1)、一般調(diào)試時(shí),在RAM中進(jìn)行;

     2)、程序燒寫時(shí),避開程序空間0x40-0x43H加密區(qū),程序小于32k;

     3)、每次程序燒寫完后,將word0,word1,word2,word3分別輸入自己的密碼,再點(diǎn)擊 Program password,如果加密成功,提示Program is arrayed,如果0x40-0x43h中寫入的是ffff,認(rèn)為處于調(diào)試狀態(tài),flash不會加密;

     4)、斷電后,下次重新燒寫時(shí)需要往word0~word3輸入已設(shè)的密碼,再unlock,成功后可以重新燒寫了;

    6、VCPP管腳接在+5V上,是應(yīng)直接接的,中間不要加電阻。

    7、具體事宜請閱讀相應(yīng)目錄下的readme1,readme2幫助文件。

    8.注意*.cmd文件的編寫時(shí)應(yīng)該避開40-43H單元,好多客戶由于沒有注意到這里而把FALSH加密。

    如何設(shè)置硬件斷點(diǎn)?

    在profiler ->profile point -> break point

    c54x的外部中斷是電平響應(yīng)還是沿響應(yīng)?

    是沿響應(yīng),準(zhǔn)確的說,它要檢測到100(一個(gè)clk的高和兩個(gè)clk的低)的變化才可以。

    參考程序,里面好象都要 disable wachdog,不知道為什么?

    watchdog是一個(gè)計(jì)數(shù)器,溢出時(shí)會復(fù)位你的DSP,不disable的話,你的系統(tǒng)會動(dòng)不動(dòng)就reset。

    時(shí)鐘電路選擇原則

    1,系統(tǒng)中要求多個(gè)不同頻率的時(shí)鐘信號時(shí),可編程時(shí)鐘芯片;

    2,單一時(shí)鐘信號時(shí),選擇晶體時(shí)鐘電路;

    3,多個(gè)同頻時(shí)鐘信號時(shí),選擇晶振;

    4,盡量使用DSP片內(nèi)的PLL,降低片外時(shí)鐘頻率,提高系統(tǒng)的穩(wěn)定性;

    5,C6000、C5510、C5409A、C5416、C5420、C5421和C5441等DSP片內(nèi)無振蕩電路,不能用晶體時(shí)鐘電路;

    6,VC5401、VC5402、VC5409和F281x等DSP時(shí)鐘信號的電平為1.8V,建議采用晶體時(shí)鐘電路

    C程序的代碼和數(shù)據(jù)如何定位

    1,系統(tǒng)定義:

    .cinit 存放C程序中的變量初值和常量;

    .const 存放C程序中的字符常量、浮點(diǎn)常量和用const聲明的常量;

    .switch 存放C程序中switch語句的跳針表;

    .text 存放C程序的代碼;

    .bss 為C程序中的全局和靜態(tài)變量保留存儲空間;

    .far 為C程序中用far聲明的全局和靜態(tài)變量保留空間;

    .stack 為C程序系統(tǒng)堆棧保留存儲空間,用于保存返回地址、函數(shù)間的參數(shù)傳遞、存儲局部變量和保存中間結(jié)果;

    .sysmem 用于C程序中malloc、calloc和realloc函數(shù)動(dòng)態(tài)分配存儲空間

    2,用戶定義:

    #pragma CODE_SECTION (symbol, "section name");

    #pragma DATA_SECTION (symbol, "section name")

    cmd文件

    由3部分組成:

    1)輸入/輸出定義:.obj文件:鏈接器要鏈接的目標(biāo)文件;.lib文件:鏈接器要鏈接的庫文件;.map文件:鏈接器生成的交*索引文件;.out文件:鏈接器生成的可執(zhí)行代碼;鏈接器選項(xiàng)

    2)MEMORY-p.htm" target="_blank" title="MEMORY貨源和PDF資料">MEMORY命令:描述系統(tǒng)實(shí)際的硬件資源

    3)SECTIONS命令:描述“段”如何定位

    為什么要設(shè)計(jì)CSL?

    1,DSP片上外設(shè)種類及其應(yīng)用日趨復(fù)雜

    2,提供一組標(biāo)準(zhǔn)的方法用于訪問和控制片上外設(shè)

    3,免除用戶編寫配置和控制片上外設(shè)所必需的定義和代碼

    什么是CSL?

    1,用于配置、控制和管理DSP片上外設(shè)

    2,已為C6000和C5000系列DSP設(shè)計(jì)了各自的CSL庫

    3,CSL庫函數(shù)大多數(shù)是用C語言編寫的,并已對代碼的大小和速度進(jìn)行了優(yōu)化

    4,CSL庫是可裁剪的:即只有被使用的CSL模塊才會包含進(jìn)應(yīng)用程序中

    5,CSL庫是可擴(kuò)展的:每個(gè)片上外設(shè)的API相互獨(dú)立,增加新的API,對其他片上外設(shè)沒有影響

    CSL的特點(diǎn)

    1,片上外設(shè)編程的標(biāo)準(zhǔn)協(xié)議:定義一組標(biāo)準(zhǔn)的APIs:函數(shù)、數(shù)據(jù)類型、宏;

    2,對硬件進(jìn)行抽象,提取符號化的片上外設(shè)描述:定義一組宏,用于訪問和建立寄存器及其域值

    3,基本的資源管理:對多資源的片上外設(shè)進(jìn)行管理;

    4,已集成到DSP/BIOS中:通過圖形用戶接口GUI對CSL進(jìn)行配置;

    5,使片上外設(shè)容易使用:縮短開發(fā)時(shí)間,增加可移植.

    為什么需要電平變換?

    1)DSP系統(tǒng)中難免存在5V/3.3V混合供電現(xiàn)象;

    2)I/O為3.3V供電的DSP,其輸入信號電平不允許超過電源電壓3.3V;

    3)5V器件輸出信號高電平可達(dá)4.4V;

    4)長時(shí)間超常工作會損壞DSP器件;

    5)輸出信號電平一般無需變換

    電平變換的方法

    1,總線收發(fā)器(Bus Transceiver):

    常用器件: SN74LVTH245A(8位)、SN74LVTH16245A(16位)

    特點(diǎn):3.3V供電,需進(jìn)行方向控制,

    延遲:3.5ns,驅(qū)動(dòng):-32/64mA,

    輸入容限:5V

    應(yīng)用:數(shù)據(jù)、地址和控制總線的驅(qū)動(dòng)

    2,總線開關(guān)(Bus Switch)

    常用器件:SN74CBTD3384(10位)、SN74CBTD16210(20位)

    特點(diǎn):5V供電,無需方向控制

    延遲:0.25ns,驅(qū)動(dòng)能力不增加

    應(yīng)用:適用于信號方向靈活、且負(fù)載單一的應(yīng)用,如McBSP等外設(shè)信號的電平變換

    3,2選1切換器(1 of 2 Multiplexer)

    常用器件:SN74CBT3257(4位)、SN74CBT16292(12位)

    特點(diǎn):實(shí)現(xiàn)2選1,5V供電,無需方向控制

    延遲:0.25ns,驅(qū)動(dòng)能力不增加

    應(yīng)用:適用于多路切換信號、且要進(jìn)行電平變換的應(yīng)用,如雙路復(fù)用的McBSP

    4,CPLD

    3.3V供電,但輸入容限為5V,并且延遲較大:>7ns,適用于少量的對延遲要求不高的輸入信號

    5,電阻分壓

    10KΩ和20KΩ串聯(lián)分壓,5V×20÷(10+20)≈3.3V

    未用的輸入/輸出引腳的處理

    1,未用的輸入引腳不能懸空不接,而應(yīng)將它們上拉活下拉為固定的電平

  1)關(guān)鍵的控制輸入引腳,如Ready、Hold等,應(yīng)固定接為適當(dāng)?shù)臓顟B(tài),Ready引腳應(yīng)固定接為有效狀態(tài),Hold引腳應(yīng)固定接為無效狀態(tài)

  2)無連接(NC)和保留(RSV)引腳,NC 引腳:除非特殊說明,這些引腳懸空不接,RSV引腳:應(yīng)根據(jù)數(shù)據(jù)手冊具體決定接還是不接

  3)非關(guān)鍵的輸入引腳,將它們上拉或下拉為固定的電平,以降低功耗

    2,未用的輸出引腳可以懸空不接

    3,未用的I/O引腳:如果確省狀態(tài)為輸入引腳,則作為非關(guān)鍵的輸入引腳處理,上拉或下拉為固定的電平;如果確省狀態(tài)為輸出引腳,則可以懸空不接.

  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.hbjingang.com)



  
關(guān)鍵詞:DSP開發(fā)入門問答精華DSP

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

TMS320C6678ACYPA25-DSP數(shù)字信號處理器(TI 德州儀器)
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!