技术热线: 0755-86643915

新闻动态

芯海科技:CS1237串口通信

更新时间: 2024-01-16 15:24:24
阅读量:
SPI 串口通信
CS1237 中采用2 线SPI 串行通信,通过SCLK 和DRDY.DOUT可以实现数据的接收以及功能配置。
建立时间
在ADC 数据输出速率为10HZ 或40HZ 时,数字部分需要有3个数据转换周期满足模拟输入信号的建立和滤波器的建立时间要求; ADC 数据输出速率为640HZ 或1280HZ 时,数字部分需要有4个数据转换周期满足模拟输入信号的建立和滤波器的建立时间要求。CS1237 整个建立过程如下图所示:
ADC数据输出速率
CS1237数据输出速率可以通过寄存器speed_sel[1:0]配置。
数据格式
CS1237 输出的数据为24 位的2 进制补码,最高位(MSB) 最先输出。最小有效位(LSB) 为(0 5VR=/Gain)(2Z-1)o 正值满幅输出码为TFFFFH,负值满幅输出码为800000H。下表为不同模拟输入信号对应的理想输出码。
(1) 不考虑噪声,INL,失调误差和增益误差的影响
数据准备数据输入输出(DRDY.DOUT)
DRDY/DOUT引脚有4个用途。第一,当输出为低时,表示新的数据已经转换完成; 第二,作为数据输出引脚,当数据准备好后,在第1个SCIK的上升沿后,输出转换数据的最高位(MSB)。在每一个SCLK的上升沿,数据会自动移1位。在24个SCLK 后将所有的24位数据读出,如果这时暂停SCLK的发送,着最后一位的数据,直到下一个数据准备好之前拉高,此后当DRDY.DOUT被再: 欠拉低,表示新的数据已经转换完成,可进行下一个数据读取; 第三,在第25、26 个SCIK时,输出寄存器状态更新标志; 第四,作为寄存器数据写入或读出引脚,当需要配置寄存器或读取寄存器值时,SPI需要发送46个SCLK,根据DRDY DOUT输入的命令字,判断是写寄存器操作还是读寄存器操作。

串行时钟输入(SCLK)
串行时钟输入SCLK是一个数字引脚。这个信号应保证是一个干净的信号,毛刺或慢速的上升沿都会可能导致读取错误数据或误入错误状态。因此,应保证SCLK的上升和下降时间都小于50ns。

数据发送
CS1237 可以持续的转换模拟输入信号,当将DRDY /DOUT拉低后,表明数据已经准备好接受,输入的第一个SCLK 来就可以将输出的最高位读出,在24个SCLK 后将所有的24 位数据读出,如果这时暂停SCLK 的发送,DRDY/DOUT 会保持着最后一位的数据,直到其被拉高,第25 和26个SCLK 输出配置寄存器是否有写操作标志,第25个SCLK 对应的DRDY/DOUT为1时表明配置寄存器Config 被写入了新的值,第26个SCIK 对应的DRDY/DOUT为芯片扩展保留位,目前输出一直为0,通过第27个SCLK可以将DRDY DOUT拉高,此后当DRDY.DOUT被再次拉低,表示新的数据已经淮备好接受,进行下一个数据的转换。其基本时序如图所示:

功能配置
Cs1237可以通过SCLK和DOUT/DRDY可以进行不同功能的配置,功能配置时序图如下图所示:
功能配置过程简述,在DRDY,DOUT由高变低之后:
第1个到第24个SCLK,读取ADC 数据。如果不需要配置寄存器或者读取寄存器,可以省略下面的步骤。
第25 个到第26个scLK,读取寄存器写操作状态。
第27 个SCLK,把DRDY,’DOUT输出拉高。
第28 个到第29个scLK,切换DRDY ‘DOUT为输入。
第30 个到第36个sCLK,输入寄存器写或读命令字数据(高位先输入)。切换DRDY/DOUT的方向
第37 个SCLK,DRDY/DOUT为输入; 如果是读寄存器,DRDY/DOUT 为输出)。
第38 个到第45 个SCLK,输入寄存器配置数据或输出寄存器配置数据(高位先输入/输出)。
第46 个SCLK,切换DRDY/DOUT为输出,并把DRDY/DOUT拉高.update1/ update2 被置位或清零。
SPI 命令字
CS1237 有2个命令字,命令字的长度为7bits,命令字描述如下:
SPI寄存器
CS1237有一组寄存器Config
Config寄存器
PowerDwon模式
当SCLK从低电平变高电平并保持在高电平超过100µs,CS1237即进入PowerDwon模式,这时会关掉芯片所有电路,功耗接近0。当SCLK重新回到低电平时,芯片会重新进入正常工作状态。