青春无悔
分类: C/C++
2014-12-26 18:06:18
1、用内部时钟,CLKSEL=高电平。硬件设置
2、需要使用内部参考源,参考源选2.4V
3、PWDN引脚,我已经硬件上拉了,软件不用处理
4、PF3(原来的FASTE),连接到RESET
5、PH5(原来的CAL_DRV),连接到DRDY
6、PF0(原来的DeFibr_OUTE),连接到START
7、PG3(原来的RESP_RESET),连接到CS
8、SCLK,PG12,Flash
9、MISO,DOUT
10、MOSI,DIN
SPI接口:
1、标准SPI接口:/CS,SCLK,DIN,DOUT;另外转换完成/DRDY
/CS:
1、必须通信过程都要保持低电平;
2、大于4个Tclk才恢复高电平(4/2048khz=2us);
3、高电平后,SPI处在复位[SCLK,DIN不顾;Dout高阻态],/DRDY正常
SCLK
1、在/CS低电平情况下,SCLK不允许有差错,因为很敏感到1ns;
2、8个SCLK后,芯片内部执行指令;若出错执行,进行/CS拉高再拉低操作,即可恢复正常;
3、建议SCLK为8的倍数;
4、最快50ns;公式:Tsclk < (tDR-4Tclk)/(Nbits*Nchannels+24)
例如8-kSPS(8channels,24bit resolution) 最小SCLK为1.72MHz
5、数据读取可以RDATAC模式、或者RDATA命令
DIN
1、SCLK下降沿写数据;
DOUT
1、SCLK上升沿移数据;/CS为高时,为高阻态;
2、连续读模式:DOUT同时具备数据转换完成标志功能;在周期内可重复读数据。
数据获取:
RDATAC(开机默认):连续读,适合只配置1次,以后只读的场合。
RDATA:单个读。适合用于寄存器频繁操作场合。
1、在SCLK第一个上升沿,MSB就锁定在DOUT了;第一个SCLK下降沿后,/DRDY就恢复高电平;DIN必须保持低电平,在整个读取过程。
2、SCLK的个数。[24bits状态+ 位数*通道数]。某个通道不使用,输出为0.
3、允许多次读结果。DAISY_IN置位1
Setting time建立时间
根据CONFIG1寄存器的DR[2:0]和fclk决定
注意:STRT信号转至高电平,需要等待第4个DRDY脉冲才有效数据,因为3个tDR用于滤波器。
OFFSETCAL:
在每次PGA改变增益都需要重新校准。