工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件_第1頁(yè)
工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件_第2頁(yè)
工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件_第3頁(yè)
工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件_第4頁(yè)
工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件_第5頁(yè)
已閱讀5頁(yè),還剩133頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第七章工程問(wèn)題的DSP實(shí)現(xiàn)(一)DTMF的編解碼

1用DSP實(shí)現(xiàn)雙音多頻(DTMF)的撥號(hào)產(chǎn)生和解碼。DTMFDual-ToneMultipleFrequency用DSP實(shí)現(xiàn)雙音多頻(DTMF)的撥號(hào)產(chǎn)生和解碼。2實(shí)現(xiàn)步驟對(duì)象分析算法設(shè)計(jì)DSP選擇系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)試實(shí)現(xiàn)步驟對(duì)象分析算法設(shè)計(jì)DSP選擇系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)試3對(duì)象分析

對(duì)所要開(kāi)發(fā)的系統(tǒng)的功能、性能要有深入的了解和分析,尤其對(duì)技術(shù)指標(biāo),要作透徹的理解和把握。對(duì)象分析對(duì)所要開(kāi)發(fā)的系統(tǒng)的功能、性能要有深入的了解和4DTMF用一對(duì)頻率(行頻/列頻)來(lái)表示一個(gè)符號(hào)(電話(huà)鍵盤(pán)上的0—9,A—D,*,#,共16個(gè)符號(hào))

一次按鍵的時(shí)間是100ms,其中,頻率對(duì)存在的時(shí)間是45ms,不允許超過(guò)55ms,其余的時(shí)間是靜音。DTMF用一對(duì)頻率(行頻/列頻)來(lái)表示一個(gè)符號(hào)5

6CCITT關(guān)于DTMF的指標(biāo)Lowband:697、770、852、941(Hz) RBW<3.5% Highband:1209、1336、1477、1633(Hz)RBW<3.5% TWIST: STD>4dBREV>8dB DYNRANGE:>25dB GUARDTIME:MINTONETIME45msSNR: NOISE-24dBV

CCITT關(guān)于DTMF的指標(biāo)Lowband:697、77算法設(shè)計(jì)

算法設(shè)計(jì)是非常關(guān)鍵的步驟,因?yàn)樗惴Q定運(yùn)算量和存儲(chǔ)器的大小,從而決定DSP的選擇,進(jìn)而決定系統(tǒng)的設(shè)計(jì),包括硬件和軟件的設(shè)計(jì)。算法設(shè)計(jì)算法設(shè)計(jì)是非常關(guān)鍵的步驟,因?yàn)樗惴Q定運(yùn)8DTMF撥號(hào)的產(chǎn)生

基于DSP的DTMF的音頻信號(hào)發(fā)生器,使用兩個(gè)二階的數(shù)字正弦波振蕩器,一個(gè)產(chǎn)生行頻,一個(gè)產(chǎn)生列頻。DTMF撥號(hào)的產(chǎn)生基于DSP的DTMF的音頻9

10DTMF發(fā)生器的系數(shù)和初始條件DTMF發(fā)生器的系數(shù)和初始條件11DTMF發(fā)生器的信號(hào)流程DTMF發(fā)生器的信號(hào)流程12音頻檢測(cè)Goertzel算法是DTMF解碼器的基礎(chǔ),實(shí)際上是一個(gè)兩極點(diǎn)的IIR濾波器。DFT或FFT需要在處理之前準(zhǔn)備好一個(gè)數(shù)據(jù)塊,而Goertzel算法是一個(gè)遞歸的結(jié)構(gòu),就每個(gè)輸入的樣本進(jìn)行計(jì)算。音頻檢測(cè)Goertzel算法是DTMF解碼器的基礎(chǔ),實(shí)際上是13Goertzel算法Goertzel算法14Goertzel算法的特點(diǎn)Goertzel算法的IIR濾波器結(jié)構(gòu)涉及兩個(gè)復(fù)共軛極點(diǎn),但對(duì)于實(shí)際的DTMF音頻檢測(cè),只要有幅度信息就夠了(實(shí)際上使用幅度平方),從而簡(jiǎn)化為只需要一個(gè)實(shí)系數(shù)參與計(jì)算。Goertzel算法要比FFT快得多,因?yàn)橹恍枰峁?個(gè)行/列頻和它們的二次諧波的信息(二次諧波的信息用于將DTMF與話(huà)音或音樂(lè)區(qū)別開(kāi)來(lái))。Goertzel算法的特點(diǎn)Goertzel算法的IIR濾波器15行頻/列頻及相應(yīng)的系數(shù)行頻/列頻及相應(yīng)的系數(shù)16有效性檢查信號(hào)強(qiáng)度

DTMF行頻、列頻信號(hào)之和的強(qiáng)度是否達(dá)到一定的門(mén)限值有效性檢查信號(hào)強(qiáng)度17有效性檢查扭曲度

標(biāo)準(zhǔn)扭曲:行頻峰值>列頻峰值4dB反向扭曲:

列頻峰值>行頻峰值8dB有效性檢查扭曲度18有效性檢查二次諧波強(qiáng)度

以便將DTMF信號(hào)與其他語(yǔ)音信號(hào)、音樂(lè)信號(hào)等區(qū)別開(kāi)來(lái)。有效性檢查二次諧波強(qiáng)度19有效性檢查數(shù)字信息的穩(wěn)定性

如果一個(gè)數(shù)字成功地檢測(cè)到兩次,認(rèn)為該數(shù)字是穩(wěn)定的有效性檢查數(shù)字信息的穩(wěn)定性20有效性檢查數(shù)字信息的有效性

檢測(cè)到的數(shù)字前面必須是靜音符時(shí),該數(shù)字才是有效的,以便將各次擊鍵區(qū)別開(kāi)來(lái)有效性檢查數(shù)字信息的有效性21

22

23編碼器對(duì)速度和存儲(chǔ)器的要求編碼器對(duì)速度和存儲(chǔ)器的要求24解碼器對(duì)速度和存儲(chǔ)器的要求解碼器對(duì)速度和存儲(chǔ)器的要求25DSP芯片選擇算法對(duì)DSP芯片計(jì)算速度的要求系統(tǒng)的管理(如任務(wù)管理、進(jìn)程管理、存儲(chǔ)器管理、I/O管理等)對(duì)DSP的要求片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器的要求(包括容量的要求和速度的要求)DSP芯片選擇算法對(duì)DSP芯片計(jì)算速度的要求26DSP芯片選擇對(duì)外設(shè)(如串口、并口、定時(shí)器、總線寬度、等待狀態(tài)等)的要求DSP封裝對(duì)印制板的設(shè)計(jì)影響甚大開(kāi)發(fā)環(huán)境技術(shù)支持性能價(jià)格比DSP芯片選擇27DSP芯片的速度DSP芯片的速度28DSP的片內(nèi)存儲(chǔ)器DSP的片內(nèi)存儲(chǔ)器29DSP的外設(shè)DSP的外設(shè)30BGA(BALLGRIDARRAY)BGA(BALLGRIDARRAY)31PLCC(PLASTICJ-LEADEDCHIPCARRIER)PLCC(PLASTICJ-LEADEDCHIPCAR32PQFP(PLASTICQUADFLATPACK)PQFP(PLASTICQUADFLATPACK)33PDLP(PLASTICDUAL-IN-LINEPACKAGE)PDLP(PLASTICDUAL-IN-LINEPACK34LCCC(LEADLESSCERAMICCHIPCARRIER)LCCC(LEADLESSCERAMICCHIPCAR35系統(tǒng)設(shè)計(jì)硬件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)設(shè)計(jì)工作軟件測(cè)試軟件功能框圖(指標(biāo)分配)電原理圖印制板(數(shù)字與模擬電路,接地,電源,多層板)系統(tǒng)設(shè)計(jì)硬件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)設(shè)計(jì)功能框圖(指標(biāo)分配)36系統(tǒng)的實(shí)現(xiàn)從C程序作起

用CCompiler將C源程序編譯成為匯編語(yǔ)言源程序,然后匯編、連接后輸出可執(zhí)行代碼;也可以使用shell程序,將編譯、匯編、連接一齊完成系統(tǒng)的實(shí)現(xiàn)從C程序作起37工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件38

39源程序分析器

輸入是C源文件。讀入源語(yǔ)句,檢查語(yǔ)法和語(yǔ)意錯(cuò)誤,寫(xiě)出一個(gè)中間文件(.if)源程序分析器輸入是C源文件。讀入源語(yǔ)句,檢查40優(yōu)化器

可選擇項(xiàng)。其輸入是分析器產(chǎn)生的中間文件(.if)。當(dāng)運(yùn)行優(yōu)化器時(shí),用戶(hù)可以選擇優(yōu)化的層次。產(chǎn)生一個(gè)與中間文件格式相同的高效率版本。優(yōu)化器可選擇項(xiàng)。其輸入是分析器產(chǎn)生的中間文件41代碼生成器

輸入是分析器或優(yōu)化器產(chǎn)生的中間文件(.if或.opt文件),產(chǎn)生一個(gè)匯編語(yǔ)言源文件代碼生成器輸入是分析器或優(yōu)化器產(chǎn)生的中間文件42內(nèi)部列表公用程序

輸入是C編譯器產(chǎn)生的匯編語(yǔ)言源程序和C源程序。產(chǎn)生的是按C文件的語(yǔ)句展開(kāi)的匯編語(yǔ)言源文件內(nèi)部列表公用程序輸入是C編譯器產(chǎn)生的匯編語(yǔ)言43匯編器和連接器匯編器的輸入是代碼生成器產(chǎn)生的匯編語(yǔ)言文件,產(chǎn)生COFF目標(biāo)文件連接器的輸入是匯編器產(chǎn)生的COFF目標(biāo)文件,產(chǎn)生可執(zhí)行的目標(biāo)文件匯編器和連接器匯編器的輸入是代碼生成器產(chǎn)生的匯編語(yǔ)言文件,產(chǎn)44運(yùn)行C編譯器cl500[-options]filenames[-z[link_options][objectfiles]]cl500調(diào)用編譯器和匯編器的命令。-options影響編譯器處理輸入文件的途徑filenames一個(gè)或多個(gè)C源文件、匯編語(yǔ)言源文件,或目標(biāo)文件。-z運(yùn)行連接器的選擇項(xiàng)。link_options影響連接器處理輸入文件的途徑objectfiles命名編譯器產(chǎn)生的目標(biāo)文件運(yùn)行C編譯器cl500[-options]filena45cl500-qsymtabfileseek.asm–z

編譯文件symtab和file,匯編第三個(gè)文件seek.asm,連接這三個(gè)文件,并使用quiet選擇項(xiàng),抑制輸出處理信息cl500-qsymtabfileseek.46如果不使用-q選擇項(xiàng),就會(huì)輸出以下處理信息:[symtab]TMS320C54xANSICCompilerVersionx.xxCopyright(c)1997TexasInstrumentsIncorporated“symtab.c”==>main“symtab.c”==>lookupTMS320C54xANSICCodegenVersionx.xxCopyright(c)1997TexasInstrumentsIncorporated“symtab.c”==>main“symtab.c”==>lookup如果不使用-q選擇項(xiàng),就會(huì)輸出以下處理信息:[symtab]47

TMS320C54xCOFFAssemblerversionx.xxCopyright?1997TexasInstrumentsIncorporatedPASS1PASS2NoErrors,NoWarningsTMS320C54xCOFFAssemblerve48匯編器輸出的列表文件:1*******************************************2**Assembleintothe.textsection.**3*******************************************40000 .text50000e800 LD#0,A6*******************************************7**Allocate4wordsin.bssforTEMP.**8*******************************************90000 Var_1: .bssTEMP,410匯編器輸出的列表文件:1*****************49

11*******************************************12**Stillin.text**13*******************************************140001f000 ADD#56h,A00020056150003f066 MPY#73h,A000400731611**************************50

17*******************************************18**Allocate100wordsin.bssforthe**19**symbolnamedARRAY;thispartof**20**.bssmustfitonasinglepage.**21*******************************************220004 .bss ARRAY,100,12324*******************************************25**Assemblemorecodeinto.text.**26*******************************************2700058000- STLA,Var_12817**************************51

29*******************************************30**Declareexternal.bsssymbols.**31*******************************************32.globalARRAY,TEMP33.end29**************************52連接器-m選擇項(xiàng)建立映射列表文件-mfilename該連接器映射列表描述:存儲(chǔ)器劃分輸入與輸出段的位置外部符號(hào)重新定位后的地址連接器-m選擇項(xiàng)建立映射列表文件-mfilename53

當(dāng)沒(méi)有發(fā)現(xiàn)錯(cuò)誤時(shí),連接器就建立一個(gè)輸出模塊,省缺名為a.out。也可以使用-o選擇項(xiàng),將輸出模塊寫(xiě)入另外的文件:-ofilename其中的文件名就是新的輸出模塊的文件名當(dāng)沒(méi)有發(fā)現(xiàn)錯(cuò)誤時(shí),連接器就建立一個(gè)輸出模塊,54lnk500–orun.outfile1.objfile2.obj

將ile1.obj和file2.obj連接起來(lái),建立一個(gè)名為run.out的輸出模塊lnk500–orun.outfile1.obj55可以將上述文件名及選擇項(xiàng),再加上注釋寫(xiě)入一個(gè)命令文件link.cmd

:a.obj /*Firstinputfilename*/b.obj /*Secondinputfilename*/-oprog.out/*Optiontospecifyoutputfile*/-mprog.map/*Optiontospecifymapfile*/并用該命令文件來(lái)調(diào)用連接器:lnk500link.cmd可以將上述文件名及選擇項(xiàng),再加上注釋寫(xiě)入一個(gè)命令文件link56包含連接器偽指令的命令文件:a.objb.objc.obj

/*Inputfilenames*/-oprog.out-mprog.map

/*Options*/MEMORY

/*MEMORYdirective*/{RAM:origin=100h

length=0100hROM:origin=01000h

length=0100h}SECTIONS

/*SECTIONSdirective*/{.text:>ROM.data:>ROM.bss:>RAM}包含連接器偽指令的命令文件:a.objb.objc.ob57MEMORY

{

PAGE0:name1[(attr)]:origin=constant,length=constant;

PAGEn:namen[(attr)]:origin=constant,length=constant;

}

PAGE說(shuō)明一個(gè)存儲(chǔ)器空間。用戶(hù)最多可以說(shuō)明255頁(yè)。通常,page0是程序存儲(chǔ)器,page1是數(shù)據(jù)存儲(chǔ)器。name命名一個(gè)存儲(chǔ)器范圍。一個(gè)存儲(chǔ)器的名字可以是1—8個(gè)字符,其中包括A—Z,a—z,$,.,_。MEMORY

{

PAGE0:name1[(at58

Attr存儲(chǔ)器的屬性:R存儲(chǔ)器可讀W存儲(chǔ)器可寫(xiě)X存儲(chǔ)器可包含可執(zhí)行代碼I存儲(chǔ)器可以初始化Attr存儲(chǔ)器的屬性:59

origin指定存儲(chǔ)器的開(kāi)始地址length指定存儲(chǔ)器范圍的長(zhǎng)度。fill為存儲(chǔ)器范圍指定一個(gè)填入的字符,其值是2-byte的整常數(shù)。origin指定存儲(chǔ)器的開(kāi)始地址60TMS320C54x省缺的地址配置:MEMORY{PAGE0:PROG:origin=0x0080length=0xFF00PAGE1:DATA:origin=0x0080length=0xFF80}SECTIONS{.text:PAGE=0.data:PAGE=0.cinit:PAGE=0;cflagoptiononly.bss:PAGE=1}TMS320C54x省缺的地址配置:MEMORY61連接器使用舉例

本例連接三個(gè)目標(biāo)文件demo.obj、fft.obj和tables.obj,并建立輸出文件demo.out。符號(hào)SETUP是程序的輸入點(diǎn)。連接器使用舉例62連接器命令文件demo.cmd/******************************************************//***SpecifyLinkerOptions***//*******************************************************/-ecoeff

/*Definetheprogramentrypoint*/-odemo.out

/*Nametheoutputfile*/-mdemo.map

/*Createanoutputmap*//*******************************************************//***SpecifytheInputFiles***//*******************************************************/demo.objfft.objtables.obj連接器命令文件demo.cmd/*************63

/**********************************************************//***SpecifytheMemoryConfigurations***//**********************************************************/MEMORY{PAGE0:RAM_PG:origin=00080h

length=06F80hROM:

origin=0C000h

length=03F80hPAGE1:ONCHIP:origin=00080h

length=0F7FhEXT:

origin=01000h

length=0EFFFh}/****************************64

/*******************************************************//***SpecifytheOutputSections***//*******************************************************/SECTIONS{.text:

load=ROM,page=0

/*link.textintoROM*/var_defs:

load=ONCHIP,page=1

/*defsinRAM*/.data:

fill=07A1Ch,load=ONCHIP,page=1{tables.obj(.data)

/*.datainput*/fft.obj(.data)

/*.datainput*/.=100h;

/*createhole,fillwith07A1Ch*/}/*andlinkwithONCHIP*/.bss:

load=RAM_PG,

page=0,

fill=0FFFFh/*Remaining.bss;fillandlink*/}/****************************65映射文件demo.mapOUTPUTFILENAME:<demo.out>ENTRYPOINTSYMBOL:0MEMORYCONFIGURATIONNameoriginlengthattributesfill

PAGE0:RAM_PG00000080000006f80RWIXROM0000c000000003f80RWIXPAGE1:ONCHIP00000080000000f7fRWIXEXT0000100000000efffRWIX映射文件demo.mapOUTPUTFILENAME:66

SECTIONALLOCATIONMAPoutputattributes/sectionpage origin length inputsections

.text 0 0000c000 00000015 0000c000 00000008 demo.obj(.text) 0000c008 00000007 fft.obj(.text) 0000c00f 00000006 tables.obj(.text)var_defs1 00000080 00000002 00000080 00000002demo.obj(var_defs).data 1 00000082 00000108 00000082 00000000 tables.obj(.data) 00000082 00000000 fft.obj(.data) 00000082 00000100 [fill=7a1c] 00000182 00000008 demo.obj(.data)SECTIONALLOCATIONMAP67

.bss 0 00000080 0000007b 00000080 00000013demo.obj(.bss)[fill=ffff] 00000093 00000000 fft.obj(.bss) 00000093 00000068tables.obj(.bss)[fill=ffff]xy 1 0000018a 00000014 UNINITIALIZED 0000018a 00000014 demo.obj(xy)GLOBALSYMBOLSaddress name address name

00000080 .bss 00000080 .bss00000082 .data 00000082 .data0000c000 .text 00000093 TEMP00000097 ARRAY 00000097 ARRAY00000093 TEMP 000000fb end0000018a edata 0000018a edata000000fb end 0000c000 .text0000c015 etext 0000c015 etext[8symbols].bss 0 00000080 0000007b68系統(tǒng)的調(diào)試1.硬件測(cè)試2.軟件調(diào)試1)開(kāi)發(fā)環(huán)境的使用2)應(yīng)用軟件的調(diào)試3.系統(tǒng)的聯(lián)調(diào)1)制作、使用測(cè)試軟件2)系統(tǒng)與外部環(huán)境的適配性測(cè)試3)全系統(tǒng)聯(lián)調(diào)系統(tǒng)的調(diào)試1.硬件測(cè)試69

第七章工程問(wèn)題的DSP實(shí)現(xiàn)(一)DTMF的編解碼

70用DSP實(shí)現(xiàn)雙音多頻(DTMF)的撥號(hào)產(chǎn)生和解碼。DTMFDual-ToneMultipleFrequency用DSP實(shí)現(xiàn)雙音多頻(DTMF)的撥號(hào)產(chǎn)生和解碼。71實(shí)現(xiàn)步驟對(duì)象分析算法設(shè)計(jì)DSP選擇系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)試實(shí)現(xiàn)步驟對(duì)象分析算法設(shè)計(jì)DSP選擇系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)試72對(duì)象分析

對(duì)所要開(kāi)發(fā)的系統(tǒng)的功能、性能要有深入的了解和分析,尤其對(duì)技術(shù)指標(biāo),要作透徹的理解和把握。對(duì)象分析對(duì)所要開(kāi)發(fā)的系統(tǒng)的功能、性能要有深入的了解和73DTMF用一對(duì)頻率(行頻/列頻)來(lái)表示一個(gè)符號(hào)(電話(huà)鍵盤(pán)上的0—9,A—D,*,#,共16個(gè)符號(hào))

一次按鍵的時(shí)間是100ms,其中,頻率對(duì)存在的時(shí)間是45ms,不允許超過(guò)55ms,其余的時(shí)間是靜音。DTMF用一對(duì)頻率(行頻/列頻)來(lái)表示一個(gè)符號(hào)74

75CCITT關(guān)于DTMF的指標(biāo)Lowband:697、770、852、941(Hz) RBW<3.5% Highband:1209、1336、1477、1633(Hz)RBW<3.5% TWIST: STD>4dBREV>8dB DYNRANGE:>25dB GUARDTIME:MINTONETIME45msSNR: NOISE-24dBV

CCITT關(guān)于DTMF的指標(biāo)Lowband:697、776算法設(shè)計(jì)

算法設(shè)計(jì)是非常關(guān)鍵的步驟,因?yàn)樗惴Q定運(yùn)算量和存儲(chǔ)器的大小,從而決定DSP的選擇,進(jìn)而決定系統(tǒng)的設(shè)計(jì),包括硬件和軟件的設(shè)計(jì)。算法設(shè)計(jì)算法設(shè)計(jì)是非常關(guān)鍵的步驟,因?yàn)樗惴Q定運(yùn)77DTMF撥號(hào)的產(chǎn)生

基于DSP的DTMF的音頻信號(hào)發(fā)生器,使用兩個(gè)二階的數(shù)字正弦波振蕩器,一個(gè)產(chǎn)生行頻,一個(gè)產(chǎn)生列頻。DTMF撥號(hào)的產(chǎn)生基于DSP的DTMF的音頻78

79DTMF發(fā)生器的系數(shù)和初始條件DTMF發(fā)生器的系數(shù)和初始條件80DTMF發(fā)生器的信號(hào)流程DTMF發(fā)生器的信號(hào)流程81音頻檢測(cè)Goertzel算法是DTMF解碼器的基礎(chǔ),實(shí)際上是一個(gè)兩極點(diǎn)的IIR濾波器。DFT或FFT需要在處理之前準(zhǔn)備好一個(gè)數(shù)據(jù)塊,而Goertzel算法是一個(gè)遞歸的結(jié)構(gòu),就每個(gè)輸入的樣本進(jìn)行計(jì)算。音頻檢測(cè)Goertzel算法是DTMF解碼器的基礎(chǔ),實(shí)際上是82Goertzel算法Goertzel算法83Goertzel算法的特點(diǎn)Goertzel算法的IIR濾波器結(jié)構(gòu)涉及兩個(gè)復(fù)共軛極點(diǎn),但對(duì)于實(shí)際的DTMF音頻檢測(cè),只要有幅度信息就夠了(實(shí)際上使用幅度平方),從而簡(jiǎn)化為只需要一個(gè)實(shí)系數(shù)參與計(jì)算。Goertzel算法要比FFT快得多,因?yàn)橹恍枰峁?個(gè)行/列頻和它們的二次諧波的信息(二次諧波的信息用于將DTMF與話(huà)音或音樂(lè)區(qū)別開(kāi)來(lái))。Goertzel算法的特點(diǎn)Goertzel算法的IIR濾波器84行頻/列頻及相應(yīng)的系數(shù)行頻/列頻及相應(yīng)的系數(shù)85有效性檢查信號(hào)強(qiáng)度

DTMF行頻、列頻信號(hào)之和的強(qiáng)度是否達(dá)到一定的門(mén)限值有效性檢查信號(hào)強(qiáng)度86有效性檢查扭曲度

標(biāo)準(zhǔn)扭曲:行頻峰值>列頻峰值4dB反向扭曲:

列頻峰值>行頻峰值8dB有效性檢查扭曲度87有效性檢查二次諧波強(qiáng)度

以便將DTMF信號(hào)與其他語(yǔ)音信號(hào)、音樂(lè)信號(hào)等區(qū)別開(kāi)來(lái)。有效性檢查二次諧波強(qiáng)度88有效性檢查數(shù)字信息的穩(wěn)定性

如果一個(gè)數(shù)字成功地檢測(cè)到兩次,認(rèn)為該數(shù)字是穩(wěn)定的有效性檢查數(shù)字信息的穩(wěn)定性89有效性檢查數(shù)字信息的有效性

檢測(cè)到的數(shù)字前面必須是靜音符時(shí),該數(shù)字才是有效的,以便將各次擊鍵區(qū)別開(kāi)來(lái)有效性檢查數(shù)字信息的有效性90

91

92編碼器對(duì)速度和存儲(chǔ)器的要求編碼器對(duì)速度和存儲(chǔ)器的要求93解碼器對(duì)速度和存儲(chǔ)器的要求解碼器對(duì)速度和存儲(chǔ)器的要求94DSP芯片選擇算法對(duì)DSP芯片計(jì)算速度的要求系統(tǒng)的管理(如任務(wù)管理、進(jìn)程管理、存儲(chǔ)器管理、I/O管理等)對(duì)DSP的要求片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器的要求(包括容量的要求和速度的要求)DSP芯片選擇算法對(duì)DSP芯片計(jì)算速度的要求95DSP芯片選擇對(duì)外設(shè)(如串口、并口、定時(shí)器、總線寬度、等待狀態(tài)等)的要求DSP封裝對(duì)印制板的設(shè)計(jì)影響甚大開(kāi)發(fā)環(huán)境技術(shù)支持性能價(jià)格比DSP芯片選擇96DSP芯片的速度DSP芯片的速度97DSP的片內(nèi)存儲(chǔ)器DSP的片內(nèi)存儲(chǔ)器98DSP的外設(shè)DSP的外設(shè)99BGA(BALLGRIDARRAY)BGA(BALLGRIDARRAY)100PLCC(PLASTICJ-LEADEDCHIPCARRIER)PLCC(PLASTICJ-LEADEDCHIPCAR101PQFP(PLASTICQUADFLATPACK)PQFP(PLASTICQUADFLATPACK)102PDLP(PLASTICDUAL-IN-LINEPACKAGE)PDLP(PLASTICDUAL-IN-LINEPACK103LCCC(LEADLESSCERAMICCHIPCARRIER)LCCC(LEADLESSCERAMICCHIPCAR104系統(tǒng)設(shè)計(jì)硬件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)設(shè)計(jì)工作軟件測(cè)試軟件功能框圖(指標(biāo)分配)電原理圖印制板(數(shù)字與模擬電路,接地,電源,多層板)系統(tǒng)設(shè)計(jì)硬件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)設(shè)計(jì)功能框圖(指標(biāo)分配)105系統(tǒng)的實(shí)現(xiàn)從C程序作起

用CCompiler將C源程序編譯成為匯編語(yǔ)言源程序,然后匯編、連接后輸出可執(zhí)行代碼;也可以使用shell程序,將編譯、匯編、連接一齊完成系統(tǒng)的實(shí)現(xiàn)從C程序作起106工程問(wèn)題的DSP實(shí)現(xiàn)(一)課件107

108源程序分析器

輸入是C源文件。讀入源語(yǔ)句,檢查語(yǔ)法和語(yǔ)意錯(cuò)誤,寫(xiě)出一個(gè)中間文件(.if)源程序分析器輸入是C源文件。讀入源語(yǔ)句,檢查109優(yōu)化器

可選擇項(xiàng)。其輸入是分析器產(chǎn)生的中間文件(.if)。當(dāng)運(yùn)行優(yōu)化器時(shí),用戶(hù)可以選擇優(yōu)化的層次。產(chǎn)生一個(gè)與中間文件格式相同的高效率版本。優(yōu)化器可選擇項(xiàng)。其輸入是分析器產(chǎn)生的中間文件110代碼生成器

輸入是分析器或優(yōu)化器產(chǎn)生的中間文件(.if或.opt文件),產(chǎn)生一個(gè)匯編語(yǔ)言源文件代碼生成器輸入是分析器或優(yōu)化器產(chǎn)生的中間文件111內(nèi)部列表公用程序

輸入是C編譯器產(chǎn)生的匯編語(yǔ)言源程序和C源程序。產(chǎn)生的是按C文件的語(yǔ)句展開(kāi)的匯編語(yǔ)言源文件內(nèi)部列表公用程序輸入是C編譯器產(chǎn)生的匯編語(yǔ)言112匯編器和連接器匯編器的輸入是代碼生成器產(chǎn)生的匯編語(yǔ)言文件,產(chǎn)生COFF目標(biāo)文件連接器的輸入是匯編器產(chǎn)生的COFF目標(biāo)文件,產(chǎn)生可執(zhí)行的目標(biāo)文件匯編器和連接器匯編器的輸入是代碼生成器產(chǎn)生的匯編語(yǔ)言文件,產(chǎn)113運(yùn)行C編譯器cl500[-options]filenames[-z[link_options][objectfiles]]cl500調(diào)用編譯器和匯編器的命令。-options影響編譯器處理輸入文件的途徑filenames一個(gè)或多個(gè)C源文件、匯編語(yǔ)言源文件,或目標(biāo)文件。-z運(yùn)行連接器的選擇項(xiàng)。link_options影響連接器處理輸入文件的途徑objectfiles命名編譯器產(chǎn)生的目標(biāo)文件運(yùn)行C編譯器cl500[-options]filena114cl500-qsymtabfileseek.asm–z

編譯文件symtab和file,匯編第三個(gè)文件seek.asm,連接這三個(gè)文件,并使用quiet選擇項(xiàng),抑制輸出處理信息cl500-qsymtabfileseek.115如果不使用-q選擇項(xiàng),就會(huì)輸出以下處理信息:[symtab]TMS320C54xANSICCompilerVersionx.xxCopyright(c)1997TexasInstrumentsIncorporated“symtab.c”==>main“symtab.c”==>lookupTMS320C54xANSICCodegenVersionx.xxCopyright(c)1997TexasInstrumentsIncorporated“symtab.c”==>main“symtab.c”==>lookup如果不使用-q選擇項(xiàng),就會(huì)輸出以下處理信息:[symtab]116

TMS320C54xCOFFAssemblerversionx.xxCopyright?1997TexasInstrumentsIncorporatedPASS1PASS2NoErrors,NoWarningsTMS320C54xCOFFAssemblerve117匯編器輸出的列表文件:1*******************************************2**Assembleintothe.textsection.**3*******************************************40000 .text50000e800 LD#0,A6*******************************************7**Allocate4wordsin.bssforTEMP.**8*******************************************90000 Var_1: .bssTEMP,410匯編器輸出的列表文件:1*****************118

11*******************************************12**Stillin.text**13*******************************************140001f000 ADD#56h,A00020056150003f066 MPY#73h,A000400731611**************************119

17*******************************************18**Allocate100wordsin.bssforthe**19**symbolnamedARRAY;thispartof**20**.bssmustfitonasinglepage.**21*******************************************220004 .bss ARRAY,100,12324*******************************************25**Assemblemorecodeinto.text.**26*******************************************2700058000- STLA,Var_12817**************************120

29*******************************************30**Declareexternal.bsssymbols.**31*******************************************32.globalARRAY,TEMP33.end29**************************121連接器-m選擇項(xiàng)建立映射列表文件-mfilename該連接器映射列表描述:存儲(chǔ)器劃分輸入與輸出段的位置外部符號(hào)重新定位后的地址連接器-m選擇項(xiàng)建立映射列表文件-mfilename122

當(dāng)沒(méi)有發(fā)現(xiàn)錯(cuò)誤時(shí),連接器就建立一個(gè)輸出模塊,省缺名為a.out。也可以使用-o選擇項(xiàng),將輸出模塊寫(xiě)入另外的文件:-ofilename其中的文件名就是新的輸出模塊的文件名當(dāng)沒(méi)有發(fā)現(xiàn)錯(cuò)誤時(shí),連接器就建立一個(gè)輸出模塊,123lnk500–orun.outfile1.objfile2.obj

將ile1.obj和file2.obj連接起來(lái),建立一個(gè)名為run.out的輸出模塊lnk500–orun.outfile1.obj124可以將上述文件名及選擇項(xiàng),再加上注釋寫(xiě)入一個(gè)命令文件link.cmd

:a.obj /*Firstinputfilename*/b.obj /*Secondinputfilename*/-oprog.out/*Optiontospecifyoutputfile*/-mprog.map/*Optiontospecifymapfile*/并用該命令文件來(lái)調(diào)用連接器:lnk500link.cmd可以將上述文件名及選擇項(xiàng),再加上注釋寫(xiě)入一個(gè)命令文件link125包含連接器偽指令的命令文件:a.objb.objc.obj

/*Inputfilenames*/-oprog.out-mprog.map

/*Options*/MEMORY

/*MEMORYdirective*/{RAM:origin=100h

length=0100hROM:origin=01000h

length=0100h}SECTIONS

/*SECTIONSdirective*/{.text:>ROM.data:>ROM.bss:>RAM}包含連接器偽指令的命令文件:a.objb.objc.ob126MEMORY

{

PAGE0:name1[(attr)]:origin=constant,length=constant;

PAGEn:namen[(attr)]:origin=constant,length=constant;

}

PAGE說(shuō)明一個(gè)存儲(chǔ)器空間。用戶(hù)最多可以說(shuō)明255頁(yè)。通常,page0是程序存儲(chǔ)器,page1是數(shù)據(jù)存儲(chǔ)器。name命名一個(gè)存儲(chǔ)器范圍。一個(gè)存儲(chǔ)器的名字可以是1—8個(gè)字符,其中包括A—Z,a—z,$,.,_。MEMORY

{

PAGE0:name1[(at127

Attr存儲(chǔ)器的屬性:R存儲(chǔ)器可讀W存儲(chǔ)器可寫(xiě)X存儲(chǔ)器可包含可執(zhí)行代碼I存儲(chǔ)器可以初始化Attr存儲(chǔ)器的屬性:128

origin指定存儲(chǔ)器的開(kāi)始地址length指定存儲(chǔ)器范圍的長(zhǎng)度。fill為存儲(chǔ)器范圍指定一個(gè)填入的字符,其值是2-byte的整常數(shù)。origin指定存儲(chǔ)器的開(kāi)始地址129TMS320C54x省缺的地址配置:MEMORY{PAGE0:PROG:origin=0x0080length=0xFF00PAGE1:DATA:origin=0x0080length=0xFF80}SECTIONS{.text:PAGE=0.data:PAGE=0.cinit:PAGE=0;cflagoptiononly.bss:PAGE=1}TMS320C54x省缺的地址配置:MEMORY130連接器使用舉例

本例連接三個(gè)目標(biāo)文件demo.obj、fft.obj和tables.obj,并建立輸出文件demo.out。符號(hào)SETUP是程序的輸入點(diǎn)。連接器使用舉例131連接器命令文件demo.cmd/******************************************************//***SpecifyLinkerOptions***//*******************************************************/-ecoeff

/*Definetheprogramentrypoint*/-odemo.out

/*Nametheoutputfile*/-mdemo.map

/*Createanoutputmap*//*******************************************************//***SpecifytheInputFiles***//*******************************************************/demo.objfft.objtables.obj連接器命令文件demo.cmd/*************132

/**********************************************************//***SpecifytheMemoryConfigurations***//**********************************************************/MEMORY{PAGE0:RAM_PG:origin=00080h

length=06F80hROM:

origin=0C000h

length=03F80hPAGE1:ONCHIP:origin=00080h

length=0F7FhEXT:

origin=01000h

length=0EFFFh}/****************************133

/*******************************************************//***SpecifytheOutputSections***//*******************************************************/SECTIONS{.text:

load=ROM,page=0

/*link.textintoROM*/var_defs:

load=ONCHIP,page=1

/*defsinRAM*/.data:

fill=07A1Ch,load=ONCHIP,page=1{tables.obj(.data)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論