沁恒触摸蓝牙模块方案测试体验(CH582)

本文分享了沁恒微电子触摸蓝牙方案demo的测试体验。作者收到原厂寄来的触摸蓝牙门锁方案demo,查看资料包、了解样品软硬件情况后进行烧录、调试,还做了压力测试和功耗测试。该方案基本功能实现,蓝牙连接快、功耗低,结合触摸与蓝牙功能有前瞻性,但作者希望能早日看到原理图。

前段时间看到网上有一个触摸方案的键盘,看起来比较新颖,仔细了解发现是沁恒微电子的芯片和方案,与原厂的工程师联系了一下,原厂也比较大方,直接寄过来一份触摸蓝牙方案demo,听说是一个触摸蓝牙门锁的方案,准备测试一下demo做到了什么程度,也来进行一次简单的体验。

初步上手

沁恒的官方是提供了资料包和样品,首先查看一下资料包:

解压资料包后,如下图文件内容: 

第1个Test文件里面是我们需要编译的软件;第2个HAL文件夹里面是程序硬件共用的相关文件,如IIC/Touch/RTC等,这里可以基本看出来这个触摸蓝牙样品主要使用了哪些协议;第3个文件夹是蓝牙库,此样品是结合了触摸与蓝牙功能的;第4个文件夹是link文件,内核系统头文件,启动文件以及基本外设驱动源文件和头文件。简单的看了一下相关的软件,是比较常见的一些功能,接下来看看这些功能的整合能做到什么程序。

寄来的样品是比较完整的,看起来是一个可以实现简单功能的demo,不然还需要自行打样。先看正面:

正面最瞩目的是这12个触摸按键+灯,这里可以先猜测一下等下烧录程序后触摸相应的点位会有反应。正面还有一组排针,在排针的下面有字样:GND/3V3/GND/TX,这里的排针应该是为了供电和调试时通过串口观察日志信息进行调试。接下来看看样品的反面:

反面贴了一块芯片:CH582。其他的是一些按键,分别为:RST/DownLoad/开关控制/三组排针(不知道干什么用的)。

这里的样品焊接还是很干净的,布局也是兼顾了实用与美观。接下来进入调试。

烧录阶段

下面来分享一下具体的测试(CH582是RISC-V内核的,沁恒在自己涉及的专业领域都钻研的比较深,比如最开始使用的CH340/CH341 USB 转串口,后来用过U盘管理芯片CH376,现在连103都做了,BLE也做的不错,看过网上拆解的蓝牙触摸锁视频用的就是CH582。之前与原厂的工程师也聊过,目前CH582的触摸方案越来越成熟,市场有一定的占有率),所以想来RISC-V应该也不会差。

编译器安装环境,我参考这个这个

(30条消息) RISC-V MCU开发(一):集成开发环境_MounRiver_Studio的博客-优快云博客

先安装MRS,打开工程

界面对比keil还是有点相似的,用法实际上也比较相似,都是C编程,上手不太难。

编译问题解决了,接下来是烧录代码到芯片里面去,咨询了技术支持,CH582每颗芯片都自带boot,可以使用串口免按键/USB/SWD这三种方式的下载。BleTouchKey样品上留出了USB口和DownLoad,因此我直接使用USB的方式进行烧录。

下载工具链接

WCHISPTool_Setup.exe - 南京沁恒微电子股份有限公司

安装后的样子,这里按住DownLoad进行上电,USB设备列表识别到了设备,同时将用户程序文件放置正确,最后点击下载。

下载成功后样品上光亮起,开始工作。

上述操作有几个点注意:

1、 默认的下载脚是PB22,拉低可以进boot。如果不小心点成了PB11,则下一次烧录时需要PB11拉高才能进boot;

2、 清空DataFlash可以清除掉配对绑定等个人信息,建议每次烧录时清空。

调试阶段

接上串口工具(TX/GND),按下复位后样品背面的指示红灯常亮,正面的触摸按键的蓝色光柱也会亮起,约1s后蓝色灯光熄灭。接上串口观察如下:

日志观察是一个简单的初始化。

手重新触碰了一下触摸板,12个蓝色灯柱再次亮起,同时串口还显示了广播的日志

再次用手触摸后发现相应的触摸按键亮起,不再是全部亮起,此时是触碰到按键则相应亮起,如图可以看到:

这里日志是显示了Advertising,我们打开BLE调试助手(安卓手机应用商城下载)

这里我依次按下触摸按键,打开APP主机端的自定义服务下面的noti服务,发现也是依次接收到数据,还是比较通俗易懂的。

日志的观察如下:

主要是进行了连接间隔的参数更新。

上面是进行了简单的测试,基本功能满足。这里再进行一些压力测试:实际使用触摸面板时,如刚洗完手,手上可能会有水。我这里将手上沾上水,触摸也是没有问题,当然如果水过多就不建议了,以免造成短路;使用衣服将手指覆盖进行触摸,同样触摸没问题,说明触摸采样还是比较准的。

使用说明

刚开始操作时发现灯的闪烁会有一定规律但是没有理解,经过摸索发现一定的规律:

1、上电后初始化校准1.5S,此时触摸按键背光常亮,校准完成后背光熄灭,触摸按键板进入低功耗睡眠状态;

2、初始化完成后按任一触摸按键来唤醒触摸按键板,唤醒成功触摸按键板背光会亮起0.5S,此时蓝牙开始广播,可进行Demo板功能演示,唤醒时触碰的按键键值不被记录。唤醒后如无任何后续操作,则Demo板在20S后进入低功耗模式。若有后续操作,如蓝牙连接,按键触摸等,则在动作结束后20S进入低功耗模式。

3、唤醒Demo板后可进行Demo基本功能演示,包括按键触摸和蓝牙通信。

按键触摸功能现象为,被触摸的按键的背光以呼吸灯方式亮起并维持一固定时间后熄灭。蓝牙通信功能在唤醒后使用手机蓝牙调试助手扫描并连接名为” Ble TouchKey”的蓝牙设备,连接成功后通过特征值2向手机上报当前按下的按键键值。

功耗测试

这里分别测试了三种情况下的功耗

睡眠状态:

触摸按键状态:

蓝牙连接状态:

这里测试出来的功耗还是非常可观的,睡眠状态下可以达到20uA以内,在使用的时候触摸按键平均功耗是5mA左右,此时连接上蓝牙功耗约为6.5mA左右。

根据上面的一些测试我这里猜测了样品的应用场景,与现在市面上用的触摸锁有点类似。可以实现触摸按键开锁,代替了传统的钥匙开锁。同时结合了蓝牙功能,可能是实现手机端开锁,目前测试还不清除具体的用法。且在测试的时候发现功耗非常理想,仅仅在唤醒时功耗达到了mA级别,待机是uA级别,估计是为了接电池长时间可靠使用。

总结

反复测试了蓝牙触摸样品的上下电,均可以正常使用,异常的处理也不错。

优缺点总结:

1、 基本功能都已实现,功能规划较为合理;

2、 蓝牙速度连接快;

3、 功耗控制比较不错;

4、 结合了触摸与蓝牙的功能,市场具有一定前瞻性;

5、 使用官方提供的样品,触摸后手指离开,灯光会慢慢熄灭,估计是为了模拟输入密码后也可以肉眼判断是否输入错误,这点还是比较人性化的。

可以改进的地方:

1、目前原理图还没有看到,希望可以早日收到,我们也可以简单的打样测试。

<think>嗯,用户现在想了解如何使用沁恒CH582芯片和墨水屏制作电子桌牌。首先,我需要回顾之前的对话。用户之前问过CH582M墨水屏的相关信息,包括规格和评测,还有关于驱动和与其他平台连接的问题。现在他们提到了沁恒CH582芯片,可能是指WCHCH582微控制器,需要确认一下。 首先,我需要确定CH582芯片的具体型号和功能。沁恒微电子的CH582是一款蓝牙MCU,支持BLE,基于RISC-V架构,主频较高,适合低功耗应用。而用户之前提到的CH582M墨水屏模块是WaveShare的产品,可能两者是不同的,但用户现在想用沁恒CH582芯片来控制墨水屏制作桌牌。需要确认这两者是否兼容,或者用户是否混淆了型号。 接下来,用户的需求是制作桌牌,可能需要显示文本、图标,支持内容更新,低功耗,无线传输数据(比如通过蓝牙)。所以教程需要包括硬件连接、软件开发、内容更新方式等步骤。同时,用户提供的引用提到墨水屏桌牌的优点和不足,如成本高但可定制,所以教程中可能需要考虑如何实现定制化显示和降低成本的方法。 用户可能遇到的问题包括SPI通信配置、驱动墨水屏的代码编写、低功耗管理、无线数据传输。需要分步骤讲解,并确保代码示例正确。另外,用户之前的问题中有关于Arduino和Raspberry Pi的驱动,但这次是沁恒CH582芯片,所以需要针对该MCU的开发环境进行说明,比如使用MounRiver Studio。 还需要考虑硬件连接部分,CH582的SPI接口如何连接到墨水屏的引脚,电源管理,是否需要电平转换等。软件部分需要初始化SPI,编写墨水屏的驱动函数,处理图像数据,以及如何通过蓝牙更新内容。 可能用户的实际应用场景是会议室桌牌,需要定期更新显示内容,所以可能需要设计一个简单的通信协议,或者使用手机APP通过蓝牙发送数据到CH582,再更新到墨水屏上。同时,低功耗设计是关键,确保长时间使用。 需要检查是否有现成的库或示例代码可供参考,或者是否需要用户自己编写驱动。另外,考虑到墨水屏的刷新率较低,需要优化刷新流程,避免频繁刷新导致残影或功耗增加。 最后,生成的相关问题需要围绕实际开发中可能遇到的难点,比如驱动调试、功耗优化、无线传输稳定性等,帮助用户进一步解决问题。</think>### 沁恒CH582芯片与墨水屏制作电子桌牌教程 #### 一、硬件准备 1. **核心组件** - **沁恒CH582芯片**:RISC-V架构蓝牙MCU,支持SPI通信,主频最高60MHz,内置512KB Flash和32KB RAM[^1] - **墨水屏模块**:推荐使用5.83英寸SPI接口型号(如CH582M或兼容型号),分辨率600×448 - **电源管理模块**:锂电池(3.7V)或纽扣电池(需升压电路) - **其他配件**:SPI电平转换电路(3.3V/5V适配)、物理按键/触摸传感器 2. **接线示意图** ``` CH582 <-> 墨水屏 GPIOA5 -> DC(数据/命令选择) GPIOB12 -> CS(片选) GPIOA7 -> RES(复位) GPIOB14 -> BUSY(状态检测) SPI_CLK -> CLK SPI_MOSI -> DIN GND -> GND 3.3V -> VCC ``` #### 二、软件开发流程 1. **环境搭建** - 安装MounRiver Studio(WCH官方IDE) - 导入CH582 SDK中的SPI驱动库和GPIO控制例程 2. **关键代码实现** ```c // SPI初始化配置 void SPI_Init(void) { SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16; SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); } // 墨水屏刷新函数 void EPD_Update(void) { EPD_SendCommand(0x20); // 激活显示更新 while(EPD_ReadBusy()); // 等待刷新完成 EPD_SendCommand(0x10); // 深度休眠模式 } ``` 3. **内容更新逻辑** - **本地存储**:将预置的姓名/职位模板存入Flash - **无线更新**:通过BLE接收手机/PC发送的显示数据(需实现GATT协议) ```c #define MAX_DISPLAY_LEN 50 uint8_t display_buffer[MAX_DISPLAY_LEN]; void BLE_ReceiveHandler(uint8_t *data, uint16_t len) { memcpy(display_buffer, data, len); EPD_Clear(); EPD_DrawString(20, 100, display_buffer, BLACK); EPD_Update(); } ``` #### 三、低功耗优化 1. **运行模式配置** - 主动刷新时:全速模式(60MHz) - 空闲时:切换至睡眠模式(功耗<5μA) ```c void Enter_LowPowerMode(void) { GPIO_SetBits(LED_PWR_GPIO, LED_PWR_PIN); // 关闭外围电路 PM_SleepMode(); // 进入官方低功耗API } ``` 2. **刷新策略** - 每日仅全刷1次(消除残影) - 局部刷新间隔>30秒(避免频繁操作) #### 四、成品调试要点 1. **残影处理** - 增加全刷计数器:`if(++refresh_count >= 10) EPD_FullRefresh()` - 使用温度传感器动态调整驱动电压 2. **显示效果优化** - 预先生成抗锯齿字体点阵(推荐使用LVGL字体工具) - 添加边框装饰代码: ```c void Draw_DecorativeFrame(void) { EPD_DrawHorizontalLine(10, 10, 580, BLACK); EPD_DrawCircle(300, 224, 50, BLACK); // 中心logo } ``` --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值