AVR學習筆記------SPI總線和AVR SPI
SPI是一種采用串行同步方式的3線或4線通信接口,使用信號有使能信號,同步時鐘,同步數據輸入和數據輸出。其常用于微控制器和外圍芯片的直接連接和擴展。
一個典型的SPI總線系統包括一個主機和一個從機,雙方之間通過主機輸出/從機輸入(MOSI),主機輸入/從機輸出(MISO) ,同步時鐘信號(SCLK),從機選擇(SS|),4跟信號線相連。SPI的通信過程本質上就是在同步時鐘作用下的串行移位。可以把主機和從機看成是兩個串行移位寄存器,通過MOSI和MISO首尾相連。主機發起傳輸時,先拉低從機選擇信號,然后在內部時鐘的作用下將SPI數據寄存器中的內容逐步移出,通過MOSI傳送到從機。雙方數據交換完畢后,拉高從機選擇信號,停止SCLK,結束SPI.
SPI根據同步時鐘的極性和同步時鐘的相位兩個參數,可以配置為4種不同的工作模式。同步時鐘(CPOL)的極性指SPI總線處于傳輸空閑時,SCLK信號的狀態。同步時鐘的相位(CPHA)指進行SPI傳輸時對數據進行采樣/鎖存點相對于SCLK上時鐘信號的位置。
AVR的SPI是采用硬件方式實現的全雙工3線同步通信接口,支持主機,從機模式和4種不同傳輸模式的SPI時序。主機方式的最高速率為系統時鐘頻率的1/2,從機方式為1/4。 ATMega 16的SPI接口的硬件部分由數據寄存器,時鐘邏輯,引腳邏輯和控制邏輯4部分組成。與SPI相關的寄存器有SPI控制寄存器SPCR,SPI狀態寄存器SPSR,SPI數據寄存器SPDR。
上一篇:AVR c語言的位操作
下一篇:AVR 的精確延時程序
- Keil MDK破解過程詳解[18年05月20日 11:11]
- STM32F407之模擬I2C(二)之24C128[18年05月20日 12:18]
- STM32F1使用I/0模擬I2C接口[18年05月20日 12:17]
- STM32模擬I2C程序[18年05月20日 12:13]
- STM8S 模擬I2C程序[18年05月20日 12:14]
- 普通IO口模擬實現I2C通信及應用解析[18年05月20日 12:12]