分享好友 最新资讯首页 最新资讯分类 切换频道
单片机——A/D数模转换篇
2024-11-07 23:15

前言

单片机——A/D数模转换篇

这个芯片的数据手册链接放在这里:xpt2046芯片手册

为了满足多种需要,目前国内外各半导体器件生产厂家设计并生产出了多种多样的ADC芯片。从性能上讲,它们有的精度高、速度快,有的则价格低廉。从功能上讲,有的不仅具有A/D转换的基本功能,还包括内部放大器和三态输出锁存器;有的甚至还包括多路开关、采样保持器等,已发展为一个单片的小型数据采集系统。

我这次选择的芯片是XPT2046芯片,XPT2046是一种典型的逐次逼近型模数转换器(SARADC,包含了采样/保持、模数转换、串口数据输出等功能。同时芯片集成有一个2.5V的内部参考电压源、温度检测电路,工作时使用外部时钟。 在这里插入图片描述 XPT2046可以单电源供电,电源电压范围为2.7V~5.5V。参考电压值直接决定ADC的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1V~VCC范围内的参考电压(要求外部参考电压源输出阻抗低)。X、Y、Z、VBAT、Temp和AUX模拟信号经过片内的控制寄存器选择后进入ADC作为ADC应用时,可以配置为单端或差分模式。选择VBAT、Temp和AUX时可以配置为单端模式作为触摸屏应用时,可以配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换准确度。总之可以检测触摸屏上的压力,可以作为辅助输入、温度测量和电池监测等用处。

在这里插入图片描述 如果按照原理图这样接,将这个芯片作为A/D转换的话,有4个引脚接模拟信号输出设备,分别为:AIN0、AIN1、AIN2、AIN3。

在这里插入图片描述 限于篇幅,上面列举的只是芯片手册中的冰山一角,关于**芯片手册的链接我会放于文章最前面**,想要搞懂原理的可以看看芯片手册,毕竟会看芯片手册这都是基本操作。当我们对芯片手册有了大致的了解后,我们就可以着手编程,开始操作它,从而达到我们想要的效果了。

那么如何用mcu对芯片操作呢

首先mcu按照芯片指定的时序图,发送一系列控制字命令(芯片不同,命令格式不同,有的会含有地址数据啥的),当芯片收到一系列控制字命令后就知道mcu的目的了,然后就会做一些处理取得mcu想要的数据,最后按照时序图给muc发过去就可以了。

mcu想要从另一边的芯片里获得想要的数据,这里可以做一个比喻:就好比我想向另一个地方的人询问消息,那是不是我们可以把想要问的东西写在纸上呀?好比写信,开头先来一句——某某某你好,然后就是我找你干什么呀?——即对应一系列的控制字命令。当然写信也不是随便写的,起码你写的内容对方要看得懂是吧。就要写对方看得懂的语言——即严格遵守控制字命令格式。然后就按照一定的路线图将纸条给人带过去——即遵守时序图规则。只有这样,对方才能正确接收到,并正确的进行解读信息,最后达到你的目的。

而这一系列操,即我们在开发中所遇到的最大问题,一般都可以在芯片手册中找到答案。

下面就来一一解读上面的难题

控制字命令由芯片DIN引脚输入,这个芯片的控制字命令格式如下在这里插入图片描述 控制字命令各位描述如下在这里插入图片描述

  • 起始位——第一位,即 S 位。控制字的首位必须是 1,即 S= 1。在 XPT2046 的 DIN 引脚检测到起始位前,所有的输入将被忽略。

  • 地址——接下来的 3 位( A2、 A1 和 A0)选择多路选择器的现行通道,触摸屏驱动和参考源输入。下面图就介绍了哪些引脚作为输入口时,与之对应的通道地址。 在这里插入图片描述

  • MODE——模式选择位,用于设置 ADC 的分辨率。 MODE= 0,下一次的转换将是 12 位模式;MODE= 1,下一次的转换将是 8 位模式。

  • SER/DFR非 位控制参考源模式,选择单端模式( SER/DFR非 = 1,或者差分模式( SER/DFR非 = 0,两个模式作用不同,差分模式用于触摸压力测量中;而单端模式用于其它测量中。(具体可看芯片手册

  • PD0 和 PD1——低功率模式选择。

综上我们就相当于把信的写好了,接下来我们主要了解如何将信传递给对方了(芯片

上时序图在这里插入图片描述 XPT2046 数据接口是串行接口,处理器和芯片之间的的通信需要 8 个时钟周期,可采用 SPI、 SSI 和Microwire 等同步串行接口。一次完整的转换需要 24 个串行同步时钟( DCLK)来完成。大致流程

1、前 8 个时钟用来通过DIN引脚输入控制字节——即完成我要找谁,我要让它干什么?的事情。 2、芯片接收命令后,进入采样模式。 3、接下来的12 个时钟周期将完成真正的模数转换。因为这里选择的是12位模式,当然也可以选择8位模式,区别只是8位模式比12位模式的分辨率小,分辨率越大,测量得越精细。 其它剩余的4个时钟周期,就填充无效数据(填充零比特)。

在这里插入图片描述 从时序图中知道,我们主要用到四个引脚,分别时:cs非(片选使能)、DCLK(提供时钟信号)、DIN(输入数据)、DOUT(输出数据).

1.对引脚初始化

上代码

 

2.发送8位控制字命令

在这里插入图片描述 我们这里选择12位的模式、单端模式、选择低功耗。参照我们的原理图,通道地址(A2 、A1 、A0)为110,选择图如下。所以最终的控制命令字为:1110 0100——0xE4 在这里插入图片描述

在这里插入图片描述 上代码

 

!注意:芯片接收到命令后,需要等待一定的时间让它测量数据,有的芯片手册会明确告诉我们等待的时间是多少,但这个芯片手册里貌似没有明说,但问题不大。我们从时序图中也可以知道这个等待时间是一个时钟周期。

3.接收对方的测量数据

这里的数据位数为12位。如果是16位的话,我们可以写一个函数,一次用于接收8位数据,然后连续接收两次就可以了,最后把数据合并。(最后多接收的4位数据反正也是0,不会影响数据大小的

这里12位同理也可以采用这种方法。这里我采用另外一种方法:一次就把12位数据接收完。 上代码

 

4.打包函数,一次性获得测量值

上代码


最新文章
AI领域“国字号”赛事为何“钟爱”青岛
青岛新闻网12月9日讯 12月5日至8日,2024年全国行业职业技能竞赛第三届全国人工智能应用技术技能大赛决赛在青岛举行。作为我国面
13种跳转页面方法
我们来说说13种页面跳转方法先来介绍一下在服务端JSP脚本中跳转页面的4种方法:response.sendRedirct(“跳转到页面”); 该方法通
GoogleChrome浏览器 131.0.6776.0官方下载
谷歌浏览器是一款快速、安全且免费的网络浏览器,能很好地满足新型网站对浏览器的要求,Chrome谷歌浏览器可让您更快速、轻松且安
LinkedIn(领英)是什么
LinkedIn(领英),全球最大职业社交网站,是一家面向商业客户的社交网络(SNS),网站的目的是让注册用户维护他们在商业交往中
AI智能写作助手:为学术和工作提供高效支持
### AI智能写作助手:为学术和工作提供高效支持在21世纪的今天,人工智能(AI)已经渗透到我们生活的各个方面,从智能家居到自动
2024年排列三332期[明日之星]免费分析预测
根据一定牛排三开奖走势图综合分析:回顾:上期开出712 组六形态大小形态为大小小,大小比为1:2,奇偶形态为奇奇偶,质合形态为质
100款有色行情软件APP:详解行业领先APP的功能与使用技巧,帮助用户选择最适合的软件
随着有色金属行业的发展,行情数据的及时获取变得尤为重要。为了帮助投资者和行业人士实时了解市场动态,许多有色行情软件应运而
3D25日连号走势图近1000期带连线
功能类福彩3D显示遗漏:显示/隐藏遗漏值,遗漏值是指自上期开出到本期间隔的期数。福彩3D遗漏分层:是将当前遗漏值用柱状图形标
SEO排名优化软件,如何有效助力朋友提升网站排名?
在这个信息爆炸的时代,网站想要在茫茫网海中脱颖而出,SEO(搜索引擎优化)无疑是一项至关重要的技能。我深知,许多朋友都曾为
推荐一款强大的文本生成器:UBFG
废物垃圾检测29-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rarlinchuk_waste_detection_di