`输入DSP AD口的模拟电压为Vin ,进入DSP转换成数字量的值是:4095*( Vin-ADCLO)/3 吗?谢谢`
2019-04-18 16:48
我用的是DEC 2812 进行采样,我对1V进行电压采样,采样电压数据量一会是3一会是0,我的ADCLO模拟地已经接地了。请问这是什么原因呢?(小弟所有积分都拿出来了,求哪个好大神帮帮忙)
2014-03-20 17:45
表 InitPeripherals(); //初始化EV和AD模块 InitGpio();//初始化GPIO口adclo=0;//通常ADCLO接地PieCtrl.PIEIER1.bit.INTx6
2016-08-18 17:57
我用的是DEC 2812 进行采样,我对1V进行电压采样,采样电压数据量一会是3一会是0,我的ADCLO模拟地已经接地了。请问这是什么原因呢?(小弟所有积分都拿出来了,求哪个好大神帮帮忙)
2014-03-20 17:42
本帖最后由 一只耳朵怪 于 2018-6-13 16:25 编辑 我在使用ICETEK-F28335-A实验板,以及SEED-XD560PLUS仿真器,在CCS4.2.0027 (UNLICENSED)中成功进入DEBUG,调试TI官方的例程 FILE:Example_2823xAdcSeqModeTest.c //// TITLE:DSP2823x ADC Seq Mode Test.编译不报错无警告,但是无法完成AD转换,连随机电平都读不到,我怀疑是AD整体不工作,观察AdcRegs.ADCTRL2.bit.SOC_SEQ1及AdcRegs.ADCRESULT0,其中AdcRegs.ADCTRL2.bit.SOC_SEQ1一直为1,而AdcRegs.ADCRESULT0一直为0 上程序 #include "DSP28x_Project.h"// Device Headerfile and Examples Include File// ADC start parameters #if (CPU_FRQ_150MHZ)// Default - 150 MHz SYSCLKOUT#define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3)= 25.0 MHz #endif #if (CPU_FRQ_100MHZ)#define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2)= 25.0 MHz #endif #define ADC_CKPS0x1// ADC module clock = HSPCLK/2*ADC_CKPS= 25.0MHz/(1*2) = 12.5MHz #define ADC_SHCLK0xf// S/H width in ADC module periods= 16 ADC clocks #define AVG1000// Average sample limit #define ZOFFSET 0x00// Average Zero offset #define BUF_SIZE2048// Sample buffer size// Global variable for this example Uint16 SampleTable[BUF_SIZE];main() [ Uint16 i;// Step 1. Initialize System Control: // PLL, WatchDog, enable Peripheral Clocks // This example function is found in the DSP2833x_SysCtrl.c file. InitSysCtrl();// Specific clock setting for this example: EALLOW; SysCtrlRegs.HISPCP.all = ADC_MODCLK; // HSPCLK = SYSCLKOUT/ADC_MODCLK EDIS;// Step 2. Initialize GPIO: // This example function is found in the DSP2833x_Gpio.c file and // illustrates how to set the GPIO to it's default state. // InitGpio();// Skipped for this example// Step 3. Clear all interrupts and initialize PIE vector table: // Disable CPU interrupts DINT;// Initialize the PIE control registers to their default state. // The default state is all PIE interrupts disabled and flags // are cleared. // This function is found in the DSP2833x_PieCtrl.c file. InitPieCtrl();// Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000; IFR = 0x0000;// Initialize the PIE vector table with pointers to the shell Interrupt // Service Routines (ISR). // This will populate the entire table, even if the interrupt // is not used in this example.This is useful for debug purposes. // The shell ISR routines are found in DSP2833x_DefaultIsr.c. // This function is found in DSP2833x_PieVect.c. InitPieVectTable();// Step 4. Initialize all the Device Peripherals: // This function is found in DSP2833x_InitPeripherals.c // InitPeripherals(); // Not required for this example InitAdc();// For this example, init the ADC// Specific ADC setup for this example: AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;// 1Cascaded mode AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0;//选择A2 AdcRegs.ADCTRL1.bit.CONT_RUN = 1; // Setup continuous run// Step 5. User specific code, enable interrupts:// Clear SampleTable for (i=0; i4) );] ] ]//=========================================================================== // No more. //=========================================================================== 感觉程序问题不大,纠结了一个多星期不知道问题出在哪儿,求帮助~~~~~~~~~~~~~要毕不了业了!!!!QQ 342811994
2018-06-13 03:26
采开发板上的3.3V输出口得出的结果图如下:我是用四个通道采完之后计算平均值的 RESULTA0 = AdcRegs.RESULT0>>4; RESULTA0 += AdcRegs.RESULT2>>4; RESULTA0 += AdcRegs.RESULT4>>4; RESULTA0 += AdcRegs.RESULT6>>4; RESULTA0 = RESULTA0/4*3;最后返回的是RESULTA0,通过串口发到电脑上后用matlab画出来的图形我在最后乘了个3,虽然并不知道是什么原理测过一次0V,结果大概在300到600之间跳动这次在3000上下跳动跳动幅度这也太大了到底怎么回事啊
2016-09-18 16:42
void InitAdc(void){unsigned int i;AdcRegs.ADCTRL1.bit.RESET=1;NOP;AdcRegs.ADCTRL1.bit.RESET=0;AdcRegs.ADCTRL1.bit.SUSMOD=3;//仿真暂停时,序列发生器和其他数字电路逻辑立即停止AdcRegs.ADCTRL1.bit.ACQ_PS=0;//采样窗口大小,SOC脉冲宽度为1个ADCLKAdcRegs.ADCTRL1.bit.CPS=0;//核时钟预定标器,等于0,未将时钟进行2分频AdcRegs.ADCTRL1.bit.CONT_RUN=0;//运行于启动/停止模式AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//级联方式AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;for(i=0;i
2013-08-12 19:42
刚学习dsp,编写了一个AD程序。程序的意图是想通过CPU定时器0触发AD采样,通道为ADCINA0-2,每通道采三次,然后取平均。连接电路时将ADCLO与GND连一块接到干电池的负极,ADCINA
2015-05-24 16:53
本帖最后由 一只耳朵怪 于 2018-6-13 16:15 编辑 我在TMS320F28335的应用中采用了2.048V外部电压基准,我在ADCINA0~3输入1.024V直流信号,查看AD转换的值总是在1388~1410之间.感觉基准电压还是3V.我已经设置AdcRegs.ADCREFSEL.bit.REF_SEL=1 .我理解此时的AD采样值应该在2048附近.不知是我理解错了,还是有什么问题没有注意到,请指教,谢谢!
2018-06-13 00:48
本帖最后由 一只耳朵怪 于 2018-6-12 11:07 编辑 想将ADS1256与2812通过SPI口连接起来。有没有相关读写程序的范例?2812的外设AD不用,应该如何接线?
2018-06-11 04:34