1936985_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1936985_zh-CN

1936985_zh-CN

LPC43S70 HSADC THRESHOLD_SEL=1(THR_A) 且 HSADC MATCH_VALUE=1

Hi

想要了解下面示例中H SADC_DESC_MATCH(0x0)HSADC_DESC_THRESH_A行为,

据我了解,

  1. 在这种情况下, H SADC_DESC_MATCH(0x0)将立即开始简化。
  2. 并且HSADC_DESC_THRESH_A将在触发阈值_A 处开始简化。

在这种情况下。哪种行为具有更高的优先级?立即简化还是等到 THRSH_A 触发?


Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 0, (HSADC_DESC_CH(1) |

HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(0x1) | HSADC_DESC_THRESH_A |

HSADC_DESC_RESET_TIMER));

回复:LPC43S70 HSADC THRESHOLD_SEL=1(THR_A) 和 HSADC MATCH_VALUE=1嗨向君荣

感谢您的澄清。
没有其他问题了。
回复:LPC43S70 HSADC THRESHOLD_SEL=1(THR_A) 和 HSADC MATCH_VALUE=1

Hi,

我想你误解了threshold_A,它不是一个触发源,它是一个比较寄存器,ADC采样结果会自动与threshold_A寄存器进行比较,然后更新标志或触发中断,表明模拟信号低于阈值或高于阈值。

如果设置HSADC_DESC_MATCH(0x10),adchs模块内部有一个计数器,tick就是ADC时钟,经过硬件/软件触发后,当计数器达到16或者0x10时,ADC就会进行转换,所以ADC的转换速率是Fadc/16。如果设置HSADC_DESC_MATCH(0x00),ADC会在每个ADC时钟周期产生一个样本。

希望可以帮到你

BR

荣向军


xiangjun_rong_0-1724380546937.png


回复:LPC43S70 HSADC THRESHOLD_SEL=1(THR_A) 和 HSADC MATCH_VALUE=1

Hi @xiangjun_rong 

我不太明白。

这里是将HSADC_DESC_THRESH_AHSADC_DESC_MATCH(0x10)设置为描述符的情况。

那么当threshold_A在hsadc定时器0x5触发时,simplen的定时时钟是多少?时钟 0x5、0x6 还是 0x10?

谢谢
彼得

回复:LPC43S70 HSADC THRESHOLD_SEL=1(THR_A) 和 HSADC MATCH_VALUE=1

Hi,

Q1)在这种情况下,H SADC_DESC_MATCH(0x0)将立即开始采样。

>>>>>HSADC_DESC_MATCH(0x0)并不意味着ADC转换器立即启动,HSADC_DESC_MATCH(0xxx)可以控制ADC采样时间(ADC转换率)。设置 HSADC_DESC_MATCH(0x00) 意味着 ADC 可以为每个 ADC 时钟获取一个样本。

您可以通过设置触发寄存器中的 SW_TRIGGER 位来使用软件触发器来启动 ADC 转换,请参阅 48.6.5 触发寄存器部分。

您可以通过设置 ADCHS_TRIGGER_IN 寄存器来使用硬件触发器来启动 ADC 转换,请参阅 18.4.25 ADCHS 触发器输入多路复用器(ADCHS_TRIGGER_IN)部分。


Q2)并且HSADC_DESC_THRESH_A将在触发阈值_A处开始简单化。

>>>>>DESCRIPTOR0x[THRESHOLD_SEL] 选择 ADC 结果比较阈值寄存器,与 ADC 启动无关。

希望可以帮到你

BR

荣向俊




Tags (1)
No ratings
Version history
Last update:
‎01-06-2026 01:15 AM
Updated by: