Lierda 小达 应用指导_Rev0.1

English

变更履历

[!NOTE] 备注 请拆除外壳查看主板上的丝印型号和版本,以确认您的开发板版本能与应用指导文档对应。

小达是一款集语音识别、音频播放、智能交互于一体的嵌入式核心模块,专为智能玩具、教育设备及互动终端设计。该机芯内置主控芯片、音频系统及供电模块,可实现语音唤醒、对话交互、内容播放等功能。

本应用指导将帮助您快速上手小达,并提供该款开发板的详细信息。

本指南包括如下内容:

  • 硬件版本:介绍硬件历史版本和已知问题。

  • 入门指南:简要介绍了开发板和硬件、软件设置指南。

  • 硬件参考:详细介绍了开发板的硬件。

  • 软件参考:详细介绍了软件框架、模块及配置方法。

  • 相关资源:列出了相关文档的链接。


硬件版本

该文档仅适用小达的主板型号:L-CT4IT00-YP00W-03A_V04。

PCB型号

PCB版本

修改记录

L-CT4IT00-YP00W-03A

V04

/


入门指南

本小节将简要介绍小达,说明如何在小达上烧录固件及相关准备工作。

组件介绍

主要器件 (TOP)

描述

L-CT4IT00-YP00W-03A_V04

Main Board PCB

shell

Enclosure

103040A1

Battery

JMO-627BA283H-1AXD63

Microphone

2831NROOO-4P25D13H

Speaker

13P023M

Antenna

L-CT4IT00-YP00W-03A_V04 (Main Board PCB)

shell(Enclosure)

103040A1 (Battery)

JMO-627BA283H-1AXD63 (Microphone)

2831NROOO-4P25D13H (Speaker)

13P023M (Antenna)

主板介绍

L-CT4IT00-YP00W-03A_V04主要器件和接口介绍如下:

主要器件 (TOP)

描述

板载MIC(预留)

与麦克风连接器二选一即可

扬声器连接器

1.5mm/2PIN连接器座子,用于连接4Ω/3W喇叭

电池连接器*(1)*

1.5mm/3PIN连接器座子,适配电池103040A1

BOOT测试点

用于模组变砖时强制进入下载模式

电机/舵机连接器*(2)*

1.25mm/6PIN连接器座子,提供2路PWM/电源/H桥差分输出,按需使用

GX8006A

离线语音芯片,具备本地AEC(回声消除)、自定义唤醒词能力

CST8302A

AB/D类功放,建议使用AB类提升AEC效果

CL4056D

充电管理芯片,适用4.2V电池,NTC建议使用 R25=100KΩ

Nor flash

Nor flash芯片,32Mbit,适用于3.3V系统

TC118S

H桥驱动芯片

USB连接器

Type-C接口连接器,用于供电、充电、通信、下载

复位侧键

Reset,用于复位模组

主要器件 (BOT)

描述

天线座子

IPEX-1 代座子,适配

拓展按键连接器*(3)*

1.25mm/6PIN连接器座子,提供PWRKEY和3个自定义按键(其中2个引脚可复用为串口)

NT26F6D0模组

Cat.1模组,支持OPEN应用开发

FPC 连接器*(4)*

0.5mm/16PIN FPC连接器,用于连接双目屏转接板

麦克风连接器

1.25mm/2PIN连接器座子,用于连接驻极体麦克风

开关机按键

Pwrkey,用于系统开关机

RGB LED

RGB指示灯,指示模组工作状态

Green LED

充电完成指示灯,充满电时常亮

Red LED

充电状态指示灯,充电中时常亮

SIM 卡座

Nano-SIM卡座连接器,用于SIM卡读卡

[!NOTE] 备注

  1. 电池连接器使用时需要注意电池端子的线序与连接器线序一一对应

  2. 电机/舵机连接器使用时需注意线序,小达产品包中不提供电机、舵机

  3. 拓展按键连接器使用时需注意线序,小达产品包中不提供按键拓展板

  4. FPC 连接器使用时需注意线序,小达产品包中不提供双目屏转接板

外壳接口

外壳关键接口介绍如下:

接口 (TOP)

描述

Speaker

喇叭出声网孔

Type-C

Type-C接口,连接PC和小达用于供电、充电、通信、下载

充电指示灯

指示充电状态,充电中时亮红灯,充电完成后亮绿灯

RGB指示灯

指示工作状态

Reset

复位孔,使用卡针单点可复位系统

接口 (Side)

描述

MIC

麦克风拾音孔

开关机按键

关机状态下长按开机,开机状态下长按关机

接口 (BOT)

描述

MIC接口

外接麦克风时使用,使用时注意线序

扩展按键接口

外接按键拓展,IO1/IO2可复用为串口,使用时注意线序

电机/舵机接口

外接电机/舵机,内置H桥驱动电路,M+/M-可接直流电机,使用时注意线序

开始使用

上电前目视检查产品外观是否完好,无明显缺损。

必备硬件

  • 小达整机

  • Type-C数据线*

  • 电脑(Windows、Linux 或 macOS)

[!NOTE] 备注 部分 USB 数据线仅支持供电、充电,无法通信、下载,请确保使用的 USB 数据线可以下载固件。

硬件开机

需要USB数据线供电、通信和烧录,使用USB数据线连接PC和小达,长按开关机按键3秒以上。

安装驱动

驱动安装请参考Lierda 移芯Cat.1 bis模组USB驱动安装指导说明,安装完成后可从设备管理器中看到Lierda的USB端口。

指示灯

小达通过充电指示灯、RGB指示灯指示充电和运行状态。

充电指示灯

  • 未插入USB时,充电指示灯不亮

  • 插入USB时,充电指示灯亮红灯,正常充电中

  • 插入USB时,充电指示灯亮绿灯,已充满电

RGB指示灯

  • 关机时,RGB指示灯不亮

  • 开机时,正常运行状态下RGB指示灯绿灯常亮

  • 开机时,语音交互状态下RGB指示灯蓝灯闪烁

  • 开机时,异常状态下RGB指示灯红灯常亮(如网络异常)

  • 开机时,关机前RGB指示灯绿灯闪3下


硬件参考

功能框图

小达功能框图如下所示。

供电方式

主板上设计有电源切换电路,可通过以下方法为系统供电:

  1. 通过电池供电 设备内部集成3.7V锂电池,按下开关机按键3s开机即可。

  2. 通过Type-C口供电 将Type-C口的USB数据线插入USB接口,系统电源自动切换至Type-C供电,按下开关机按键3s开机即可。

充电电路

CL4056D最高充电电压4.2V,NTC建议选用R25=100KΩ的电池,可设计的充电范围为0~45℃,R25=10KΩ时可设计的充电范围为0~50℃。如参考电路所示,搭配103040A1电池(R25=10KΩ,B25/50=3435),设计的充电温度范围为0.46℃~50.22℃。具体计算方式见下表:NTC计算工具(XLSX)

USB接口

USB Type-C连接器的CC1/CC2引脚默认分别通过5.1kΩ电阻下拉至地,以将设备配置为仅支持充电功能的受电端(Sink)/上行端口(UFP)。

SIM卡接口

除SIM卡座外,主板上还预留贴片SIM卡封装,两者在PCB上位置重叠,默认使用贴片卡。 贴片SIM卡提供每月500M流量,有效期一年。

射频接口

射频接口预留IPEX 1代座子,预留π形匹配,如需更换天线可调整匹配。

按键拓展接口

请注意,所有按键拓展的IO均存在特殊用法:

  1. PWRKEY基础用法是作为开关机按键,在开机后可以调整按下时长用作功能按键,如:短按对话、长按关机

  2. KEY_FUNC是唯一可复用为wakeup的按键,中断优先级更高,也可以复用为AGPIO,在模组休眠时保持

  3. IO1/IO2是普通IO,中断优先级偏低,可复用为串口方便调试

电机/舵机接口

模组提供了4路不同的PWM作为电机和舵机驱动,支持同时外接1个直流电机和2个舵机。

音频接口

离线语音芯片

离线语音芯片GX8006A与模组通过串口传输数据,并连接RST/BOOT/INT等控制引脚,用户可通过NT26F6D0模组对GX8006A芯片进行烧写、播放、录音等操作。

GX8006A芯片支持本地AEC,AEC回采电路从功放输出端通过分压隔直回到GX8006A的MIC1,通过AD采样进行回声消除。如果使用D类功放回采链路需加多级滤波。

麦克风接口

小达内麦克风连接器已插入麦克风,如需外接其他驻极体麦克风请注意端子线序,正负极接反时无法驱动。

喇叭接口

功放放大倍数应与前级音频输出峰峰值、喇叭相匹配,避免音量太小或者削顶失真。音频输入建议选用差分输入,提高音频抗干扰能力。功放建议工作在AB类模式,提升AEC回采效果。

指示灯接口

RGB指示灯

RGB LED通信接口符合WS2812时序。

充电指示灯

充电指示灯在USB插入时亮起,正常充电中亮红灯,充满电时亮绿灯。


软件参考

软件概述

小达软件基于L-CT4IT00-YP00W-03A_V04硬件的OpenCPU开发框架,采用事件驱动的Job调度架构,实现语音唤醒、AI对话交互、网络管理、电源管理等功能。

  • 软件版本:V02.00.01

  • AI平台:Coze(扣子)实时语音对话

  • 音频编解码:Opus,采样率16KHz

  • 通信协议:WebSocket(wss)

软件架构

┌───────────────────────────────────────────────────┐
│                    user_main.c                    │
├───────────────────────────────────────────────────┤
│                  app_framework                    │
│  ┌──────────┬──────────┬──────────┬────────────┐  │
│  │ talk_job │ powerkey │ network  │ led_sidejob│  │
│  └──────────┴──────────┴──────────┴────────────┘  │
│                   global_policy                   │
├───────────────────────────────────────────────────┤
│                     peripheral                    │
│  ┌─────────┬────────┬────────┬──────┬──────────┐  │
│  │ai_connect│ audio │battery │ led  │ ldoPower │  │
│  ├─────────┼────────┼────────┼──────┼──────────┤  │
│  │ network │powerkey│location│      │          │  │
│  └─────────┴────────┴────────┴──────┴──────────┘  │
├───────────────────────────────────────────────────┤
│                  LIOT SDK / RTOS                  │
└───────────────────────────────────────────────────┘

目录结构

examples/CT4IT00YP00W_03/
├── src/
│   ├── user_main.c              # 应用入口
│   └── app_nv.c                 # NV参数存储管理
├── inc/
│   ├── app_nv.h                 # NV数据结构定义/引脚定义/默认配置
│   └── user_main.h              # 入口头文件
└── framework/
    ├── common/
    │   ├── inc/app_framework.h  # 框架接口
    │   └── src/
    │       ├── app_framework.c  # 框架初始化与Job注册
    │       ├── talk_job.c       # AI对话Job
    │       ├── powerkey_job.c   # 电源按键Job
    │       ├── network_job.c    # 网络管理Job
    │       ├── led_sidejob.c    # LED指示SideJob
    │       └── global_policy.c  # 全局事件调度策略
    ├── peripheral/
    │   ├── ai_connect/          # AI云端连接(Coze WebSocket)
    │   ├── audio/               # 音频模块(GX8006A控制)
    │   ├── battery/             # 电池管理(ADC采样/充电检测)
    │   ├── led/                 # WS2812B RGB LED驱动
    │   ├── ldoPower/            # LDO电源控制
    │   ├── network/             # 网络注册与状态管理
    │   ├── powerkey/            # 电源按键检测
    │   └── location/            # 基站定位
    └── resource/
        ├── audio_prompts.c      # 提示音Opus数据
        └── audio_prompts.h      # 提示音枚举定义

框架核心机制

事件驱动模型

系统采用事件驱动架构,所有模块通过事件总线通信:

事件

描述

来源

EVT_KEY_POWER_ON

开机事件

powerkey模块

EVT_KEY_POWER_OFF

关机事件

powerkey模块

EVT_KEY_WAKEUP

按键唤醒

powerkey模块

EVT_AUDIO_WAKEUP

语音唤醒

GX8006A离线语音芯片

EVT_AUDIO_RECORD_DONE

录音完成(VAD检测静音)

audio模块

EVT_AUDIO_PLAY_START

开始播放AI回复

audio模块

EVT_AUDIO_PLAY_DONE

AI回复播放完成

audio模块

EVT_AI_CONNECT_REQ

请求连接AI云端

network_job

EVT_AI_CONNECTED

AI云端连接成功

ai_connect模块

EVT_AI_CONNECT_FAIL

AI云端连接失败

ai_connect模块

EVT_AI_DISCONNECTED

AI云端断开

ai_connect模块

EVT_AI_RESPONSE_DONE

AI回复结束

ai_connect模块

EVT_NETWORK_READY

网络注册成功

network模块

EVT_NETWORK_FAIL

网络注册失败

network模块

EVT_SIM_ERROR

SIM卡异常

network模块

EVT_LOW_POWER

低电量

battery模块

EVT_SYSTEM_SLEEP

系统休眠

idle超时

EVT_TIMER_EXPIRED

定时器超时

框架定时器

Job调度

框架支持两类Job:

  • 主Job:同一时刻只有一个主Job处于活跃状态,多个主Job之间互斥执行

  • SideJob:常驻后台运行,接收所有事件,不参与主Job互斥调度

当前注册的Job:

Job

类型

功能

talk_job

主Job

AI对话全流程:初始化音频→连接AI→录音→发送→接收→播放

powerkey_job

主Job

处理开关机、低电量关机、休眠

network_job

主Job

处理网络状态变化,网络就绪后触发AI连接

led_sidejob

SideJob

根据系统状态控制RGB LED灯效,管理空闲超时

全局策略(Global Policy)

全局策略决定事件如何分发到Job:

  • 语音唤醒/AI连接请求 → 打断当前Job,启动talk_job

  • 电源按键/低电量/休眠 → 打断当前Job,启动powerkey_job

  • 网络状态变化 → 若当前非network/talk Job,启动network_job

  • 音频事件/AI事件/定时器 → 投递给当前活跃Job处理

核心模块说明

AI连接模块 (ai_connect)

基于WebSocket协议连接Coze实时语音对话平台:

  • 使用libwebsockets库建立wss连接

  • 音频上行:PCM→Opus编码→Base64→JSON封装发送

  • 音频下行:JSON解析→Base64解码→Opus帧→音频模块播放

  • 支持chat.update配置音频参数、订阅事件

  • 支持conversation.chat.requires_action处理AI工具调用

音频模块 (audio)

通过串口(1Mbps)控制GX8006A离线语音芯片:

  • 语音唤醒:GX8006A本地唤醒后通过INT引脚通知模组

  • 录音:GX8006A完成AEC回声消除后通过串口传输PCM数据

  • 播放:模组通过串口向GX8006A发送Opus帧进行解码播放

  • 本地提示音:开机/关机/连接成功/连接失败/唤醒等

电源管理模块 (ldoPower)

控制外围器件的供电时序:

  1. 使能AON电源域

  2. 设置所有电源域电压为3.3V

  3. 拉高LDO33_EN(GPIO25)使能外部LDO

  4. 控制GX8006A电源引脚(GPIO26)上电

电池模块 (battery)

[!NOTE] 备注 由于硬件缺少相关器件,该功能暂不可用。

  • ADC采样电池电压(通道1)

  • USB插入检测(GPIO14)

  • 低电量告警与自动关机

LED模块 (led)

通过SPI驱动WS2812B RGB LED,支持以下灯效模式:

模式

效果

对应状态

LED_PATTERN_STANDBY

绿灯常亮

待机/空闲

LED_PATTERN_LISTENING

蓝灯闪烁

正在录音

LED_PATTERN_THINKING

蓝灯呼吸

AI处理中

LED_PATTERN_SPEAKING

蓝灯闪烁

AI回复播放中

LED_PATTERN_ERROR

红灯常亮

网络/连接异常

LED_PATTERN_POWEROFF

绿灯闪3下

即将关机

NV参数配置

系统参数通过 app_nv.h 中定义:

coze的参数配置,需要自行创建智能体后获取,见 https://www.coze.cn
location 定位token请找寻前线同事获取。

参数

默认值

说明

coze_token

(内置)

Coze平台API Token

coze_botid

(内置)

Coze Bot ID

coze_voiceid

(内置)

Coze语音角色ID

chat_mode

0

对话模式

audio_volume

80

音量(0~100)

sleep_wait_time_ms

60000

空闲提示等待时间

sleep_time_ms

60000

空闲后自动关机时间

主流程

开机(长按PWRKEY)
        │
        ▼
电源初始化(LDO/GX8006A上电)
        │
        ▼
框架初始化 → 注册Job/SideJob/Policy
        │
        ▼
播放开机提示音
        │
        ▼
网络注册 ──────────────── 失败 → 播放连接失败提示/LED红灯
        │ 成功
        ▼
播放网络连接成功提示音
        │
        ▼
WebSocket连接Coze ─────── 失败 → 播放连接失败提示/LED红灯
        │ 成功
        ▼
播放AI连接成功提示 / 开始录音
        │
        ▼
┌─── 等待"你好小达"语音唤醒(GX8006A本地唤醒) ◀────────┐
│       │                                            │
│       ▼                                            │
│   播放唤醒回复提示音(叮咚)            
│       │                                            │
│       ▼                                            │
│   录音(GX8006A AEC + VAD)                     
│       │                                            │
│       ▼                                            │
│   VAD检测静音 → 上传音频完成
│       │                                            │
│       ▼                                            │
│   等待AI回复(LED思考状态)                           
│       │                                            │
│       ▼                                            │     
│   接收音频流 → 播放(LED说话状态)                    
│       │                                            │
│       ▼                                            │
│   播放完成 → 回到待机(LED绿灯) ─────────────────────┘
│
├── 空闲超时 → 播放"还需要帮助吗" → 无响应 等待10秒 → → 播放关机提示 → 关机
│
└── 长按PWRKEY → 播放关机提示 → 关机

编译与烧录

编译

在SDK根目录执行:

#windows 编译
build.bat PROJECT=CT4IT00YP00W_03 MODEM=NT26F6D0 all
#linux 编译
make PROJECT=CT4IT00YP00W_03 MODEM=NT26F6D0 all

编译输出:gccout/CT4IT00YP00W_03/CT4IT00YP00W_03_NT26F6D0.binpkg

烧录

  1. 使用USB数据线连接PC与小达

  2. 长按开关机按键开机

  3. 使用Lierda下载工具选择CT4IT00YP00W_03_NT26F6D0.binpkg文件进行烧录

  4. 烧录完成后按Reset键或重新开机


相关资源