精解SPI的CPHA時(shí)鐘相位與CPLK時(shí)鐘極性_第1頁(yè)
精解SPI的CPHA時(shí)鐘相位與CPLK時(shí)鐘極性_第2頁(yè)
精解SPI的CPHA時(shí)鐘相位與CPLK時(shí)鐘極性_第3頁(yè)
精解SPI的CPHA時(shí)鐘相位與CPLK時(shí)鐘極性_第4頁(yè)
精解SPI的CPHA時(shí)鐘相位與CPLK時(shí)鐘極性_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精解SPI的CPHA時(shí)鐘相位與CPLK時(shí)鐘極性Netjob2009-08-01使用SPI模塊都要設(shè)CPHA相位與CPLK時(shí)鐘有效極性,這個(gè)確實(shí)是煩到好多人的。其實(shí)這個(gè)設(shè)置也是比較簡(jiǎn)單的。先來(lái)講講SPI的CPLK時(shí)鐘有效極性CPLK時(shí)鐘有效極性,有效當(dāng)然是相對(duì)無(wú)效或是空閑而言的。要傳輸8位數(shù)據(jù),需要8個(gè)時(shí)鐘脈沖。那么這8個(gè)脈沖之前和之后的時(shí)鐘狀態(tài),可以認(rèn)為是時(shí)鐘空閑狀態(tài)或無(wú)效狀態(tài)。因?yàn)榇耸耂CK沒(méi)變化,保持在某個(gè)狀態(tài)。從上圖中可以看出,(CPOL=0)的SCK波形,它有(傳輸)8個(gè)脈沖,而在脈沖傳輸前和完成后都保持在【低電平狀態(tài)】此時(shí)的狀態(tài)就是時(shí)鐘的空閑狀態(tài)或無(wú)效狀態(tài),因?yàn)榇藭r(shí)沒(méi)有脈沖,也就不會(huì)

2、有數(shù)據(jù)傳輸。同理得出,(CPOL=)1的圖,時(shí)鐘的空閑狀態(tài)或無(wú)效狀態(tài)時(shí)SCK是保持【高電平的】再來(lái)講解何為SPICPHA相位.簡(jiǎn)單的講,就是數(shù)據(jù)線上,MCU或FLASH外設(shè)對(duì)數(shù)據(jù)的采樣時(shí)刻。例如ATMELARM7的CPHA時(shí)鐘相位定義如下:0=數(shù)據(jù)在SPCK起始邊沿改變,在SPCK下一個(gè)邊沿捕獲。1=數(shù)據(jù)在SPCK起始邊沿捕獲,在SPCK下一個(gè)邊沿改變。我們知道,數(shù)據(jù)線上可以分兩種時(shí)刻:【采樣-保持時(shí)刻】和【變化更新時(shí)刻】要對(duì)數(shù)據(jù)進(jìn)行采樣,當(dāng)然就要求數(shù)據(jù)要保持穩(wěn)定,不要發(fā)生變化。是吧?這個(gè)大家都明白。atu$RegisterRead(OpcodeD7H)csSCKSCKOPCODE1X11X1

3、MSBSTATUSREGISTERDATASTATUSFSOHIGH-IMPEDANCEDYDYDXDYDXDYDYDXDYDXDSOHIGH-IMPEDANCEDYDYDXDYDXDYDYDXDYDXDMSBwseMSB我們看上面的圖,發(fā)現(xiàn)數(shù)據(jù)SI是對(duì)應(yīng)SCK的第一個(gè)時(shí)鐘沿,再仔細(xì)看,數(shù)據(jù)是在SCK的第一個(gè)時(shí)鐘邊沿保持穩(wěn)定【數(shù)據(jù)被采樣捕獲】在下一個(gè)邊沿改變【SCK的下降沿?cái)?shù)據(jù)改變】因此我們得出結(jié)論:AT45DB642DB系列FLASH是【數(shù)據(jù)在第一個(gè)時(shí)鐘沿被采樣捕獲】或【數(shù)據(jù)在SPCK起始邊沿捕獲,在SPCK下一個(gè)邊沿改變】我們?cè)倏纯碈C2500我們?cè)倏纯碈C2500的時(shí)序圖:下面看Figu

4、reS3.SP1傳輸格式(MCPHA二1;每次傳輸8位)SPGKcycle(forre怕SPGKcycle(forre怕renee)1SPCKfCPOL=0)5e7-9SPCK(CPOL=1)MOSI(froirimaster)XMSBdCZOKZ2XMISO(fromslave)看上面圖,可以看出,首先(MOSI(froirimaster)XMSBdCZOKZ2XMISO(fromslave)看上面圖,可以看出,首先(CPOL=0)的SPCK平的。由于pHA=1,就是時(shí)鐘邊沿(起始邊沿)數(shù)據(jù)被捕獲。第二個(gè)時(shí)鐘邊沿改變(數(shù)據(jù)鎖存)。MSB圖,它的時(shí)鐘開(kāi)始是低說(shuō)MOSI和MISO的電平的(空閑時(shí)

5、保持和被采樣捕獲是在數(shù)據(jù)保持低電平),結(jié)束后也SPCK的是低電第一個(gè)當(dāng)CPOL=0的是上升沿?cái)?shù)據(jù)捕獲,下降沿?cái)?shù)據(jù)鎖存。(開(kāi)始的SPCK是低電平空閑)當(dāng)CPOL=1的是下升沿?cái)?shù)據(jù)捕獲,上降沿?cái)?shù)據(jù)鎖存。(開(kāi)始的SPCK是高電平空閑)再看圖:再看圖:平的。由于PHA=0,就是說(shuō)MOSI和MISO的在SPCK的第一個(gè)時(shí)鐘邊沿?cái)?shù)據(jù)改變鎖存(起始邊沿)。第二個(gè)時(shí)鐘邊沿?cái)?shù)據(jù)被捕獲。當(dāng)CPOL=0的是上升沿?cái)?shù)據(jù)鎖存,下降沿?cái)?shù)據(jù)捕獲。(開(kāi)始的SPCK是低電平空閑)當(dāng)CPOL=1的是下升沿?cái)?shù)據(jù)鎖存,上降沿?cái)?shù)據(jù)捕獲。(開(kāi)始的SPCK是高電平空閑)F面是晶門科技的SS1D1351SPI接口方式的時(shí)序圖:SCLK(R.

6、-W=何砧)SDINiBO)SDINiBO)這款控制器使用在TFTLCD,OLED上面。它的SPI方式:SCLK開(kāi)始的時(shí)刻可以是高或低電平。SCLK的粗實(shí)線是上升沿箭頭,說(shuō)明是數(shù)據(jù)被捕獲。下降沿?cái)?shù)據(jù)改變(鎖存)。由于SCLK的空閑無(wú)效狀態(tài)可以是低電平,也可以是高電平。因此:如果SCLK的(CPOL=0)的空閑無(wú)效是低電平,那么數(shù)據(jù)是在第一個(gè)時(shí)鐘沿(上升)被捕獲。在下一個(gè)邊沿(下降)數(shù)據(jù)改變(鎖存)。如果SCLK的(CPOL=1)的空閑無(wú)效是高電平,那么數(shù)據(jù)是在第一個(gè)時(shí)鐘沿(下降)數(shù)據(jù)改變(鎖存)。在下一個(gè)邊沿(上升)數(shù)據(jù)被采樣捕獲。圖佬4數(shù)抵時(shí)鐘時(shí)用圖CPOLCPHA=1mCPOL-OMISO

7、W(fronnTi3圖佬4數(shù)抵時(shí)鐘時(shí)用圖CPOLCPHA=1mCPOL-OMISOW(fronnTi35ter)譏MOSi(Fromslave)i-.Sor1&bsdnpenlngonDataFranceFormSt(ev5PLCR1|1(toCAPTLRESTROBECPHA=0CPOL=0VUSt(fromnnasier“6or16bi$onFrameFcnniau(&VUSt(fromnnasier.葡OSIromslave)LSBit看上面的圖STM32的SPI這個(gè)圖,LSBit【CPOL=1】時(shí)鐘脈沖的【開(kāi)始】,【結(jié)束】都是無(wú)效狀態(tài)、空閑的,CLK是高電平的。ATMEL說(shuō)的時(shí)鐘脈沖在

8、空閑時(shí)的電平是高電平的則CPOL=1;STM32說(shuō)的“如果CPOL被復(fù)位SCK引腳在空閑狀態(tài)保持高電平;”【CPOL=0】時(shí)鐘脈沖的【開(kāi)始】,【結(jié)束】都是無(wú)效狀態(tài)、空閑的,CLK是低電平的。ATMEL說(shuō)的”時(shí)鐘脈沖在空閑時(shí)的電平是低電平的則CPOL=0;“STM32說(shuō)的“如果CPOL被置位,SCK引腳在空閑狀態(tài)保持低電平;”【CPHA=1】表示第二個(gè)邊沿?cái)?shù)據(jù)被采樣捕獲,第一個(gè)邊沿被鎖存【數(shù)據(jù)改變時(shí)刻】【CPHA=0】表示第一個(gè)邊沿?cái)?shù)據(jù)被采樣捕獲,第二個(gè)邊沿被鎖存【數(shù)據(jù)改變時(shí)刻】STM32的初始化代碼:SPI_InitStructure.SPI_Direction=SPI_Direction_1

9、Line_Tx;SPI_InitStructure.SPI_Mode=SPI_Mode_Master;SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;/時(shí)鐘脈沖的【開(kāi)始】,【結(jié)束】都是高電平:無(wú)效狀態(tài)、空閑的SPI_InitStructure.SPI_CPOL=SPI_CPOL_High;/數(shù)據(jù)在第二個(gè)邊沿沒(méi)采樣捕獲,第一個(gè)邊沿被鎖存【改變時(shí)刻】SPI_InitStructure.SPI_CPHA=SPI_CPHA_2Edge;SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;SPI_InitStructure.SPI_

10、BaudRatePrescaler=SPI_BaudRatePrescaler_4;SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;SPI_InitStructure.SPI_CRCPolynomial=0;SPI_Init(SPI1,&SPI_InitStructure);最后要注意,NXP的ARM對(duì)SCK的時(shí)鐘有效極性說(shuō)明的設(shè)置方法是與ATMEL的相反的。NXP的說(shuō)明是這樣的:SPI控制寄存器SOSPCR-OxEOOlOOOO)SPCR寄存器棍據(jù)每個(gè)配置位的設(shè)定來(lái)控制SPI的操作110SPI制卷存器fS0SPCR-OxEO02OOO(nSPCR功能描述復(fù)位值2:0保留保留T用戶軟件不要向其寫入5從.保常位讀出勺值未披宦義匚NA3CPHA吋鐘相位控制決定SPI傳輸時(shí)數(shù)據(jù)和時(shí)鐘的關(guān)系并控制從機(jī)傳輸?shù)钠鹗己徒Y(jié)束“當(dāng)該位為蚩時(shí),數(shù)據(jù)在SiCK的第二亍時(shí)鐘沿采樣。當(dāng)!SSEL信號(hào)激活時(shí),倩輸從第一個(gè)時(shí)鐘沿開(kāi)始并在毘后一個(gè)采樣時(shí)鐘沿第束*當(dāng)該位為0時(shí).數(shù)據(jù)在SCK的第一個(gè)時(shí)鐘沿采樣傳輸從SSEL信號(hào)敝活瞇開(kāi)始.并在SSEL信陸無(wú)效吋結(jié)束。0斗CPOL吋鐘極性控制當(dāng)該位為I時(shí),SCK為低有效.為0時(shí).CK為高有效。05MSIK主模式選擇口為1時(shí).5PI處于主模式。為D時(shí).SFI處于從根06LSB

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論