在 AVR® 微控制器的核心独立外设(CCL)中,利用查找表(LUT)机制可以构建包含最多三个输入信号的任意逻辑表达式。其核心在于配置真值表(Truth Table),通过组合多个 TRUTH[x] 条目来实现复杂逻辑。
每个 TRUTH[x] 行对应一个三输入门电路。真值表的每一行由三个输入位 IN[2]、IN[1] 和 IN[0] 组成,这些输入可以来自 I/O 引脚、外设(如模拟比较器 AC、定时器 TC)或内部事件。表格的最后一列 OUT 定义了在该特定输入组合下的输出电平。
根据文档 Table 2-1 和 Table 2-2,每个唯一的输入组合(如 000, 001...111)对应一个特定的 TRUTH 索引。例如,当输入为 000 时,TRUTH[0] 被选中;当输入为 111 时,TRUTH[7] 被选中。Table 2-2 展示了不同二进制输入组合(如 000, 001)与标准逻辑门(AND, OR, NAND 等)及对应 TRUTH 索引的映射关系。
构建复杂表达式的机制在于“或”运算。文档明确指出,每一个被选中的 TRUTH[x] 条目都会产生一个输出信号,这些信号最终会被进行“或”(OR)操作,从而生成最终的逻辑表达式。这意味着用户可以通过配置多个不同的 TRUTH 行,将多个简单的三输入逻辑块并联起来,合成所需的复杂布尔函数。
在配置时,需注意每个组合的输入位顺序对应真值表中的特定行。例如,输入组合 010 对应 TRUTH[2],而 101 则对应 TRUTH[5]。通过查阅 Table 2-2,开发者可以直接找到实现特定逻辑功能(如 XOR 或 XNOR)所需的二进制编码和对应的 TRUTH 索引值,从而快速完成 CCL 模块的配置。