This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28027:使用 XINT2将模拟视频信号转换为数字信号(来自 GPIO、6MHz)

Guru**** 2347070 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/593968/tms320f28027-analog-video-signal-converting-to-digital-using-xint2-from-gpio-6mhz

器件型号:TMS320F28027

您好!

我尝试将模拟视频信号转换为数字信号。

我的测试环境是:
-硬件 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-

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jae Yang Park

    对于 F2802x 上的 ADC 触发器、6MHz 似乎非常快。 最大 ADC 吞吐量为4.6MSPS、因此您无法保持6MHz 的触发速率。

    Tommy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗨、Tommy、
    感谢您的快速回复。

    那么、如果 XINT2低于4.6MHz、那么 XINT2是否能够被正确采样?

    谢谢你。

    -Jae Yang Park-
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jae Yang Park

    这应该是可能的、但您可能需要考虑一些系统开销以跟上中断和转换的步伐。

    如果时钟可配置为视频源的输入、则可以使用 ePWM 生成时钟并触发 ADC。 这将使您能够更好地控制 ADC 在时钟周期内进行采样的时间。

    Tommy