FPGA开发外设子板模块电路设计详解

2015-06-08 08:36:32 来源:互联网
标签:

 

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



图3.47蜂鸣器驱动电路


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



图3.48 8个LED指示灯电路


3位的拨码开关电路如图3.49所示。



图3.49拨码开关电路


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



图3.50拨码开关实物照片


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



图3.51数码管驱动电路


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



图3.52 A/D芯片驱动电路

 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
靠加速器支撑后摩尔定律时代的算力增长是谬论?

加速器已经无处不在:世界上的比特币是由旨在加速这种加密货币的关键算法的芯片采矿得来,几乎每一种能发出声音的数字产品都使用硬连线音频解码器,数十家初创公司正在追逐能让深度学习AI无处不在的快速硅。

2018年十件FPGA大事,哪件牵动你的心(上)
2018年十件FPGA大事,哪件牵动你的心(上)

在科技领域里,FPGA向来都不是最吸引眼球的。可是就在刚刚过去的2018年,就发生了很多FPGA相关的大事。在这些大事中,很多都会对FPGA甚至整个芯片行业未来的发展产生重大影响。

无人再提DSP
无人再提DSP

在不久的将来,单一的DSP或FPGA实现的数字系统会被DSP+FPGA的结构或嵌入DSP模块的FPGA设计结构所取代。

智能门锁不安全?工程师自己造了一个AI人脸识别门锁
智能门锁不安全?工程师自己造了一个AI人脸识别门锁

展示了AI如何在Ultra96和Intel Movidius NCS以及Tensorflow Inception Facenet上运行。 该项目可以扩展到使用面部识别来解锁,记录进出情况,打开不同的灯光场景。

英伟达股价暴跌背后的真相,分析师不会告诉你
英伟达股价暴跌背后的真相,分析师不会告诉你

很多朋友应该都知道了,昨天(1月28日)英伟达下调了第四财季的业绩预期,随后股价暴跌高达18%。

更多资讯
PLC的面向对象编程实现方式

面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。

ASIC项目瀑布式开发流程详解

最近收拾书架,翻出一张多年以前的ASIC项目开发流程图,一起回顾一下。

芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么
芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么

赛灵思可编程芯片产品市场的不断增长推动它的发展壮大,5G网络的推出也是它继续前行的助推器。

使用Vivado HLS在ZYNQ-7000上开发OPENCV的教程

OPENCV(Open Source Computer Vision)被广泛的使用在计算机视觉开发上。使用Vivado HLS视频库在zynq-7000全可编程soc上加速OPENCV 应用的开发,将大大提升我们的计算机视觉开发。

设计一块FPGA电路板时应注意的点

如果你在采用FPGA的电路板设计方面的经验很有限或根本没有,那么在新的项目中使用FPGA的前景就十分堪忧——特别是如果FPGA是一个有1000个引脚的大块头。继续阅读本文将有助于你的FPGA选型和设计过程,并且有助于你规避许多难题。

电路方案