您好!
我尝试将模拟视频信号转换为数字信号。
我的测试环境是:
-硬件 LAUNCHXL-28027
-模拟视频输出线性图像传感器
信号:像素时钟、启动脉冲、有效视频脉冲、模拟输出电压
像素时钟连接到 GPIO5、并用作 ADCINT1的 XINT2。
该时钟为6MHz。
在 XINT2 ISR 中、有一个用于检查时钟计数的计数器。
在有效视频期间、计数应为2048、但大约为42或其他内容。
6MHz 信号是否可用作 ADC SOC 触发器?
另外两个信号(起始脉冲和有效脉冲)分别被连接至 XINT1和 XINT3。
===
//设置 GPIO5
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO5=0;// GPIO5 -通用 I/O
GpioCtrlRegs.GPADIR.bit.GPIO5 = 0;//输入
GpioCtrlRegs.GPAQSEL1.bit.GPIO5 = 1;//限制条件00:同步到 SYSCLK、01:3个采样、10:6个采样、11:异步
GpioCtrlRegs.GPACTRL.bit.QUALPRD0 = 0;//采样周期(n=0xFF)= 510 x Tsysclkout = 510 x 16.67ns = 8.5us
EDIS;
// GPIO5是 XINT2
EALLOW;
GpioIntRegs.GPIOXINT2SEL.ALL = 5;// XINT2为 GPIO5
EDIS;
//配置 XINT2
XIntertRegs.XINT2CR.bit.Polarity = 1;// 0:下降、1:上升、2:下降、3:两者
XIntertRegs.XINT2CR.bit.ENABLE = 1;//启用 XINT2
//配置 ADC
EALLOW;
AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1;//ADCINT1在 AdcResults 锁存后跳闸
AdcRegs.INTSEL1N2.bit.INT1E = 1;//启用 ADCINT1
AdcRegs.INTSEL1N2.bit.INT1CONT = 1;//0:禁用 ADCINT1连续模式、1:连续
AdcRegs.INTSEL1N2.bit.INT1SEL = 1;//设置 EOCx 以触发 ADCINT1触发(0:EOC0、1:EOC1、...)
AdcRegs.ADCSOC1CTL.bit.CHSEL = 2;//将 SOC0通道选择设置为 ADCINA2
AdcRegs.ADCSOC2CTL.bit.CHSEL = 2;//将 SOC1通道选择设置为 ADCINA2
AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 4;//在 XINT2 (4)、EPWM1A (5)上设置 SOC2启动触发
AdcRegs.ADCSOC2CTL.bit.TRIGSEL = 4;//设置 XINT2上的 SOC2启动触发器(4)
AdcRegs.ADCSOC1CTL.bit.ACQPS = 6;//将 SOC2 S/H 窗口设置为7个 ADC 时钟周期、(6个 ACQPS 加1)
AdcRegs.ADCSOC2CTL.bit.ACQPS = 6;//将 SOC2 S/H 窗口设置为7个 ADC 时钟周期、(6个 ACQPS 加1)
EDIS;
===
提前感谢您。
-Jae Yang Park-