如图4 ,我们可以对照实物,默认3个拨码开关应该都是拨向左侧(即1、2、3标记侧),在电路图上就是VCC3.3上拉一侧。就是说,默认情况下,3个连接FPGA的I/O口的信号SW_MODE1、SW_MODE2、SW_MODE3均为高电平。若拨码开关被拨到右侧(即标记ON侧),则采集到的输入就是低电平了。
图4 拨码开关实物照片
数码管电路如图5 所示。SEG_CS0、SEG_CS1、SEG_CS2、SEG_CS3这4个信号对应控制数码管4位显示的片选信号,低电平有效,若4个片选信号都为0,则4位数码管都能点亮显示。LED0-7则也被复用为数码管的段选信号,控制一个数码管的对应段LED的亮灭状态,这一组信号对于4位的数码管是共用的。在实际控制时,我们一般会分时点亮需要显示的各个位数码管,只要时间控制得合理,人眼是很容易被“蒙骗”的,我们很容易就能看到4个不同的数字显示在数码管上。
图5 数码管驱动电路
A/D芯片的电路如图6 所示。它通过一个单向(从A/D芯片到FPGA)数据传输的SPI接口与FPGA相连。FPGA通过这组SPI接口读取当前模拟电压值。为了得到不同的模拟电压值,我们的板子在A/D芯片的模拟输入端设置了一个3.3V的分压电阻,当跳线帽连接了P3的1-2引脚时,调节可变电阻R24的阻值便能改变当前A/D采样的数据。跳线帽若连接P3的2-3引脚,则AD芯片的输入模拟电压来自于D/A芯片的当前输出。