1.问:编写 CS1237/CS1239 驱动的CLK 应该设置成多长时间较好?
答:CS1237/CS1239 的时钟设置时长为2us-15us,但是具体的时钟设置要求要根据ADC 的输出速率来确定的,比如说ADC 输出速率10HZ,每次输出的时间间隔为0.1S 就是说每次DRDY 发送一个脉冲信号的时间间隔为0.1S,只需要满足一次读写寄存器92 个CLK 需要的时间小于0.1S 就能正常的进行AD 数据转换。
2.问:编写CS1237/CS1239 驱动的CLK、SDA、CS 引脚的初始化设置要注意哪些问题?
答:CS1237 的CLK 引脚和SDA 引脚要注意引脚的初始化上下拉设置为不设上
下拉模式,要注意CS1239 的CS、CLK、SDA 引脚要注意初始化设置上拉。
3.问:编写 CS1237/CS1239驱动的中断触发条件设置是怎么设置的,中断线程与引脚的映射关系是什么样的?
答: CS1237/CS1237 的中断触发条件都是下降沿触发,使用CSU32F030 做主控的外部中断线程与引脚是一个映射关系:PinX=EXTIX Line
4.问: 编写CS1237驱动的读写寄存器时序中的无命令执行的空CLK 可以为了节省运行的复杂度而删除吗?还是一定要发送完整的46个CLK 才能读写寄存器?直接读AD数据要发送46个CLK 吗?
答 :CS1237 读写寄存器不可以删除没有命令操作的空CLK,要正常的执行读写寄存器一定要发送完整的46 个CLK,发送46 个CLK 芯片才能识别这是一个读写寄存器的操作才能正确的执行读写寄存器命令。直接读3 字节AD 数据不需要发送46 个CLK,只需要发送24 个读数据的CLK 和3 个空CLK 就可以读出AD 数据。
5.问:编写 CS1237 驱动发送读写命令是0x56与0x65,但是编写读写寄存器驱动的时候发送的命令变成了0xAC 与0xCA 了?
答: CS1237 的读写配置寄存器的最高位为保留位并且默认为0,只能配置Bit[6:0],0x56 的Bit[6:0]正好相当于0xAC 的Bit[7:1]。
6.问:编写CS1237 驱动读写寄存器时应该怎么设置SDA引脚的输入输出模式?
答:建议初始状态SDA 引脚设置为输出模式,编写写寄存器函数时,先写入写字节命令是主控发送命令给ADC,设置SDA 引脚模式为输出模式,然后发送具体需要写的数据给ADC 也是SDA 引脚设置为输出模式,这样就不需要改GPIO的输入输出模式了。编写读寄存器函数时,先写入读字节命令是主控发命令给ADC,设置SDA 引脚为输出模式,然后再读取寄存器里面的值,此操作为主控读取ADC 的寄存器数据,主控是要被动接收的,主控的SDA 引脚应改变状态设为输入模式。
7.问:CS1237/CS1239 读写寄存器或者读取数据一定要用中断的方式读取吗?
答: 读写寄存器与读取数据建议用中断的方式来实现,原因是芯片每隔一段时间会发送一个脉冲,这个脉冲表示数据准备好了可以发送或者接收数据了,可以利用这个脉冲触发中断读取寄存器或者数据,如果不使用中断的方式读取寄存器会导致读写寄存器过程中突然来了一个脉冲会导致寄存器读写的数据被脉冲破坏,从而导致不能正确的读写寄存器数据。
8.问:CS1239读寄存器函数读功能配置寄存器数据与读数据转换寄存器数据有什么要注意的地方吗?
答: 这里要定义一个数组buf[3]来存储读到的寄存器数据,如果是功能配置寄存器只需要用到buf[0]来存储数据,如果是数据转化寄存器只则需要用buf[0],buf[1],buf[2]来存储24bit 的数据,这里需要注意涉及数据转换的问题就是把3 个8bit 的数据转换成一个32bit 的数据。
9.问:编写 CS1239 驱动时需要注意用户手册中时序图的哪些地方?
答:如下图所示,编写读写时序时需要着重注意CLK 引脚要先拉低,然后再CS 引脚拉低,数据读取完毕以后要注意是CS 引脚先拉高,然后再CLK 引脚拉高,这是一个完整的数据读写时序图,如果没有按照上图所示操作就不能正确的读写寄存器操作。
10.问:1239怎么切换通道读ADC?
答: 1.ADC 要能正常工作首先要配置ADC 使能,然后根据自己想要的模式进行寄存器配置,一对差分通道读完数据以后想要切换通道首先要配置关闭ADC,然后再配置开启ADC,然后进行相应的寄存器配置才可以正确的切换通道配置读取数据。
11.问:怎么区分称重传感器引出的四根导线 E+、E-、S+、S-?
解答:最两旁的线是E+、E-的线,E+、E-可以自由选择两旁那边是正负,选择左边为E+的话则S+为左边靠近E+的接线,总的接线顺序为E+、S+、S-、E-,反之为E-、S-、S+、E+。
12.问:CS1237 与CS1239Demo 板实验环境的搭建有什么异同点与需要注意的点?
答: CS1237 实验环境搭建如图所示按照Demo 板的引脚按顺序接,CS1239 实验环境搭建要注意VDD 接Demo 板的VS 引脚,还需要注意的点是AIN0、AIN1的接线处有两个引脚,不是两个引脚都可以接,注意别接反了,接右边引脚,另外CS1239demo 板的J2、J3 与原理图的接法是相反的,这一点需要着重注意,编写驱动不能读出数据,一定要先确保硬件环境的搭建是否正确。
更多回帖