加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 设计采集板的目标
    • 电路板设计
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

基于STC8G8K64U双通道高速ADC采集板

2020/04/26
180
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

设计采集板的目标

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

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

设计采样板的技术指标:

  1. 采样频率: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)串口波特率配置:」

  1. 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 左右。

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

▲ 两个通道采集的波形

相关推荐

电子产业图谱

公众号TsinghuaJoking主笔。清华大学自动化系教师,研究兴趣范围包括自动控制、智能信息处理、嵌入式电子系统等。全国大学生智能汽车竞赛秘书处主任,技术组组长,网称“卓大大”。