12.同步串行接口(SSP)
12.1.模塊介紹
SPI_IIC 模塊可用作 SPI接口通信和 IIC接口通信,兩種功能同一時間只能選擇其中一種使用。該模塊集成兩種接口協議,節省資源的同時又能滿足不同的應用需求。
12.2.功能特點
12.2.1. SPI功能
? 支持主模式和從模式工作
? 支持 1~32bit傳輸
? 支持 5byte發送/接收數據緩沖
? 傳輸數據順序 MSB和 LSB
? 支持標準模式,三線模式
? 可觸發中斷的專用發送和接收標志
12.2.2. IIC功能
? 支持主模式和從模式
? 主模式支持時鐘同步和總線仲裁
? 從模式支持在發送數據沒有準備好或者接收緩沖器滿時候拉低 SCL
? 從模式支持 7bit地址或者 10bit地址
? 從模式支持接收廣播地址
? 支持 5byte發送/接收數據緩沖
12.3.功能說明
12.3.1. SPI工作模式
? 模式 0:時鐘空閑為 0,上升沿采樣,下降沿出數據
? 模式 1:時鐘空閑為 0,下降沿采樣,上升沿出數據
? 模式 2:時鐘空閑為 1,下降沿采樣,上升沿出數據
? 模式 3:時鐘空閑為 1,上升沿采樣,下降沿出數據
12.3.2. SPI接口模式
? 標準模式:通信線有 CLK,CS,IO0(MOSI),IO1(MISO),一個 CLK傳輸 1bit數據
? 三線模式:通信線有 CLK,CS,IO0,接收和發送都通過 IO0,一個 CLK傳輸 1bit數據12.3.3. SPI數據幀與內部緩存
SPI可支持 1~32bit幀數據傳輸,內部集成了一個 40bit的緩沖區,根據配置的數據幀長度不同,緩沖區能緩存的幀數也不一樣。數據幀長度<=8bit?時,緩沖區可容納 5?幀數據,8bit<數據幀長度<=16bit時,緩沖區可容納兩幀數據,數據幀長度>16bit時,緩沖區可容納 1幀數據,當緩沖區無法再容下一幀數據時,緩沖區滿標志會置 1。
12.3.4. IIC主機時鐘同步和總線仲裁
IIC主機模式時,在多主機的應用場景下,支持時鐘同步和總線仲裁。當總線上連接了不止一個主機時,就會存在同時發起通信的情況,這時候需要時鐘同步以及總線仲裁機制決定由哪個主機占用總線完成數據傳輸。
時鐘同步的原理:IIC總線上的不同主機可能發起傳輸時的時鐘頻率不一樣,通過時鐘同步機制,可以讓所有主機的時鐘同步,才能進行逐位仲裁。所有主機的 SCL在總線上是線與的關系,當總線上的 SCL由高切換到低電平時,所有主機從 0開始計算低電平周期時間。當電平時間達到時,如果總線上的其它主機的 SCL低電平仍然保持,那么其它主機進入高電平等待狀態,等低電平時間最長的主機的 SCL拉高時再統一拉高。因此,總線上同步后的 SCL的低電平時間由低電平周期最長的主機決定,而高電平時間由高電平周期最短的主機決定??偩€仲裁原理:IIC總線上不同主機的 SDA線也是線與的關系,各主機在 SCL線為高電平時,檢查SDA線的電平是否和自己發送的 SDA信號一致,如果檢測到 SDA線為低電平時,自己要發送的 SDA信號為高電平,那么該主機仲裁失敗,停止總線上的傳輸動作。
12.3.5. IIC從機拉低 SCL
IIC從機在發送狀態下如果緩沖區中沒有可發送的數據,或者在接收狀態下緩沖區已滿時,將會在 SCL端口輸出低電平,拉低總線上的 SCL信號使主機暫停發送時鐘。當從機準備好發送或者接收后,將在 SCL輸出高電平,主機又可以重新控制總線上的 SCL線,恢復數據傳輸。
12.3.6. IIC從機支持 7bit/10bit尋址
IIC從機支持 7bit或者 10bit尋址模式,由寄存器 CON0的 IIC_SLAVE_ADDR_WIDTH位決定。7bit模式下,主機需要在 TX模式下發送帶 START位的 7bit地址,最后 1bit為 R/W標志。當主機寫從機時,尋址完成即可進行數據發送。當主機讀從機時,尋址完成后,主機需要改成 RX模式,然后配置準備接收的數據長度(寄存器 DMA_LEN),然后對寄存器 CMD_DATA寫任意值啟動接收。10bit模式下,主機需要在 TX模式下發送帶 START位的第 1byte地址(此時 R/W位為 1),接著發送第 2byte地址,此時如果收到從機的 ACK信號,則為尋址成功。接下來如果是主機寫從機,就可以直接進行數據發送。如果是主機讀從機,那么需要主機再次發送帶 START為的第 1byte地址(此時 R/W為 1),然后切換成 RX模式,配置寄存器 DMA_LEN,并且對寄存器 CMD_DATA寫任意值啟動讀數據。
主機讀從機時,從機被尋址成功且收到讀標志時,需要切換成 TX模式,并且往緩沖區中寫入要發送的數據。
審核編輯:湯梓紅
-
芯片
+關注
關注
450文章
49614瀏覽量
417074 -
單片機
+關注
關注
6022文章
44375瀏覽量
628253 -
mcu
+關注
關注
146文章
16653瀏覽量
347713 -
接口
+關注
關注
33文章
8247瀏覽量
149934 -
SSP
+關注
關注
0文章
16瀏覽量
11539
發布評論請先 登錄
相關推薦
評論