第七章語音信號_第1頁
第七章語音信號_第2頁
第七章語音信號_第3頁
第七章語音信號_第4頁
第七章語音信號_第5頁
已閱讀5頁,還剩114頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第7章章 基于基于DSP的的語音信號的采集和播放系統語音信號的采集和播放系統 在以在以DSP為核心的語音信號處理系統中,為核心的語音信號處理系統中,DSP要完要完成信號的采集運算處理任務,成信號的采集運算處理任務,A/D和和D/A完成語音信號完成語音信號的輸入和輸出。在以的輸入和輸出。在以TMS320VC5509A為核心的語音處為核心的語音處理系統中,采用了專為音頻處理應用設計的編解碼器件理系統中,采用了專為音頻處理應用設計的編解碼器件TLV320AIC23,來完成模擬語音信號的采樣和數字音頻,來完成模擬語音信號的采樣和數字音頻信號的信號的D/A轉換。利用轉換。利用TMS320VC5509A

2、片內多通道緩片內多通道緩沖串口(沖串口(McBSP),通過),通過I2C總線來對總線來對AIC23進行控制進行控制,從而實現具有較強功能的語音處理系統。,從而實現具有較強功能的語音處理系統。目 錄7.1 系統的總體設計系統的總體設計7.2 TLV320AIC23B與與TMS320VC5509A的的 接口設計接口設計7.3 DSP相關片上外設相關片上外設 7.3.1 I2C 7.3.2 McBSP7.4 軟件設計軟件設計7.5 系統展望系統展望 語音信號的采集和播放是語音信號處理的基語音信號的采集和播放是語音信號處理的基礎,礎,DSP是各種語音信號數字處理的平臺。是各種語音信號數字處理的平臺。

3、DSP通過控制語音信號的模數和數模轉換器采通過控制語音信號的模數和數模轉換器采集和播放語音信號,再通過集和播放語音信號,再通過DSP的數字信號處的數字信號處理實現各種語音信號處理的算法。理實現各種語音信號處理的算法。7.1 系統的總體設計系統兩大組成部分 音頻編解碼芯片音頻編解碼芯片 實現數模和模數轉換功能實現數模和模數轉換功能 DSP芯片芯片 控制音頻編解碼芯片采集和播放語音信號,實現語音信號控制音頻編解碼芯片采集和播放語音信號,實現語音信號的采集,然后將語音信號存儲到的采集,然后將語音信號存儲到DSP的內部的內部RAM中,最后中,最后實現語音信號的播放。實現語音信號的播放。系統硬件結構框圖

4、系統硬件結構框圖DSP芯片的選擇uDSP指標指標 處理速度、功耗、程序存儲器和數據存儲器的容量、片內處理速度、功耗、程序存儲器和數據存儲器的容量、片內的資源。的資源。uVC55xx系列特點系列特點 低功耗,適合個人與便攜式上網以及無線通信應用低功耗,適合個人與便攜式上網以及無線通信應用 。處。處理速度在理速度在80MIPS-400MIPS之間之間 。具有。具有MCBSP同步串口、同步串口、HPI并行接口、定時器、并行接口、定時器、DMA等外設等外設 。C55xx的指令長度的指令長度從從8-bit到到48-bit。這種長度可變的指令可以使每個函數的。這種長度可變的指令可以使每個函數的控制代碼量比

5、控制代碼量比C54x降低降低40 ,減少了存儲器的容量,降,減少了存儲器的容量,降低了成本。低了成本。(TMS320VC5509)7.2 TLV320AIC23與TMS320VC5509的接口設計 控制接口控制接口 DSP芯片通過控制接口向音頻處理芯片傳送配置參芯片通過控制接口向音頻處理芯片傳送配置參 數,控制音頻處理芯片的工作狀態。數,控制音頻處理芯片的工作狀態。 數字音頻接口數字音頻接口 通過該接口,音頻處理芯片將采集到的音頻數通過該接口,音頻處理芯片將采集到的音頻數 據傳據傳 給給DSP進行處理,處理過后的音頻數據再由進行處理,處理過后的音頻數據再由DSP通過該通過該 接口傳回給音頻處理

6、芯片,進行數模轉換后播放出來接口傳回給音頻處理芯片,進行數模轉換后播放出來。TLV320AIC23內部結構圖內部結構圖 AIC23與VC5509接口原理圖 J5J6J7J8I2C(主)(從)TLV320AIC23的控制接口接口模式 SPI或者或者I2C選擇理由 在設計中,若采用在設計中,若采用SPI總線,則需要多占用一個總線,則需要多占用一個McBSP)資源,但是很多時候)資源,但是很多時候DSP的的McBSP資源會比資源會比較緊張(比如需要跟近端較緊張(比如需要跟近端RS-232和遠端和遠端RS-485連接),連接),考慮到系統的可擴展性,在設計中采用了通過考慮到系統的可擴展性,在設計中采用

7、了通過I2C總線來總線來配置配置AIC23。MODE接口接口0I2C1SPII2C模式下的時序圖對接口原理圖的說明 MODE接數字地 表示利用I2C控制接口對AIC23傳輸控制數據,定義了I2C總線上AIC23的7bit外設地址“0011010”。 收發時鐘新信號CLKX1和CLKR1由AIC23的串行數據輸入時鐘BCLK提供,并由AIC23的幀同步信號LRCIN、LRCOUT啟動串口數據傳輸。 DX1和DR1分別與AIC23的DIN和DOUT相連,從而完成DSP與AIC23間的數字信號通信。CS STATEADDRESS0001101010011011 AIC23通過麥克風采樣模擬音頻信號或

8、直接輸入模擬音通過麥克風采樣模擬音頻信號或直接輸入模擬音頻信號,然后將其轉換為頻信號,然后將其轉換為DSP可以處理的數字信號。可以處理的數字信號。 當當DSP處理完后,再將數字信號轉換為模擬信號輸出處理完后,再將數字信號轉換為模擬信號輸出,用戶即可利用耳機或揚聲器收聽到高質量的音頻信號。,用戶即可利用耳機或揚聲器收聽到高質量的音頻信號。 5509A與與AIC23的硬件連接示意圖如下圖所示。的硬件連接示意圖如下圖所示。 AIC23通過兩個獨立的通道進行通信,一路控制通過兩個獨立的通道進行通信,一路控制AIC23的端口配置寄存器;另一路發送和接收數字音頻信號。利用的端口配置寄存器;另一路發送和接收

9、數字音頻信號。利用5509A的的I2C總線被用來作為單向控制通道,控制通道只在配總線被用來作為單向控制通道,控制通道只在配置置AIC23時才使用,當傳輸音頻信號時,它一般是空閑的。時才使用,當傳輸音頻信號時,它一般是空閑的。I2C總線是由數據線總線是由數據線SDA和時鐘線和時鐘線SCL構成的串行總線,可發構成的串行總線,可發送和接收數據。送和接收數據。McBSP被用來作為雙向數據通道,所有的音被用來作為雙向數據通道,所有的音頻數據都通過數據通道傳輸。頻數據都通過數據通道傳輸。 AIC23內部具有一個可編程時鐘,由內部具有一個可編程時鐘,由PLL1708 PLL驅動驅動提供。系統的默認時鐘為提供

10、。系統的默認時鐘為18.432MHz。內部的采樣頻率通常。內部的采樣頻率通常由由18.432MHz時鐘分頻產生,例如時鐘分頻產生,例如48kHz或或8kHz。采樣頻率。采樣頻率通過通過AIC23的的SAMPLERATE寄存器設置。寄存器設置。0 0 1 0 0 0 1 1 TLV320AIC23的內部寄存器地址地址寄存器寄存器地址地址寄存器寄存器0000000左輸入聲道音量控制左輸入聲道音量控制0000110電源控制電源控制0000001右輸入聲道音量控制右輸入聲道音量控制0000111數字音頻接口格式數字音頻接口格式0000010耳機左輸入聲道音量耳機左輸入聲道音量控制控制0001000采樣

11、率控制采樣率控制0000011耳機右輸入聲道音量耳機右輸入聲道音量控制控制0001001數字接口激活數字接口激活0000100模擬音頻通道控制模擬音頻通道控制0001111復位寄存器復位寄存器0000101數字音頻通道控制數字音頻通道控制 在在5509A與與AIC23的連接中,的連接中,McBSP的接收和發送工作的接收和發送工作在同步方式下,接收和發送可以獨立配置,利用在同步方式下,接收和發送可以獨立配置,利用5509A的的I2C模塊,可以對模塊,可以對AIC23內部的配置寄存器進行編程配置,內部的配置寄存器進行編程配置,使使AIC23工作在要求的狀態下。工作在要求的狀態下。 首先對首先對55

12、09A的的I2C模塊初始化,圖模塊初始化,圖7-25是是5509A I2C主主從發送控制流程圖,將數據逐次寫入從發送控制流程圖,將數據逐次寫入I2CDXR,并通過,并通過I2C總線發送給總線發送給AIC23,可以完成對,可以完成對AIC23的初始化配置。的初始化配置。5509A I2C主從發送控制流程圖主從發送控制流程圖 由于設置由于設置AIC23接收、處理數據的速度為接收、處理數據的速度為48kHz,程序,程序中發送數據的函數在設備忙的情況下不會返回,而是等待其中發送數據的函數在設備忙的情況下不會返回,而是等待其準備好并接收數據完畢才返回,所以程序中無需使用任何控準備好并接收數據完畢才返回,

13、所以程序中無需使用任何控制數據發送速度的技術。下面給出制數據發送速度的技術。下面給出AIC23初始化的部分源代初始化的部分源代碼。碼。void AIC23_Init() I2C_Init(); / 復位AIC23并打開電源 AIC23_Write(AIC23_RESET_REG, 0); AIC23_Write(AIC23_POWER_DOWN_CTL, 0); AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC ,ANAPCTL_INSEL); / 使用麥克風音源AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0); /

14、打開打開line in音量控制音量控制s AIC23_Write(AIC23_LT_LINE_CTL,0 x000); AIC23_Write(AIC23_RT_LINE_CTL,0 x000); / AIC23工作于主模式,工作于主模式,44.1kHz立體聲立體聲, 16bit采樣采樣 / 輸入時鐘為輸入時鐘為12MHz AIC23_Write(AIC23_DIGITAL_IF_FORMAT, DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP); AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_8 |

15、SRC_BOSR | SRC_MO); / 打開耳機音量控制和數字接口打開耳機音量控制和數字接口 AIC23_Write(AIC23_LT_HP_CTL, 0 x07f); / 0 x79 為麥克風為麥克風 AIC23_Write(AIC23_RT_HP_CTL, 0 x07f); AIC23_Write(AIC23_DIG_IF_ACTIVATE, DIGIFACT_ACT); / 設置設置 McBSP0為從模式為從模式 McBSP0_InitSlave();7.3 DSP相關片上外設時鐘發生器時鐘發生器 外部時鐘信號從外部時鐘信號從CLKIN引腳輸入,在內部修改這個信號,來引腳輸入,在內部

16、修改這個信號,來產生希望頻率的輸出時鐘。時鐘發生器將這個輸出時鐘送給產生希望頻率的輸出時鐘。時鐘發生器將這個輸出時鐘送給CPU、外設和其它內部模塊。、外設和其它內部模塊。I2C模塊模塊 發送配置參數給發送配置參數給TLV320AIC23。McBSP 和和TLV320AIC23實現無縫連接,傳送音頻數據。實現無縫連接,傳送音頻數據。DSP時鐘發生器時鐘發生器CLKINCPU時鐘時鐘CLKDIVCLKOUTCPU、外設或者其他器件、外設或者其他器件圖1-3 時鐘輸出時鐘發生器 時鐘發生器,它可以利用數字鎖相環(時鐘發生器,它可以利用數字鎖相環(DPLL)分頻)分頻或者倍頻輸入時鐘頻率(從或者倍頻輸

17、入時鐘頻率(從CLKIN引腳接收),然后分引腳接收),然后分別送到別送到CPU、外設和、外設和C55x DSP內的其他模塊,以使它們內的其他模塊,以使它們工作在所要的時鐘頻率。工作在所要的時鐘頻率。可編程分頻器可編程分頻器7.3.1 I2C(Inter-Integrated Circuit內部集成電路)模塊 TMS320C55x可以通過可以通過I2C串行總線同其他串行總線同其他I2C兼容設備兼容設備相連接,通過該串行總線可以收發相連接,通過該串行總線可以收發8位數據。位數據。 C55x的的I2C總線模塊有如下特點:總線模塊有如下特點:l兼容兼容I2C總線標準:即支持位總線標準:即支持位/字節格

18、式傳輸,支持字節格式傳輸,支持7位位和和10位尋址模式,支持多主方發送從方接收模式和多主位尋址模式,支持多主方發送從方接收模式和多主方接收從方發送模式,方接收從方發送模式,I2C總線的數據傳輸率可以從總線的數據傳輸率可以從10kbit/s到到400kbit/s;l可以通過可以通過DMA完成讀寫操作;完成讀寫操作;l可以用可以用CPU完成讀寫操作和處理非法操作中斷;完成讀寫操作和處理非法操作中斷;l模塊的工作頻率為模塊的工作頻率為12MHz;l模塊可以使能和被禁止。模塊可以使能和被禁止。I2C總線連接關系總線連接關系 I2C總線使用一條串行數據線總線使用一條串行數據線SDA和一條串行時鐘線和一條

19、串行時鐘線SCL,這兩條線都支持輸入輸出雙向傳輸,在連接時應注,這兩條線都支持輸入輸出雙向傳輸,在連接時應注意這兩根線都需要外接上拉電阻,當總線處于空閑狀態時意這兩根線都需要外接上拉電阻,當總線處于空閑狀態時兩條線都處于高電平。兩條線都處于高電平。I2C總線支持多主設備模式,當多總線支持多主設備模式,當多個主設備要進行通信時,可以通過仲裁機制決定那個主設個主設備要進行通信時,可以通過仲裁機制決定那個主設備占用總線。備占用總線。 I2C總線模塊由串行接口、總線模塊由串行接口、DSP外設總線接口、時鐘產外設總線接口、時鐘產生和同步器、預定標器、噪音過濾器、仲裁器以及中斷和生和同步器、預定標器、噪音

20、過濾器、仲裁器以及中斷和DMA同步事件接口,下面給出了同步事件接口,下面給出了I2C總線模塊內部框圖。總線模塊內部框圖。 I2C總線模塊內部框圖總線模塊內部框圖 1I2C總線數據傳輸總線數據傳輸 I2C串行數據信號在時鐘信號為低時改變,而在時鐘信號為高時串行數據信號在時鐘信號為低時改變,而在時鐘信號為高時進行判別,這時數據信號必須保持穩定。當進行判別,這時數據信號必須保持穩定。當I2C總線處在空閑態轉化到總線處在空閑態轉化到工作態的過程中必須滿足起始條件,即串行數據信號工作態的過程中必須滿足起始條件,即串行數據信號SDA首先由高變首先由高變低,之后時鐘信號也由高變低;當數據傳輸結束時則低,之后

21、時鐘信號也由高變低;當數據傳輸結束時則SDA首先由低變首先由低變高,之后時鐘信號也由低變高標志數據傳輸結束。高,之后時鐘信號也由低變高標志數據傳輸結束。 I2C總線以字節為單位進行處理,而對字節的數量則沒有限制。總線以字節為單位進行處理,而對字節的數量則沒有限制。I2C總線傳輸的第一個字節跟在數據起始之后,這個字節可以是總線傳輸的第一個字節跟在數據起始之后,這個字節可以是7位從位從地址加一個讀寫位,也可以是地址加一個讀寫位,也可以是8位數據。當讀寫位為位數據。當讀寫位為1時,則主方從從時,則主方從從設備讀取數據,為設備讀取數據,為0時則向所選從設備寫數據。在應答模式下需要在時則向所選從設備寫數

22、據。在應答模式下需要在每個字節之后附加一個應答位(每個字節之后附加一個應答位(ACK)。當使用)。當使用10位尋址模式時,所位尋址模式時,所傳的第一個字節由傳的第一個字節由11110加上地址的高兩位和讀寫位組成,下一字節傳加上地址的高兩位和讀寫位組成,下一字節傳輸剩余的輸剩余的8位地址。下面分別給出了位地址。下面分別給出了8位和位和10位尋址模式下的數據傳輸位尋址模式下的數據傳輸格式示意圖。格式示意圖。位尋址數據格式(位尋址數據格式(8位)位) 位尋址數據格式(位尋址數據格式(10位)位) I2C總線的數據傳輸可以分成總線的數據傳輸可以分成4種模式種模式主發送模式主發送模式、主接收模式、從發送

23、模式和從接收模式,接下來分別介、主接收模式、從發送模式和從接收模式,接下來分別介紹這四種模式。紹這四種模式。(1)主發送模式:主發送模式支持)主發送模式:主發送模式支持7位和位和10位尋址模式,位尋址模式,這時數據由主方送出,并且發送的數據同自己產生的時鐘這時數據由主方送出,并且發送的數據同自己產生的時鐘脈沖同步,而當一個字節已經發送走后需要脈沖同步,而當一個字節已經發送走后需要DSP干預時,干預時,時鐘信號保持低。時鐘信號保持低。(2)主接收模式:主接收模式也支持兩種尋址方式。而)主接收模式:主接收模式也支持兩種尋址方式。而當地址發送完后,數據線變為輸入,而時鐘仍然由主方產當地址發送完后,數

24、據線變為輸入,而時鐘仍然由主方產生。當一個字節傳輸完后需要生。當一個字節傳輸完后需要DSP干預時,時鐘保持低電干預時,時鐘保持低電平。在傳輸結束時由主方產生一個結束標志。平。在傳輸結束時由主方產生一個結束標志。(3)從接收模式:從接收模式的數據和時鐘都由主方產)從接收模式:從接收模式的數據和時鐘都由主方產生,但可以在需要生,但可以在需要DSP干預時使干預時使SCL信號保持低。信號保持低。(4)從發送模式:從發送模式只能由從接收模式轉化而)從發送模式:從發送模式只能由從接收模式轉化而來,當在從接收模式下接收的地址同自己的地址相同時,來,當在從接收模式下接收的地址同自己的地址相同時,并且讀寫位為并

25、且讀寫位為1,則進入從發送模式。從發送模式時鐘由,則進入從發送模式。從發送模式時鐘由主設備產生,從設備產生數據信號,但可以在需要主設備產生,從設備產生數據信號,但可以在需要DSP干干預時使預時使SCL信號保持低。信號保持低。 2仲裁仲裁 如果在一條總線上有兩個或兩個以上主設備同時開始如果在一條總線上有兩個或兩個以上主設備同時開始一個主發送模式,這時就需要一個仲裁機制決定到底由誰一個主發送模式,這時就需要一個仲裁機制決定到底由誰掌握總線的控制權。掌握總線的控制權。 仲裁是通過串行數據線上競爭傳輸的數據來進行判別仲裁是通過串行數據線上競爭傳輸的數據來進行判別的,總線上傳輸的串行數據流實際上是一個二

26、進制數,如的,總線上傳輸的串行數據流實際上是一個二進制數,如果主設備傳輸的二進制數較小,則仲裁器將優先權賦予這果主設備傳輸的二進制數較小,則仲裁器將優先權賦予這個主設備,沒有被賦予優先權的設備則進入從接收模式,個主設備,沒有被賦予優先權的設備則進入從接收模式,并同時將仲裁喪失標志置成并同時將仲裁喪失標志置成1,并產生仲裁喪失中斷。,并產生仲裁喪失中斷。 當兩個或兩個以上主設備傳送的第一個字節相同,則當兩個或兩個以上主設備傳送的第一個字節相同,則將根據接下來的字節進行仲裁。將根據接下來的字節進行仲裁。 3時鐘產生和同步時鐘產生和同步 正常狀態下,只有一個主設備產生時鐘信號,但如果正常狀態下,只有

27、一個主設備產生時鐘信號,但如果有兩個或兩個以上主設備進行仲裁,這時就需要進行時鐘有兩個或兩個以上主設備進行仲裁,這時就需要進行時鐘同步。串行時鐘線同步。串行時鐘線SCL具有線與的特性,這意味著如果一具有線與的特性,這意味著如果一個設備首先在個設備首先在SCL線上產生一個低電平信號就將否決其他線上產生一個低電平信號就將否決其他設備,這時其他設備的時鐘發生器也將被迫進入低電平。設備,這時其他設備的時鐘發生器也將被迫進入低電平。如果有設備仍處在低電平,如果有設備仍處在低電平,SCL信號也將保持低電平,這信號也將保持低電平,這時其他結束低電平狀態的設備必須等待時其他結束低電平狀態的設備必須等待SCL被

28、釋放后開始被釋放后開始高電平狀態。通過這種方法時鐘得到同步。高電平狀態。通過這種方法時鐘得到同步。 4I2C模塊的中斷和模塊的中斷和DMA同步事件同步事件 I2C模塊可以產生模塊可以產生5種中斷類型以方便種中斷類型以方便CPU處理,這處理,這5種類型分別是仲裁喪失中斷、無應答中斷、寄存器訪問就種類型分別是仲裁喪失中斷、無應答中斷、寄存器訪問就緒中斷、接收數據就緒中斷和發送數據就緒中斷。緒中斷、接收數據就緒中斷和發送數據就緒中斷。DMA同同步事件有兩種類型,一種是步事件有兩種類型,一種是DMA控制器從數據接收寄存器控制器從數據接收寄存器ICDRR同步讀取接收數據,另一種是向數據發送寄存器同步讀取

29、接收數據,另一種是向數據發送寄存器ICDXR同步寫入發送數據。同步寫入發送數據。 5I2C模塊的禁止與使能模塊的禁止與使能 I2C模塊可以通過模塊可以通過I2C模式寄存器模式寄存器ICMDR中的復位使中的復位使能位(能位(IRS)使能或被禁止。)使能或被禁止。I2C時鐘產生I2C時鐘產生DSP時鐘產生器從外部時鐘源接收信號,產生時鐘產生器從外部時鐘源接收信號,產生I2C輸入時鐘信輸入時鐘信號。號。I2C模塊內部,還要對這個輸入時鐘進行兩次分頻,產模塊內部,還要對這個輸入時鐘進行兩次分頻,產生主時鐘和模塊時鐘。生主時鐘和模塊時鐘。IPSCd0716大于大于15d的值取決于分頻值的值取決于分頻值I

30、PSC mod()()mstffICCLdICCHdmod21I CfIPSC輸入時鐘頻率IPSC:分頻系數,在預分頻寄存器:分頻系數,在預分頻寄存器(I2CPSC)中設置中設置ICCL:在寄存器:在寄存器I2CCLKL中設置中設置ICCH:在寄存器:在寄存器I2CCLKH中設置中設置具體情況參看具體情況參看TMS320C55x DSP Peripherals Reference Guide 下面給出下面給出I2C模塊的寄存器表,并簡要說明它們的功能。模塊的寄存器表,并簡要說明它們的功能。 I2C模塊的寄存器模塊的寄存器 寄存器寄存器說明說明功能功能ICOARI2C自身地址寄存器自身地址寄存器

31、保存自己作為從設備的保存自己作為從設備的7位或位或10位地址位地址ICIMRI2C中斷屏蔽寄存器中斷屏蔽寄存器設置中斷類型是否屏蔽設置中斷類型是否屏蔽ICSTRI2C中斷狀態寄存器中斷狀態寄存器用來判定中斷是否發生并可查詢用來判定中斷是否發生并可查詢I2C的狀的狀態態ICCLKLI2C時鐘分頻低計數器時鐘分頻低計數器對主時鐘分頻,產生低速傳輸頻率對主時鐘分頻,產生低速傳輸頻率ICCLKHI2C時鐘分頻高計數器時鐘分頻高計數器對主時鐘分頻,產生高速傳輸頻率對主時鐘分頻,產生高速傳輸頻率ICCNTI2C數據計數寄存器數據計數寄存器該寄存器被用來產生結束條件結束傳輸該寄存器被用來產生結束條件結束傳輸

32、ICDRRI2C數據接收寄存器數據接收寄存器供供DSP讀取接收的數據讀取接收的數據 I2C模塊的寄存器(續)模塊的寄存器(續) ICSARI2C從地址寄存器從地址寄存器存放所要通信的從設備的地址存放所要通信的從設備的地址ICDXRI2C數據發送寄存器數據發送寄存器供供DSP寫發送的數據寫發送的數據ICMDRI2C模式寄存器模式寄存器包含包含I2C模塊的控制位模塊的控制位ICIVRI2C中斷向量寄存器中斷向量寄存器供供DSP查詢已經發生的中斷查詢已經發生的中斷ICGPIOI2C通用輸入輸出寄存器通用輸入輸出寄存器當當I2C模塊工作在通用模塊工作在通用IO模式下時控制模式下時控制SDA和和SCL引

33、腳引腳ICPSCI2C預定標寄存器預定標寄存器用來對系統時鐘分頻以獲得用來對系統時鐘分頻以獲得12M時鐘時鐘ICRSRI2C接收移位寄存器接收移位寄存器DSP無法訪問無法訪問ICXSRI2C發送移位寄存器發送移位寄存器DSP無法訪問無法訪問I2C自身地址寄存器(I2COAR) I2C自身地址寄存器自身地址寄存器(I2COAR)是一個)是一個16-bit映射到映射到DSP的的I/O空間的寄存器。空間的寄存器。 I2C模塊用這個寄存器來指定模塊用這個寄存器來指定自身的從設備地址,與自身的從設備地址,與I2C總線上其它設備區分開。如果總線上其它設備區分開。如果選擇選擇7-bit尋址模式(尋址模式(I

34、2CMDR中的中的XA0),只用到),只用到I2COAR中的中的bit 60,對,對bit 97寫寫0。bit域域值值說說 明明1510保留保留0讀的返回值總是讀的返回值總是0,寫無效,寫無效90OAR007Fh0003FFh7bit尋址模式尋址模式(I2MDR中中XA0)提供提供I2C模塊模塊7-bit的從地址,的從地址,bit 97寫寫010bit尋址模式尋址模式(I2MDR中中XA1)提供提供I2C模塊模塊10-bit的從地址的從地址I2C從地址寄存器(I2CSAR) I2C從地址寄存器從地址寄存器是一個是一個16-bit I/O映射寄存器,映射寄存器, I2CSAR中的中的SAR域包含

35、了一個域包含了一個7-bit或者或者10-bit的從地址。的從地址。如果選擇如果選擇7-bit尋址模式(尋址模式(I2CMDR中的中的XA0),只用到),只用到I2CSAR中的中的bit 60,對,對bit 97寫寫0。 bit域域值值說說 明明1510保留保留0讀的返回值總是讀的返回值總是0,寫無效,寫無效90SAR007Fh0003FFh7bit尋址模式(尋址模式(I2MDR中中XA0)當當I2C為主發送設備時,為主發送設備時,bit60提供提供7-bit的的從設備地址,從設備地址,bit90寫寫010bit尋址模式(尋址模式(I2MDR中中XA1)當當I2C為主發送設備時,為主發送設備時

36、,bit90提供提供10-bit的從設備地址的從設備地址I2C預分頻寄存器(I2CPSC) I2C預分頻寄存器預分頻寄存器(I2CPSC)是一個)是一個16-bit I/O映射寄存映射寄存器,用來對器,用來對I2C的輸入時鐘分頻,獲得期望的模塊時鐘的輸入時鐘分頻,獲得期望的模塊時鐘 。bit域域值值說說 明明158保留保留0讀的返回值總是讀的返回值總是0,寫無效,寫無效70IPSC007Fh00FFhI2C的預分頻值,它決定了怎樣將的預分頻值,它決定了怎樣將CPU時鐘分頻,獲得時鐘分頻,獲得I2C模塊時鐘;模塊時鐘;模塊時鐘頻率模塊時鐘頻率I2C輸入時鐘頻率輸入時鐘頻率/(IPSC+1)注意:

37、當注意:當I2C復位時(復位時(I2CMDR中中IRS=0),必須對),必須對IPSC初始化。預初始化。預分頻的頻率只有在分頻的頻率只有在IRS變為變為1時才有時才有效。效。IRS1時,改變時,改變IPSC的值無效的值無效I2C時鐘分頻寄存器(I2CCLKL和I2CCLKH)(1) 當當I2C模塊是模塊是主設備主設備時,需要對模塊時鐘進行分頻,獲得時,需要對模塊時鐘進行分頻,獲得SCL引腳上的主時鐘,主時鐘的波形取決于兩個分頻值:引腳上的主時鐘,主時鐘的波形取決于兩個分頻值: I2CCLKL的的ICCL :對于每個主時鐘周期,:對于每個主時鐘周期,ICCL決定信號決定信號電平為低的持續時間。電

38、平為低的持續時間。 I2CCLKH的的ICCH :對于每個主時鐘周期,:對于每個主時鐘周期,ICCH決定信決定信號電平為高的持續時間。號電平為高的持續時間。 I2C時鐘分頻寄存器(I2CCLKL和I2CCLKH)(2)bit域域值值說說 明明150ICCL0000hFFFFh 時鐘低電平時間分頻值(時鐘低電平時間分頻值(165 535)。為了)。為了產生主時鐘的低電平持續時間,將模塊時鐘產生主時鐘的低電平持續時間,將模塊時鐘周期乘以(周期乘以(ICCLd),),d5、6、7bit域域值值說說 明明150ICCH0000hFFFFh時鐘高電平時間分頻值(時鐘高電平時間分頻值(165 535)。為

39、了)。為了產生主時鐘的低電平持續時間,將模塊時產生主時鐘的低電平持續時間,將模塊時鐘周期乘以(鐘周期乘以(ICCLd),),d5、6、7I2C時鐘低電平寄存器(時鐘低電平寄存器(I2CCLKL)的說明)的說明I2C時鐘高電平寄存器(時鐘高電平寄存器(I2CCLKH)的說明)的說明7.3.2 多通道緩存串口(MsBSP) 多通道緩存串口(多通道緩存串口(MsBSP, multi-channel buffered serial ports)在)在C55xx DSP和系統中的其它器件間提供了和系統中的其它器件間提供了一個直接的串行接口,它可以提供到其它一個直接的串行接口,它可以提供到其它C55xx

40、DSPs、codecs和其它器件的接口。和其它器件的接口。 McBSP包括一個數據流通路和一個控制通路,通過包括一個數據流通路和一個控制通路,通過7個個引腳與外部設備連接引腳與外部設備連接 。l全雙工通信;全雙工通信;l雙緩沖數據寄存器,允許傳送連續的數據流;雙緩沖數據寄存器,允許傳送連續的數據流;l獨立的收發時鐘信號和幀信號;獨立的收發時鐘信號和幀信號;l可用可用128個通道進行收發;個通道進行收發;l可與工業標準的編解碼器、模擬接口芯片(可與工業標準的編解碼器、模擬接口芯片(AICs)以及其)以及其它串行它串行A/D、D/A芯片直接接口連接;芯片直接接口連接;l能夠向能夠向CPU發送中斷,

41、向發送中斷,向DMA控制器發送控制器發送DMA事件;事件;l具有可編程的采樣率發生器;具有可編程的采樣率發生器;l可設置幀同步脈沖和時鐘信號的極性;可設置幀同步脈沖和時鐘信號的極性;l傳輸的字長可以是傳輸的字長可以是8位、位、12位、位、16位、位、20位、位、24位或位或32位;位;l具有具有律和律和A律壓縮擴展功能;律壓縮擴展功能;l可將可將McBSP引腳配置為通用輸入輸出引腳。引腳配置為通用輸入輸出引腳。 McBSP可以分為可以分為數據通道數據通道和和控制通道控制通道兩部分。數據發送兩部分。數據發送引腳引腳DX負責數據的發送,數據接收引腳負責數據的發送,數據接收引腳DR負責數據的接收,負

42、責數據的接收,發送時鐘引腳發送時鐘引腳CLKX、接收時鐘引腳、接收時鐘引腳CLKR、發送幀同步引腳、發送幀同步引腳FSX和接收幀同步引腳和接收幀同步引腳FSR提供串行時鐘和控制信號。提供串行時鐘和控制信號。 CPU和和DMA控制器通過外設總線與控制器通過外設總線與McBSP進行通信。當進行通信。當發送數據時,發送數據時,CPU和和DMA將數據寫入數據發送寄存器(將數據寫入數據發送寄存器(DXR1,DXR2),接著拷貝到發送移位寄存器(),接著拷貝到發送移位寄存器(XSR1,XSR2),通過發送移位寄存器輸出至),通過發送移位寄存器輸出至DX引腳。同樣,當接引腳。同樣,當接收數據時,收數據時,D

43、R引腳上接收到的數據先移位到接收移位寄存器引腳上接收到的數據先移位到接收移位寄存器(RSR1,RSR2),接著拷貝到接收緩沖寄存器(),接著拷貝到接收緩沖寄存器(RBR1,RBR2),),RBR再將數據拷貝到數據接收寄存器(再將數據拷貝到數據接收寄存器(DRR1,DRR2)中,并通知串口事件通知)中,并通知串口事件通知CPU或或DMA讀取數據。這讀取數據。這種多級緩沖方式使得片內數據通信和串行數據通信能夠同時種多級緩沖方式使得片內數據通信和串行數據通信能夠同時進行。進行。 McBSP的框圖的框圖 RSR1,2XSR1,2RBR1,2DRR1,2DXR1,28RCERs2MCRsPCR2SRCR

44、s2XCRs2RCRs2SPCRs8XCERsMcBSPExandCompressCompand數據、時鐘、數據、時鐘、幀同步控制和幀同步控制和監測寄存器監測寄存器多通道控制和多通道控制和監測寄存器監測寄存器DRDXCLKXCLKRFSXFSRCLKSXEVTAREVTAXEVTREVTXINTRINT16位位外設外設總線總線引腳引腳到到CPU的中斷的中斷到到DMA控控制器的同制器的同步事件步事件Multi-Channel Buffered Serial Port (McBSP)McBSP - Example時鐘和成幀數據 (1)u數據的移動,是每次從數據的移動,是每次從DR引腳移動引腳移動1

45、bit到到RSR或者從或者從XSR移移動動1bit到到DX引腳。傳輸每一位的時間,由時鐘信號的上升沿引腳。傳輸每一位的時間,由時鐘信號的上升沿或下降沿控制。或下降沿控制。u數據數據bit組成一個串行字,在移位寄存器和數據引腳之間傳送。組成一個串行字,在移位寄存器和數據引腳之間傳送。用戶可以自定義串行字中的用戶可以自定義串行字中的bit數。數。u一個或多個串行字組成幀,同樣,用戶可以自定義每幀包含一個或多個串行字組成幀,同樣,用戶可以自定義每幀包含多少個字。一個幀的所有字節都連續傳送,但是幀和幀之間多少個字。一個幀的所有字節都連續傳送,但是幀和幀之間可以有停頓。可以有停頓。McBSP使用幀同步信

46、號來控制幀的發送和接收。使用幀同步信號來控制幀的發送和接收。uMcBSP允許用戶將幀配置成一段或者是兩段以求達到最高的允許用戶將幀配置成一段或者是兩段以求達到最高的傳輸速率。傳輸速率。u表表3.14說明了接收控制寄存器(說明了接收控制寄存器(RCR1和和RCR2)以及發送控)以及發送控制寄存器(制寄存器(XCR1和和XCR2)里決定每幀的段數、每段的字數、)里決定每幀的段數、每段的字數、每字的位數的每字的位數的bit域。每幀最多可以有域。每幀最多可以有4096位位 時鐘和成幀數據 (2)操作操作段數段數每幀的字數每幀的字數每字的每字的bit數數接收接收1(RPHASE=0)RFRLEN1RWD

47、LEN1接收接收2 (RPHASE=1)RFRLEN1和和RFRLEN2段段1為為RWDLEN1段段2為為RWDLEN2發送發送1 (XPHASE=0)XFRLEN1XWDLEN1發送發送2 (XPHASE=1)XFRLEN1和和XFRLEN2段段1為為XWDLEN1段段2為為XWDLEN2McBSP接收數據流程(1)McBSP接收數據流程(2)(1)McBSP等待內部FSR上的接收幀同步脈沖信號;(2)幀同步脈沖到達時,根據RCR2中RDATDLY位的設置,插入適當的數據延遲。(上圖中為1bit數據延遲)(3)McBSP接收DR引腳上的數據bits,并將其移送到接收移位寄存器。如果字長等于或

48、小于16 bits,只用RSR1。如果字長大于16 bits,則要使用RSR2和RSR1,且RSR2中是高位數據。(4)當接收到一個完整的字,如果RBR1為空,則將數據復制到接收緩存寄存器。(5)如果DRR1沒有被前面的數據占滿,McBSP將RBR中的數據復制到DRR。當DRR1接收到新的數據,SPCR1里面的就緒位置位,表示數據已經準備好,可以讀取。(6)CPU或DMA控制器從數據接收寄存器讀取數據。當DRR1被讀取,RRDY清0,開始下一個RBR到DRR的復制。McBSP發送數據流程(1)McBSP發送數據流程(2)(1)CPU或或DMA控制器將數據寫到數據發送寄存器。數據控制器將數據寫到

49、數據發送寄存器。數據寫到寫到DXR1以后以后SPCR2中的發送就緒位中的發送就緒位XRDY清清0,表示,表示DXR1不能接收新的數據。如果字長大于不能接收新的數據。如果字長大于16 bit,則要使用,則要使用DXR2和和DXR1,DXR2中是高位。中是高位。(2)DXR1接收到一個新的數據,接收到一個新的數據,McBSP將將DXR的數據復的數據復制到發送移位寄存器。發送就緒制到發送移位寄存器。發送就緒bit(XRDY)置位,表示)置位,表示發送器已經準備好從發送器已經準備好從CPU或著或著DMA控制器接收數據。控制器接收數據。(3) McBSP等待等待FSX引腳上的發送幀同步信號。引腳上的發送

50、幀同步信號。(4) McBSP根據根據XCR2中中XDATDLY位的設置,插入適當位的設置,插入適當的數據延遲。的數據延遲。(5) McBSP將發送移位寄存器的數值移位到將發送移位寄存器的數值移位到DX引腳。引腳。McBSP的采樣率發生器 McBSP包括一個采樣率發生器包括一個采樣率發生器SRG,用于產生內部數據時鐘,用于產生內部數據時鐘CLKG和內部幀和內部幀同步信號同步信號FSG,如圖所示。,如圖所示。CLKG控制控制DR上數據的移位和上數據的移位和DX上的數據發送;上的數據發送;FSG控制控制DR和和DX上的幀同步。上的幀同步。 采樣率發生器的時鐘源可以由采樣率發生器的時鐘源可以由CPU

51、時鐘或外部引腳(時鐘或外部引腳(CLKS,CLKX或或CLKR)提供,時鐘源的選擇可以通過引)提供,時鐘源的選擇可以通過引腳控制寄存器腳控制寄存器PCR中的中的SCLKME字段和采樣率發生寄存器字段和采樣率發生寄存器SRGR2中的中的CLKSM字段來確定,參見下表。輸入信號的極字段來確定,參見下表。輸入信號的極性由性由SRGR2中的中的CLKSP字段、字段、PCR中的中的CLKXP字段或字段或CLKRP字段確定字段確定 。采樣率發生器輸入時鐘選擇采樣率發生器輸入時鐘選擇SCLKMECLKSM輸入時鐘輸入時鐘00CLKS引腳上的信號作為輸入時鐘引腳上的信號作為輸入時鐘01CPU時鐘時鐘10CLK

52、R引腳上的信號作為輸入時鐘引腳上的信號作為輸入時鐘11CLKX引腳上的信號作為輸入時鐘引腳上的信號作為輸入時鐘采樣率發生器輸入時鐘極性選擇采樣率發生器輸入時鐘極性選擇輸入時鐘輸入時鐘極性選擇極性選擇說明說明CLKS引腳引腳CLKSP=0CLKSP=1CLKS為正極性,上升沿有效為正極性,上升沿有效CLKS為負極性,下升沿有效為負極性,下升沿有效CPU時鐘時鐘正極性正極性CPU時鐘為正極性,上升沿有效時鐘為正極性,上升沿有效CLKR引腳引腳CLKRP=0CLKRP=1CLKR為正極性,上升沿有效為正極性,上升沿有效CLKR為負極性,下升沿有效為負極性,下升沿有效CLKX引腳引腳CLKXP=0CL

53、KXP=1CLKX為正極性,上升沿有效為正極性,上升沿有效CLKX為負極性,下升沿有效為負極性,下升沿有效1采樣率發生器的輸出時鐘和幀同步信號采樣率發生器的輸出時鐘和幀同步信號 輸入的時鐘經過分頻產生輸入的時鐘經過分頻產生SRG輸出時鐘輸出時鐘CLKG。分頻值由采樣率發。分頻值由采樣率發生寄存器生寄存器SRGR1中的中的CLKGDV字段確定:字段確定:2551 1CLKGDVCLKGDVCLKG輸入時鐘頻率輸出時鐘頻率所以輸出的最高時鐘頻率是輸入時鐘頻率的一半。當所以輸出的最高時鐘頻率是輸入時鐘頻率的一半。當CLKGDV是奇數是奇數時,時,CLKG的占空比是的占空比是50%,當,當CLKGDV

54、是偶數是偶數2p時,時,CLKG高電平持高電平持續時間為續時間為p+1個輸入時鐘周期,低電平持續時間為個輸入時鐘周期,低電平持續時間為p個輸入時鐘周期。個輸入時鐘周期。 幀同步信號幀同步信號FSG由由CLKG進一步分頻而來,分頻值由采樣率發生寄進一步分頻而來,分頻值由采樣率發生寄存器存器SRGR2中的中的FPER字段決定:字段決定:40950 1FPERFPERCLKGFSG時鐘頻率輸出時鐘頻率 幀同步脈沖的寬度由采樣率發生寄存器幀同步脈沖的寬度由采樣率發生寄存器SRGR1中的中的FWID字段決定:字段決定:2550 1FWIDCLKGFWIDFSG的周期)(脈寬2同步同步 SRG的輸入時鐘可

55、以是內部時鐘,即的輸入時鐘可以是內部時鐘,即CPU時鐘,也可以時鐘,也可以是來自是來自CLKX、CLKR和和CLKS引腳的外部輸入時鐘。當采用引腳的外部輸入時鐘。當采用外部時鐘源時,一般需要同步,同步由采樣率發生寄存器外部時鐘源時,一般需要同步,同步由采樣率發生寄存器SRGR2中的字段中的字段GSYNC控制。控制。 l當當GSYNC=0時,時,SRG將自由運行,并按將自由運行,并按CLKDV、FPER和和FWID等參數的配置產生輸出時鐘;等參數的配置產生輸出時鐘;l當當GSYNC=1時,時,CLKG和和FSG將同步到外部輸入將同步到外部輸入時鐘。時鐘。多通道模式選擇 McBSP屬于多通道串口,

56、每個屬于多通道串口,每個McBSP最多可有最多可有128個通個通道。如圖道。如圖5-17所示,其多通道選擇部分由多通道控制寄存器所示,其多通道選擇部分由多通道控制寄存器MCR、接收使能寄存器、接收使能寄存器RCER和發送使能寄存器和發送使能寄存器XCER組成組成。其中,。其中,MCR可以禁止或使能全部可以禁止或使能全部128個通道,個通道,RCER和和XCER可以分別禁止或使能某個接收或發送通道。每個寄存可以分別禁止或使能某個接收或發送通道。每個寄存器控制器控制16個通道,因此個通道,因此128個通道共有個通道共有8個通道使能寄存器。個通道使能寄存器。1接收多通道選擇接收多通道選擇接收多通道的

57、選擇由接收多通道的選擇由MCR1中的中的RMCM位確定:位確定:當當RMCM=0,所有,所有128接收通道使能且不能被禁止。接收通道使能且不能被禁止。當當RMCM=1,接收多通道選擇模式使能。在這種情況下:,接收多通道選擇模式使能。在這種情況下:l通道可以獨立地被使能或禁止,使能通道的選擇由通道可以獨立地被使能或禁止,使能通道的選擇由接收通道使能寄存器接收通道使能寄存器RCER確定。確定。l如果某個接收通道被禁止,在這個通道上接收的數如果某個接收通道被禁止,在這個通道上接收的數據只傳輸到接收緩沖寄存器據只傳輸到接收緩沖寄存器RBR中,并不拷貝到中,并不拷貝到DRR,因此不會產生,因此不會產生D

58、MA同步事件。同步事件。2發送多通道選擇發送多通道選擇發送多通道的選擇由發送多通道的選擇由MCR2中的中的XMCM字段確定:字段確定:當當XMCM=00b,所有,所有128發送通道使能且不能被屏蔽;發送通道使能且不能被屏蔽;當當XMCM=01b,由發送使能寄存器,由發送使能寄存器XCER選擇通道,如該通選擇通道,如該通道沒有被選擇則該通道被禁止;道沒有被選擇則該通道被禁止;當當XMCM=10b,由,由XCER寄存器禁止通道,如果該通道沒有寄存器禁止通道,如果該通道沒有被禁止則通道使能;被禁止則通道使能;當當XMCM=11b,所有通道被禁止用,而只有當對應的接收通,所有通道被禁止用,而只有當對應

59、的接收通道使能寄存器道使能寄存器RCER使能時發送通道才被使能,當該發送通使能時發送通道才被使能,當該發送通道使能時,由道使能時,由XCER寄存器決定該通道是否被屏蔽。寄存器決定該通道是否被屏蔽。 McBSP的寄存器主要包括的寄存器主要包括3部分:收發通道寄存器、時部分:收發通道寄存器、時鐘和幀同步寄存器、多通道選擇寄存器。鐘和幀同步寄存器、多通道選擇寄存器。 1收發通道寄存器收發通道寄存器 收發通道中收發通道中CPU或或DMA控制器可以訪問的寄存器包括數控制器可以訪問的寄存器包括數據接收寄存器據接收寄存器DRR和數據發送寄存器和數據發送寄存器DXR。由于。由于McBSP支持支持8、12、16

60、、20、24或或32位的字長,當字長等于或小于位的字長,當字長等于或小于16位,位,只使用只使用DRR1/DXR1,當字長超過,當字長超過16位,位,DRR1/DXR1存放低存放低16位,位,DRR2/DXR2存放其余數據位。存放其余數據位。2時鐘和幀同步寄存器時鐘和幀同步寄存器 時鐘和幀部分寄存器主要用于控制時鐘和幀同步信號的產時鐘和幀部分寄存器主要用于控制時鐘和幀同步信號的產生、收發數據幀格式和串口狀態的檢測等。生、收發數據幀格式和串口狀態的檢測等。(1) 串口控制寄存器串口控制寄存器 每個每個McBSP有兩個串口控制寄存器有兩個串口控制寄存器SPCR1和和SPCR2,用,用于控制于控制M

溫馨提示

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

評論

0/150

提交評論