设计基于STC8G8K64U单片机的高速ADC采样板,可以为普通的电路实验提供快速波形采样的模块。
该模块也可以应用于全国大学生智能车竞赛声音信标组数据采集实验中,作为向同学们介绍的解决方案,明天给出相应实验结果。
设计采样板的技术指标:
采样频率:10kHz;
采样通道:2通道
采样信号:0~5V,数据位12bit。
外部数据接口:(1)UART2通过USR-WiFi接口发送到局部无线网;(2)通过串口UART1通过调试器将数据发送到调试界面;
电路板设计
1. 原理图设计
▲ 原理图设计
对外接口定义:
「(1)ISP端口:」
序号管脚名称功能1VCC+5V电源2GND电源地线3TXD连接UART1-TXD4RXD连接UART1-RXD
「(2)ADC端口:」
序号管脚名称功能1ADC0模拟输入端口02ADC1模拟输入端口13ADC2模拟输入端口24GND信号底线
「(3)WiFI UART接口:」详见电路原理图的PCB的管脚定义。
2. PCB版图设计
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 !", 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 > 8)); UART2SendChar((unsigned char)(nNumber & 0xff)); nCheck += nNumber; } } else IFARG0("sf") { SendChar(0x0); for(i = 0; i
5. PYTHON获取数据程序
过PYTHON编程,可以从WiFi获取采集板的8k数据。
具体的程序可以在CSDN对应的博文中看到。
模块测试性能
1. 数据传送时间
通过WiFi-UAR收到4096(8192 bytes)数据为0.489s左右。
下图是对两路正弦波采集到的数据波形:
▲ 两个通道采集的波形
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !