第21届全国智能汽车竞赛智慧工厂讯飞组赛项中电子红绿灯需要使用语音控制LED点阵屏幕显示直行、左转、右转、红灯四种状态,其中语音控制和屏幕显示控制使用CSK5062芯片自己设计实现。这篇文章会把参赛会用到的信息进行汇总,并提供官方来源,以方便大家快速了解和获得相关资源。
本次大赛官网:http://www.smartcarrace.com/
大赛技术问题答疑入口:https://docs2.listenai.com/z/242.png
CSK5062芯片是一款单核微控制器,内置RISC-V核心和NPU,独立的NPU专用于神经网络运算。
● SOP16封装
● RISC-V+NPU@300MHz + 2MB FLash
● 参考模组带USB转串口芯片,支持一键固件烧录
本文包含以下内容:
● CSK5062芯片模组功能特性、原理图、PCB参考;
● CSK5062 SDK获取和说明
● 编译环境安装、编译和固件烧录
● 常用的定时器、SPI、GPIO、PWM示例说明
CSK5062离线语音模组的功能特性、原理图和PCB设计参考
参考模组特性:
外设
○ 1*Audio ADC,24bit
○ 2*UART interfaces
○ 内置PA(CLASS D)输出
● 官方适配语音算法:
○ 支持语音唤醒、语音命令词、语音增强、单麦克风降噪
○ 安静环境唤醒率可达98%,识别率95%以上,72小时0次误唤醒,最多支持300个命令词
○ 支持离线自由说、方言自学习等特色能力
● 支持二开自定义
○ 零代码可视化开发,自定义唤醒词、命令词
○ 支持收发自定义串口指令,一键生成固件、固件烧录、串口调试等
官方开源的参考模组的功能和硬件说明:https://docs2.listenai.com/x/eI3K-GObW
参考模组原理图:参考模组硬件设计资源(含原理图、PCB)已公开,可以在嘉立创直接获得:https://oshwhub.com/lshuangyu/project_zsvzbyyh
CSK5062:电源复位:
BOOT:
Type-C:
串口芯片:
POW:
软件流控:
CSK5062 SDK获取和说明CSK5062 离线语音模组完整开发流程参考
自定义唤醒词命令词的SDK生成和下载
CSK5062的SDK需要登陆聆思AI语音定制平台(https://platform.listenai.com/ai-voice-firmwares/login )获得,在AI语音定制平台按流程填入信息等待3~5分钟即可生成定制的语音算法,并自动打包到SDK中。
定制选项参考说明和详细步骤视频参考:https://docs2.listenai.com/x/NsSTFY8H_
SDK说明
● 支持离线语音识别,无需联网
● 支持自定义命令词和协议
● 提供丰富的硬件驱动接口(GPIO、UART、PWM、I2C等)
● 集成实时操作系统(RTOS)支持
● 跨平台编译支持(Windows 和 Linux)
● 自动化工具链下载和配置
SDK详细讲解说明参考官方文档:https://docs2.listenai.com/x/wIsU2g7Fx
开发须知
● 命令词和提示音:在网页平台配置,SDK下载时已自动生成,无需关注
● 你的工作:专注于外设初始化和业务逻辑,响应语音命令执行硬件操作
● 开发重点:GPIO引脚控制(A10、B11),实现具体的硬件控制逻辑
● 你的主要开发区域:source/main.c 和 source/listen/app/ls_app_client.c
● 重点开发内容:外设初始化、GPIO控制(A10、A11、A12、B11)、业务逻辑
● 无需关注:命令词、提示音配置(由网页平台自动生成)
● 无需修改:ls_app_cfg_user.h、tone.h、tone_buf.h(平台自动更新)
SDK架构概览
顶层目录
重点开发区域
CSK5062 编译环境安装、编译和固件烧录编译工具链安装
编译工具链的安装指令已经放在build.bat 脚本中,执行第一次编译时会自动下载,详细说明参考官方文档:https://docs2.listenai.com/x/AYLuBCyWV
如下图所示,以windows环境为例,在下载SDK后将 mars-sdk 文件夹解压出来,地址栏上输入 cmd -> 回车 -> 执行命令 build.bat -r all
编译成功后的页面如下:
编译产物和烧录使用的固件
烧录固件
1、使用官方模组做验证需要先安装对应版本的串口驱动驱动,驱动不匹配会造成烧录连接失败以及烧录失败等问题。
Windows | https://www.wch.cn/downloads/CH343CDC_ZIP.html | 安装包安装 |
MacOS | https://www.wch.cn/downloads/CH341SER_MAC_ZIP.html | 安装包安装 |
Linux | https://github.com/WCHSoftGroup/ch343ser_linux | 源码安装 |
2、进入烧录模式
3、 打开烧录工具地址: https://platform.listenai.com/web-burn/studio ,将 app.bin 烧录到设备里
常用的定时器、SPI、GPIO、PWM说明(提供示例)TIMER(定时器)
用于精确定时和时间管理,广泛应用于周期性任务、超时检测、PWM生成、输入捕获等场景。本驱动基于GPT(General Purpose Timer)模块,提供高精度的定时功能。TIMER可以配合GPIO实现定时拉高拉低GPIO的功能,用于生成特定时序的信号。
API函数说明和具体示例可以参考:https://docs2.listenai.com/x/iLJa1J9CS
主要特性● 支持6个独立的定时器通道(Channel 0-5)
● 支持32位、16位、8位定时器模式
● 多种运行模式:
■ 单次模式(Single)
■ 重复模式(Repeat)
■ 自由运行模式(FreeRun)
■ 保持运行模式(KeepGo)
● 支持向上计数、向下计数、双向计数
● 可配置时钟源和分频
● 支持中断回调
SPI
提供的SPI驱动支持主机和从机模式,可配置时钟极性和相位,支持DMA传输,适用于高速数据传输场景。
API函数说明和开发示例可以参考官方文档:https://docs2.listenai.com/x/bNUGNkjbq
SPI引脚说明:
注意:当前项目 A10/A11/A12/B11 引脚无法使用完整的 SPI 全双工通信!
SPI 需要 4 个信号:MOSI、MISO、SCK、CS,当前可用引脚虽然支持部分 SPI 功能(如 MOSI、SCK、CS),但缺少 MISO(主机接收数据线)信号,无法实现完整的 SPI 全双工通信。
解决方案:如需使用 SPI 功能,需要:
● 查看芯片引脚功能表格,找到支持完整 SPI 功能的引脚组合
● 重新设计硬件,将支持 MISO 信号的引脚引出
● 参考官方《芯片数据手册》中的引脚复用表
GPIO
API函数说明和开发示例可以参考官方文档:https://docs2.listenai.com/x/PxpBEzFnQ
外部中断的API函数说明和开发示例可以参考官方文档:https://docs2.listenai.com/x/pvtqgFTR9
可用引脚:开发前需要先确定可用引脚有哪些,如果使用官方的CSK5062语音模组做验证,以下引脚已被占用:
GPIO的电平
上下拉电阻
PWM
官方的CSK5062离线语音模组示例使用 A10引脚 输出PWM信号,经过实际验证可用。
API函数说明和开发示例可以参考官方文档:https://docs2.listenai.com/x/fwoQMUyXa
主要特性● 支持6个独立的PWM通道(Channel 0-5)
● 可配置频率范围:1Hz - 数百kHz
● 可配置占空比:0% - 100%
● 支持边沿对齐和中心对齐模式
● 支持多种时钟源选择
● 支持时钟分频(1/2/4/8/16/32/64/128)
注意事项
1、开发前需要先确定可用引脚有哪些,如果使用官方的CSK5062语音模组做验证,A11 和 A12 引脚已用作协议串口输出,因此在选择PWM输出引脚时需要注意:
推荐:使用 A10 或 B11 引脚作为PWM输出。
2、初始化PWM前必须使能时钟和复位:
__HAL_PMU_GPT_RST_ENABLE();
__HAL_CRM_GPT_S_CLK_ENABLE();
__HAL_CRM_GPT_T0_CLK_ENABLE();
__HAL_CRM_GPT_CLK_ENABLE();
3. 频率选择
● LED亮度调节:推荐 1kHz - 10kHz
● 电机速度控制:推荐 10kHz - 20kHz
● 音频应用:需要更高频率
4. 占空比精度
占空比范围是 0-100,精度为整数百分比。如需更高精度,可能需要调整时钟分频。
5. 通道选择
不同的引脚对应不同的PWM通道,使用前需要确认引脚与通道的映射关系。
相关说明
感谢全国大学生智能汽车竞赛组织者、讯飞的老师们,还有参赛选手们的选择和支持!CSK5062芯片是全国产化,完全自主研发设计,属于国内可控的AI SoC 芯片,在实际使用中遇到问题和新的需求欢迎发在评论区沟通探讨,我们会及时回复处理。
MCP(Model Control Panel / 模型控制与服务编排)是面向智能硬件的轻量化 AI 服务调度框架,智能硬件(如CSK6开发板、LS26开发板等)通过私有 MCP 接入大模型与外设能力,相比通用公网 AI 接口,在安全性、响应速度、可控性、场景化能力上具备显著优势。
这种架构适用于以下类似场景:
校园科创与教学:私有知识库、课堂语音助手、实验设备语音控制,数据不出校园环境。
智能家居 / 中控:家庭语音控制、老人关怀设备,保护家庭语音与行为隐私。
行业专用硬件:商超、仓储、医疗、教育等垂直场景语音工具,使用私有业务规则与数据。
竞赛与量产产品:需要稳定、可控、可过审的 AI 语音方案,降低对公云接口的依赖。
本文以 LS26(Arcs-mini) 开发板二次开发接入私有食谱服务器为例,展示如何通过MCP快速接入私有服务的步骤。
三步接入私有MCP服务第一步:创建LSPlatform应用并绑定应用到开发板
访问并登录聆思 LSPlatform 平台,网址为:https://platform.listenai.com/
点击 【+创建应用】 按钮,应用类型选择 大模型语音交互,接入类型选择 智能硬件,点击确定完成应用创建。
如下图所示点击日期行,将会打开配置设置界面,点击网络进行联网。
创建好应用后点击应用,出现以下弹窗,点击应用接入,拖到最下面能够看到一个二维码
如下图点击接入自建应用扫描上一步找到的二维码
第二步:将部署好的MCP接入到聆思LSplatform平台应用
点击应用,打开应用配置页面,拖动到最下方MCP服务器配置,点击添加服务器按钮
参考下图填入服务名称及服务部署的url,url配置格式如:http://8.xxx.xx.xx:8080/sse (搭建私有MCP服务器方法见后文)
点击URL输入框旁边的测试,测试成功即配置成功。
第三步:测试智能硬件是否成功接入MCP与CSK6开发板的小聆ai对话,对话后如图点击请求数据选项,点击打开最新的一条请求数据,点击右侧的JSON选项查看JSON格式数据
如下图所示,出现了foodMCP相关的tag即为菜谱的调用
总结和信息补充
MCP协议在拓展智能硬件功能时带来很大便利性,不仅可以让智能硬件可以快捷的调用互联网服务,也可以让外设和感应器等外设接入更简单。
更多智能硬件接MCP的方式和示例会陆续分享,有需求的朋友可以直接关注或在评论区留言,我们会持续分享相关操作示例。
本文操作示例中使用的硬件是CSK6大模型开发板,需要了解硬件详细信息可以参考:https://docs2.listenai.com/x/nTn9kMMCU
要基于大模型语音交互二次开发做更多个性化功能和DIY改造,可以使用LS26(Arcs-mini)大模型开发板,已搭载的功能参考:https://docs2.listenai.com/x/IPiXdnAJg
……………………………………………………………………………………………………………
附:在私有服务器部署MCP服务搭建菜谱MCP服务器1、服务器配置js环境后如下图(js版本大于16.0即可)
2、从git拉取菜谱MCP服务项目代码(代码地址:https://gitee.com/l52863727/recipe-mcp)
3、拉取完成后打开进入下级目录,运行npm install安装依赖
4、最后执行命令node build/index.js --transport sse --port 8080(这里8080可以改为其他端口,确保MCP在端口上监听sse连接即可)
注:不要使用单纯的npm run build!!!MCP服务接入需要sse类型的服务器连接
自建MCP服务扩展:如想要实现菜单的细节与网络上的菜单不同的自定义菜单
如果需要使用自己自定义的更多的菜谱数据。使用云存储桶服务或者在服务器部署一个JSON文档,格式如下、
JSON文档模板URL:weilei.site/all_recipes.json
可将根据下图中打开该MCP服务的源码文件,找到src下data文件夹的ts文件,对图中标出来的URL替换为自己部署的JSON文件即可实现菜谱自定义。
我要赚赏金
