久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5487|回復(fù): 0
收起左側(cè)

基于TMS320C5410 DSP芯片的簡單數(shù)字錄音機(jī)設(shè)計 附代碼

[復(fù)制鏈接]
ID:505077 發(fā)表于 2019-4-4 22:01 | 顯示全部樓層 |閱讀模式
隨著數(shù)字信號處理技術(shù)的迅速發(fā)展,錄音也已經(jīng)進(jìn)入了數(shù)字化的時代。DSP(Digital Signal Processor)為數(shù)字信號處理提供了高效而可靠的硬件基礎(chǔ),已經(jīng)廣泛應(yīng)用于高速自動控制、圖像處理、通信技術(shù)、無線電、語音處理、網(wǎng)絡(luò)設(shè)備、醫(yī)療設(shè)備、儀器儀表和家電等領(lǐng)域。本設(shè)計中所使用的TMS320VC5410就是設(shè)計適用于語音信號處理的DSP芯片。
本文首先對DSP數(shù)字錄音的軟硬件開發(fā)環(huán)境進(jìn)行了介紹,著重論述了AIC32和TMS320C5410的設(shè)計方法、指令系統(tǒng)和內(nèi)部結(jié)構(gòu)以及TMS320C5410的集成開發(fā)環(huán)境CCS。最后,通過在DSP集成開發(fā)環(huán)境CCS上的設(shè)計、仿真和調(diào)試,實現(xiàn)了在DSP實驗箱上進(jìn)行數(shù)字錄音和語音信號處理的設(shè)計功能。

1.開發(fā)軟件簡介.....1
2.數(shù)字錄音機(jī)的原理....2
2.1 TMS320C5410芯片....2
2.2 AIC23芯片.....4
3.硬件電路....6
4調(diào)試過程及結(jié)果分析...8
5.總結(jié)及體會.....8

1.開發(fā)軟件簡介
本次課程設(shè)計采用CCS軟件
CCS5000具有一下特性:
              TI編譯器的完全集成的環(huán)境:
CCS5000目標(biāo)管理系統(tǒng),內(nèi)建編輯器,所有的調(diào)試和分析能力集成在一個Windows環(huán)境中。
              對C和DSP匯編文件的目標(biāo)管理:
目標(biāo)編輯器保持對所有文件及相關(guān)內(nèi)容的跟蹤。它只對最近一次編譯中改變過的文件重新編譯,以節(jié)省編譯時間。
              高集成的編輯器調(diào)整C和DSP匯編代碼:
CCS5000的內(nèi)建編輯器支持C和匯編文件的動態(tài)語法加亮顯示。使用戶能很容易地閱讀代碼和當(dāng)場發(fā)現(xiàn)語法錯誤。
              編輯和調(diào)試時的后臺編輯:
用戶在使用編譯器和匯編器時沒有必要退出系統(tǒng)到DOS環(huán)境中,因為CCS5000會自動將這些工具裝載在它的環(huán)境中。在其窗口中,錯誤會加亮顯示只要雙擊錯誤就可以直接到達(dá)出錯處。
              在含有浮點并行調(diào)試管理器(PDM)的原有的MS窗口下支持多處理器CCS5000在 Windows95和Windows-me中支持多處理。PDM(調(diào)試管理器)允許將命令傳播給所有的或所選擇的處理器。
              在任何算法點觀察信號的圖形窗口探針:
圖形顯示窗口使用戶能夠觀察時域或頻域內(nèi)的信號。對于頻域圖,F(xiàn)FT(快速傅立葉變換)在主機(jī)內(nèi)執(zhí)行,這樣就可以觀察所感興趣的部分而無須改變它的DSP代碼。圖顯示也可以同探針連接,當(dāng)前顯示窗口被更新時,探針被指定,這樣當(dāng)代碼執(zhí)行到達(dá)該點時,就可以迅速地觀察到信號。
              文件探針在算法處通過文件提取或加入信號或數(shù)據(jù):
CCS5000允許用戶從PC機(jī)讀或?qū)懶盘柫。而不是實時的讀信號,這就可以用已知的例子來仿真算法。
              圖形分析:
CCS5000的圖形分析能力在其環(huán)境中是集成的。
              在后臺(系統(tǒng)命令)執(zhí)行用戶的DOS程序:
用戶可以執(zhí)行CCS5000中的DOS程序,并將其輸出以流水方式送到CCS5000的輸出窗口。且允許用戶將應(yīng)用程序集成到CCS5000。
              技術(shù)狀態(tài)觀察窗口:
CCS5000的可視窗口允許用戶進(jìn)入C表達(dá)式及相關(guān)變量。結(jié)構(gòu)、數(shù)組、指針都能很簡單地遞歸擴(kuò)展和減少,以便進(jìn)入復(fù)雜結(jié)構(gòu)。
              代數(shù)分解窗口:
允許用戶選擇查看寫成代數(shù)表達(dá)式的C格式,提高可讀性 。
              目標(biāo)DSP上的幫助:
DSP結(jié)構(gòu)和寄存器上的在線幫助可以使用戶不必查看技術(shù)手冊。
              用戶擴(kuò)展:
擴(kuò)展語言(GEL)使得用戶可以將自己的菜單項加到CCS5000的菜單欄中。

2.數(shù)字錄音機(jī)的原理
數(shù)字化技術(shù)的迅速發(fā)展,語音信號數(shù)字處理技術(shù)也不斷成熟,可編程器件和功能強(qiáng)大的數(shù)字信號處理器(DSP)的廣泛應(yīng)用,傳統(tǒng)的模擬音像設(shè)備大量地被各種數(shù)字設(shè)備所代替。然而,便攜式的錄音設(shè)備仍以各種模擬媒質(zhì)為主,如常用的磁帶錄音機(jī)。如果要將其錄音以數(shù)字形式的數(shù)據(jù)保存,則應(yīng)將其模擬錄音信號變換成數(shù)字形式的數(shù)據(jù),這就給原始數(shù)據(jù)的保存帶來諸多不便。因此,本文設(shè)計了一款DSP數(shù)字錄音機(jī)。   
所謂數(shù)字信號處理,是用數(shù)字或符號的序列來表示信號,通過數(shù)字計算機(jī)或?qū)iT的數(shù)字信號處理器去處理這些序列,提取其中的有用信息。例如:對信號的濾波,增強(qiáng)信號的有用分量,消弱無用分量;或是估計信號的某些特征參數(shù)等?傊彩怯脭(shù)字方式對信號進(jìn)行濾波、變換、增強(qiáng)、壓縮、估計和識別等,都是數(shù)字信號處理的研究對象。
目前,大多數(shù)的DSP系統(tǒng)主要應(yīng)用在高速控制、移動通信、雷達(dá)等方面。本系統(tǒng)將DSP技術(shù)引入到數(shù)字交換機(jī)錄放音系統(tǒng)中來,就是希望利用DSP的特點、借鑒在移動通信中數(shù)字語音信號處理的一些算法和優(yōu)化,能夠研制開發(fā)出體積小、價格低、實時性高且功能完善的錄音系統(tǒng)。

2.1TMS320C5410芯片

2.1.1TMS320C5410芯片簡介
(1) 16位定點DSP芯片,總線結(jié)構(gòu)為改進(jìn)的哈佛結(jié)構(gòu),內(nèi)部有1個17X17位的乘法器;
(2) 外接晶振最大為40MHz,通過PLL倍頻最高主頻為160MHz;
(3) 片內(nèi)ROM大小為16K×16bit , DARAM大小為8K×16bit, SARAM大小為56K×16bit;
(4) 3組多通道緩沖串行口(McBSP),DMA,主機(jī)接口HPI
(5) 通用IO引腳(BIO與XF),外部中斷引腳INT0,INT1,INT2,INT3與NMI
C5410中的DARAM分成若干塊。由于在每個機(jī)器周期內(nèi),允許對同一DARAM塊尋址(訪問)2次,因此CPU可以在一個機(jī)器周期內(nèi)對同一DARAM塊讀出一次和寫入一次。一般情況下,DARAM總是映象到數(shù)據(jù)存儲器空間,主要用于存放數(shù)據(jù)。但是,它也可以映象到程序存儲器空間,用來存放程序代碼。

2.1.2 TMS320C5410框圖
TMS320C54x DSP 采用先進(jìn)的修正哈佛結(jié)構(gòu)和8總線結(jié)構(gòu),使處理器的性能大大提高。其獨(dú)立的程序和數(shù)據(jù)總線,允許同時訪問程序存儲器和數(shù)據(jù)存儲器,實現(xiàn)高度并行操作。例如,可以在一條指令中,同時執(zhí)行3次讀操作和1次寫操作。此外,還可以在數(shù)據(jù)總線與程序總線之間相互傳送數(shù)據(jù),從而使處理器具有在單個周期內(nèi)同時執(zhí)行算術(shù)運(yùn)算、邏輯運(yùn)算、移位操作、乘法累加運(yùn)算以及訪問程序和數(shù)據(jù)存儲器的強(qiáng)大功能。

2.1.3 TMS320C5410的CPU
先進(jìn)的多總線結(jié)構(gòu)(一條程序總線,3條數(shù)據(jù)總線和4條地址總線);
40位算術(shù)邏輯運(yùn)算單元(ALU),包括1個40位桶形移位寄存器和2個獨(dú)立的40位累加器;
7位*17位并行乘法器,與40位專用加法器相連,用于非流水線式單周期乘法/累加(MAC)運(yùn)算;
比較、選擇、存儲單元(CSSU),用于加法/比較選擇;
指數(shù)編碼器,可以在單個周期內(nèi)計算40位累加器中數(shù)值的指數(shù);
雙地址生成器,包括8個輔助寄存器和2個輔助寄存器算術(shù)運(yùn)算單元(ARAU)。

2.1.4 TMS320C5410存儲器
C54X中的DARAM分成若干塊。由于在每個機(jī)器周期內(nèi),允許對同一DARAM塊尋址(訪問)2次,因此CPU可以在一個機(jī)器周期內(nèi)對同一DARAM塊讀出一次和寫入一次。一般情況下,DARAM總是映象到數(shù)據(jù)存儲器空間,主要用于存放數(shù)據(jù)。但是,它也可以映象到程序存儲器空間,用來存放程序代碼:
192K字可尋址存儲空間(64K字程序存儲器、64K字?jǐn)?shù)據(jù)存儲器以及64K字I/O空間);
片內(nèi)ROM,可配置為程序/數(shù)據(jù)存儲器;
片內(nèi)雙尋址RAM(DARAM);
片內(nèi)單尋址RAM(SARAM);

2.2 AIC23芯片

2.2.1 AIC23基本性能

AIC23是德州儀器公司(TI)生產(chǎn)的高性能音頻A/D、D/A放大電路。外圍接口工作電壓為3.3V,內(nèi)核工作電壓是1.5V,在48kHz采樣率條件下,A/D變換信噪比可達(dá)100dB,其控制口可由硬件設(shè)置為同步置口(SP2)模式或兩線制(2-wire),音頻數(shù)據(jù)接口可采用I2S格式、DSP格式、USB格式及最高位或最低位數(shù)據(jù)調(diào)整格式。音頻數(shù)據(jù)字長可設(shè)置為16、24、20、32位,輸出可直接驅(qū)動耳機(jī),在32位條件下輸出可達(dá)30mW。內(nèi)置前置放大器及偏置電路可直接連接麥克風(fēng)。該芯片功耗很低,在休眠(power-down)狀態(tài)下,功耗小于15uW。

2.2.2 AIC23的內(nèi)部結(jié)構(gòu)框圖

2.2.3 AIC23的控制方式及控制寄存器各位的意義
(1)AIC23的控制接口:AIC23的控制字傳輸可采用兩種方式,即同步串行(SPI)模式和兩線(2-wire)模式,兩種模式由硬件決定。MODE腳接高電平時,控制字傳送用SPI模式,如果MODE腳接低電平時,則采用2-wire模式。在本次實驗中,我們采用SPI模式。
(2)AIC23的控制寄存器
控制寄存器的地址如下表所示:

地址
寄存器功能
0000000
左聲道線路輸入增益控制
0000001
右聲道線路輸入增益控制
0000010
左聲道耳機(jī)音量控制
0000011
右聲道耳機(jī)音量控制
0000100
模擬音頻通道控制
0000101
濾波器控制
0000110
休眠控制寄存器
0001000
采樣率控制
0001001
數(shù)字接口激活控制
0001111
復(fù)位控制

①.左聲道線路輸入控制寄存器
LRS:左/右聲道線路輸入增益控制調(diào)節(jié),0=同步調(diào)節(jié)禁止,1=同步使能
LIM:左聲道線路輸入靜音控制,0=正常,1=靜音
LIV4~0:左聲道音量控制,11111=±12dB,00000=-34.5dB,步距1.5dB/LSB
X:保留
②.右聲道線路輸入控制寄存器
③.左聲道耳機(jī)音量控制寄存器
LSR:左/右聲道音量控制同步調(diào)節(jié),0=同步調(diào)節(jié)不使能,1=同步調(diào)節(jié)使能
LZC:左通道過零偵測(防止干擾進(jìn)入耳機(jī)放大器),0=關(guān),1=開
LHV(6~0):耳機(jī)音量控制,1111111=+6dB,0110000=-73dB
④.右聲道耳機(jī)音量控制寄存器
⑤.濾波器控制寄存器
DACM:D/A變換電路軟件靜音控制,0=不靜音,1=軟件靜音
DEEMP:去加重控制選擇,00=關(guān),01=32kHz,10=44kHz,11=48kHz
ADCHP:A/D高通濾波器,0=關(guān)閉,1=開
⑥.休眠控制器
OFF:芯片休眠控制,0=芯片通電,1=芯片休眠
CLK:時鐘控制,0=時鐘開啟,1=時鐘關(guān)閉
OSC:振蕩器控制,0=振蕩器開啟,1=振蕩器關(guān)閉
OUT:輸出控制,0=輸出開啟,1=輸出關(guān)閉
DAC:D/A變換控制,0=D/A變換開啟,1=D/A變換關(guān)閉
ADC:A/D變換控制,0=A/D變換開啟,1=A/D變換關(guān)閉
MIC:話筒電路控制,0=開啟,1=關(guān)閉
LINE:線路輸入控制,0=開,1=關(guān)
⑦.?dāng)?shù)字音頻接口格式控制寄存器
MS:主/從模式控制位,0=從模式,1=主模式
LRSWAP:D/A左右通道交換控制位,0=不交換,1=交換
LRP:D/A左右數(shù)字聲道幀相位
IWL:數(shù)字音頻字長
FOR:數(shù)字音頻接口格式選擇
3.硬件電路
1、硬件電路圖的主要部分如下圖所示

2、實驗框圖和流程圖




4.調(diào)試過程及結(jié)果分析
調(diào)試過程:
1.在調(diào)試開始的時候,用音頻線連接實驗箱的揚(yáng)聲器和AIC23模塊的LINEOUT或者PHONE端,MIC端口連接一個MIC(這里我們用手機(jī)代替,接入手機(jī)耳機(jī)插口)。
2.打開aic23micphone.pjt工程,這是一個AIC23的程序,編譯。
3.將編譯的aic23micphone.out文件通過              仿真器下載到DSP芯片,執(zhí)行程序。
4.聽到“滴”的一聲以后開始錄音,大概6秒后“滴”的一聲是錄音結(jié)束,接著DSP會循環(huán)回放剛才錄的聲音。如果想再次錄音則需要再次下載并運(yùn)行。
結(jié)果分析
在連接好實驗設(shè)備之后,在手機(jī)里上隨意播放一個音頻文件播放后,可以錄制6秒時間內(nèi)的內(nèi)容,循環(huán)播放。
5.設(shè)計總結(jié)及體會
本次課程設(shè)計是采用TMS320C5410作為語音錄放實現(xiàn)的核心硬件,以AIC23作為數(shù)模轉(zhuǎn)換芯片來實現(xiàn)整個硬件系統(tǒng)。在整個設(shè)計過程中,我們采用了以帶有A/D轉(zhuǎn)換器的AIC23DSP芯片為核心音頻錄放接口器件,結(jié)合TMS320C5410DSP芯片,進(jìn)行了硬件設(shè)計。軟件部分則采用模塊化的設(shè)計方法,用匯編語言來實現(xiàn)。
通過本次課程設(shè)計,進(jìn)一步了解了本門課程《DSP原理及應(yīng)用》。雖然錄音機(jī)很簡陋,但基本模型已具備;但過程中還是有不懂的問題,幸好有老師在,才得以解答我的疑惑;總的來說,本次課程設(shè)計的結(jié)束是非常圓滿的。
  1.                    .title "AIC23.asm"
  2.                    .mmregs
  3.                    .bss   timetemp,1
  4.                    .bss   addrtemp,1
  5. audio_in                               .usect "buf",0C000h
  6. ;定義MCBSP0的各個寄存器            
  7. bsp2               .set  35h                 
  8. drr22              .set  30h
  9. drr12              .set  31h
  10. dxr22              .set  32h
  11. dxr12              .set  33h
  12. spsa2              .set  34h

  13. bsp0               .set  39h                 
  14. drr20              .set  20h
  15. drr10              .set  21h
  16. dxr20              .set  22h
  17. dxr10              .set  23h
  18. spsa0              .set  38h
  19. spcr10             .set  00h
  20. spcr20             .set  01h
  21. rcr10              .set  02h
  22. rcr20              .set  03h
  23. xcr10              .set  04h
  24. xcr20              .set  05h
  25. srgr10             .set  06h
  26. srgr20             .set  07h
  27. pcr0               .set  0eh
  28. cpldport1          .set  2000h

  29.                    .def  _c_int00,_McBSP_txisr,_McBSP_rvisr
  30.                    .data
  31. audio_table:
  32.                                                                       .word 07ff5H,05842H,0fcdcH,0a34dH,0800bH,0a7beH,0324H,05cb3H
  33.                                                                       .word 07ff5H,05842H,0fcdcH,0a34dH,0800bH,0a7beH,0324H,05cb3H   

  34.                    .text
  35. _c_int00:          stm #7000h,swwsr              ;等待0個時鐘
  36.                                                                       ssbx intm
  37.                     STM #0b, CLKMD ;switch to DIV mode



  38. TstStatu:
  39.                                                                       LDM CLKMD, A
  40.                                                                       AND #01b, A ;poll STATUS bit
  41.                                                                       BC TstStatu, ANEQ
  42.                                                                       STM #0100001111101111b, CLKMD ;switch to PLL
  43.                                                                       RPT #10000
  44.                                                                       NOP
  45.                     rsbx cpl                    ;清CPL位=0
  46.                     ;初始化cpu完畢,開始初始化MCBSP0
  47.                     stm #216ch,pmst
  48.                     stm #0080h,              imr
  49.                     stm #0FFFFh,              ifr
  50.                     stm  #0001h,ar1
  51.                     portw ar1,cpldport1           ;切換字寫到CPLD控制寄存器,轉(zhuǎn)為控制字輸出
  52.                     rpt #400
  53.                     nop                         ;等400個周期

  54.                     ld #00h,dp
  55.                     stm #spcr10,spsa0            ;接收復(fù)位
  56.                     stm #0000h,bsp0
  57.                     stm #spcr20,spsa0            ;發(fā)送、采樣、幀復(fù)位
  58.                     stm #0000h,bsp0
  59.                     stm #spcr10,spsa0            ;12、11位為10,進(jìn)入SPI模式,7位(DXENA)為0,不起動DX延時
  60.                     stm #1000h,bsp0
  61.                     stm #pcr0,spsa0              ;1位置1,數(shù)據(jù)下沿發(fā)送上沿接收,3位置1,幀同步為低電平有效,9位置1?BLCK輸出,11位置1,BFSX腳為高電澆                  
  62.                     stm #0a0ah,bsp0
  63.                     stm #srgr10,spsa0            ;7~0位置64h(100),100分頻
  64.                     stm #0064h,bsp0
  65.                     stm #srgr20,spsa0            ;13位置1,時鐘源于CPU,12位置0,發(fā)送幀同步
  66.                     stm #2000h,bsp0
  67.                     stm #rcr10,spsa0             ;14~8位置0,一幀一個字,7~5位為010,一個字16位
  68.                     stm #0040h,bsp0
  69.                     stm #rcr20,spsa0             ;15位置0,單階段幀,1、0位置01保證SPI正常工作
  70.                     stm #0001h,bsp0
  71.                     stm #xcr10,spsa0             ;14~8位置0,一幀一個字,7~5位為010,一個字16位
  72.                     stm #0040h,bsp0
  73.                     stm #xcr20,spsa0             ;15位置0,單階段幀,1、0位置01保證SPI正常工作
  74.                     stm #0001h,bsp0
  75.                     stm #spcr20,spsa0            ;6位GRST為1,采樣脫離復(fù)位,F(xiàn)RST是否要脫離復(fù)位?
  76.                     orm #0040h,bsp0
  77.                     rpt #400                    ;等兩個以上位時鐘
  78.                     nop
  79.                     stm #spcr10,spsa0            ;接收離開復(fù)位
  80.                     orm #0001h,bsp0
  81.                     stm #spcr20,spsa0            ;發(fā)送離開復(fù)位
  82.                     orm #0001h,bsp0
  83.                     rpt #400
  84.                     nop   
  85. LOOP2   
  86.                     ;初始化AIC23為DAC、ADC、CLKOUT、DSP模式結(jié)束
  87.                     stm #1e00h,dxr10           
  88.                     rpt #3000                  
  89.                     nop
  90.                     stm #05ffh,dxr10            ;過零偵測開,音量為6dB
  91.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  92.                     nop
  93.                     stm #07ffh,dxr10            ;過零偵測開,音量為6dB
  94.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  95.                     nop
  96.                     stm #0914h,dxr10            ;伴音使能,DAC使能,MIC輸入、BYPASS不使能
  97.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  98.                     nop
  99.                     stm #0a02h,dxr10            ;DAC靜音不使能,去加重為32KHz,ADC高通濾波器不使能
  100.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  101.                     nop
  102.                     stm #0097h,dxr10            ;左聲道線路輸入0dB,線路輸入靜音
  103.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  104.                     nop
  105.                     stm #0297h,dxr10            ;右聲道線路輸入0dB,線路輸入靜音
  106.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  107.                     nop
  108.                     stm #0C01h,dxr10            ;POWER、CLOCK、OSC、OUT、DAC、ADC、MIC打開line in關(guān)閉
  109.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  110.                     nop
  111.                     stm #0e53h,dxr10            ;6位為1,AIC23在DSP模式中為主器件,4位為1,第二個時鐘上沿數(shù)據(jù)可用,字長16位,DSP模式
  112.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  113.                     nop
  114.                     stm #100Dh,dxr10            ;USB模式,8KHz采樣率,輸入時鐘為MCLK,輸出時鐘為MCLK
  115.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  116.                     nop
  117.                     stm #1201h,dxr10            ;數(shù)字接口激活
  118.                     rpt #3000                   ;延時等待數(shù)據(jù)傳送完畢
  119.                     nop
  120.                     ; B LOOP2
  121.                     ;AIC23的DAC輸出設(shè)置結(jié)束,開始輸出音頻數(shù)據(jù)
  122.                     ;開始設(shè)置MCBSP2為DSP模式從器件,            
  123.                     stm #spcr10,spsa2            ;RRST為0接收復(fù)位
  124.                     stm #0000h,bsp2
  125.                     stm #spcr20,spsa2            ;XRST為0,GRST為0,F(xiàn)RST為0發(fā)送、采樣、幀復(fù)位
  126.                     stm #0000h,bsp2
  127.                     stm #spcr10,spsa2            ;5、4位為00,接收完成產(chǎn)生中斷,進(jìn)入非SPI模式,7位(DXENA)為0,不起動DX延時
  128.                     stm #0000h,bsp2
  129.                     stm #spcr20,spsa2            ;5、4位為00,發(fā)送完成產(chǎn)生中斷,采樣,幀同步復(fù)位
  130.                     stm #0200h,bsp2
  131.                     stm #pcr0,spsa2              ;幀同步,采樣為外部輸入,外部時鐘極性反相                  
  132.                     stm #0006h,bsp2
  133.                     stm #rcr10,spsa2             ;14~8位置0,一幀兩個字,7~5位為010,一個字16位
  134.                     stm #0140h,bsp2
  135.                     stm #rcr20,spsa2             ;15位置0,單階段幀,第二階一個字,16位字長1、0位置01延遲一個位時鐘數(shù)據(jù)有效
  136.                     stm #0001h,bsp2
  137.                     stm #xcr10,spsa2             ;14~8位置0,一幀兩個字,7~5位為010,一個字16位
  138.                     stm #0140h,bsp2
  139.                     stm #xcr20,spsa2             ;15位置0,單階段幀,第二階一個字,16位字長1、0位置01延遲一個位時鐘數(shù)據(jù)有效
  140.                     stm #0001h,bsp2
  141.                     rpt #40                      ;等兩個以上位時鐘
  142.                     nop
  143.                     stm #0000h,dxr12             ;傳起始數(shù)據(jù)到AIC23
  144.                     stm #0000h,dxr22
  145.                     rpt #400                     ;等兩個以上位時鐘
  146.                     nop
  147.                     ;MCBSP0口設(shè)置為DSP模式結(jié)束,輸出數(shù)據(jù)
  148.                     nop
  149.                     stm #drr12,              ar5
  150.                                                                       ldu  *ar5,              a
  151.                                                                       stm #drr22,              ar5
  152.                                                                       ldu  *ar5,              a
  153.                                                                       st  #audio_table,              ar5
  154.                                                                       st              #15,              *(timetemp)
  155.                                                                       st  #audio_table, *(addrtemp)
  156.                                                                       st  #15,    ar4
  157.                                                                       rsbx intm
  158.                     stm #spcr20,spsa2            ;發(fā)送離開復(fù)位
  159.                     orm #0001h,bsp2
  160.                     nop
  161.                     nop

  162.                                                                       stm #4000h,brc
  163.                     rptb delay1s-1
  164.                     rpt #01800h
  165.                     nop
  166. delay1s:            nop
  167.                                                                       ssbx intm
  168.                                                                       stm #spcr20,spsa2            ;發(fā)送結(jié)束
  169.                     orm #0000h,bsp2
  170.                                                                       stm #2000h,brc
  171.                     rptb delay2s-1
  172.                     rpt #01800h
  173.                     nop
  174. delay2s:            nop
  175.                                                                       stm #spcr10,spsa2            ;接收離開復(fù)位
  176.                     orm #0001h,bsp2
  177.                                                                       stm #0040h,              imr
  178.                     stm #0040h,              ifr
  179.                                                                       st  #audio_in,              ar5
  180.                                                                       st  #0Bfffh, ar4
  181.                                                                       rsbx intm
  182. loop4
  183.                                                                       ldm ar4,b
  184.                                                                       nop
  185.                                                                       nop
  186.                                                                       bc mic,beq
  187.                               b  loop4
  188. mic
  189.                                                                       ssbx intm
  190.                                                                       stm #spcr10,spsa2            ;RRST為0接收復(fù)位
  191.                     stm #0000h,bsp2
  192.                     stm #spcr20,spsa2            ;XRST為0,GRST為0,F(xiàn)RST為0發(fā)送、采樣、幀復(fù)位
  193.                     stm #0000h,bsp2
  194.                     stm #spcr10,spsa2            ;5、4位為00,接收完成產(chǎn)生中斷,進(jìn)入非SPI模式,7位(DXENA)為0,不起動DX延時
  195.                     stm #0000h,bsp2
  196.                     stm #spcr20,spsa2            ;5、4位為00,發(fā)送完成產(chǎn)生中斷,采樣,幀同步復(fù)位
  197.                     stm #0200h,bsp2
  198.                     stm #pcr0,spsa2              ;幀同步,采樣為外部輸入,外部時鐘極性反相                  
  199.                     stm #0006h,bsp2
  200.                     stm #rcr10,spsa2             ;14~8位置0,一幀兩個字,7~5位為010,一個字16位
  201.                     stm #0140h,bsp2
  202.                     stm #rcr20,spsa2             ;15位置0,單階段幀,第二階一個字,16位字長1、0位置01延遲一個位時鐘數(shù)據(jù)有效
  203.                     stm #0001h,bsp2
  204.                     stm #xcr10,spsa2             ;14~8位置0,一幀兩個字,7~5位為010,一個字16位
  205.                     stm #0140h,bsp2
  206.                     stm #xcr20,spsa2             ;15位置0,單階段幀,第二階一個字,16位字長1、0位置01延遲一個位時鐘數(shù)據(jù)有效
  207.                     stm #0001h,bsp2
  208.                     rpt #40                                                                         ;等兩個以上位時鐘
  209.                     nop                 
  210.                     stm #0000h,dxr12             ;傳起始數(shù)據(jù)到AIC23
  211.                     stm #0000h,dxr22
  212.                     stm #0080h,              imr
  213.                     stm #0080h,              ifr
  214.                                                                       stm #spcr20,spsa2            ;發(fā)送離開復(fù)位
  215.                     orm #0001h,bsp2
  216.                     nop
  217.                     nop
  218.                     st  #audio_table,              ar5
  219.                                                                       st              #15,              *(timetemp)
  220.                                                                       st  #audio_table, *(addrtemp)
  221.                                                                       st  #15,    ar4
  222.                                                                       rsbx intm
  223.                                                              stm #3000h,brc
  224.                     rptb delay3s-1
  225.                     rpt #01800h
  226.                     nop
  227. delay3s:            nop
  228.                                                                       st  #audio_in,              ar5
  229.                                                                       st              #0bfffh,              *(timetemp)
  230.                                                                       st  #audio_in, *(addrtemp)
  231.                                                                       st  #0bfffh,    ar4
  232.                                                                       b  $

  233.                                                                                        
  234. _McBSP_txisr:

  235.                                                                       ld   *ar5+,              A
  236.                                                                       stlm              a,              dxr12
  237.                                                                       stlm              a,              dxr22
  238.                                                                       nop
  239.                                                                       nop
  240.                                                                       banz  goon,              *ar4-
  241.                                                                       mvdm  timetemp,              ar4
  242.                                                                       mvdm  addrtemp,              ar5                                                      
  243. goon                                                      
  244.                                                                       nop
  245.                                                                       nop            
  246.                                                                       rete   
  247. _McBSP_rvisr:
  248.                                                                      
  249.                                                      stm #drr12,              ar2
  250.                                                                       ldu  *ar2,              a
  251.                                                                       stl              a,              *ar5+  
  252.                                                                       stm #drr22,              ar2
  253.                                                                       ldu  *ar2,              a
  254.                                                                       mar *ar4-                                                                                   
  255. goon2                                                                     
  256.                                                                       reted
  257.                                                                       nop
  258.                                                                       nop
  259.                    .end  
復(fù)制代碼

完整的Word格式文檔51黑下載地址:
aaa.doc (1.95 MB, 下載次數(shù): 52)


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩欧美一区 | 欧美一级小视频 | 精品一区二区不卡 | 国产精品久久久久久久一区二区 | 亚洲精品一区二区 | 粉嫩一区二区三区四区公司1 | h视频在线播放 | 久久久久久国产精品免费免费狐狸 | 欧美a在线 | 国产精品久久久久久网站 | 一区二区三区av夏目彩春 | 欧美色影院 | 欧美群妇大交群中文字幕 | 激情的网站 | 欧一区| 成人午夜视频在线观看 | 狠狠操天天操 | 97av视频在线观看 | 欧美一区二区三区在线观看 | 国产成人精品视频在线观看 | 国产精品成人在线观看 | 99精品热视频 | 国产精品成av人在线视午夜片 | 91人人视频在线观看 | 91免费看片| 精品视频99 | 欧美一区二区三区,视频 | 国产不卡视频在线 | 中文字幕在线一区二区三区 | 日韩欧美不卡 | a级毛片毛片免费观看久潮喷 | 午夜精品一区 | 中文字幕av网 | 亚洲男人天堂网 | 亚洲精品国产成人 | 久久av在线播放 | 欧美激情欧美激情在线五月 | 日日夜夜天天综合 | av黄色免费在线观看 | 少妇黄色| 精品国产91 |