FPGA(Field-Programmable Gate Array),即现场可编程门阵列,是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它作为专用集成电路(ASIC)领域中的一种半定制电路出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 的开发相对于传统 PC、单片机的开发有很大不同:FPGA 以并行运算为主,以硬件描述语言来实现,相比于 PC 或单片机(无论是冯·诺依曼结构还是哈佛结构)的顺序操作有很大区别,也造成了 FPGA 开发入门较难。下面介绍 FPGA 开发板上的基本外设电路。
一、蜂鸣器驱动电路
蜂鸣器电路如图 1 所示,FM 信号由 FPGA 的 I/O 口控制:当 FM 为高电平时,Q1 的 BE 结导通,则 CE 导通,蜂鸣器的 5 V 和 GND 形成回路,发出声音;当 FM 为低电平时,Q1 的 BE 结断开,则 CE 断开,蜂鸣器的 5 V 和 GND 断开,因此没有电流流过蜂鸣器,蜂鸣器便不发声。在后面的实验中,可以使用 PWM 信号,即以固定时高时低的电平控制 Q1 的导通与否,从而达到蜂鸣器的时断时开,人耳听到的便是不同频率的声响。

图 1 蜂鸣器驱动电路
二、LED 指示灯电路
8 个 LED 指示灯的电路如图 2 所示,它们公共端接电源 3.3 V,另一端连接 FPGA 的 I/O 口:若输出高电平,LED 熄灭;若输出低电平,则 LED 点亮。这 8 个 LED 的接口与数码管的段选信号复用。

图 2 8 个 LED 指示灯电路
三、拨码开关电路
3 位拨码开关电路如图 3 所示。

图 3 拨码开关电路
如图 4 所示,对照实物,默认 3 个拨码开关应该都是拨向左侧(即 1、2、3 标记侧),在电路图上就是 VCC_3.3 上拉一侧;也就是说,默认情况下,3 个连接 FPGA 的 I/O 口的信号 SW_MODE1、SW_MODE2、SW_MODE3 均为高电平。若拨码开关被拨到右侧(即标记 ON 侧),则采集到的输入就是低电平。

图 4 拨码开关实物