ADC芯片工作原理以及驱动程序的编写

基于线性序列机的ADC芯片功能和接口时序介绍

ADC功能

ADC实际上就是模数转换器,因为日常生活中的信号多数是模拟信号,但再电脑上对这些信号进行分析,就需要将他们转换成数字信号

ADC参数指标

我们需要使用的芯片ADC128S102的参数如下: 

其内部结构如下:

各个信号的时序关系如下:

由该时序图可分析如下

1.CS为片选信号,低电平有效;

2.DOUT在CS变为低电平后四个周期开始输出,且在SCLK下降沿输出,并且可以看到SCLK上升沿时DOUT处于稳定状态;

3. DIN在两个SCLK周期后输出地址信号进行选通模拟信号;

基于以上时序分析,我们进行ADC驱动模块的设计:

除了 ADC芯片本身与驱动模块交互的CS、SCLK、DIN、DOUT信号外,结合实际应用需求,还需要用户控制端设计几个信号:

1.Addr[2:0]:用户控制输入地址,即选取想要输出的某一路模拟信号;

2.data[11:0]:将芯片模数转换后的数字信号输出给用户端;

3.Conv_Go:开始采样使能信号,高电平有效;

4.Conv_Done:转换完成信号;

使用线性序列机思路分析SPI接口的ADC芯片接口时序

如题,通过使用线性序列机的思路来分析ADC芯片的接口时序,可以看到,在CS有效(低电平)期间,DOUT在4个周期的0后,在SCLK下降沿输出给驱动模块,DIN在两个周期后驱动模块将ADD地址信号输出给ADC芯片,因此,选取最小时间单位就是SCLK的半周期;

分析上图后,各个时间节点的操作如下: 

如上图可以得到驱动模块代码的设计思路:

1.设计SCLK半周期计数器,即最小时钟单元;

2.设计序列计数器,以最小时钟单元为触

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值