Microchip 可配置逻辑单元 (CLC) 入门:将 PIC16 变身 555 定时器

引言

Microchip在部分增强型PIC16和PIC18微控制器中集成了可配置逻辑单元(CLC)。本工程简报展示如何利用PIC的CLC配合比较器实现555定时器功能。这个模拟555电路是理想的教学应用。当以经典555定时器的工作条件为框架时,Microchip PIC硬件将更易理解。

如图1所示的演示项目采用安装在EV72J15A好奇评估板上的Microchip PIC16F17146-I/SS

本文假设读者已熟悉经典555定时器和PIC微控制器。

1 PIC16好奇板展示用于建立555定时器1/3和2/3电源电压基准的三电阻组。

什么是 Microchip 可配置逻辑单元?

可配置逻辑单元(CLC)如同微型现场可编程门阵列(FPGA)般运作。它与微控制器集成在同一半导体晶片上。

本应用中,图2展示了555核心数字逻辑。红线表示MPLAB编程路径:

  • CLCIN0连接至触发器置位端

  • CLCIN1连接至触发器复位端

主四输入或门其余引脚均接地。因此,输入端(左侧)与对应触发器控制线直接相连。若仔细观察逻辑图,可见逻辑门输入端的独立接地符号。

2 :置位/复位触发器实现555核心逻辑功能。

技术提示 :图2所示触发器独立于微控制器时钟域运行。为缓解亚稳态问题,系统提供带置位复位的通用时钟D触发器。

这种独立性特别适合模拟555定时器或需要CPU休眠时持续运行的应用。请根据项目需求选择方案。

什么是 Microchip 比较器?

增强型PIC器件在单片上集成了独立于CPU的硬件与微控制器。诸如CLC、运算放大器和比较器等"外设"可将功能移至PIC内部,从而简化电路设计并减少元件数量。

Microchip数据手册中的比较器如图3所示。当正输入端(Vin+)电压高于负输入端(Vin-)时,输出信号为高电平。

3 Microchip数据手册中的典型比较器示意图。

技术提示 :图3中输出信号的灰色区域是对比较器稳定性的温和提醒。本示例中的比较器缺乏迟滞功能,当输入电压接近时容易产生振荡。

可采用经典的三电阻正反馈电路缓解此问题。但在我们的伪555电路中,将比较器输出作为触发信号使用,其1/3与2/3电源电压间具有较大间隔。

如何对 Microchip CLC 进行编程?

本项目使用MPLAB进行编程:

  • 项目主体结构如图4所示。

  • CLC编程配置如图2所示。

  • 其余编程工作包括如图5所示的I/O引脚分配。

所有功能块均被编程为独立运行,输入输出均路由至独立I/O引脚。

注意事项

编程过程总体顺利,但存在几个问题点:

  • 避免使用EV72J15A开发板上连接RC1端口的LED。该LED会导致电路负载过重。例如,我曾将比较器输入引脚路由至RC1。LED及其串联电阻阻碍了电容的正常充放电。

  • RA0引脚与调试器的DBG0引脚复用。编程微控制器时必须断开比较器输入。

4 :采用CLC和2个比较器(CMP)的伪555定时器的MPLAB项目层级结构。

5 :PIC PIC16F17146-I/SS的引脚配置。

性能

图6展示了伪555电路的工作状态。此处可见输出信号(蓝色)通过电阻驱动电容器(橙色)。可观察到典型的555 RC充放电曲线。

后续步骤

电路优化工作就留给各位来完成。例如:

  • 阻抗:电容器波形与预期的1/3和2/3电源触发点略有偏差。研究比较器的阻抗特性,并相应调整电阻值。

  • 频率:通过实验确定最大工作频率。完成后请参考数据手册,将实测性能与规格参数进行比对。

  • 同步:修改CLC模块使其与微控制器时钟域同步。确定555电路的最高工作频率。

  • 模拟电路设计:由于输入输出信号可通过引脚接入,可添加分立元件电路。例如,这款PIC16还集成了运算放大器。我们可以先放大信号,再添加抗混叠低通滤波器,最后将信号送入PIC的ADC模块。

6 :基于PIC的555定时器示波器波形图,展示类555定时器的工作特性。

结语

学习电子技术的最佳方式是在已知基础上拓展。经典的555定时器正是完美的参照基准。教育工作者和教材编者钟爱555定时器,因其横跨模拟与数字电路领域,又融合了经典的RC充电数学模型。几乎所有人都在人生某个阶段搭建过无稳态(振荡器)电路实验板。

就个人而言,我曾难以构想Microchip CLC的应用场景。虽然这个555应用看似简单,但它作为试金石让我理解了硬件原理,并打开了探索可能性的视野。

相关文章

若您喜欢本文,这些相关文章可能对您有所助益: