Pixart PAR2862 2.4GHz mouse開發筆記

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. 開發環境:

使用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 檔案,讓韌體開發人員能夠簡單修改代碼,用以完成所需之功能。爾後有機會將再進一步介紹,如有相關需求,也歡迎與我們聯絡。

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

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

評論