分享好友 最新资讯首页 最新资讯分类 切换频道
单片机——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.打包函数,一次性获得测量值

上代码


最新文章
寰球出海获颁海外最具影响力跨境一站式服务平台
《Global Business and Magazine》是一家全球知名的金融商业杂志,总部设在美国,专注报道全球商业、金融和经济领域的最新动态与
做小程序公司需要投资多少钱,游戏版_GD676
投资做小程序公司具体需多少钱取
全球与中国手机市场对比:高端与低端的巨大差距
近期,一项机构发布的数据显示,2023年第三季度全球最畅销手机排行榜中,再次体现了苹果与三星的主导地位。相比之下,国产手机在
NVIDIA 与开发者合作用 NVIDIA ACE 为游戏和应用带来栩栩如生的虚拟角色
NVIDIA 今日推出 NVIDIA Avatar Cloud Engine(ACE)Production Microservices,让 游戏、工具和中间件开发者将最先进的生成式 A
SEO常见术语合集
这些术语对普通用户来说,基本上用不到,但对于SEO人员来讲,熟悉SE0术语会有助于帮助我们更好地理解SEO。网站分类目录:网站分
PDF格式文件如何快速免费地转换成PPT格式?
下面给大家推荐几款好用的免费的PPT与PDF互转器软件,有需要的小伙伴们来了解一下。福昕PDF转Word是一款功能强大的软件,可以将P
oracle怎么比较大小排序,Oracle分级排序函数Rank、Dense_Rank、Row_Number比较
一个员工信息表Create Table EmployeeInfo (CODE Number(3) Not Null,EmployeeName varchar2(15),DepartmentID Number(3),S
seo 更改站内链接(seo修改)
大家好,今天小编关注到一个比较有意思的话题,就是关于seo 更改站内链接的问题,于是小编就整理了2个相关介绍seo 更改站内链接
人工智能市场分析:人工智能蓬勃发展赋能各行业 苹果推出融合ChatGPT的Siri
苹果推出融合ChatGPT的Siri12月11日,苹果发布了iPhone、iPad和Mac软件的更新,其中包括了融合ChatGPT的Siri。这对OpenAI来说也
TCL华星副总裁赵斌:印刷OLED将拓展至高端显示器、笔电等领域
来源:Wit Display拓展印刷OLED应用领域2024 TCL全球技术创新大会上,TCL华星现场发布了首款量产印刷OLED21.6吋4K专业显示屏、全