機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
SPI總線時鐘極性和時鐘相位的概念
SPI總線時鐘極性和時鐘相位的概念
 更新時間:2009-5-21 14:27:29  點擊數(shù):1
【字體: 字體顏色

      SPI,是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。
其工作模式有兩種:主模式和從模式,無論那種模式,都支持3Mbit/s的速率,并且還具有傳輸完成標(biāo)志和寫沖突保護標(biāo)志。

跟SPI密切相關(guān)的兩個概念是時鐘極性和時鐘相位。

時鐘極性:表示時鐘信號在空閑時是高電平還是低電平。 
時鐘相位:決定數(shù)據(jù)是在SCK的上升沿采樣還是在SCK的結(jié)束沿采樣。 
下面以矩力的7022B芯片為例子,分析SPI工作模式的設(shè)置。

在7022B的數(shù)據(jù)手冊中,指出:在SCK的上升沿放數(shù)據(jù),在下降沿取數(shù)據(jù)。在SCK的下降沿將DIN的數(shù)據(jù)采樣到7022B中,在SCK的上升沿將7022B的數(shù)據(jù)放置在DOUT上面輸出。

下面是模擬SPI總線對7022B進行讀取的例子,這個例子生動表示了何時放數(shù)據(jù),何時采樣數(shù)據(jù)。

unsigned long Read_reg3(unsigned char cmd)
{
       int i;
       unsigned long data;
       set_bit(SPI_PORT,SPI_SS);
       clr_bit(SPI_PORT,SPI_SCK);
       clr_bit(SPI_PORT,SPI_SS);
       for(i=0;i<8;i++)
       {
           set_bit(SPI_PORT,SPI_SCK);
              if(cmd&0x80)
              {
                set_bit(SPI_PORT,SPI_MOSI);
              }
              else
              {
                clr_bit(SPI_PORT,SPI_MOSI);
              }
              cmd=cmd<<1;
              nop;
              nop;
              clr_bit(SPI_PORT,SPI_SCK);nop;
       }
       clr_bit(SPI_PORT,SPI_SCK);
       _delay_us(3);
       data=0;
       for(i=0;i<24;i++)
       {
           set_bit(SPI_PORT,SPI_SCK);
              nop;
              nop;
              nop;
              if(PINB&(1
              {
                data+=1;
              }else
              {
                data+=0;
              }
              data=data<<1;
              nop;
              clr_bit(SPI_PORT,SPI_SCK);
       }
       set_bit(SPI_PORT,SPI_SS);
       return data;
}

如果采用硬件SPI,則需要對單片機(ATMEGA16)SPI寄存器進行設(shè)置,本例子中,需要設(shè)置SPCR=0x57;//MSB在先01010011

時鐘極性為0,因為空閑時CLK電平為低。

時鐘相位設(shè)置為1,因為是下降沿采樣數(shù)據(jù),上升沿放數(shù)據(jù)。
參考鏈接:http://www.picavr.com/news/2008-09/8472.htm

  • 上一篇: 單片機硬件系統(tǒng)設(shè)計原則
  • 下一篇: 紅外線遙控器解碼程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1