AD7656调试记录

关于AD7656与TMS320F2812之间进行数据采集
根据手册资料,简要介绍下芯片AD7656,芯片的引脚框图见下图1。
在这里插入图片描述

                                       图1  AD756引脚功能图

该芯片主要引脚功能如下:
1、该芯片23脚CONV A、22脚CONV B、21脚CONV C的逻辑输入,用于启动ADC对的转换,其中CONVSTA用于启动V1和V2上的同时转换;CONVSTB用于在V3和V4上的同时转换;CONVSTC用于启动V5和V6上的同时转换。当CONVSTX从低电平变换到高电平时,所选ADC对启动转换;
2、该芯片18脚BUSY信号,该信号为逻辑输出信号,当所选ADC对启动转换期间,该引脚一直输出高电平,直至AD转换完成,AD转换数据输出到数据寄存器,该引脚输出才变为低电平;
3、该芯片24脚STBY待机模式输入逻辑,当该脚为低电平输入时芯片进入待机模式,当该脚为高电平输入时芯片进入工作模式;
4、该芯片29脚W/B为Word/Byte模式逻辑输入,当该引脚输入低电平时进入Word模式,数据通过并行数据总线DB [15:0]进行传输;当该引脚输入高电平时进入Byte模式,数据通过并行数据总线DB [15:8]进行传输;
5、该芯片61脚SER/PAR为串行并行选择输入信号。当该引脚输入低电平时,选择并行接口模式;该引脚输入高电平时,选择串行接口模式;
6、该芯片62脚H/S SEL为硬件/软件选择输入信号,当该引脚输入低电平且该芯片的61脚SER/PAR为逻辑低电平时,该芯片在硬件选择模式下运行,此时要同时采样的ADC对由CONVST引脚选择,当该引脚输入高电平且该芯片的61脚SER/PAR为逻辑低电平时,通过写入控制寄存器来选择要同时采样的ADC对。
7、该芯片27脚RANGE为模拟量输入范围选择信号,该引脚为逻辑输入信号,该引脚上的极性将确定模拟输入通道是否具有的输入范围,当该引脚输入高电平时,进行下一次AD转换的范围是±2 x Vref,当该引脚输入低电平时,下一个转换的范围是±4 x Vref。
8、该芯片28脚RESET为复位输入信号,高电平复位。
上述为该芯片主要使用的几个引脚,下面以一个实际应用来说明:
该芯片27脚RANGE、29脚W/B、61脚SER/PAR、62脚H/S SEL均接地,通过硬件模式16位数据总线进行数据传输,采集电压范围为±10V;TMS320F2812自带的AD采集可采集的电压范围为0~3V,一般设计时为最大输入电压的80%,其输入电压范围为0~2.5V之间,采用该芯片可更大程度的提高芯片采样精度,在使用TMS320F2812通过AD7656进行数据采集时,首先TMS320F2812与AD7656的硬件接口见表1。

                              表1 TMS320F2812与AD7656的硬件接口

在这里插入图片描述
芯片AD7656与TMS320F2812进行数据传输的流程如下:
首先在DSP中,主中断函数内有:
CONV_ADC123=0;
CONV_ADC123=1;
上升沿,此时AD7656的AD转换对V1~V6开始进行AD转换,并将转换后的数据传输到数据寄存器中,在此期间该芯片的18脚(BUSY)信号一直输出高电平,当AD转换完成后,此时该芯片的18脚(BUSY)信号输出低电平(BUSY信号转换时间大约3us左右),将会产生一个下降沿进入TMS320F2812的146脚,触发外部中断XINT1,在外部中断函数中:
interrupt void XINT1_ISR(void)
{
current1.calc(&current1);
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
EINT;
}
在该外部中断函数中,首先计算电流值,定义一个数据指针:
#define ADC_ADD *(Uint16 *)0x3FC000
定义了ADC_ADD指向地址为0x3FC000上的数据
ADC_TMP=ADC_ADD & 0xFFFF;
取ADC_ADD指向地址为0x3FC000上的数据,此时DSP的41脚XRD将产生一个低电平输入到AD7656的20脚RD信号;由于ADC_ADD指向地址为0x3FC000上的数据。该地址指向的是DSP的XINTF Zone7区,此时DSP的130脚XZSC6AND7将产生一个低电平输入到AD7656的19脚CS信号,当AD7656的19脚CS和20脚RD均为低电平时,AD7656的数据总线DB [15:0]启动,与DSP之间进行数据传输,
ADC_TMP=ADC_ADD & 0xFFFF 进行6次读操作,此时DSP的41脚XRD将产生6个低电平脉冲输入到AD7656的20脚RD信号,读取总线上的数据。AD7656的时序图见下图2。
在这里插入图1图片描述

                                     图2 AD7656时序传输图

在调试过程中遇到以下问题:
1、当ADC_ADD指向TMS320F2812 XINTF的ZONE7区地址0X3FC00时,读到的数据一直为0,经过排查,原因如下:
首先AD7656的19脚片选信号CS连接的是DSP的130脚XZCS6AND7,即指向的是TMS320F2812 XINTF的ZONE6区或ZONE7区的地址,在软件中我们设置为:
#define ADC_ADD *(Uint16 *)0x3FC000
即AD7656转换后数据存放的地址为ZONE7区的地址为0x3FC000 ~ 0x400000,ZONE6区的地址为0x100000~0x17FFFF,但是DSP的17脚XMP/MC接的是地,即DSP处于微处理器模式,其XMP/MC的引脚功能见下图3。
在这里插入图片描述

                                             图3                                 

由于XMP/MC激活的是BootROM,导致XINTF 7不能激活,使得DSP读到AD7565转换后的数据一直为0,更改方法是将:
#define ADC_ADD *(Uint16 *)0x3FC000
改为:#define ADC_ADD *(Uint16 *)0x100000
使ADC_ADD指向XINTF 7地址上的数据转而指向XINTF 6地址上的数据,数据读取正常。
2、在AD7656进行数据读取时发现数据在两个值之间跳变的情况
通过示波器读取AD7656与DSP之间的CONV_ADC123(黄色)和XINT1(蓝色)信号如下图4,CONV_ADC123信号为上升沿时AD7656启动AD转换,转换完成后,BUSY信号将会变为低电平,测得蓝色BUSY号高电平持续时间3us左右。
在这里插入图片描述

                                                  图4

通过示波器读取AD7656与DSP之间的CONV_ADC123(黄色)和XRD(蓝色)信号如下图5,CONV_ADC123信号为上升沿时AD7656启动AD转换,当DSP每次通过数据总线进行一次数据读取时,XRD信号将会被拉低一次,V1~V6一共会读取6次,之后软件通过写入CONV_ADC123=0将其信号CONV_ADC123拉低,而在图3中,6次数据还未读取完成,CONV_ADC123信号就已经变为低电平,导致了读取的信号出现跳变。
在这里插入图片描述
图5

在第一次 current1.calc(&current1)时,AD756在进行6次取数据操作后有CONV_ADC123=0,之间将CONV_ADC123拉低,而CONV_ADC123只有在上升沿时才进行AD转换,而CONV_ADC123上升沿是在主中断函数中执行的,在第一次执行完AD7656转换后CONV_ADC123被拉低,导致在进行第二次读取时,并未启动AD转换,导致第二次读取的值为空值,正常信号波形见下图6。
current1.calc(&current1); //多余一次
clarke1.As = _IQ15toIQ((int32)current1.Ia_in);
clarke1.Bs = _IQ15toIQ((int32)current1.Ib_in);
clarke1.calc(&clarke1);
在这里插入图片描述
图6

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
ad2s1210旋变模块是一种用于测量机器旋转角度的模块。调试该模块需要以下步骤: 第一步是检查硬件连接。确保电源正常供电,接线正确无误。检查控制器和模块之间的通信线路是否连接良好。 第二步是配置控制器和模块。通过控制器上的编程软件,配置模块的参数,例如分辨率、增益以及滤波等。确保配置参数符合实际测量要求。 第三步是进行初始校准。在调试过程中,首先需要进行初始校准。校准过程中,将模块置于已知位置,比如零位,然后通过控制器发送相应指令进行校准。校准的目的是消除系统误差,提高测量的精度。 第四步是测试和调整。在校准完成后,进行模块的测试和调整。将模块置于不同的位置,观察测量结果。如果测量结果与实际位置不一致,可以通过调整模块的参数或者增加滤波操作来改善。 第五步是功能验证。在完成测量和调试后,对模块进行功能验证。通过控制器发送相应指令,对模块进行功能性测试,确保其能够按照预期工作和输出准确的旋转角度。 最后一步是记录和准备文档。在调试过程中,及时记录一些关键参数和调试结果,以备日后参考。同时,准备相关的调试文档,包括连接图、操作步骤和问题解决方法等,以便其他人员在必要时了解和进行维护。 通过以上步骤,可以对ad2s1210旋变模块进行有效的调试,确保其正常工作和准确测量旋转角度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值