SPI總線介紹
SPI(Serial Peripheral Interface,串行外設(shè)接口)是由Motorola提出的一種全雙工同步串行通信接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息,通信波特率可以高達(dá)5Mbps。SPI接口主要應(yīng)用在EEPROM、FLASH、實(shí)時(shí)時(shí)鐘、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、AD轉(zhuǎn)換器,數(shù)字信號(hào)處理器、數(shù)字信號(hào)解碼器等設(shè)備之間。
SPI接口一般使用4條線:
(1)MOSI:主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入
(2)MISO:主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出
(3)SCLK:時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生
(4)NSS:從設(shè)備使能信號(hào),由主設(shè)備控制
SPI設(shè)備連接示意圖
SPI接口主要優(yōu)點(diǎn):
●支持全雙工操作
●操作簡(jiǎn)單
●數(shù)據(jù)傳輸速率較高
SPI接口主要缺點(diǎn):
●需要占用主機(jī)較多的線(每個(gè)從機(jī)都需要一條片選線)
●只支持單個(gè)主機(jī)
●沒(méi)有指定的流控制
●沒(méi)有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)
SPI接口工作特點(diǎn)
1、SPI接口采用主-從模式(Master-Slave)控制方式
兩個(gè)SPI設(shè)備之間的通信必須由主設(shè)備(Master)來(lái)控制從設(shè)備(Slave)。主設(shè)備可以通過(guò)提供時(shí)鐘信號(hào)以及對(duì)從設(shè)備進(jìn)行片選來(lái)控制多個(gè)從設(shè)備。從設(shè)備本身并不產(chǎn)生時(shí)鐘信號(hào),其時(shí)鐘信號(hào)由主設(shè)備提供。
2、SPI接口采用同步方式(Synchronous)傳輸數(shù)據(jù)
主設(shè)備會(huì)根據(jù)將要交換的數(shù)據(jù)來(lái)產(chǎn)生相應(yīng)的時(shí)鐘脈沖,時(shí)鐘脈沖組成時(shí)鐘信號(hào),時(shí)鐘信號(hào)通過(guò)時(shí)鐘極性和時(shí)鐘相位控制兩個(gè)SPI設(shè)備間何時(shí)數(shù)據(jù)交換以及何時(shí)對(duì)接收到的數(shù)據(jù)進(jìn)行采樣, 來(lái)保證數(shù)據(jù)在兩個(gè)設(shè)備之間是同步傳輸?shù)摹?/p>
SPI有四種數(shù)據(jù)傳輸模式,如下表所示,主要差別在于:輸出串行同步時(shí)鐘極性(CPOL)和相位(CPHA)可以進(jìn)行配置。
SPI mode | CPOL | CPHA | Comments |
0 | 0 | 0 | 時(shí)鐘的空閑狀態(tài)為低電平;上升沿采樣 |
1 | 0 | 1 | 時(shí)鐘的空閑狀態(tài)為低電平;下降沿采樣 |
2 | 1 | 0 | 時(shí)鐘的空閑狀態(tài)為高電平;下降沿采樣 |
3 | 1 | 1 | 時(shí)鐘的空閑狀態(tài)為高電平;上升沿采樣 |
3、SPI接口數(shù)據(jù)交換(Data Exchanges)
SPI設(shè)備間的數(shù)據(jù)傳輸又被稱(chēng)為數(shù)據(jù)交換。SPI協(xié)議規(guī)定一個(gè)SPI設(shè)備不能在數(shù)據(jù)通信過(guò)程中僅僅只充當(dāng)發(fā)送者或者接收者,在每個(gè)時(shí)鐘周期內(nèi),SPI設(shè)備都會(huì)發(fā)送并接收一個(gè)bit大小的數(shù)據(jù),相當(dāng)于該設(shè)備有一個(gè)bit大小的數(shù)據(jù)被交換。
從設(shè)備要接收到主設(shè)備發(fā)過(guò)來(lái)的控制信號(hào),必須在此之前能夠被主設(shè)備訪問(wèn),所以主設(shè)備必須首先對(duì)從設(shè)備進(jìn)行片選。
在數(shù)據(jù)傳輸?shù)倪^(guò)程中,每次接收到的數(shù)據(jù)必須在下一次數(shù)據(jù)傳輸之前進(jìn)行采樣。如果之前接收到的數(shù)據(jù)沒(méi)有被讀取,那么這些已經(jīng)接收完成的數(shù)據(jù)將有可能會(huì)被丟棄,因此,應(yīng)用程序一般都會(huì)在SPI傳輸完數(shù)據(jù)后進(jìn)行讀取。
SPI協(xié)議
SPI接口允許同時(shí)在兩線(MOSI和MISO)發(fā)送和接收數(shù)據(jù)。時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)是定義SPI所使用的時(shí)鐘格式的主要參數(shù)。根據(jù)時(shí)鐘極性(CPOL),SPI時(shí)鐘可以反轉(zhuǎn)或不變。時(shí)鐘相位(CPHA)用于改變采樣相位。
如果CPHA=0,那么將于第一個(gè)時(shí)鐘邊沿進(jìn)行數(shù)據(jù)采樣。
如果CPHA=1,那么無(wú)論時(shí)鐘邊緣上升或下降,將于第二個(gè)時(shí)鐘邊沿進(jìn)行數(shù)據(jù)采樣。
脈沖傳輸前和完成后都保持在低電平狀態(tài),即CPOL=0。在第一個(gè)邊沿(上升沿)采樣數(shù)據(jù),第二個(gè)邊沿(下降沿)輸出數(shù)據(jù),即CPHA=0。
脈沖傳輸前和完成后都保持在低電平狀態(tài),即CPOL=0。在第二個(gè)邊沿(下降沿)采樣數(shù)據(jù),第一個(gè)邊沿(上升沿)輸出數(shù)據(jù),即CPHA=1。
脈沖傳輸前和完成后都保持在高電平狀態(tài),即CPOL=1。在第一個(gè)邊沿(下降沿)采樣數(shù)據(jù),第二個(gè)邊沿(上升沿)輸出數(shù)據(jù),即CPHA=0。
脈沖傳輸前和完成后都保持在高電平狀態(tài),即CPOL=1。在第二個(gè)邊沿(上升沿)采樣數(shù)據(jù),第一個(gè)邊沿(下降沿)輸出數(shù)據(jù),即CPHA=1。
SPI讀數(shù)據(jù)時(shí)序:
SPI寫(xiě)數(shù)據(jù)時(shí)序:
SPI總線在英創(chuàng)主板平臺(tái)上的應(yīng)用
支持SPI接口的芯片都可以直接和英創(chuàng)主板連接,并執(zhí)行相應(yīng)的功能。歷年來(lái),大量用戶使用英創(chuàng)主板進(jìn)行SPI應(yīng)用和數(shù)據(jù)處理,英創(chuàng)也累積了豐富的工程經(jīng)驗(yàn)。下面整理出了英創(chuàng)網(wǎng)站發(fā)表的相關(guān)技術(shù)文檔供用戶參考。雖然有一些方案文檔中提到的英創(chuàng)主板是較老的型號(hào),用戶在新產(chǎn)品開(kāi)發(fā)的時(shí)候未必會(huì)使用這些老主板產(chǎn)品,但是文中的軟硬件使用技巧、編程技巧和方法等技術(shù)細(xì)節(jié),是值得用戶參考或者直接使用的。
應(yīng)用方案
EM9280系列SPI接口應(yīng)用方案 |
使用方法與技巧
使用GPIO控制SPI接口的AD芯片 | 工控主板EM9160硬件SPI接口的應(yīng)用 | ||
EM9170 SPI接口用戶指南 | 基于SPI接口的大容量通用數(shù)據(jù)采集方案 | ||
JAVA操作英創(chuàng)主板SPI接口簡(jiǎn)介 | 多路SPI從設(shè)備連接方法 |
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6101瀏覽量
36303
發(fā)布評(píng)論請(qǐng)先 登錄
英創(chuàng)支持Linux高級(jí)客戶自行移植內(nèi)核
英創(chuàng)主板JAVA應(yīng)用開(kāi)發(fā)簡(jiǎn)介
JAVA操作英創(chuàng)主板SPI接口簡(jiǎn)介
英創(chuàng)信息技術(shù)GPIO控制SPI接口的AD芯片簡(jiǎn)介

英創(chuàng)信息技術(shù)工控主板EM9160介紹

英創(chuàng)信息技術(shù)EM9170 SPI接口用戶指南簡(jiǎn)介

英創(chuàng)信息技術(shù)EM9280主板SPI訪問(wèn)TLC2543 AD示例

英創(chuàng)信息技術(shù)基于SPI接口的大容量通用數(shù)據(jù)采集方案

英創(chuàng)信息技術(shù)獲取英創(chuàng)Linux主板型號(hào)的方法簡(jiǎn)介

英創(chuàng)信息技術(shù)JAVA操作英創(chuàng)主板SPI接口簡(jiǎn)介

英創(chuàng)信息技術(shù)JAVA操作英創(chuàng)主板I2C接口簡(jiǎn)介

英創(chuàng)信息技術(shù)CSI攝像頭接口及在英創(chuàng)主板上的應(yīng)用簡(jiǎn)介
英創(chuàng)信息技術(shù)多路SPI從設(shè)備連接方法簡(jiǎn)介

英創(chuàng)信息技術(shù)ESMARC工控主板升級(jí)簡(jiǎn)介

英創(chuàng)信息技術(shù)基于英創(chuàng)主板快速構(gòu)建整機(jī)應(yīng)用方案簡(jiǎn)介

評(píng)論