- AW20198 簡介
2. SPI 設定,SCLK 應為 1 MHz ~ 10 MHz,傳輸數據為 8-bit。
3. SPI 協議為 1 個 command byte + 1 byte 暫存器位址 + 1 byte 傳輸資料。
4. Command byte 由 4-bit 的 chip id 加上 3-bit 的 page id 再加 1-bit 的 Read/Write 組成。
5. AW 20198 SPI 寫入協議。
6. AW 20198 SPI 讀取協議。
7. LED 位置圖。
8. LED 亮燈控制:GCC 全局電流控制,PWM 亮度控制,SL 恆流控制,PAT 模式控制。
- 設置 LPC55S06 SPI 功能
1. 透過 sysclk() 函式將 system clock 設為 96 MHz。並由 clkout () 函式輸出 system clock 確認 mcu 工作頻率。
2. 透過 gpio_init() 函式和 gpio_set() 函式來啟動 IOCON 的 clock,並設置 SPI 的 4 個通道腳位。
3. Ctimer_delay_1ms(2) 函式做 2 ms 的延遲,等待 AW20198 power ready。
4. spi_master_init() 函式將 Flexcomm 啟動並配置成 SPI,且設置 SPI 為 master mode0 的功能初始化。
- 設置 AW20198 初始化
1. 對 Page0 的 0x2F 暫存器寫入 0xAE 將 AW20198 重啟。
2. 設置 Page0 的 0x00 暫存器,將 AW20198 的 SW1~SW11 和 chip 激活。
3. 設置 Page0 的 0x01 暫存器,將 AW20198 的 GCC 開到最大。
- 讀取 AW20198 暫存器資料,確保 SPI 溝通正常
1. 讀取 Page0 的 0x00 暫存器資料,確認值有被正確寫入。
2. 讀取 Page0 的 0x01 暫存器資料,確認值有被正確寫入。
- 設置 Page 2 的 SL0~SL197 暫存器的 constant current
- 彩虹呼吸燈設為 10 個燈號
2. 依照 10 個燈號依序點亮整個縱排 LED 燈。
3. 參數 x 為縱排 LED 燈號起始位置,給予 Page 1, PWM0~PWM197 的暫存器位址。
4. 參數 y 為 PWM 控制 LED 亮度,給予 Page 1, PWM0~PWM197 暫存器的資料。
- 點亮 LED 矩陣的彩虹呼吸燈
2. 將第一縱排亮橙燈,第二排亮紅燈。
3. 將第一縱排亮黃燈,第二排亮橙燈,第三排亮紅燈。
4. 以此類推,到第 9 步驟時,第 9 縱排至第 1 縱排的燈號將會是:紅→橙→黃→綠→青→淺藍→藍→淺紫→紫。
5. 第 10 步驟,第 1 縱排將會變為紅色重新一個燈號循環。
6. 第 11 步驟,第 2 縱排將會變為紅色重新一個燈號循環,第 1 縱排則變為橙色。以此類推,重複循環。
- 實作圖片
評論