1.确定方案和目的
ADC芯片参数主要是采集的精度,采集的速度,多少通道,同步还是异步采集。我们来学习通过操作IIC总线来直接控制芯片完成数据采集的功能。
本节以CH341+ADS1115为方案来制作一块
PCB电路板,能够实现通过电脑直接操作IIC协议,对ADC芯片ADS1115直接操作。主要涉及制作电路板和编写控制软件两部分,本节详细介绍PCB电路板制作,还有开始讲解上位机
通信编程的概念,具体要求如下:
任务:制作一块能够采集模拟量信号的电路板要求:
01.采集通道4个,16位精度,速度100个数据每秒
02.通过排针来输入信号,Type-C接头连接电脑进行数据采集
02.绘制原理图并且加工出来PCB实物
03.学会CH341芯片和ADS1115芯片的使用和操作,了解IIC总线时序关键词:,SMT,PCB,AD,AutoCAD,
labview,DLL,CH341,ADS1115
2.设计电路图
01. 首先CH341A芯片可以通过操作DLL接口直接输出IIC数据,IIC的数据直接对接ADS1115芯片,主要流程是:1配置参数,2启动转换,3读取采集;
02. 根据方案绘制原理图首先需要确定核心器件的型号/符号/封装;
03. 若不能找到标准封装那就需要自制,自制简单封装可通过封装向导;
04. 复杂封装需要借助AutoCAD专业软件设计,然后再导入AD软件。
05. CAD设计步骤是:定位到原点附近,建立图层,绘制轮廓,导入AD,线宽/单位/对应图层,注意不能直接导入到封装库,需要导入PCB再复制到库,最后根据定位对齐。
06. CH341A需要单独下载IIC驱动,不可以用串口驱动;
07. 注意CH341模式选择引脚,不同电平对应不同模式,1引脚下拉为IIC模式;
08. ADC的采集电压范围需要配置VDD,用3.3V供电采集5V的电压会出现错误,不可以过采样;
09. Type-C的设计是本电路中的难点,不同引脚的功能,防止供电异常
3.器件BOM的制定和采购
01. CH341A芯片的选型很重要,后缀字母A的含义;
02. ADS1115芯片是本采购中缺货的状态,需要提前采购;
03. 其它的电容电阻检查封装和位号是否正确;
04. 一定要检查贴片二极管的方向标注,一定要检查稳压管引脚是否正确!!
05. 采购芯片常常是关键的功能芯片出现延期;
06. 芯片的采购数目应该有备损量,不建议过多;
4.加工电路板+贴片
01. PCB加工前确认是否进行SMT贴片,因为SMT有最小加工尺寸要求,过小需要备注拼版处理;
02. 拼版要加入工艺边,定位点,定位孔,V割还是使用邮票孔;
03. ADC电路板需要屏蔽干扰,加入铺铜和过孔地;
5.上位机接口与Labview程序
本节开始了解上位机程序的编写,以图形化Labview软件为载体学习CH341A的IIC操作,来完成数据采集;
01. CH341需要通过调用[CH341OpenDevice]函数接口来使能芯片操作;
02. labview软件中可以直接调用接口dll文件,直接选择可操作的函数名称,然后需要定义一下文件与labview函数节点的数据接口;
03. 在选型卡第二页配置数据匹配, long类型使用i32;
04. labview软件调用接口dll文件,IIC函数的数据读写,其中数据速度由硬件决定,labview软件中配置数据对接:long类型使用i32,uchar类型使用字符串;
05. 写IIC数据是配置7位地址+读写位,然后再发送数据;读IIC数据依然是按照地址加读取数据来操作,不过读取输出是存在返回值的;
06.IIC和SPI是有类似的配置,主要是配置数据速度,接口类型;
07. 这里开始用到了布尔操作,用布尔数组来配置功能再转换为参数值传入dll,注意在labview中数组是从左到右的顺序,ADC芯片多为反顺序,需要进行数组翻转;
08.CH341芯片为了方便用户操作,集成了IIC写入读取数据流接口,比如批量读写IIC的Flash存储数据芯片;
09. 这里用配置参数需要注意数据指针使用的是字符串,将其转换成U8数值数组进行还原,还要定义IIC收发数据大小;
原作者:Dream_doing 千里优选教学基地