| CLKSTP | CLKXP | 說 明 |
| 0X | X | 不可用時(shí)鐘停止模式。時(shí)鐘被激活用于非SPI模式 |
| 10 | 0 | 時(shí)鐘開始于上升沿(無延遲) |
| 11 | 0 | 時(shí)鐘開始于上升沿(有延遲) |
| 10 | 1 | 時(shí)鐘開始于下降沿(無延遲) |
| 11 | 1 | 時(shí)鐘開始于下降沿(有延遲) |
4 其它有關(guān)寄存器的配置
為了更好地掌握和了解McBSP作為SPI設(shè)備時(shí)的有關(guān)寄存器配置,現(xiàn)以McBSP作為SPI從設(shè)備來介紹有關(guān)McBSP的其它有關(guān)寄存器的配置,若McBSP做為SPI主設(shè)備,則相關(guān)配置正好相反。當(dāng)McBSP作為SPI從設(shè)備時(shí),主設(shè)備外部產(chǎn)生主時(shí)鐘。CLKX引腳和FSX引腳必須被設(shè)置為輸入。由于CLKX引腳和CLKR信號(hào)在內(nèi)部相連接,因而傳送和接收回路均由外部主時(shí)鐘計(jì)時(shí)(CLKX)。同時(shí),由于FSX引腳和FSR信號(hào)也已在內(nèi)部連接,因此,CLKR引腳和FSR引腳不再需要外部信號(hào)的連接。
盡管CLKX信號(hào)由主設(shè)備外部產(chǎn)生且與McBSP同步,但是,McBSP的采樣率發(fā)生器仍然必須正確啟動(dòng)SPI從設(shè)備,同時(shí),采樣率發(fā)生器還應(yīng)被設(shè)置為最大速率(CPU時(shí)鐘速率的一半)。另外,內(nèi)部采樣率時(shí)鐘常被用來同步McBSP邏輯和外部主時(shí)鐘以及從使能信號(hào)。每次傳送時(shí),McBSP一般在從使能信號(hào)的上升沿進(jìn)行FSX輸入。也就是說,在每次傳送的開始,主設(shè)備必須維護(hù)使能信號(hào),而在每次傳送完成后,則必須消除從使能信號(hào)。在兩次傳送之間,從使能信號(hào)不能一直保持為高電平。對(duì)正確的SPI從設(shè)備而言,McBSP的數(shù)據(jù)延遲參數(shù)必須設(shè)置為0,在這種運(yùn)行模式中,設(shè)置值為1或2沒有定義。配置McBSP為從設(shè)備所需的寄存器位值如表3所列。
表3 SPI操作模式下的寄存器位值表
| 位 域 | 值 | 功能描述 | 寄存器 |
| CLKXM | 0 | 配置BCLKX引腳為輸入 | PCR |
| CLKSM | 1 | 由CPU時(shí)鐘產(chǎn)生的采樣率時(shí)鐘 | SRGR2 |
| CLKGDV | 1 | 為采樣率時(shí)鐘選擇2的劃分因素 | SRGR1 |
| FSXM | 0 | 配置BFSX引腳為輸入 | PCR |
| FSGM | 0 | 對(duì)每個(gè)包傳送,BFSX信號(hào)被激活 | SRGR2 |
| FSXP | 1 | 配置BFSX引腳為活動(dòng)低電平 | PCR |
| XDATDLY | 0 | 為SPI從設(shè)備運(yùn)行,必須為0 | XCR2 |
| RDATDLY | 0 | 為SPI從設(shè)備運(yùn)行,必須為0 | RCR2 |
5 程序設(shè)計(jì)
下面是有關(guān)TMS320C5402器件的McBSP各個(gè)控制寄存器的配置,該配置程序筆者在實(shí)踐中已經(jīng)過測(cè)試,并已成功運(yùn)用在了某工程設(shè)計(jì)中。
Void McBSP1_Config(void)
{
offlset=0x0000;
SPCR11=0x1800; ;配置串口時(shí)鐘停止模式CLKSTP=10
offlset=0x0001;
SPCR21=0x0222;
offlset=0x0005;
SRGR11=0x00FA;
offlset=0x0007;
SRGR21=0xa00F;
offlset=0x0002;
RCR11=0x0040; ;接收一幀含一字,一字含16位
offlset=0x0003;
RCR21=0x0044; 接收數(shù)據(jù)無延遲RDATDLY=00
offlset=0x0004;
XCR11=0x0040; ;發(fā)送一幀含一字,一字含16位
offlset=0x0005;
XCR21=0x0044; ;發(fā)送數(shù)據(jù)無延遲XDATDLY=00
offlset=0x000E;
PCR1=0x000; ;發(fā)送時(shí)鐘由外部時(shí)鐘驅(qū)動(dòng),CLKX為輸入腳CLKX=0,發(fā)送時(shí)鐘極性CLKXP=0,發(fā)送幀同步極性FSXP=1
offlset=0x0008;
MCR11=0x0001;
offlset=0x0009;
MCR21=0x0001;
offlset=0x000C;
XCERA1=0x0003;
offlset=0x0001;
SPCR21=0x0262;
offlset=0x0001;
SPCR21=0x0263;
offlset=0x0000;
SPCR11=0x1801; ;接收器有效
offlset=0x0001;
SPCR21=0x02e3; ;發(fā)送器有效
Return;
}
6 結(jié)束語
串行SPI通信協(xié)議是一種標(biāo)準(zhǔn)的通信協(xié)議,很多場(chǎng)合下都采用這種機(jī)制,文中將DSP作為從設(shè)備的目的是時(shí)鐘可由主設(shè)備來提供,因此不用再專門去調(diào)試時(shí)鐘,這種方式在開發(fā)中比較方便。





