[LM4F232] ADC采样

大家好, 我们用LM4F232的ADC0和ADC1采样两路正弦波信号,这两路信号闲时是1.8V的恒定值,我们希望在正弦波来到就开始采样。

请问这种情况应该怎样设计,可以设计成检测到上升沿或者下降沿来时就开始采样吗?

  • 一般来讲这样的设计是不合理也很不好实现的, 如果只是小信号输入想根据信号强弱做ADC触发很不现实,虽然有可能用比较器来实现,但效果不会很好。如果你的正弦波是从零点开始的,比较器的阈值不好设计,而且还存在正向和反向问题。

    给你提供一个思路,一般在做这类处理的时候,我们都是在小信号的处理上加上信号检测电路,然后用逻辑电平输入给MCU触发ADC采样。

  • 另外一种处理方式是,ADC连续采样,采样的数据保存在内存中,然后软件来判断什么时候开始信号有效.

  • 谢谢您的回复,我们正在努力尝试!

  • TI 的 Cortex M4 内部 ADC 带有 DAC 模块,可以设置你想要采样的数据的范围,如果数值在范围内,才会触发中断来处理;

    非常适合你的应用。

    具体可以看数据手册的13.3.7 Digital Comparator Unit。

    下面是相关的API函数:

    void ADCComparatorConfigure(unsigned long ulBase, unsigned long ulComp,unsigned long ulConfig);

    void ADCComparatorRegionSet(unsigned long ulBase, unsigned long ulComp,unsigned long ulLowRef, unsigned long ulHighRef);

    void ADCComparatorReset(unsigned long ulBase, unsigned long ulComp,tBoolean bTrigger, tBoolean bInterrupt);

    void ADCComparatorIntDisable(unsigned long ulBase, unsigned long ulSequenceNum);

    void ADCComparatorIntEnable(unsigned long ulBase, unsigned long ulSequenceNum);

    unsigned long ADCComparatorIntStatus(unsigned long ulBase);

    void ADCComparatorIntClear(unsigned long ulBase, unsigned long ulStatus);

  • 非常感谢,我找到了数字比较器的参考资料,在数据手册的812页。也查阅了你提供的接口函数,先写段代码测试下。

    有点悲催,前天我把LM4F232的demo板弄坏了,ICDI的提示灯不亮了,识别不了设备,已经寄回厂家更换新的板子!等板子回来就可以debug了!