文档详情

FPGA 对称PWM信号发生器.pdf

发布:2015-08-06约9.77千字共13页下载文档
文本预览下载声明
一.驱动信号生成方式的学习 采用FPGA/CPLD 芯片计数器方式 优点:1. 具有较高的频率分辨率 2. 可以实现快速频率切换 3. 并且在频率改变时能够保持相位的连续 1.cpld 的结构: 采用这种结构的PLD 芯片有:Altera 的MAX7000,MAX3000系列(EEPROM 工艺),Xilinx 的XC9500系列 (Flash 工艺)和Lattice,Cypress 的大部分产品(EEPROM 工艺)我们先看一下这种PLD 的总体结构(以 MAX7000为例,其他型号的结构与此都非常相似): 图1 基于乘积项的PLD 内部结构 这种PLD 可分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O 控制块。 宏单元是PLD 的基本 结构,由它来实现基本的逻辑功能。图1中兰色部分是多个宏单元的集合)。可编程连线负责信号传递,连 接所有的宏单元。I/O 控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制, 三态输出等。 图1 左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局时钟,清零和输 出使能信号,这几个信号有专用连线与PLD 中每个宏单元相连,信号到每个宏单元的延时相同并且延时最 短 宏单元的具体结构见下图: 图2 宏单元结构 左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与” 逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D 触发器, 它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积 项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA 或输出到I/O 脚。 下面我们以一个简单的电路为例,具体说明PLD 是如何利用以上结构实现逻辑的,电路如下图: 图3 假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D 表示D 的“非”) PLD 将以下面的方式来实现组合逻辑f: A,B,C,D 由PLD 芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A 反,B,B 反,C,C 反,D,D 反8 个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。这 样组合逻辑就实现了。图3 电路中D 触发器的实现比较简单,直接利用宏单元中的可编程D 触发器来实现。 时钟信号CLK 由I/O 脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可 编程触发器的输出与I/O 脚相连,把结果输出到芯片管脚。这样PLD 就完成了图3所示电路的功能。图3的 电路是一个很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不能实 现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连 线阵列,再做为另一个宏单元的输入。这样PLD 就可以实现更复杂逻辑。这种基于乘积项的PLD 基本都是 由EEPROM 和Flash 工艺制造的,一上电就可以工作,无需其他芯片配合。 2.FPGA 的结构: 每个 LAB 含有8个逻辑单元(LE),每个LE 中含有一个LUT ,一个触发器和相关逻辑。其中每个 LUT 相 当于一个16*1 RAM。 3.总结FPGA 和CPLD 的区别就是: 1. CPLD 更适合完成各种算法和组合逻辑,FPGA 适合时序逻辑。话句话说FPGA 更适合触发器丰富的结 构,而CPLD 更适合触发器有限而乘积项丰富的结构。 2. CPLD 的连续分布线结构决定了它的时序延迟是可均匀的和可预测的,而FPGA 得连续分布结构决定了 它的时序延迟是不可均匀和预测的。 3. 在编程上 FPGA 比CPLD 具有更大的灵活性。CPLD 通过修改具有固定内连电路的逻辑来编程,FPGA 主要通过改变内部连接的布线来编程。FPGA 在逻辑门下编程,而CPLD 在逻辑块下编程。 4. FPGA 的集成度比CPLD 高,具有丰富咋得到布线结构和逻辑实现。 5. CPLD 比FPGA 使用起来更方便,CPLD 的编程采用E2PROM 或FASTFLASH 技术,无需外部存储器芯 片,使用简
显示全部
相似文档