文章目錄
- AK35I Pro V2
- 1. MCU SN32F299
- SN32F299 內存映射
- 2. Bootloader
- 3. TFT 135x240 1.14inch
- 4. 鍵盤
- 5. Flash PY25Q128HA
- 6. 藍牙 CH582F
- 7. 擴展板
- 8. 電池 606090 3.7V 4000mAh
AK35I Pro V2
AK35I Pro V2 測評視頻
鍵盤外殼使用卡扣固定, 外殼沒有螺絲, 將外框向外翹起, 用撬棒進行脫扣即可打開
【看鍵】1我常見鍵盤主控都有啥 提到華奮達是常見鍵盤主控之一, HFD 芯片就是華奮達的芯片
主控為 HFD80CP100 229GNWD0a
1. MCU SN32F299
FPB/AJAZZ-AK820-PRO 提到 HFD80CP100 就是 SN32F299
工作頻率 48MHz
SonixQMK/sonix_dumper 提到了利用 SWD 接口讀取程序 Flash 的方法
如何安裝 - SonixQMK Docs 提到了如何向 HFD 寫入程序的方法, 實際利用 Bootloader 的自舉能力覆寫程序 Flash
SN32F299 內存映射
地址下界 | 地址上界 | 大小 | 名稱 | 注釋 |
---|---|---|---|---|
00000000H | 00040000H | 256KB | on-chip FLASH | 用戶程序 |
1FFF0000H | 1FFF1000H | 4KB | Boot ROM | Bootloader |
1FFF2000H | 1FFF2800H | 2KB | Information Block | |
20000000H | 20008000H | 32KB | SRAM | 內存 |
40000000H | 40064000H | 400KB | Peripheral | 外設功能寄存器 |
60000000H | 70000000H | 256MB | EBI BANK | |
A0000000H | B0000000H | 256MB | SPI FLASH | |
E000E000H | E000ED00H | 3.25KB | NVIC | |
E000ED00H | E000F000H | 768B | Debug Control |
2. Bootloader
空格下方藏有引出的 Boot 引腳和 GND, 短接后冷啟動進入 Bootloader 模式
Bootloader 模式啟動 USB 外設, 提供 USB HID 接口進行通信
將鍵盤連接到電腦后, 對 USB 數據進行抓包可得到如下參數
設備 DEVICE
鍵 | 值 | 含義 |
---|---|---|
idVendor(VID) | 0x0C45(Sonix Technology Co., Ltd) | 生產商ID, 由廠商向 USB-IF 申請 |
idProduct(PID) | 0x7140(SN299) | |
bcdDevice(REV) | 0x0121 |
接口 INTERFACE
Number | Class | SubClass | Protocol |
---|---|---|---|
0 | 3 (HID) | 0 (No Subclass) | 0 |
暫時未找到有 Sonix 官方文檔對 Bootloader 的功能進行描述, 不過 sonixflasher.c 給出了通過 libusb/hidapi 與 Bootloader 通信的方法
3. TFT 135x240 1.14inch
其中 #3 和 #4 通過二極管后再接到MCU
淘寶上"類似產品"接口定義如下, 替換后可直接點亮
主控 ST7789V, 采用 SPI 協議通信, SCL 上使用 24MHz 的方波, 通過 SDA 進行半雙工通信(實際疑為單工, 只寫不讀)
NO. | Symbol | Description |
---|---|---|
1 | LEDA | LED Anode |
2 | GND | Power Ground. |
3 | RESET | This signal will reset the device,Signal is active low. |
4 | RS | Display data/command selection pin in 4-line serial interface. |
5 | SDA | SPI interface input/output pin. |
6 | SCL | This pin is sed to be serial interface clock. |
7 | VDD | Power Supply for Analog |
8 | CS | Chip selection pin. Low enable, High disable. |
值得一提的是該 TFT 的顯示區域的顯存地址不是從 (0, 0) 到 (135, 240), 而是從 (52, 40) 開始到 (187, 280)
4. 鍵盤
5. Flash PY25Q128HA
PY25Q128HA_H 容量 16MB(用滿 24 位地址的全部空間), 采用 SPI Flash/EEPROM 協議, 與其他類似Flash芯片的操作方式相同, 如 MX25L1605D
地址 0x330100~0x559C60 3888000B=60x240x135x2B≈3.70MB 為開機動畫, 下面是提取數據后重制的 GIF 圖
- 共 60 幀, 幀率 20Hz, 每 50ms 一幀
- 每幀大小 648000B, 寬 240 高 135
- 每像素 2B, 顏色編碼 RGB565
- RRRRRGGG GGGBBBBB
- R: 低字節高5位
- G: 低字節低3位 + 高字節高3位
- B: 高字節低5位
- 每幀讀取用時 21.5ms
6. 藍牙 CH582F
CH582F 采用QFN28封裝, 底部有一大片 #0 引腳用于接地, 其余引腳圍繞邊緣鋪開, 外接一個有源 32MHz 晶振
7. 擴展板
開關撥向 BT 時, BT 引腳接地
開關撥向 RF 時, RF 引腳接地
開關撥向 Win 時, Win 引腳接地
8. 電池 606090 3.7V 4000mAh
板載 2 塊 606090 電池