DSP28335的AD采样读数一直是4095

  这几天做的一个DSP28335控制板测试时发现PWM没问题,但是测AD读数时A0和B0的读数都是4095。简单分析一下,对于DSP的供电,分为3.3V_A ,1.9V_A ,3.3V_D ,1.9V_D。其中3.3V是给芯片外围供电,1.91V是为了给芯片的内部计算供电。对于AD采样有3.3V_A ,1.9V_A供电。

对于DSP,0~3.3/1.9V其进行模数转换之后为0~4095,那么问题就很清晰,现在一直处于4095那就有以下问题:其ADCREF供电错位导致内部芯片参考计算出现问题。解决方法是排查这个位置的电压和芯片 3.3V_A ,1.9V_A的供电电压。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DSP28335是德州仪器公司(Texas Instruments)生产的一种数字信号处理器,具有高性能、易于编程和低功耗等特点。在DSP28335中,可以通过ADC(Analog-to-Digital Converter)模块进行模拟信号采样ADC模块可以将模拟信号转换为数字信号,以便进行数字信号处理。DSP28335ADC模块具有以下特点: 1. 采样速率高:最大采样速率为1.5 MSPS,可以满足高速采样的需求。 2. 高精度:ADC模块支持12位精度,可以实现高精度的模拟信号采样。 3. 多通道:DSP28335ADC模块支持8个模拟输入通道,可以同时采样多个模拟信号。 4. 中断触发:ADC模块可以通过中断方式触发采样,可以降低CPU的负载。 在DSP28335中,可以通过编程配置ADC模块的参数,包括采样速率、采样精度、通道选择等。下面是一个简单的ADC采样程序示例: ``` #include "DSP2833x_Device.h" #include "DSP2833x_Examples.h" #define ADC_BUF_LEN 16 Uint16 AdcBuf[ADC_BUF_LEN]; void InitAdc(void) { // ADC模块初始化代码 EALLOW; AdcRegs.ADCCTL1.all = 0x00; AdcRegs.ADCCTL2.all = 0x00; AdcRegs.ADCCTL2.bit.CLKDIV2EN = 1; AdcRegs.ADCCTL2.bit.ADCNONOVERLAP = 1; AdcRegs.ADCCTL2.bit.ADCBGRFDN = 0x03; AdcRegs.ADCCTL2.bit.ADCREFSEL = 0x01; AdcRegs.ADCCTL2.bit.ADCRESSEL = 0x02; AdcRegs.ADCCTL1.bit.ADCPWDN = 1; AdcRegs.ADCSOC0CTL.all = 0x00; AdcRegs.ADCSOC0CTL.bit.CHSEL = 0x00; AdcRegs.ADCSOC0CTL.bit.ACQPS = 0x06; AdcRegs.ADCINTSEL1N2.all = 0x00; AdcRegs.ADCINTSEL1N2.bit.INT1SEL = 0x00; AdcRegs.ADCINTSEL1N2.bit.INT1E = 1; AdcRegs.ADCINTFLGCLR.all = 0xFFFF; EDIS; } interrupt void AdcIsr(void) { // ADC采样中断服务程序代码 AdcBuf[i++] = AdcRegs.ADCRESULT0; if (i >= ADC_BUF_LEN) { i = 0; // 数据处理代码 } AdcRegs.ADCINTFLGCLR.all = 0x01; PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; } void main(void) { InitSysCtrl(); InitPieCtrl(); InitAdc(); EALLOW; PieVectTable.ADCINT1 = &AdcIsr; EDIS; PieCtrlRegs.PIEIER1.bit.INTx1 = 1; IER |= M_INT1; InitPieVectTable(); EnableInterrupts(); while (1) { // 主循环代码 } } ``` 在上述程序中,首先调用InitAdc函数进行ADC模块的初始化,然后在AdcIsr函数中处理ADC采样中断,并将采样结果存储到AdcBuf数组中。程序通过中断方式触发ADC采样,并在采样完成后进行数据处理。在主循环中,可以进行其他的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值