16.1 概述
SPI是英文“Serial Peripheral Interface”的縮寫,中文意思是串行外圍設備接口,SPI是Motorola公司推出的一種同步串行通訊方式,是一種三線同步總線,因其硬件功能很強,與SPI有關的軟件就相當簡單,使CPU有更多的時間處理其他事務。
SPI接口是Motorola 首先提出的全雙工三線同步串行外圍接口,採用主從模式(Master Slave)架構;支持多slave模式應用,一般僅支持單Master。時鐘由Master控制,在時鐘移位脈衝下,數據按位傳輸,高位在前,低位在後(MSB first);SPI接口有2根單向數據線,爲全雙工通信,目前應用中的數據速率可達幾Mbps的水平。
SPI接口主要應用在 EEPROM、FLASH、實時時鐘、AD轉換器,還有數字信號微控制器和數字信號解碼器之間。SPI是一種高速的、全雙工、同步的通信總線,並且在芯片的管腳上只佔用四根線,節約了芯片的管腳,同時爲PCB的佈局上節省空間,提供方便,正是出於這種簡單易用的特性,現在越來越多的芯片集成了這種通信協議,比如ATMEGA16、LPC2142、S3C2440。
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)也是所有基於SPI的設備共有的,它們是MISO(數據輸入)、MOSI(數據輸出)、SCK(時鐘)、CS(片選)。
串行外圍設備接口(SPI)是一個工作於全雙工模式下的同步串行數據通訊協議。設備通過4線雙端接口工作於主機/從機模式進行通訊。NuMicro M051系列包括最多2組SPI控制器,將從外設接收到的數據進行串並轉換, 或將要發送到外設的數據進行並串轉換。每組SPI控制器都可被設置成主機;也可設置爲被片外主機設備控制的從機。
16.2 特性
l 最多兩組SPI控制器
l 支持主/從機模式
l 可配置比特長度,一個傳輸字最多可達32比特;可配置的傳輸字數,一次最多可傳輸2個字,所以一次數據傳輸的最大比特長度是64比特
l 支持burst操作模式,在一次傳輸過程中,發送/接收可執行兩次字傳輸
l 支持MSB 或 LSB 優先傳輸
l 字節或字休眠模式
l 主機模式下可輸出多種串行時鐘頻率
l 主機模式下支持兩個可編程的串行時鐘頻率
SPI通信有以下特點:
① 主機控制具有完全的主導地址。它決定着通信的速度,也決定着何時可以開始和結束一次通信,從機只能被動響應主機發起的傳輸。
② SPI通信是一種全雙工高速的通信方式。從通信的任意一方來看,讀操作和寫操作都是同步完成的。
③ SPI的傳輸始終是在主機控制下,進行雙向同步的數據交換。
16.3 功能
主機/從機模式 SPI控制器可通過設置SLAVE 位(SPI_CNTRL[18])被配置爲主機或從機模式,來與片外SPI從機或主機設備通訊。在主機模式與從機模式下的應用框圖如圖16.3-1和圖16.3-2所示。
圖 16.3-1 SPI主機模式應用框圖
圖 16.3-2 SPI主機模式應用框圖
l 從機選擇
在主機模式下,SPI控制器能通過從機選擇輸出腳SPISS驅動一個片外從機設備。從機模式下,片外的主機設備驅動從機選擇信號通過SPISS輸入到SPI控制器。在主機/從機模式下,從機選擇信號的有效電平可以在SS_LVL位 (SPI_SSR[2])被編程爲低有效或高有效,SS_LTRIG 位(SPI_SSR[4])配置從機選擇信號SPISS 爲電平觸發或邊沿觸發。觸發條件的選擇取決於所連接的外圍從機/主機的設備類型。
l 從機選擇
在主機模式下,SPI控制器能通過從機選擇輸出腳SPISS驅動一個片外從機設備。從機模式下,片外的主機設備驅動從機選擇信號通過SPISS輸入到SPI控制器。在主機/從機模式下,從機選擇信號的有效電平可以在SS_LVL位 (SPI_SSR[2])被編程爲低有效或高有效,SS_LTRIG 位(SPI_SSR[4])配置從機選擇信號SPISS 爲電平觸發或邊沿觸發。觸發條件的選擇取決於所連接的外圍從機/主機的設備類型。
…………………………
書籍名稱:ARM Cortex-M0原理與應用實踐
書籍下載地址:http://download.csdn.net/detail/k125008301/4070709