回答

收藏

[评测分享] 【TL7218X开发板】LPC使用

#板卡评测 #板卡评测 1057 人阅读 | 0 人回复 | 2025-03-11

一:LPC介绍
  低功耗电压?较器(Low Power Compare,后简称 LPC)将乘以所选?例系数的输?电压与参考电压进??较, 并输出?较结果。LPC主要用作以下用途
1. 信号检测
监测外部传感器(如光电、霍尔、电容式传感器等)的模拟信号电压,并转换为逻辑电平,提供MCU 处理。
例如,用于检测电池电压、电流、电机状态等。
2. 欠压或过压保护
低功耗电压比较器可以实时监测电源电压、电池电压,若电压低于或高于设定值,可触发 MCU进入低功耗模式或进行保护措施。
3. 低功耗唤醒
当 MCU 处于睡眠模式时,低功耗比较器可以用于监测外部事件(如按键按下、电压变化等),从而唤醒 MCU,减少功耗。
4. 过流/过温保护
通过监测外部电流或温度传感器的输出信号,当超过阈值时触发保护机制,比如关闭负载或报警。
5. PWM 或调制解调
在一些低成本控制系统中,电压比较器可用于模拟 PWM 信号调制或解调,从而减少对 MCU 资源的需求。
6. 振荡器/波形生成
结合 RC 电路,电压比较器可以用于产生方波信号或简易振荡器,作为时钟源或触发信号。
7. 过零检测

在交流电检测或电机控制中,可用于过零检测,以便进行同步控制或相位控制。
二:工作原理
LPC 需要将 32K RC 时钟源?作?较器时钟。?较结果如下:
1.如果 [输?电压 * 缩放?例] 的值?于参考电压,则输出将为低(“ 0”)。
2.如果 [输?电压 * 缩放?例] 的值?于参考电压,则输出将为?(“ 1”)。
3.如果 [输?电压 * 缩放?例] 的值等于参考电压,或选择输?通道为 float,则输出将不确定。
三:源码
void user_init(void)
{
   gpio_function_en(LED1);  // 使能 LED1 的 GPIO 功能
   gpio_output_en(LED1);    // 使能 LED1 为输出模式
   gpio_input_dis(LED1);    // 禁用 LED1 的输入功能
#if defined(MCU_CORE_TL751X)
   lpc_set_input_chn(LPC_INPUT_PG1); // 若为 TL751X 内核,设置低功耗比较器(LPC)的输入通道为 PG1
#else
   lpc_set_input_chn(LPC_INPUT_PB1); // 其他情况,设置 LPC 的输入通道为PB1
#endif
   // 当芯片处于低功耗模式时,参考电压只能由 UVLO 提供,或从 PB0 和 PB3 提供
   lpc_set_input_ref(LPC_NORMAL, LPC_REF_872MV);  // 设置 LPC 的参考电压为 872mV(普通模式)
   lpc_set_scaling_coeff(LPC_SCALING_PER50);  // 设置 LPC 的缩放系数为 50%
   // 必须最后开启 LPC 电源
   lpc_power_on();
   // LPC 采样时钟源为 RC 32K,在开启LPC 电源后,必须等待两个采样周期才能获取采样值
   delay_us(64);
}
void main_loop(void)
{
   printf("result = %d\r\n", lpc_get_result());  // 读取并打印 LPC 采样结果
   gpio_toggle(LED1);  // 切换 LED1 状态
   delay_ms(200);  // 延时 200 毫秒
}
目前手里没有可调电源,就不上图片了~~~

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

267 积分
4 主题
+ 关注
热门推荐
关闭

站长推荐上一条 /3 下一条