板级调试小助手(1)系统结构和原理

目录

1、前言

2、小助手系统简介

3、系统结构

4、上位机界面和功能介绍

4、结尾


1、前言

笔者在从事嵌入式方面的工作中,开发新的项目或者新的需求不可避免的需要进行板级测试,有些设备上机调试不方便,所以我们肯定希望将更多的问题在板级测试阶段就解决。但是有些项目中需要多个控制板相互配合,或者需要较多的工况,导致在板级测试中给待调试的电路板一个正确的,自己希望的激励会比较麻烦,以上就是我要开发这个小工具的初衷。

这个小项目采用了PYNQ的开发架构,笔者也是第一次使用PYNQ开发,做完这个小项目之后发现它其实也挺适合做一个学习和其他的测试平台,所以笔者就将其录制成了一个视频供大家讨论交流

自制DIY小玩具——板级调试小助手_哔哩哔哩_bilibili

2、小助手系统简介

        小助手采用ZYNQ作为主控,具有八路数字量输出、八路模拟量输入和八路模拟量输出(或DDS),并且支持自定义脚本运行和AI帮写脚本功能。

        其中模拟量输入采用了一颗型号为AD7606的ADC,其最大采样频率为250K,模拟量输入采用了八颗DAC7512作为DA输出,它是一颗单路DAC,采用串口通讯,其最大工作频率为30MHz。数字量输出使用光耦隔离。此外,外加了一个OLED显示屏用于显示当前的工作状态。交互方面使用上位机通过以太网远程控制小助手,电路原理图结构如下图1所示:

图1 电路原理图结构

        由图1结构图可以看出,它的硬件结构四个部分组成,分别为ZYNQ主控(笔者用的是在网上购买的核心板,毕竟ZYNQ的板子比较难画)、DAC驱动电路、有源滤波器电路、ADC驱动电路以及DO输出电路,实物图如图2所示:

图2 实物图

        系统供电需要12V直流电源,最左边为模拟量输出/DDS,最右边为模拟量输入,最上面为DO输出,中间采用了一个OLED12864作为状态显示。

3、系统结构

        该小项目的结构主要可以分为两个部分PS端和PL端(仿佛是个废话),PS端使用的时PYNQ开发框架,PL端(在PYNQ框架中应该叫做Overlay)负责OLED、ADC、DAC、DDS的驱动等,结构图如下图3所示:

图3 系统结构示意图

        由系统结构示意图可以看出,小助手的系统结构中PL端主要负责驱动,PS端主要负责控制逻辑,其中脚本解析程序是采用字典树的方式编写的一个自定义脚本解析程序。

4、上位机界面和功能介绍

        此项目的上位机采用Python编写,主要功能是控制小助手的DO输出、DDS、AO以及查看AI输入数据,此外还可以通过上位机上传脚本文件,如果不想写脚本,上位机也调用并初步训练了千帆大模型,可以通过AI帮你写脚本。上位机与小助手采用TCP协议通讯,其中小助手作为TCP服务器,上位机作为TCP客户端访问,上位机界面如下图4所示:

图4 上位机界面

         AI帮写界面如下图5所示

图5 AI帮写

         AI帮写界面是调用了另一个Python脚本,该功能显示遵循MarkDown标记语言

4、结尾

        秉着相互学习共同进步的理念,本次小项目从原理图到所有源码全部开源,在接下来的博客中笔者会从《自定义IP核构建一个属于自己的DDS外设》、《PYNQ的OLED显示》、《基于C语言的自定义脚本解析器》、《基于Python访问千帆大模型》四个方面详细介绍改项目。

        本人技术有限,如果纰漏请各位大牛指正。

开源地址:https://gitee.com/To_ziluolan/Debugging_Assistant

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值