Infineon 雙模藍牙SoC CYW20719的SPI之應用

     CYW20719支持SPI接口與其他SPI設備通信。 該模塊可用於與基於spi的傳感器(如溫度傳感器、運動傳感器等)通信。 SPI支持以下特性:  

  • 三線(主從)和四線(主從)SPI接口
  • 主從模式
  • 可配置的SCK極性和相位
  • 可配置LSB-First或MSB-First傳輸
  • 1024字節發送緩衝區和1024字節接收緩衝區(與HCI UART共享)  

 

CYW20719提供SPI API來選擇2個SPI硬體塊。 spi_interface_t允許程序員在SPI1和SPI2之間進行選擇。 每個SPI實用程序API將有一個參數在兩個SPI塊之間進行選擇。  

 

SPI塊可以用作通用的SPI Master或通用的SPI Slave。 任何LHL GPIO都可以用於SPI接口。 ModusToolbox提供了訪問SPI 1驅動程序的參數和API列表。 在ModusToolbox IDE中,左下角Documentation中WICED Bluetooth SDK Documentation”,並在“Components-->Hardware Drivers”下找到“Peripheral SPI”部分。  

 

SPI 配置的圖形界面

 

使用函數wiced_hal_pspi_init()在所需的配置中初始化SPI模塊。  

 

1.1 通用的SPI Slave操作  

TX操作  

當作為一個通用的slave,數據在以下情況下被傳輸到主機:  

1).Tx FIFO中有數據 ; 

2).啟用Tx FIFO  ;

3).主機切換SPI_CLK,並斷言SPI_CSN ; 

如果條件(1)為假,但條件(2)和(3)為真,則出現數據下溢情況。 傳輸API可以在Tx FIFO中放置數據。 可以使用wiced_hal_pspi_slave_tx_data() API傳輸數據。  

 

RX操作  

作為一個通用的slave,當以下情況時從主機接收數據:  

1). Rx FIFO中還有空間  ;

2). Rx FIFO使能 ; 

3).主機發送SPI_CLK,並拉低SPI_CSN  

如果條件(1)為假,但條件(2)和條件(3)為真,則發生數據溢出。 可以使用手動固件讀取從Rx FIFO檢索數據。 可以使用wiced_hal_pspi_slave_rx_data() API接收數據。  

 

1.2  一般SPI Master操作  

在通用主模式下,根據不同的外設選擇不同的CS。 在主模式下,CS和INT引腳可以用作GPIO。 有三種類型的SPI Master可用。  

 

TX-Only  

當只需要發送數據時,SPI塊為TX-Only模式。 在這種模式下:  

 

1). 必須使能Tx FIFO  

2). 必須禁用Rx FIFO  

在這個配置中,SPI塊將傳輸Tx FIFO中放置的任何數據。 通過手動寫入FW,可以將數據放入Tx FIFO中。 可以使用wiced_hal_pspi_tx_data() API作為主服務器傳輸數據。  

 

當Tx FIFO變為空時,SPI_CLK將在字節邊界處暫停,直到將更多的數據放入Tx FIFO。 Rx FIFO中不存儲數據。  

 

RX-Only  

當只需要接收數據時,SPI塊為RX-Only模式。 在這種模式下:  

1). 必須禁用Tx FIFO  

2). 必須使能Rx FIFO  

在這個配置中,SPI將從Slave檢索TransmissionLength字節。 可以使用手動固件讀取從Rx FIFO檢索數據。 可以使用wiced_hal_pspi_rx_data() API接收主數據。  

 

如果Rx FIFO被填滿,數據流將被暫停。 當Rx FIFO中有空間時,數據流將恢復。 此模式下不發送任何數據。  

 

Full-Duplex 

當需要同時發送和接收數據時,SPI處於全雙工模式。


 在這種模式下:  

1). Tx FIFO啟用  

2). Rx FIFO啟用  

在這個配置中,如果有數據,SPI將數據傳輸到兩個FIFO:  

 1). Rx FIFO有空間  

2).  數據Tx FIFO  

如果其中任何一個條件為假,SPI_CLK將暫停,直到兩個條件再次為真。 可以使用wiced_hal_pspi_exchange_data() API同時發送和接收數據。  

 

注意: 由於SPI和HCI UART使用相同的緩衝區,它們不能一起使用。  

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論