微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 试用BASYS2开发板

试用BASYS2开发板

时间:10-02 整理:3721RD 点击:

一、BASYS2开发板基本情况介绍

BASYS2是一款面向学生和初学者的开发板,基本资源情况如下:

① 板载XILINX SPARTAN-3E XC3S100E-CP132 FPGA,大概为10万门规模。

② 板载JTAG下载电路和XILINX配置FLASH。

③ 一个VGA端口

④ 一个PS/2端口

⑤ 一个数码显示管和8个LED灯。

⑥ 4个按键输入和8个拨码开关输入。

另外有几个扩展接口,整体框图如下:



(摘自Diigiillentt Basys2 Board Refference Manuall,Revision: November 11, 2010)

BASYS2使用USB供电,也可以外接电源供电,使用过程中注意下电源开关打开即可。

配置FPGA用Adept软件(注意好像没有外接JTAG的接口),先安装好软件,再连接USB电缆就可以识别为一个JTAG口了,下面是具体步骤:

先在DIGILENT网站上下载digilent.adept.system_v2.8.1.exe和libCseDigilent_2.0.5-x86-x64-Windows.zip。

然后安装Adept.system_v2.8.10软件,安装过程中需要安装Microsoft Visual C++ 2008(9.0)runtime.(在线下载或在微软网站上下载好先安装)
安装好Adept后,再把ISE插件libCseDigilent_2.0.5-x86-x64-Windows.根据ISE版本和系统平台选择对应的Digilent文件夹,把它的内容拷到ISE安装目录的Xilinx\13.1\ISE_DS\ISE\lib\nt\plugins文件夹。最后注意下iMPACT工具内Cable Setup时在Cable plug-in选择框内第一次用时找不到digilent_plugin, 当时我以为是软件没有安装好才没有这个选择项,把软件重新安装了几遍也没有解决问题,最后发现直接输入digilent_plugin就可以了(这里提示下防止大家走弯路,其实文档上也有写,只是刚开始没有注意到要自己输入,请参考Digilent_Plug-in_Xilinx_v13.pdf文档),具体如下图示:



安装成功后可以通过JTAG找到器件如下图示:



二、数码显示管的使用

作为第一个小例子,我们使用下BASYS2的七段数码管,

数码管的结构如下图示:



(摘自Diigiillentt Basys2 Board Refference Manuall,Revision: November 11, 2010)

从图中可以看出要使某段点亮的话只要使该段输出低电平即可,(注意是低电平啊),

数码管和FPGA的脚位连接如下图示:



(摘自Diigiillentt Basys2 Board Refference Manuall,Revision: November 11, 2010)

从图中可以看出公共极(AN0,AN1,AN3,AN3)扫描时应该是顺序输出低电平有效的。

扫描频率应该在60Hz到1KHz以内,即1ms~16ms内要扫描一次。

我们以100Hz的扫描频率为例显示一个计数器的值,首先产生一个400Hz的单时钟周期宽度的脉冲信号,以这个脉冲信号来触发公共极的低电平扫描输出,低电平扫描只需要用一个循环移位电路就可以实现。每一字段的输出是由相应的计数器值经过一个选择器后再由一个译码电路得到具体显示数值时要点亮和熄灭的段值。有这个数码显示管显示加上一个按键输入很容易实现类似秒表样的应用,实现起来比较简单就不再详细叙述了。^_^

三、用BASYS2实现VGA彩条显示

首先看BASYS2的VGA硬件连接部分示意图:



(摘自Diigiillentt Basys2 Board Refference Manuall,Revision: November 11, 2010)

从上图中可以清楚的看到这里的VGA显示是通过10个信号脚位来控制显示的,因为RGB表示的比特有限,所以BASYS2的VGA显示部分能显示的色彩比较少(最多256级灰度),

VGA的显示是根据VESA标准来给出显示时序的,下面是一个640*480 60Hz刷新率的显示时序:



(摘自Diigiillentt Basys2 Board Refference Manuall,Revision: November 11, 2010)

注意水平扫描是从左到右的, 垂直扫描是从上到下的的,所以整个显示是从左上角开始扫描到右下角结束, 在不显示的地方RGB输出全0就可, FPGA内部需要一块显示RAM用来存储要显示的数据,如果是显示彩条的话,可以不用RAM直接译码产生RGB数据。

最后给出一个VESA标准下载地http://wenku.baidu.com/view/56ae821c59eef8c75fbfb3cb.html,供有需要用到VGA显示的朋友设计时参考。

xiang shiyong

好好阿

试用BASYS2开发板

用来给内部逻

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top