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

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

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

英創(chuàng)信息技術的整機產(chǎn)品安全性分析
英創(chuàng)信息技術EM9280主板SPI訪問TLC2543 AD示例

英創(chuàng)信息技術獲取英創(chuàng)Linux主板型號的方法簡介

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

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

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

英創(chuàng)信息技術ESMARC工控主板升級簡介

英創(chuàng)信息技術基于英創(chuàng)主板快速構建整機應用方案簡介

評論