跳转到内容
新建笔记

逻辑门、D 触发器与中断框图识读

逻辑门描述当前输入与输出的关系,触发器则保存状态。读数字电路图时,先认出与、或、非等组合逻辑,再找时钟、寄存器和反馈;同一张图里往往同时存在这两类结构。

与、或、非的符号和真值

跳转到“与、或、非的符号和真值”

非门、与门、或门的逻辑表达式,以及传统曲线符号和矩形符号对照

图中 & 表示与,≥1 表示至少一个输入为 1,即或;输出端的小圈表示取反。逻辑表达式里的 A+BA+B 表示或,不是普通算术加法,所以 1+11+1 的逻辑结果仍为 1。

AB非 A:A‾\overline A与:A∧BA\land B或:A∨BA\lor B
00100
01101
10001
11011

小圈、上划线或名称中的 _N、n 常用于标明低有效信号或取反,但仍须结合器件定义。逻辑 0/1 对应的是电压范围,并不是所有芯片都把同一电压视为高或低;见电源与电压符号。

D 触发器在有效时钟沿采样

跳转到“D 触发器在有效时钟沿采样”

上升沿 D 触发器在有效时钟沿采样输入 D,输出 Q 在规定传播延迟后更新;其他时刻保持已经采样的值。它“记住”的是上次有效沿采样的值,不是无条件地保存“上一个周期末尾的 D”。下降沿器件则使用下降沿。

┌──────────────┐
D ─────────►│ D Q ├────► 已采样的状态
CLK ───────►│ > │
└──────────────┘
> 表示边沿触发

忽略传播延迟且没有置位、复位等控制时,上升沿器件可写成 Q(tk+)=D(tk−)Q(t_k^+)=D(t_k^-);这是理想逻辑描述,实际 D 必须满足建立时间和保持时间,Q 也不会在零延迟下改变。

情形上升沿 D 触发器的行为
无上升沿,异步控制未激活Q 保持
出现上升沿,D 满足时序要求延迟后 Q 更新为该次采样的 D
D 在建立/保持窗口附近变化输出结果和稳定时间可能不满足保证,可能出现亚稳态
器件带异步置位或清零,且该控制激活按器件功能表改变输出,不必等待时钟沿

例如 TI SN74LVC1G74是带低有效 PRE、CLR 的上升沿器件:两者均未激活时才按时钟采样;异步控制释放也有时序要求。不能把“Q 只在上升沿变化”当成带异步控制器件的完整说明。

同步器利用时钟采样和额外稳定时间,降低异步输入亚稳态传播到后级的概率;它不等于机械按键消抖,也不保证任意窄脉冲都能被捕获。具体跨时钟域设计需结合电平、脉冲宽度和握手方式。

读图实例:F1C200S 中断控制器

跳转到“读图实例:F1C200S 中断控制器”

原图将与、或、非门组合在中断使能、屏蔽和强制请求路径上。下述说明以该图和 Allwinner F1C200s User Manual Rev. 1.2 的 INTC 章节为界,不能直接套到其他处理器。

F1C200S 中断控制器功能框图,正常请求和强制请求分别受使能位控制

对图中上半部分的一个源,令 S 为同步后的源信号、E 为使能位、M 为屏蔽位、F 为强制位。进入优先级控制前的候选请求关系为:

R=(S∧E∧M‾)∨(F∧E)=E∧[(S∧M‾)∨F].R=(S\land E\land\overline M)\lor(F\land E) =E\land[(S\land\overline M)\lor F].

因此,强制路径绕过图中的 M 屏蔽门,但仍要求 E=1。原笔记声称 FORCE 无论 EN 如何都能强制中断,与原图和手册的使能条件不符。R 只是进入后级的请求,最终是否产生 IRQ 还经过优先级、响应状态与级别门控,不能把 R 直接当成 CPU 已经进入中断处理程序。

图中信号或模块应怎样理解
INT_SRC[63:1]编号 1~63 的普通源位置;其中哪些实现、哪些保留,要读中断源表,不能说一定有 63 个可用外设
Synchronize输入同步环节;不是“信号被处理前不会再变化”的保证
INT_EN对应源是否允许进入控制器处理路径
INT_MASK屏蔽普通请求的输出路径;源已使能时,屏蔽并不等于待处理状态一定清零
INT_FORCE强制请求路径,仍受相应使能位约束;寄存器表实际命名为 INTC_FF_REG0/1
INT_STATUS框图中的状态观测点;软件应按实际 INTC_PEND_REG0/1 和外设状态定义检查、清除请求
INT_PRI、Priority Control按配置比较优先级,图示各源优先级占 2 位
INT_RESP、Response Control、INT_LEVEL_EN当前响应情况参与级别门控,不能把框图中每个信号名都认作独立的软件寄存器
INT_FINAL_STATUS后级门控后的最终请求状态,交给译码逻辑
Decoder、IRQ、INT_VECTOR将最终请求形成 IRQ 与对应向量信息;向量寄存器结合向量表基地址理解,不等于直接给出任意语言 ISR 函数地址
图中编号 0 的路径与 FIQ原图把外部 NMI/0 号源另画一路,含边沿/电平选择;不能仅凭“快速”二字把所有高优先级 IRQ 都归成 FIQ

Allwinner 原厂编写的 Rev. 1.2 手册(linux-sunxi 镜像)第 90~95 页说明了 EN、MASK、FF、待处理位与向量寄存器。框图给出逻辑路径,寄存器章节给出软件可操作项;读写方式、保留位和外设自身的中断清除条件仍应逐项核对。

本页对布尔关系和器件手册作了核对,没有在 F1C200S 实物上触发或测量中断,也没有把示意式当作完整驱动。