CH58x三模键盘模组方案测试体验(CH555主控)

本文介绍了使用CH555主控和CH582无线模块的三模键盘模组方案,强调了功能性的重要性。测试包括BLE和2.4G无线连接,展示了灯光效果,并讨论了功耗。该方案实现了1KHz的2.4G上报率,适合电竞需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:

CH58x三模键盘模组方案测试体验(CH555主控) - SweetTea_lllpc - 博客园 (cnblogs.com)

前言:

去年B站稚晖君的瀚文键盘一经推出,给键盘客制化圈子带来了不小的影响。在此之前,键盘客制化一般指外壳、轴体的选择,很少有针对键盘软件功能做新颖的开发。功能性的开发似乎已经进入了瓶颈阶段,来回折腾开发也只是围绕在灯光律动、屏幕等软件功能。稚晖君的瀚文键盘是最基本的有线键盘,然而功能上却异常丰富:灯光/自带屏幕/与上位机通信可调等功能。从终端用户可二次开发这一最基本的概念阐释何为客制化。

笔者在了解了稚晖君的方案后,又实际测试体验了几款高流量的键盘方案,发现软件功能仍然存在很大的问题。最明显的如PWM调光,肉眼可见的屏闪,灯光切换缓慢,以及在不开灯光时1000mAh电池只能使用1~2周。虽然其凭借优秀的外观收获不少的拥趸,但笔者认为,作为客制化键盘最需要打磨的优先是功能性,其他的如外观、铝坨坨、声优轴等都是为功能服务的。带着这样的目的,笔者专门在键盘方案市场寻找了几款方案,都是针对功能性需求开发的,本次也给大家带来其中一款介绍:沁恒CH58x三模模组方案(CH555主控)

原理:

基本功能框架:CH555作为主控完成键扫+灯光等效果;CH582作为无线模块完成无线双模功能(2.4G+BLE)。

CH555作为可二次开发的芯片提供给终端进行二次开发,键扫、灯光、上位机配套均由此芯片完成。

CH582作为模块提供给终端直接进行指令的调配使用。CH582也可以实现键扫和简单灯光的闪烁功能。听原厂工程师说,为了实现2.4G模式上报率达到1Khz,所以CH582只作为无线透传使用,其他功能均放在了主控芯片完成。可以实现2.4G作为电竞需求使用。整体来看,这也符合资源与性能的配置要求。

如需要CH582单芯片实现三模功能,则适当牺牲灯光、上报率等性能,即可实现。

具体指令集参考如下:

CH58x三模模组方案(CH555主控)

灯光效果演示:

本次收到是方案板是半成品,包括软硬件。硬件用开发板搭建,听说原厂硬件已经绘制好了,可以自行打样(然而没有给我打样版本...)。据原厂工程师说这两个板子可以实现键盘的基本功能🐶

2层PCB 99.1 x 162.7 mm FR-4,1.6 mm,1,带铅的HASL,紫色阻焊剂,白色丝印 此与Raspberry Pi兼容的设备使您可以将操纵杆用作鼠标,并使用两个动态键盘选项输入键盘和修改键。 长期以来,我需要一个简单的设备,允许我发送各种鼠标和键盘命令来测试我的某些Web应用程序和浏览器上的游戏。另外,我可以利用这样的设备来测试新型单板计算机(例如Raspberry Pi)的键盘和鼠标功能,而不必为缺乏适当的键盘和鼠标而烦恼:)因此,我决定创建这个项目。 首先,为了能够通过USB发送键盘和鼠标命令,我使用了以ATmega32U4为中心的Arduino Pro Micro,后者是与ATmega328非常相似的8位AVR。ATmega32U4配备了一个全速USB收发器,可以仿真任何USB设备。 然后,我利用4x4矩阵键盘设计发送键盘键,最多支持32个键以及两个动态键盘选项。 最后,我使用了两个操纵杆作为全功能鼠标,还控制了动态键盘选项和修改键。 在面包板上完成设计并测试代码后,我设计了一个控制器形状的PCB(基于Arduino的鼠标和键盘控制器),具有集成的4x4矩阵键盘和两个嵌入式操纵杆,并以皮卡丘为中心徽标:) 该项目中使用的物料清单: Arduino Pro Micro1个 COM-09032拟操纵杆2 按钮6x616 5mm绿色LED1个 5mm蓝色LED1个 220Ω电阻2 式和功能: 控制器允许用户通过向左操纵杆(J1)移动来移动光标,并通过向左(J1)或向右(J2)操纵杆按钮进行单击。 J1>左>光标向左 J1>右>向右光标 J1>向上>光标向上 J1>向下>光标向下 J1>按钮>鼠标左键单击 J2>按钮>鼠标右键 控制器允许用户在动态键盘选项(字母和数字)之间进行选择,并通过向右操纵杆(J2)的移动来发送修改键。 J2>左>字母键盘 J2>右>数字键盘 J2>上>返回 J2>向下> BACKSPACE 控制器包括一个集成的4x4矩阵键盘。通过动态键盘选项,控制器最多支持32键盘键。 Key键盘按钮上的默认键盘键: K1> e,1 K2> a,2 K3> r,3 K4> i,+ K5> o,4 K6> t,5 K7> n,6 K8> s,- K9> w,% K10> h,+ K11> m,0 K12> p,# K13> d,/ K14> u,9 K15> c,8 K16> l,7
<think>好的,用户现在问的是关于CH32F203开发的硬件环境。首先,我需要确认CH32F203是什么型号。查一下,CH32F203是南京沁恒微电子推出的一款基于ARM Cortex-M3内核的微控制器,主频最高144MHz,内置高速Flash和SRAM,适用于工业控制、物联网等领域。 用户之前问过NDIR技术的应用领域,可能现在转向具体的硬件开发,可能是想做一个实际项目,比如环境监测或者工业控制设备,需要用到这个MCU。所以用户可能是一位工程师或者学生,正在准备开发一个项目,需要了解搭建开发环境的步骤和所需硬件工具。 接下来,我需要整理CH32F203开发所需的硬件环境。通常包括开发板、调试工具、电源、外设块、软件环境等。其中开发板部分,官方有评估板,比如CH32F203C8T6核心板,或者第开发板。需要提到这些开发板的基本配置,比如主控型号、封装、内存大小等。 调试工具方面,CH32F203支持SWD接口,常用的调试器有WCH-Link,这个需要特别说明,因为沁恒自家的调试工具可能和其他ST-Link或者J-Link有所不同。另外,还要提到USB转串口工具,比如CH340,用于串口通信。 电源部分,需要说明开发板的供电方式,比如USB供电或者外部电源,电压要求,比如3.3V。外设块可能包括LED、按键、显示屏、传感器块等,用于功能验证。 软件环境方面,需要提到IDE,比如MounRiver Studio,这是沁恒推荐的开发环境,基于Eclipse,支持C/C++开发。还有编译器,比如GCC,以及调试工具WCH-Link Utility。可能需要说明如何安装驱动,如何配置工程等。 然后要考虑用户可能遇到的问题,比如调试器的选择,是否兼容其他品牌,或者开发环境搭建中的常见错误。比如,使用WCH-Link需要注意固件版本,或者驱动安装是否正确。 另外,用户可能想知道如何开始一个简单的项目,比如点灯程序,所以步骤部分需要详细,从硬件连接到软件配置,编译下载,调试等流程。 最后,还要提到扩展硬件,比如如果需要更多外设或通信接口,可能需要额外的块,比如WiFi、蓝牙、以太网等,这些块如何与CH32F203连接。 需要确保回答结构清晰,分点说明,让用户能够一步步搭建起硬件环境。同时,要使用中文,避免专业术语过于晦涩,必要时解释缩写,比如SWD、IDE等。 检查是否有遗漏的部分,比如是否提到操作系统的兼容性,比如Windows下的驱动安装,或者Linux下的支持情况。可能用户是在不同的操作系统下开发,需要简要说明。 总结来说,回答需要涵盖开发板、调试工具、电源、外设、软件环境、开发步骤以及常见问题,确保用户能够根据指南顺利开始CH32F203的开发工作。</think>以下是关于CH32F203微控制器开发的硬件环境详细介绍: --- ### 一、核心开发硬件组件 #### 1. **开发板选择** - **官方评估板**: - 型号:CH32F203C8T6核心板 - 主控CH32F203C8T6(LQFP48封装) - 配置:128KB Flash + 20KB SRAM,支持USB 2.0全速接口 - 外设:板载LED、按键、USB接口、SWD调试接口 - **第开发板**: - 例如:WCH拓展板(集成CAN、以太网PHY等工业接口) #### 2. **调试下载工具** - **WCH-Link**(专用调试器): - 支持SWD协议,兼容ARM Cortex-M3内核 - 双式:默认调试式(需短接VCC跳线) + 串口式 - **其他兼容工具**: - J-Link(需安装WCH补丁) - ST-Link(通过OpenOCD配置适配) #### 3. **电源供应** - **供电方式**: - USB供电:5V/500mA(通过Type-C接口) - 外部电源:3.3V直连(需注意电压纹波<50mV) - **功耗监测**:建议配备数字万用表(测量运行/休眠式电流) #### 4. **外设扩展块** - 基础块:OLED屏幕(I2C接口)、按键矩阵、蜂鸣器 - 通信块:ESP8266 WiFi模组(AT指令)、CAN总线收发器(如TJA1050) - 传感器:温湿度传感器(DHT11)、加速度计(MPU6050) --- ### 二、软件环境配置 #### 1. **集成开发环境(IDE)** - **MounRiver Studio**(WCH官方推荐): - 基于Eclipse框架,内置GCC编译器链 - 支持工程板生成(如GPIO、UART、USB HID等) - **Keil MDK**: - 需手动安装CH32F203器件支持包(从WCH官网下载) #### 2. **驱动安装** - WCH-Link驱动:通过MounRiver Studio自动安装 - USB串口驱动:安装CH340/CH341驱动程序(用于UART通信) #### 3. **代码库与工具链** - 标准外设库:WCH提供的`ch32f20x.h`头文件及外设驱动库 - 调试工具:WCH-Link Utility(固件升级/擦除Flash) --- ### 、硬件连接示意图 ```plaintext [PC] ↔ [WCH-Link] │ (SWCLK/SWDIO) ↓ [CH32F203开发板] ├── USB ↔ PC(用于USB设备开发) ├── UART_TX → CH340_RX(调试信息输出) └── GPIO → 外设块(如LED/传感器) ``` --- ### 四、开发流程示例(以LED闪烁为例) #### 步骤1:硬件连接 - 将WCH-Link的SWD接口(SWCLK/SWDIO/GND)与开发板对应引脚连接 - 开发板通过USB供电 #### 步骤2:工程创建 1. 打开MounRiver Studio,选择`File → New → WCH Project` 2. 选择芯片型号`CH32F203C8T6`,勾选`GPIO`库 #### 步骤3:代码编写 ```c #include "ch32f20x.h" void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStruct); } int main(void) { GPIO_Config(); while(1) { GPIO_WriteBit(GPIOC, GPIO_Pin_13, !GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13)); Delay_Ms(500); } } ``` #### 步骤4:编译与下载 - 点击`Build`生成`HEX`文件 - 连接WCH-Link,点击`Download`烧录程序 --- ### 五、调试技巧与常见问题 #### ▨ **调试技巧** - **实时变量监控**:使用`Live Watch`功能监控全局变量 - **HardFault定位**:通过`Call Stack`查看异常时的寄存器状态 #### ▨ **常见问题** 1. **WCH-Link无法识别**:检查USB驱动是否安装,尝试短接VCC选择调试2. **程序无法运行**:确认启动式(BOOT0引脚需接地) 3. **USB枚举失败**:检查DP/DM线序,确认时钟配置(需72MHz PLL) --- 如需特定外设(如USB、CAN)的硬件设计注意事项,可进一步说明需求!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值