成人黄色小视频在线观看-成人黄色在线免费观看-成人交配视频-成人交性视频免费看-成人精品

工業(yè)路由器

SPI協(xié)議詳解

發(fā)布時(shí)間:2021-03-23瀏覽:4417

1.SPI協(xié)議簡(jiǎn)介


1.1.SPI協(xié)議概括


  SPI,是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設(shè)備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議.


  SPI的通信原理很簡(jiǎn)單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可以(單向傳輸時(shí))。也是所有基于SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時(shí)鐘),CS(片選)。


SDO     – 主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入 對(duì)應(yīng)MOSI master output slave input
SDI      – 主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出  對(duì)應(yīng)MISO master input slave output
SCLK   – 時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生
CS        – 從設(shè)備使能信號(hào),由主設(shè)備控制
  CS: 其中CS是控制芯片是否被選中的,也就是說只有片選信號(hào)為預(yù)先規(guī)定的使能信號(hào)時(shí)(高電位或低電位),對(duì)此芯片的操作才有效,這就允許在同一總線上連接多個(gè)SPI設(shè)備成為可能。


  SDI/SDO/SCLK: 通訊是通過數(shù)據(jù)交換完成的,這里先要知道SPI是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位的傳輸?shù)摹_@就是SCK時(shí)鐘線存在的原因,由SCK提供時(shí)鐘脈沖,SDI,SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過 SDO線,數(shù)據(jù)在時(shí)鐘上升沿或下降沿時(shí)改變,在緊接著的下降沿或上升沿被讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時(shí)鐘信號(hào)的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。


  要注意的是,SCK信號(hào)線只由主設(shè)備控制,從設(shè)備不能控制信號(hào)線。同樣,在一個(gè)基于SPI的設(shè)備中,至少有一個(gè)主控設(shè)備。


這樣傳輸?shù)奶攸c(diǎn):這樣的傳輸方式有一個(gè)優(yōu)點(diǎn),與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因?yàn)镾CK時(shí)鐘線由主控設(shè)備控制,當(dāng)沒有時(shí)鐘跳變時(shí),從設(shè)備不采集或傳送數(shù)據(jù),也就是說,主設(shè)備通過對(duì)SCK時(shí)鐘線的控制可以完成對(duì)通訊的控制。SPI還是一個(gè)數(shù)據(jù)交換協(xié)議:因?yàn)镾PI的數(shù)據(jù)輸入和輸出線獨(dú)立,所以允許同時(shí)完成數(shù)據(jù)的輸入和輸出。不同的SPI設(shè)備的實(shí)現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時(shí)間不同,在時(shí)鐘信號(hào)上沿或下沿采集有不同定義,具體請(qǐng)參考相關(guān)器件的文檔。


在點(diǎn)對(duì)點(diǎn)的通信中,SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡(jiǎn)單高效。在多個(gè)從設(shè)備的系統(tǒng)中,每個(gè)從設(shè)備需要獨(dú)立的使能信號(hào),硬件上比I2C系統(tǒng)要稍微復(fù)雜一些。


最后,SPI接口的一個(gè)缺點(diǎn):沒有指定的流控制,沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)。


SPI接口主要由4個(gè)引腳構(gòu)成:SPICLK、MOSI、MISO及 /SS,其中SPICLK是整個(gè)SPI總線的公用時(shí)鐘,MOSI、MISO作為主機(jī),從機(jī)的輸入輸出的標(biāo)志,MOSI是主機(jī)的輸出,從機(jī)的輸入,MISO 是主機(jī)的輸入,從機(jī)的輸出。/SS是從機(jī)的標(biāo)志管腳,在互相通信的兩個(gè)SPI總線的器件,/SS管腳的電平低的是從機(jī),相反/SS管腳的電平高的是主機(jī)。在一個(gè)SPI通信系統(tǒng)中,必須有主機(jī)。SPI總線可以配置成單主單從,單主多從,互為主從。


SPI的片選可以擴(kuò)充選擇16個(gè)外設(shè),這時(shí)PCS輸出=NPCS,說NPCS0~3接4-16譯碼器,這個(gè)譯碼器是需要外接4-16譯碼器,譯碼器的輸入為NPCS0~3,輸出用于16個(gè)外設(shè)的選擇。


2.協(xié)議舉例


如下圖,是SPI的簡(jiǎn)單收發(fā)時(shí)序圖。



SPI是一個(gè)環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時(shí)序其實(shí)很簡(jiǎn)單,主要是在sck的控制下,兩個(gè)雙向移位寄存器進(jìn)行數(shù)據(jù)交換。
       假設(shè)下面的8位寄存器裝的是待發(fā)送的數(shù)據(jù)10101010,上升沿發(fā)送、下降沿接收、高位先發(fā)送。
       那么第一個(gè)上升沿來的時(shí)候 數(shù)據(jù)將會(huì)是sdo=1;寄存器=0101010x。下降沿到來的時(shí)候,sdi上的電平將鎖存到寄存器中去,那么這時(shí)寄存器=0101010sdi,這樣在 8個(gè)時(shí)鐘脈沖以后,兩個(gè)寄存器的內(nèi)容互相交換一次。這樣就完成里一個(gè)spi時(shí)序。 


舉例: 
       假設(shè)主機(jī)和從機(jī)初始化就緒:并且主機(jī)的sbuff=0xaa,從機(jī)的sbuff=0x55,下面將分步對(duì)spi的8個(gè)時(shí)鐘周期的數(shù)據(jù)情況演示一遍:假設(shè)上升沿發(fā)送數(shù)據(jù)


這樣就完成了兩個(gè)寄存器8位的交換,上面的上表示上升沿、下表示下降沿,sdi、sdo相對(duì)于主機(jī)而言的。其中ss引腳作為主機(jī)的時(shí)候,從機(jī)可以把它拉底被動(dòng)選為從機(jī),作為從機(jī)的是時(shí)候,可以作為片選腳用。根據(jù)以上分析,一個(gè)完整的傳送周期是16位,即兩個(gè)字節(jié),因?yàn)椋紫戎鳈C(jī)要發(fā)送命令過去,然后從機(jī)根據(jù)主機(jī)的命令準(zhǔn)備數(shù)據(jù),主機(jī)在下一個(gè)8位時(shí)鐘周期才把數(shù)據(jù)讀回來。


  SPI 總線是Motorola公司推出的三線同步接口,同步串行3線方式進(jìn)行通信:一條時(shí)鐘線SCK,一條數(shù)據(jù)輸入線MOSI,一條數(shù)據(jù)輸出線MISO;用于CPU與各種外圍器件進(jìn)行全雙工、同步串行通訊。SPI主要特點(diǎn)有:可以同時(shí)發(fā)出和接收串行數(shù)據(jù);可以當(dāng)作主機(jī)或從機(jī)工作;提供頻率可編程時(shí)鐘;發(fā)送結(jié)束 中斷標(biāo)志;寫沖突保護(hù);總線競(jìng)爭(zhēng)保護(hù)等。下圖示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式 (實(shí)線表示):                  


3. SPI總線四種工作方式


SPI 模塊為了和外設(shè)進(jìn)行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時(shí)鐘極性和相位可以進(jìn)行配置,時(shí)鐘極性(CPOL)對(duì)傳輸協(xié)議沒有重大的影響。


       時(shí)序詳解:


  CPOL:時(shí)鐘極性選擇,為0時(shí)SPI總線空閑為低電平,為1時(shí)SPI總線空閑為高電平


  CPHA:時(shí)鐘相位選擇,為0時(shí)在SCK第一個(gè)跳變沿采樣,為1時(shí)在SCK第二個(gè)跳變沿采樣


  工作方式1:


  當(dāng)CPHA=0、CPOL=0時(shí)SPI總線工作在方式1。MISO引腳上的數(shù)據(jù)在第一個(gè)SPSCK沿跳變之前已經(jīng)上線了,而為了保證正確傳輸,MOSI引腳的MSB位必須與SPSCK的第一個(gè)邊沿同步,在SPI傳輸過程中,首先將數(shù)據(jù)上線,然后在同步時(shí)鐘信號(hào)的上升沿時(shí),SPI的接收方捕捉位信號(hào),在時(shí)鐘信號(hào)的一個(gè)周期結(jié)束時(shí)(下降沿),下一位數(shù)據(jù)信號(hào)上線,再重復(fù)上述過程,直到一個(gè)字節(jié)的8位信號(hào)傳輸結(jié)束。


  工作方式2:


  當(dāng)CPHA=0、CPOL=1時(shí)SPI總線工作在方式2。與前者唯一不同之處只是在同步時(shí)鐘信號(hào)的下降沿時(shí)捕捉位信號(hào),上升沿時(shí)下一位數(shù)據(jù)上線。


  工作方式3:


  當(dāng)CPHA=1、CPOL=0時(shí)SPI總線工作在方式3。MISO引腳和MOSI引腳上的數(shù)據(jù)的MSB位必須與SPSCK的第一個(gè)邊沿同步,在SPI傳輸過程中,在同步時(shí)鐘信號(hào)周期開始時(shí)(上升沿)數(shù)據(jù)上線,然后在同步時(shí)鐘信號(hào)的下降沿時(shí),SPI的接收方捕捉位信號(hào),在時(shí)鐘信號(hào)的一個(gè)周期結(jié)束時(shí)(上升沿),下一位數(shù)據(jù)信號(hào)上線,再重復(fù)上述過程,直到一個(gè)字節(jié)的8位信號(hào)傳輸結(jié)束。


  工作方式4:


  當(dāng)CPHA=1、CPOL=1時(shí)SPI總線工作在方式4。與前者唯一不同之處只是在同步時(shí)鐘信號(hào)的上升沿時(shí)捕捉位信號(hào),下降沿時(shí)下一位數(shù)據(jù)上線。


4種工作模式波形時(shí)序如下圖:






4.協(xié)議心得


SPI接口時(shí)鐘配置心得:


  在主設(shè)備這邊配置SPI接口時(shí)鐘的時(shí)候一定要弄清楚從設(shè)備的時(shí)鐘要求,因?yàn)橹髟O(shè)備這邊的時(shí)鐘極性和相位都是以從設(shè)備為基準(zhǔn)的。因此在時(shí)鐘極性的配置上一定要搞清楚從設(shè)備是在時(shí)鐘的上升沿還是下降沿接收數(shù)據(jù),是在時(shí)鐘的下降沿還是上升沿輸出數(shù)據(jù)。但要注意的是,由于主設(shè)備的SDO連接從設(shè)備的SDI,從設(shè)備的SDO連接主設(shè)備的SDI,從設(shè)備SDI接收的數(shù)據(jù)是主設(shè)備的SDO發(fā)送過來的,主設(shè)備SDI接收的數(shù)據(jù)是從設(shè)備SDO發(fā)送過來的,所以主設(shè)備這邊SPI時(shí)鐘極性的配置(即SDO的配置)跟從設(shè)備的SDI接收數(shù)據(jù)的極性是相反的,跟從設(shè)備SDO發(fā)送數(shù)據(jù)的極性是相同的。下面這段話是Sychip Wlan8100 Module Spec上說的,充分說明了時(shí)鐘極性是如何配置的:


The 81xx module will always input data bits at the rising edge of the clock, and the host will always output data bits on the falling edge of the clock.


意思是:主設(shè)備在時(shí)鐘的下降沿發(fā)送數(shù)據(jù),從設(shè)備在時(shí)鐘的上升沿接收數(shù)據(jù)。因此主設(shè)備這邊SPI時(shí)鐘極性應(yīng)該配置為下降沿有效。


又如,下面這段話是摘自LCD Driver IC SSD1289:


SDI is shifted into 8-bit shift register on every rising edge of SCK in the order of data bit 7, data bit 6 …… data bit 0.


意思是:從設(shè)備SSD1289在時(shí)鐘的上升沿接收數(shù)據(jù),而且是按照從高位到地位的順序接收數(shù)據(jù)的。因此主設(shè)備的SPI時(shí)鐘極性同樣應(yīng)該配置為下降沿有效。


時(shí)鐘極性和相位配置正確后,數(shù)據(jù)才能夠被準(zhǔn)確的發(fā)送和接收, 因此應(yīng)該對(duì)照從設(shè)備的SPI接口時(shí)序或者Spec文檔說明來正確配置主設(shè)備的時(shí)鐘。


上一篇:OPC,OPC服務(wù)器 下一篇:SPI 接口配置
免費(fèi)樣機(jī)申請(qǐng) 樣機(jī)免費(fèi)試用,提前溝通確保愛陸通產(chǎn)品深度契合貴司業(yè)務(wù)需求
  • *您的姓名:
  • *手機(jī)號(hào)碼:
  • *公司名稱:
  • 您的職位:
  • 您的郵箱:
  • 您的QQ:
相關(guān)產(chǎn)品
產(chǎn)品百科
隱私政策網(wǎng)站地圖 Copyright ? 2015-2022 廈門愛陸通通信科技有限公司 All Rights Reserved.   閩ICP備15018514號(hào)
在線咨詢 撥打電話
主站蜘蛛池模板: 国产美女精品在线| 97国产伦子在线观看| 傲视影院午夜毛片| 伊人焦久影院| 亚洲日韩精品欧美一区二区| yiren22开心综合成人网| 成人久久18免费网址| 在线影片| 午夜性片| 一级黄色免费毛片| 亚洲欧洲日产国码久在线观看| 婷婷激情在线| 久久精品综合免费观看| 麻豆传媒入口直接进入免费版| 高清一区在线| 国产精品1区2区3区| 欧美一级毛片免费观看软件 | 美国一级大黄一片免费的网站| 黄a在线| 日本美女毛片| 久久999视频| 久热re国产手机在线观看| 欧美黄视频| 国产精品原创巨作av| 国内视频拍拍视频在线观看| 亚洲黄色免费| 成人入口| 大黄网站在线观看| 久视频在线| 黄色一级短视频| 性生活视频黄色| 国产免费福利视频| 欧美国产中文| 一本久道久久综合| 九九人人| 国产在线观看福利一区二区| 中国一级毛片视频| 97在线视频观看| 精品一区二区三区影院在线午夜| 国产精品免费拍拍1000部| 悠悠资源先锋中文站|