当前位置: 首页 > news >正文

键盘 AK35I Pro V2 分析

文章目录

  • 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 内存映射

地址下界地址上界大小名称注释
00000000H00040000H256KBon-chip FLASH用户程序
1FFF0000H1FFF1000H4KBBoot ROMBootloader
1FFF2000H1FFF2800H2KBInformation Block
20000000H20008000H32KBSRAM内存
40000000H40064000H400KBPeripheral外设功能寄存器
60000000H70000000H256MBEBI BANK
A0000000HB0000000H256MBSPI FLASH
E000E000HE000ED00H3.25KBNVIC
E000ED00HE000F000H768BDebug 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

NumberClassSubClassProtocol
03 (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.SymbolDescription
1LEDALED Anode
2GNDPower Ground.
3RESETThis signal will reset the device,Signal is active low.
4RSDisplay data/command selection pin in 4-line serial interface.
5SDASPI interface input/output pin.
6SCLThis pin is sed to be serial interface clock.
7VDDPower Supply for Analog
8CSChip 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 电池

http://www.lryc.cn/news/571650.html

相关文章:

  • ABP vNext + Azure Application Insights:APM 监控与性能诊断最佳实践
  • 零基础设计模式——总结与进阶 - 1. 设计模式的综合应用
  • 利用cpolar实现Talebook数字图书馆的实时访问
  • ZYNQ学习记录FPGA(五)高频信号中的亚稳态问题
  • VMware vSphere Foundation 9.0 技术手册 —— Ⅰ 安装 ESXi 9.0 (虚拟机)
  • 数据库char字段做trim之后查询很慢的解决方式
  • 需要做一款小程序,用来发券,后端如何进行设计能够保证足够安全?
  • 微信原生小程序转uniapp过程及错误总结
  • 环卫车辆定位与监管:安心联车辆监控管理平台--科技赋能城市环境卫生管理
  • 【力扣 中等 C】2. 两数相加
  • chili3d笔记18 出三视图调整
  • 数据结构——选择题—查漏补缺
  • Could not locate zlibwapi.dll. Please make sure it is in your library path!
  • 功耗高?加密弱?爱普特APT32F1023H8S6单片机 2μA待机+AES硬件加密破局
  • Vue3 + TypeScript 本地存储 localStorage 的用法
  • 【时时三省】(C语言基础)内部函数和外部函数
  • Cornerstone3D 2.x升级调研
  • EPLAN P8 2.9 如何使用.step格式3D文件绘制3D安装布局图
  • 用idea操作git缓存区回退、本地库回退、远程库回退
  • Oracle client 静默安装
  • 【八股消消乐】构建微服务架构体系—一致性抽象
  • react 自定义状态管理库
  • sql_mode(二)宽松模式和严格模式的区别
  • CHASE、CoSQL、SPARC概念介绍
  • 以list为输入条件,查询数据库表,java中的mapper层和mybatis层应该怎么写?
  • 裸金属服务器深度评测:云计算时代的性能与安全担当​​​​
  • centos 7单机安装ceph并创建rbd块设备
  • 博世X阿里云:智能座舱接入通义大模型!
  • MYSQL进阶超详细总结2.0
  • CppCon 2017 学习:CNL: A Compositional Numeric Library