设计采集板的目标
设计基于 STC8G8K64U 单片机的高速 ADC 采样板,可以为普通的电路实验提供快速波形采样的模块。
该模块也可以应用于全国大学生智能车竞赛声音信标组数据采集实验中,作为向同学们介绍的解决方案,明天给出相应实验结果。
设计采样板的技术指标:
- 采样频率:10kHz;采样通道:2 通道采样信号:0~5V,数据位 12bit。外部数据接口:(1)UART2 通过 USR-WiFi 接口发送到局部无线网;(2)通过串口 UART1 通过调试器将数据发送到调试界面;
电路板设计
1. 原理图设计
▲ 原理图设计
对外接口定义:
「(1)ISP 端口:」
序号 | 管脚名称 | 功能 |
---|---|---|
1 | VCC | +5V 电源 |
2 | GND | 电源地线 |
3 | TXD | 连接 UART1-TXD |
4 | RXD | 连接 UART1-RXD |
「(2)ADC 端口:」
序号 | 管脚名称 | 功能 |
---|---|---|
1 | ADC0 | 模拟输入端口 0 |
2 | ADC1 | 模拟输入端口 1 |
3 | ADC2 | 模拟输入端口 2 |
4 | GND | 信号底线 |
「(3)WiFI UART 接口:」详见电路原理图的 PCB 的管脚定义。
2. PCB 版图设计
▲ PCB 板图设计
▲ 焊接之后的电路板
▲ 安装有 WiFi-UART 模块后的电路板
3. 电路软件调试
「(1)单片机的硬件配置:」
由于配置 STC8H8K 工作在 48MHz,提高单片机运行速度。
▲ 单片机硬件配置
「(2)串口波特率配置:」
- UART1:配置波特率 115200 ,这与下载器上的 PL2303 可以使用的波特率相匹配;UART2::配置的波特率为 460800,这与 WiFi-UART
▲ 硬件连接调试
「(3)配置 WiFI-UART:」
STEP1:使用手机,或者平板电脑,选择 USR-WIFI232-T-191 无线网关,登录 10.10.100.254 地址。在登录界面输入用户名和密码都是「admin」。
▲ 无线登录界面
STEP2:按照下面的设置,设置 WIFI-UART 模块的工作参数。
「STA 设置:」
▲ STA 设置
「AP 设置:」
▲ AP 设置
「网络设置:」
▲ 网络设置
「串口设置:」
▲ 串口设置
「设置后的系统信息:」
▲ 设置后的系统信息
4. 软件命令
模块通过 UART1(115200),UART2(460800)接收字符命令,分别输出采集的结果以及重新开始新的采集过程。具体的功能可以参见下面一段程序:
if(strcmp("hello", (char *)STD_ARG[0]) * 0)
printf("%s is ready !rn", VERSION_STRING);
else IFARG0("adc") {
g_nADBufferPoint = 0;
TIME3_INT_ENABLE;
}
else IFARG0("buf") {
sscanf(SDA(1), "%d", &nStart);
sscanf(SDA(2), "%d", &nLength);
nCheck = 0;
for(i = 0; i < nLength; i ++) {
nNumber = g_nADBuffer[i + nStart];
UART2SendChar((unsigned char)(nNumber >> 8));
UART2SendChar((unsigned char)(nNumber & 0xff));
nCheck += nNumber;
}
} else IFARG0("sf") {
SendChar(0x0);
for(i = 0; i < AD_BUFFER; i ++) {
printf("%d ", g_nADBuffer[i]);
}
printf("rn");
g_nADBufferPoint = 0;
TIME3_INT_ENABLE;
}
5. PYTHON 获取数据程序
过 PYTHON 编程,可以从 WiFi 获取采集板的 8k 数据。
具体的程序可以在 CSDN 对应的博文中看到。
模块测试性能
1. 数据传送时间
通过 WiFi-UAR 收到 4096(8192 bytes)数据为 0.489s 左右。
下图是对两路正弦波采集到的数据波形:
▲ 两个通道采集的波形