原创 【博客大赛】FPGA实战演练逻辑篇24:基本外设子板详细设计

2015-5-12 19:01 1649 10 10 分类: FPGA/CPLD 文集: FPGA入门

基本外设子板详细设计

本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》

配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt

 

         蜂鸣器电路如图3.47所示。FM信号由FPGAI/O口控制。当FM为高电平时,Q1BE导通,则CE导通,蜂鸣器的5VGND形成回路,发出声音。当FM为低电平时,Q1BE断开,则CE断开,蜂鸣器的5VGND断开,因此没有电流流过蜂鸣器,蜂鸣器便不发声。在后面的实验中,我们可以使用PWM信号,即以固定的时高时低的电平控制Q1的导通与否,然后达到蜂鸣器的时断时开,人耳听到的便是不同频率的声响。(特权同学,版权所有)

20150512185443935.jpg

3.47 蜂鸣器驱动电路

         8LED指示灯的电路如图3.48所示,他们公共端接电源3.3V,另一端连接FPGAI/O口。若输出高电平,LED熄灭;若输出低电平,则LED点亮。这8LED的接口是与数码管的段选信号复用的。(特权同学,版权所有)

20150512185503853.jpg

3.48 8LED指示灯电路

3位的拨码开关电路如图3.49所示。(特权同学,版权所有)

20150512185529884.jpg

3.49 拨码开关电路

         如图3.50,我们可以对照实物,默认3个拨码开关应该都是拨向左侧(即123标记侧),在电路图上就是VCC3.3上拉一侧。就是说,默认情况下,3个连接FPGAI/O口的信号SW_MODE1SW_MODE2SW_MODE3均为高电平。若拨码开关被拨到右侧(即标记ON侧),则采集到的输入就是低电平了。(特权同学,版权所有)

20150512185706230.jpg

3.50 拨码开关实物照片

         数码管电路如图3.51所示。SEG_CS0SEG_CS1SEG_CS2SEG_CS34个信号对应控制数码管4位显示的片选信号,低电平有效,若4个片选信号都为0,则4位数码管都能点亮显示。LED0-7则也被复用为数码管的段选信号,控制一个数码管的对应段LED的亮灭状态,这一组信号对于4位的数码管是共用的。在实际控制时,我们一般会分时点亮需要显示的各个位数码管,只要时间控制得合理,人眼是很容易被“蒙骗”的,我们很容易就能看到4个不同的数字显示在数码管上。(特权同学,版权所有)

20150512185835427.jpg

3.51 数码管驱动电路

         A/D芯片的电路如图3.52所示。它通过一个单向(从A/D芯片到FPGA)数据传输的SPI接口与FPGA相连。FPGA通过这组SPI接口读取当前模拟电压值。为了得到不同的模拟电压值,我们的板子在A/D芯片的模拟输入端设置了一个3.3V的分压电阻,当跳线帽连接了P31-2引脚时,调节可变电阻R24的阻值便能改变当前A/D采样的数据。跳线帽若连接P32-3引脚,则AD芯片的输入模拟电压来自于D/A芯片的当前输出。(特权同学,版权所有)

20150512185852292.jpg

3.52 A/D芯片驱动电路

         D/A转换电路如图3.53所示。这个D/A芯片通过I2C接口与FPGA连接,FPGA通过这组I2C接口输出数据,相应D/A芯片的VOUT输出模拟电压值。若跳线帽连接P21-2引脚,则不同的模拟电压值输出驱动D9指示灯呈现不同的亮度。(特权同学,版权所有)

20150512185941774.jpg

3.53 D/A芯片驱动电路

 

 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条