采用+2.5V和-2.5V 参考电压,AIN1+和AIN1-输入时: 通道设置命令:CS5532_WriteByte(0x05,0x3000,0x3200); //U/B设置为单极性 转换命令:CS5532_WriteCommand(0xc0); //通道一setup1连续转换 此时能在通道1执行连续转换,结果也正确,但是此时应该将SETUP1设置为双极性时吗?
然后改为双极性: 通道设置命令:CS5532_WriteByte(0x05,0x3040,0x3240); //U/B设置为双极性 转换命令:CS5532_WriteCommand(0xc0); //通道一setup1连续转换 此时却在通道2转换? 以上设置应该没有错误吧? 0x3000,0x3200 是SETUP1和ssetup2只是字速率不同. 同样都设置为单极性时只能在通道1转换,都设置为双极性时只能在通道2转换,所以只有一个设置为单极性另一个设置为双极性才可以两个通道分别转换! 请问有用过两个通道同时连续或单次转换的吗?
answer: 一上电后,就应该把通道设置寄存器配置好,如果在采样过程中不需要改变采样速率,只需配置一次就OK了。一个通道设置寄存器在俺的印象当中可以配置两个通道,其中可以设置采样速率、参考电压范围、对应的物理通道及信号输入极性等,也就是说,建议在同一个通道设置寄存器中把高16位配置字为物理通道1使用,低16位配置字为物理通道2使用。
如果两个通道都采用单次转换,则可以先启动通道1(这里通道1为对应物理通道1的配置字)转换,当物理通道1转换结束后,再在通道2(这里通道2为对应物理通道2的配置字)启动转换,物理通道2转换结束后重复。这里的通道1与通道2分别对应的为通道设置寄存器的高16位、低16位。
如果两个通道都采用连续转换,则在配置好通道设置寄存器之后,分别发送通道1、通道2启动连续转换即可,后面就不用再重复发送启动转换命令了。读采样码时,需把SI信号拉低,给ADC发送32个CLK,然后才真正读出采样码,不过同一物理通道的前5次采样码需舍弃,取第六次的数据,采样码数据寄存器中需区分不同物理通道的值。
如果还不明白就得好好看懂DATASHEET了。
|