ZHCAFX1 October 2025 TPLD1202 , TPLD2001
如前文所述,RGB LED 必须连续接收 24 位数据才能生成给定的 RGB 颜色。此外,这 24 位数据必须内部保存在 TPLD 中,也必须能够通过串行通信模块得到更新。之所以选择内置有限状态机 (ASM) 来处理 RGB 信息,是因为该元件能够生成多达八个状态且每个状态都具有 8 位输出(共计 64 位),并且用户可以更改状态的任何值,所有这些功能均高于完成任务所必需的要求。
表 4-1 展示了状态机输出部分中的 GRB 编码 0xFF000。使用从 OUT3 到 OUT0 的 4 位数据定义了六种状态。因此,为 RGB 像素生成的真实输出可以参阅图 5,该输出对应绿色。
| 状态 | OUT7 | OUT6 | OUT5 | OUT4 | OUT3 | OUT2 | OUT1 | OUT0 |
|---|---|---|---|---|---|---|---|---|
| ST0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| ST1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| ST2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ST3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ST4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ST5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ST6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ST70 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
图 4-1 表示 RGB LED 中绿色的值 0xFF000 的 24 位数据并行/串行移位寄存器
该器件部分设计为 4 位并行加载移位寄存器,可将数据移至串行输出 (SER3),其工作方式与大多数传统寄存器相同,具体如图 4-2 所示。数据由 FSM 的输出生成并加载到移位寄存器中。最后,SER3 输出用于通过一个逻辑多路复用器来选择逻辑值,该多路复用器为 RGB LED 提供单比特数据。
图 4-2 FSM 和 4 位移位寄存器状态机和 4 位移位寄存器的操作如图 4-3 所示。对于由十六进制数 0xC30000 表示的给定颜色,FSM 会在机器的每个时钟事件中生成一个 4 位数字。同时,移位寄存器会在内部加载 FSM 生成的每个新数据,并生成一个表示给定颜色的 24 位串行码。移位寄存器的速度是 FSM 速度的四倍。
图 4-3 FSM 和 4 位移位寄存器的操作