德州仪器的12位采样芯片ads1015调试
一、使用背景
公司产品需要用到ad采样芯片,由于采样路数较多且分布比较分散,检测的是电平值,变化率较慢,所以想选择分辨率高、体积小、最好是iic接口的芯片。因为个人比较喜欢德州仪器这个公司,所以就先去TI的官网上查询了一番。一番查询,发现了ads1015芯片还是比较适合的,12位的分辨率,能有4路输入,iic接口。所以下载了该芯片的datasheet,仔细阅读一看,发现居然有更多惊喜!!这款芯片内置震荡源,内置参考电压源,而且内置PGA(可编程增益控制器),也就是说,在检测电平较小的情况下,通过调节PGA单元,可以适当将信号放大,这样以增加检测精度。去淘宝简单查询了价格,一片大概15元左右,心中一喜,就这么愉快地决定了。
二、调试过程
芯片回来后,第一时间拿到手里,芯片很小,引脚也很密。焊上板子后,就开始调试了。通过datasheet可知,这个芯片用的是标准的iic接口。我是用单片机GPIO模拟的iic口,去读写芯片。iic通信,首先要弄清楚器件的地址,ads1015设定地址的方式很巧妙。ads1015有一个专门的addr引脚,这个引脚可以分别和VDD、GND、SDA、SCL相连,分别可以得到4个不同的器件地址(详见datasheet)。地址确定后,就要开始初步调试,尝试读取芯片内部某个可读寄存器的值,看看读出的值是否和datasheet内部写的一致。
一开始iic的时序不对,浪费了一点时间。确定好iic时序正确后,尝试读取ads1015内部的寄存器。ads1015内部寄存器数量只有4个,分别是8位的pointer寄存器,用于指明要写的寄存器位置,16位的配置寄存器,16位的转换寄存器(用于存放转换结果),至于这些寄存器每一位的作用,详见datasheet(http://www.ti.com.cn/product/cn/ads1015)。
这里有个需要注意的地方,也是我调试花费最多的地方,就是,存放转换数据的寄存器有16位,而转换结果是12位的,而且是带有符号位的,是以二进制补码的形式读取的。数据寄存器的高12位是有效的,低四位不做数据用。问题就在这,datasheet里说明,系统上电之后自动复位,数据寄存器全部清零,置‘0’,在图表里,D0~D3的空格里填写的都是‘0’。见下图:
问题就出在这!这是说明这低四位,在任意时候读取出来都是0吗?这个文档里没有明确说明,但是按照描述的样子应该是的。所以,一开始我一直按照这一假设进行调试,因为,只要我读取这个寄存器,读到的最后四位都是零,就表明我的程序已经能够访问这个芯片了。但是,每次读取,后四位都不是0,这是为什么?我百思不得其解。没办法,拿来示波器,直接看波形!!
示波器看出,我读取ads1015,它确实有输出了,但是波形上看,最后四位并不是全是0,也不全是1,而且每次还不太一样。就在困惑之际,我想除了这个数据寄存器之外,还有其他可读的寄存器,比如配置寄存器config寄存器,接着我配置了几次不同的值进去,然后再读取这个寄存器,用示波器看ads1015输出的波形是与我配置进芯片的数据是一致的!!
得到这个结果,我踏实了许多,这说明我写的模拟iic通信协议是正确的,而且已经能够访问到芯片内部,那么既然文档没有明确说,低四位一定是0,那么有可能是不定的吧,但是不定的话,为什么不在对应的位置上打个“X”呢?直接写‘0’,给人感觉就是固定的。不管了,把读出数据转化成int型,然后通电加电压信号上去,看读出的值会不会跟着变化吧。
结果看到取出高12位后,发现器件输出的值就是对应的ad转换后的值,当然这里有个主意的地方,寄存器里存储的数据是二进制补码的形式,包含一位符号位,所以,在读取之后,直接在程序里将值赋给一个int型的变量,那么不用做转换,这个变量直接就是正确的数值了,直接可以参与数学运算等。
所以,这次调试最重要的是读取数据手册的重要性,特别是这类功能强大,模式多的芯片,偶然发现这个芯片在安卓源代码里有有专门的一份驱动,可见这个芯片并不是很冷门的,是一款很典型很强大的adc芯片。
最后希望这篇日志,对其他正在调试ads1015的朋友有帮助!
德州仪器的12位采样芯片ads1015调试相关推荐
- Quad Industries、Agfa等公司合作推出塑料12位RFID标签和带有丝印印刷电路的读出
Quad Industries.Agfa.imec和TNO宣布展出一款塑料12位RFID标签和带有丝印印刷电路的读出系统.该系统集成了一个屏幕印刷天线和印制触摸用户界面,可实现在曲面上读取.该公司报告 ...
- 今年芯片行业最大收购案:亚德诺209亿美元收购美信,对抗行业老大德州仪器...
边策 发自 凹非寺 量子位 报道 | 公众号 QbitAI 当AI.5G芯片成为行业热议话题时,另一块芯片战场正在开展一场吞并战. 今天,全球第二大模拟芯片厂商亚德诺半导体(Analog Device ...
- 主流芯片解决方案Ambarella的高清网络摄像机、德州仪器和控制海思
(本文由四川艾普作为数码科技有限公司 苏斌.范清华 收集) 高清网络视频监控发展到今天.正的高清时代.诸多有实力的高清摄像机厂家的产品线也逐渐完好起来,高清网络视频监控的配套产品有更加丰富和成熟.与此 ...
- 芯片破壁者(十六):德州仪器的“罗生门”
半导体领域最具"罗生门"特质的,应该要属德州仪器了. 自从淡出手机芯片市场之后,德州仪器的名号逐渐变得鲜为大众所知,但其实我们每一次打电话.上网.拍照等活动背后,都可能在与其制造的 ...
- 12位的ADC,16通道,2*8通道的输入多路选择器,两个采样保持器
转https://zhidao.baidu.com/question/340306474.html 大致意思如下(芯片型号不一定正确,如有巧合纯属偶然): 16个模拟信号输入(接口) -> AD ...
- 一群中国芯片技术小球的奋斗故事系列:“中科融合的‘AI-3D芯片’追赶美国德州仪器DLP技术之产业和技术初探-part II”
引子 人可能会爱上人工智能(AI: Artificial Intelligence)吗? 来自电影"HER"的剧照,主人公与AI相爱的故事 2013年,电影"HER&qu ...
- 【国产虚拟仪器】4 通道3.2GSPS(或者配置成2 通道6.4GSPS)采样率的12 位AD 采集FMC+子卡模块
板卡概述 FMC_XM134 是一款4 通道3.2GSPS(或者配置成2 通道6.4GSPS)采样率的12 位AD 采集FMC+子卡模块,该板卡为FMC+标准,符合VITA57.4 规范,可以作为一个 ...
- 德州仪器TI芯片实时监控自动抢购
跟大家分享一下怎么处理大量需求:实时监控德州仪器商品库存说到这里不得不提一下,德州仪器是世界第一大数字信号处理器制造商,半导体业务占整个公司的85%. 客户是做芯片炒货,他们基本上都是德州TI去下单. ...
- 德州仪器TI芯片自动下单抢购监控软件技术分析
2011年4月5日,德州仪器(TI)和美国国家半导体(NS)宣布签署合并协议,TI将以25美元/股.总额约65亿美元的现金价格,收购国家半导体.本次收购将使业界共同致力于解决客户模拟问题的两个领导者实 ...
最新文章
- NIO详解(十一):线程间通信管道Pipe
- 64 oracle client,64bit oracle and oracle client.
- 0 重新学习Ubuntu -- 这一段没怎么学习
- 三分钟学会.NET Core Jwt 策略授权认证
- 51nod-猴猴吃香蕉【dp】
- elementui更改el-table表头背景颜色和字体颜色
- java中集合(List)的嵌套分配值、移除等操作
- React Native按钮详解|Touchable系列组件使用详解
- Redis集群Windows
- Halcon PDF文档(hdevelop_users_guide)学习总结之三——关于变量窗口的小知识
- 【语音识别】基于matlab GUI语音识别信号灯图像模拟控制(带面板)【含Matlab源码 757期】
- 微信公众号互助、开白群,小白报团取暖
- 大学计算机应用基础教学设计,大学计算机应用基础电子教案设计.doc
- go微服务调用报错too many colons in address
- HCNP——DR和BDR的概念
- JavaScript复习笔记(三)数组及数组API
- 体寒是不是天生的 体寒四个基本常识须知
- 保险行业防范网络犯罪新思路
- 冒烟测试回归测试UATSIT
- java 工作流 jbpm,J2EE工作流管理系统jBPM详解(一)(4)
热门文章
- T02_unity制作直升机起飞降落 c#
- css选择器有哪些?各种选择器优先级大小顺序
- 善用Bash history 命令
- MT4单线MACD指标的能量柱颜色的优化
- openni linux arm,OpenNI2 Arm-Linux下的安装配置
- [语音识别] 10 端到端语音识别
- imagick的简单使用
- 重庆计算机设计学校排名,重庆最新的计算机学校排名-涪陵创新学校方方面面做到你满意...
- 如何在unity中使用龙骨动画
- 调用 SSPI 失败,请参见内部异常。接收到的消息异常,或格式不正确。