python画版图_基于STC8G8K64U双通道高速ADC采集板-EDA/PCB-与非网

本文介绍了基于STC8G8K64U单片机设计的高速ADC采样板,用于电路实验和智能车竞赛数据采集。模块具备10kHz采样频率、2通道12bit采样,通过UART1和WiFi UART接口传输数据。详细讲述了原理图、PCB设计、硬件配置、串口设置、WiFi-UART模块的配置和软件命令。并通过PYTHON程序从WiFi接口获取采集数据,展示模块性能。
摘要由CSDN通过智能技术生成

设计采集板的目标

设计基于 STC8G8K64U 单片机的高速 ADC 采样板,可以为普通的电路实验提供快速波形采样的模块。

该模块也可以应用于全国大学生智能车竞赛声音信标组数据采集实验中,作为向同学们介绍的解决方案,明天给出相应实验结果。

设计采样板的技术指标:

采样频率:10kHz;采样通道:2 通道采样信号:0~5V,数据位 12bit。外部数据接口:(1)UART2 通过 USR-WiFi 接口发送到局部无线网;(2)通过串口 UART1 通过调试器将数据发送到调试界面;

电路板设计

1. 原理图设计

239d90a321346807199d27c47250a1b1.png

▲ 原理图设计

对外接口定义:

「(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 版图设计

3e6f248f772036908ba7c19fff655738.png

▲ PCB 板图设计

c17a1be0dc1c78e3601f106738e544db.png

▲ 焊接之后的电路板

2e51671c671c027761dc663f5e9c48c8.png

▲ 安装有 WiFi-UART 模块后的电路板

3. 电路软件调试

「(1)单片机的硬件配置:」

由于配置 STC8H8K 工作在 48MHz,提高单片机运行速度。

cc1c7cd4aca00506c8c278a31cda50ed.png

▲ 单片机硬件配置

「(2)串口波特率配置:」

UART1:配置波特率 115200 ,这与下载器上的 PL2303 可以使用的波特率相匹配;UART2::配置的波特率为 460800,这与 WiFi-UART

c9a7d3e620d62e17cc03d6582ae2fcb4.png

▲ 硬件连接调试

「(3)配置 WiFI-UART:」

STEP1:使用手机,或者平板电脑,选择 USR-WIFI232-T-191 无线网关,登录 10.10.100.254 地址。在登录界面输入用户名和密码都是「admin」。

9508ce8aaab746519aa1617d8f1d7a87.png

▲ 无线登录界面

STEP2:按照下面的设置,设置 WIFI-UART 模块的工作参数。

「STA 设置:」

475e521ca2b32d3e0d687094894d6c00.png

▲ STA 设置

「AP 设置:」

50759b570608210006ab074e60f658dd.png

▲ AP 设置

「网络设置:」

22cbbf9c3393f52f2842b28a4793a4a6.png

▲ 网络设置

「串口设置:」

65d379aed25d0b6a6480bdf8410e8e5d.png

▲ 串口设置

「设置后的系统信息:」

f207de32c20af5b7f35a5dad456e2ed1.png

▲ 设置后的系统信息

4. 软件命令

模块通过 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 

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 

printf("%d ", g_nADBuffer[i]);

}

printf("\r\n");

g_nADBufferPoint = 0;

TIME3_INT_ENABLE;

}

5. PYTHON 获取数据程序

过 PYTHON 编程,可以从 WiFi 获取采集板的 8k 数据。

具体的程序可以在 CSDN 对应的博文中看到。

模块测试性能

1. 数据传送时间

通过 WiFi-UAR 收到 4096(8192 bytes)数据为 0.489s 左右。

下图是对两路正弦波采集到的数据波形:

a9cf8de47a5668cf9265f9f5a64aab9d.png

▲ 两个通道采集的波形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值