打印
[PIC®/AVR®/dsPIC®产品]

在实时应用中使用CLC外设

[复制链接]
706|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

CLC外设是实现用户自定义逻辑的电路模块,可实现组合逻辑和时序逻辑。常用的逻辑操作都支持,包括与、或、非,SR锁存器,D触发器/锁存器,JK触发器等等。



使用CLC有哪些好处?
l  CLC是独立外设,采用硬件来实现逻辑运算,实时性好,硬件运算不出错
l  可以减少外部逻辑组件,减小 PCB 尺寸并降低系统成本。
l  其他外设结合使用,实现复杂的定制,进而扩展这些外设的功能
l  CLC 运算时不需要CPU,可把 CPU 带宽留给其他功能需求
l  由于不需要软件算法,因此 CLC 降低了闪存和 RAM 的需求。
l  CLC在CPU休眠模式下继续运算,可用于 CPU 唤醒

一个系统往往需要多种功能,需要用到逻辑运算的地方肯定不少,其实很多。有很多涉及逻辑运算的功能又有很强的实时性要求。CLC外设是这类功能的很好的解决方法。一个MCU里如果只有34CLC模块,往往需要省着用,把它们用到最需要的地方。到PIC18 Q10系列推出后,类似情况有很大改善。因为PIC18 Q10 系列单片机中一共有8CLC模块。

这里对CLC实现的功能,做一个简单列举,其实不限于以下这些功能:
l  布尔表达式
l  有限状态机
l  时序电路
l  编码器和解码器
l  计数器
l  多路开关
l  在不引起中断的情况下进行实时数据捕捉
l  复杂波形生成(例如用于红外传输的 NEC 代码)
l  环形转换器
l  相位检测器
l  分频器
l  脉冲扩展器
l  PWM 转向
l  信号阈值和保持电路

l  开关去抖
如果对某种功能感兴趣,可以回复留言,大家一起讨论。

下面介绍可借助CLC实现的两个原型应用:
l  自动售货机原型

l  格雷码编解码实现

自动售货机原型
自动售货机的控制可使用一个有限状态机来实现。
首先通过分析机器工作过程,把投币的各种情况,抽象成逻辑状态,建立逻辑状态转移表,或画出状态转移图,并得出逻辑公式表达。

使用8CLC实现自动售货机逻辑。



通过MCC界面对CLC1CLC8以及其他外设进行配置,并生成工程代码。




具体参见应用笔记:


格雷码解码器
格雷码是一种常用的编码方法,两个相邻的代码字都只有一个符号不同。十进制、二进制以及对应的格雷码如下表所示。


可以根据格雷码表,得到4个比特位的解码逻辑。


使用4CLC外设,可以对4位格雷码进行解码。


使用MCC,对CLC和其他使用的外设进行配置,并产生工程代码。

具体步骤请参考应用笔记:




使用特权

评论回复
沙发
guojunhope| | 2020-6-16 20:32 | 只看该作者
这东西很像当年的PLD啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

190

帖子

11

粉丝