设计基于STC8G8K64U单片机的高速ADC采样板,可以为普通的电路实验提供快速波形采样的模块。
该模块也可以应用于全国大学生智能车竞赛声音信标组数据采集实验中,作为向同学们介绍的解决方案,明天给出相应实验结果。
设计采样板的技术指标:
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的管脚定义。
「(1)单片机的硬件配置:」
由于配置STC8H8K工作在48MHz,提高单片机运行速度。
「(2)串口波特率配置:」
「(3)配置WiFI-UART:」
STEP1:使用手机,或者平板电脑,选择USR-WIFI232-T-191无线网关,登录 10.10.100.254地址。在登录界面输入用户名和密码都是「admin」。
STEP2:按照下面的设置,设置WIFI-UART模块的工作参数。
「STA设置:」
「AP设置:」
「网络设置:」
「串口设置:」
「设置后的系统信息:」
模块通过UART1(115200),UART2(460800)接收字符命令,分别输出采集的结果以及重新开始新的采集过程。具体的功能可以参见下面一段程序:
if(strcmp("hello", (char *)STD_ARG[0]) * 0)
printf("%s is ready !\r\n", 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("\r\n");
g_nADBufferPoint = 0;
TIME3_INT_ENABLE;
}
过PYTHON编程,可以从WiFi获取采集板的8k数据。
具体的程序可以在CSDN对应的博文中看到。
模块测试性能
通过WiFi-UAR收到4096(8192 bytes)数据为0.489s左右。
下图是对两路正弦波采集到的数据波形:
公众号留言
卓老师,刚才看到这下面这张图我突然有个脑洞,有没有可能让车带上VR设备,让车在虚拟环境里比赛?!
2020届的毕业生颁发毕业证书典礼
回复:关于让车模在虚拟仿真中运行的办法,我推荐大家看一下朱宗晓老师负责的平行智能研习社的工作。他们对此已经开展了很大的前期工作了。可以点击下面图片了解一下。
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!