【Cortex-M0】16串行外圍設備接口(SPI)控制器

 

16.1 概述

SPI是英文“Serial Peripheral Interface”的縮寫,中文意思是串行外圍設備接口,SPIMotorola公司推出的一種同步串行通訊方式,是一種三線同步總線,因其硬件功能很強,與SPI有關的軟件就相當簡單,使CPU有更多的時間處理其他事務。

SPI接口是Motorola 首先提出的全雙工三線同步串行外圍接口,採用主從模式(Master Slave)架構;支持多slave模式應用,一般僅支持單Master。時鐘由Master控制,在時鐘移位脈衝下,數據按位傳輸,高位在前,低位在後(MSB first);SPI接口有2根單向數據線,爲全雙工通信,目前應用中的數據速率可達幾Mbps的水平。

SPI接口主要應用在 EEPROMFLASH、實時時鐘、AD轉換器,還有數字信號微控制器和數字信號解碼器之間。SPI是一種高速的、全雙工、同步的通信總線,並且在芯片的管腳上只佔用四根線,節約了芯片的管腳,同時爲PCB的佈局上節省空間,提供方便,正是出於這種簡單易用的特性,現在越來越多的芯片集成了這種通信協議,比如ATMEGA16LPC2142S3C2440
   SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)也是所有基於SPI的設備共有的,它們是MISO(數據輸入)、MOSI(數據輸出)、SCK(時鐘)、CS(片選)。

串行外圍設備接口(SPI)是一個工作於全雙工模式下的同步串行數據通訊協議。設備通過4線雙端接口工作於主機/從機模式進行通訊。NuMicro M051系列包括最多2SPI控制器,將從外設接收到的數據進行串並轉換或將要發送到外設的數據進行並串轉換。每組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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章