Pixart PAR2862 是一款採用32 bits ARM Cortex-M0 低功耗、高效能 2.4GHz 藍牙低功耗 SoC。 該 SoC 整合了高效能 2.4GHz RF transceiver、硬體按鍵除彈跳、硬體keyscan、SPI、I2C、PWM LED、ADC、UART等。 內建 DC/DC 轉換器為 HID 和穿戴式裝置等獨立應用提供完整的低功耗 SoC 解決方案。
1. 開發環境:
• framwork_dev_process_fn: 鼠標主要功能處理,請參考下方介紹。
1. 開發環境:
使用Keil uVision v5.38.0.0.
2. Pixart 原代碼 Code flow :
2-1. 下圖是main loop中,各個task所處理的項目。
• framwork_dev_process_fn: 鼠標主要功能處理,請參考下方介紹。
• device_rf_usb_switch_event_handler: RF/BLE 模式切換處理。
• pxi_ble_sched_execute: Flash 操作處理。
• ota_scheduled_task: 韌體OTA處理。
2-2. 下圖是framework_dev_process_fn處理的項目。
• timer_event_handler: 鼠標資料處理,包含座標、按鍵...等。
• rf_event_handler: RF中斷事件處理。
• rf_protocol_routine: RF資料傳輸處理。
• bat_det_process: 電壓偵測及低電壓處理。
• device_power_manager: 電源模式處理,如normal、sleep、power down、shut down。
• timer_switch_event_handler: 根據不同電源模式處理timer切換。
2-3. 在config.h中,選擇使用的sensor型號,接著在對應型號的dev_config_xxxx.h中,即可簡單的設定周邊I/O腳位,包含鼠標按鍵、滾輪、LED、Sensor、電壓偵測...等
3. Power State:
原代碼將電源狀態分為4種模式,依據不同條件切換至對應模式,用以達到低功耗。以下將介紹各個模式切換的條件。
• Idle1: Active 模式中,鼠標超過256ms 沒有任何操作時,將進入 sleep 模式。
• Idle2: Sleep 模式中,鼠標超過744ms 沒有任何操作時,將進入 power down 模式。
• Wake up: Sleep 或 power down 模式中,鼠標移動、滾動滾輪或按下按鍵,將喚醒至 active 模式。
• Low bat: 電池電壓低於設定值時,將進入shut down 模式。
4. 總結:
Pixart提供相當完整的原代碼供韌體開發人員使用,並將常用的參數設定整合到 c header 檔案,讓韌體開發人員能夠簡單修改代碼,用以完成所需之功能。爾後有機會將再進一步介紹,如有相關需求,也歡迎與我們聯絡。
評論