键盘 AK35I Pro V2 分析

文章目录

  • [AK35I Pro V2](#AK35I Pro V2)
    • [1. MCU SN32F299](#1. MCU SN32F299)
      • [SN32F299 内存映射](#SN32F299 内存映射)
    • [2. Bootloader](#2. Bootloader)
    • [3. TFT 135x240 1.14inch](#3. TFT 135x240 1.14inch)
    • [4. 键盘](#4. 键盘)
    • [5. Flash PY25Q128HA](#5. Flash PY25Q128HA)
    • [6. 蓝牙 CH582F](#6. 蓝牙 CH582F)
    • [7. 扩展板](#7. 扩展板)
    • [8. 电池 606090 3.7V 4000mAh](#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 电池

相关推荐
CODECOLLECT4 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
春日见4 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
BackCatK Chen5 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
PHOSKEY5 小时前
光子精密QM系列闪测仪在鼠标电路板部件质量控制中的核心应用
计算机外设
墩墩冰7 小时前
计算机图形学 分析选择缓冲区中的数字
计算机外设
全栈游侠7 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_7 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技10 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计10 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
UI设计兰亭妙微11 小时前
中车株州所显示器界面设计
计算机外设·界面设计