2024年9月17日发(作者:樊春雪)
Digilent的Basys2板参考手册
引言
该Basys2板是一种电路设计和实施平
台,任何人都可以使用它获得建立真正的
数字电路的经验。围绕着赛灵思Spartan - 3E
现场可编程门阵列和ATMEL的AT90USB2
的USB控制器,Basys2板提供完整的、随
时可用的硬件适合电路实现从基本逻辑器
件到复杂的控制器。拥有一系列板上的
I / O设备和所有需要支持的FPGA电路,这
样的设计可以创造无数无需任何其他元件
的设计。
4个标准的扩展连接器允许设计使用
面包板、用户设计的电路或Pmods扩展
Basys2板板,(Pmods是价格便宜的
模拟和数字I / O模块,能提供一个A/ D
&D / A转换,电机驱动器,传感器 投入 ﹡10万门的赛灵思Spartan-3E FPGA
和许多其他功能)。6针连接器上的信号 ﹡AtmelAT90USB2全速USB2端口提供电源和编程/数据传输接口
免受ESD损害和短路损害,从而确保了 ﹡赛灵思平台的Flash ROM来存储FPGA配置
在任何环境中的 使用寿命更长。该Basys2 ﹡8个LED,4位7段显示器,4个按键,8滑动开关 的PS / 2端口
板适用于所有赛灵思ISE工具的版本,包括 和8位VGA端口
免费版在内。配有一条可以同时提供电源和 ﹡用户可设置的时钟(25/50/100MHz),加上短路块可以选择
实现下载的USB下载线,所以不需要任何其 第二种时钟
他电源供应器或编程电缆。 ﹡ 4个6针头扩展连接器
该Basys2板可以通过USB2.0端口提供 ﹡ 所有I / O信号都有ESD和短路的保护。
电源和板载编程。Digilent的免费使用的基于 图1 Basys2板的结构图和功能模块
PC端的Adept的软件会自动检测到Basys2板,同时提供了一个FPGA和板载的Flash ROM的编程接口,并允许用户传
输数据(更多内容详见或/)。
该Basys2板设计的与免费的赛灵思ISE WebPACK的CAD软件相配套。WebPACK可以用来通过示意图或者
HDLs
的方式设计电路,模拟、合成电路和创建规划文件。 WebPACK的可以从
/ise/
免费下载。
Basys2板上有一个内置的自检(演示)程序在它的ROM中,该程序可以测试板子上的所有功能。要运行测试,
跳线设置至ROM模式(见下文),并且同时给板子提供电源。如果测试程序从ROM中抹去,它可以在任何时间下载并
重新安装。Basys2板的测试项目以及详尽的文件,参考设计和教程见
/Basys2
。
Basys2板供电
该Basys2板通常是从USB供电电缆,但电池连接器的存在使得板子也可以
使用外部供电。要使用USB电源,只需连接USB下载线即可。为了权力在Basys2
使用电池或其他外部电源,可以附加为3.5V-5.5V的电池组(或其他电源)到2针
,100密尔电池连接器间距(三节AA电池串联成为一个理想的4.5 + / - 伏电源)。
电压高于5.5V的任何电源连接器可能造成永久性的损害。
输入功率是经由电源开关(SW8)到4个6针扩充接口和一个
Linear
Technology的
LTC3545电压调节器。 LTC3545主要给板子产生3.3V电源,
它也促使产生二次调节为FPGA供应所需的2.5V-1.2V电压。通过板子的总电流
是由FPGA配置、时钟频率和外部连接决定的。在测试 图2
Basys2电源电路
大约20K个门、50MHz的时钟源、所有LED点亮的电路中,从1.2V电源约为100mA的电流流出,从2.5V电源为50mA,
从3.3V电源为50mA。如果给FPGA增加电路、或者添加外围板则需要更大的电流。
该Basys2板采用4层印刷电路板,有专用的VCC和GND层。FPGA和电路板上的其它IC具有较大的陶瓷旁路电容,
他们尽可能放在每个VCC管脚附近,从而产生了一个很干净,低噪声电源。
配置
上电后,Basys2板上必须配置FPGA,然后才能执行任何有用功能。在配置过程中,一“Bit”文件转移到FPGA
内存单元中实现逻辑功能和电路互连。借助赛灵思免费的ISE /WebPack CAD软件可以通过VHDL,Verilog语言,或基
于原理图的源文件创建.bit文件。
Digilent的基于PC的程序称为Adept,可用于配置任何存储在计算机上的适用的文件。Adept使用USB下
载线从PC传送一个选定的.bit文件到FPGA(通过的FPGA的JTAG编程接口)。Adept也可以把.bit文件下载到非易失性
ROM(所谓“Platform Flash”)。一旦编程,该Platform Flash可以在上电、重启、甚至跳线(JP3连接)时传输给FPGA
已存储在ROM中的.bit文件。该FPGA保留.bit文件的配置,直到电源复位。Platform Flash配置也将保留,直到它被重
新编程,而不受电源的影响。
给
Basys2板编程时,需要将跳线设置到PC模式,并且将USB下载线
连到板子上。启动
Adept
软件,并且等待FPGA和
Platform Flash ROM
被识别。使用浏览功能将需要的.bit文件与FPGA关联起来,再将
需要的.mcs文件与Platform Flash ROM关联。右键单击该设备
进行编程,并选择了“编程”功能。该配置文件将被发送到
FPGA或Platform FlashFlash,软件将显示编程是否成功。
“状态的LED”发光二极管(LD_8)将在FPGA成功配置后闪烁。
Adept的更多资料,请参阅Digilent网站上提供的Adept的资料。
晶振
该Basys2板包括一个主要的,用户可设置的硅振荡器,
可通过在JP4跳线位置的选择产生高达25MHz,50MHz的, 图3
或100MHz的时钟。最初,该跳线不加载,必须在地方焊接。
IC6插座可以提供第二个晶振(即IC6插座可插上任何3.3V CMOS的半个DIP封装的晶振)。主要的振荡器和第二个振荡
器连接到全局时钟输入引脚分别在B8脚和M6脚。
这两种时钟输入可以驱动的Spartan 3E上的时钟合
成器DLL,如果内部的频率允许,将是一个从4倍输入频率
到任何输入频率可以整除的频率的广泛范围。
主要的硅振荡器使用灵活并且价格便宜,但它缺乏晶体振
荡器频率稳定度。一些电路驱动VGA显示器可以通过在IC7插座
安装一个晶体振荡器使图像略有改善。对于这些零件,可以从
任何目录分销商购买25MHz(或50MHz)晶体振荡器,推荐
(例如上的零件编号为SG-8002JF-PCC)。
Basys2的编程电路
用户I/O
4个按钮和8个滑动开关电路提供了输入信号。按键信号
平时是低电压,按钮被按下是高电压。滑动开关由它的位置决
定了是高电压还是低电压。所有的滑动开关和按键都有相应的
电阻保护以防止它们短路(如果FPGA的输出错误的定义到了
滑动开关或者按键上就会发生短路)。
8个LED和4位7段LED数码管是电路的输出。发光二极管 图4 Basys2的晶振电路
阳极是由FPGA通过限流电阻驱动的,因此当对应的FPGA引脚写入一个逻辑'1'时它们将点亮。
7段LED数码管
对4个7段LED数码管的每个LED显示屏都是按照一个“数字8”的模式安排了7个发光二极管组成部分。每段LED可
以单独照明,因此一部分的LED点亮其他的不亮一共可以组合成128组合方式。在这128个可能的组合方式,对应的十
进制数字的10个是最有用的。
这7个段的每个LED的阳极是连接在一起,成为一个共同的阳极电路节点,但LED的阴极保持独立。常见的阳极信
号为4个“数字启用”输入信号,4位显示可用。在所有4个数码管的阴极同样的段连接成7个节点的电路标号为从CA到CG
(所以,例如,四个数字组合中的四个“D”类阴极在一起成为一个单一的电路称为节点“CD”)。这7个阴极信号可作为4
位数字显示输入。该信号设计制造了一个复杂的显示,对所有数字显示而言在阴极的信号是一样的,但只有某数字相
应的阳极信号输入才会显示该数字。
扫描显示控制电路用于显示该数码管的4位数字。这个
电路驱动阳极信号,而每个数字对应的阴极信号以高于人眼
反应速度的频率连续不断的刷新。每个数字点亮的时间只有
1/4个周期,但是眼睛却无法在数字再次被点亮前的这段时间
里发觉数码管变暗。数码管是间歇性点亮的。如果更新或“刷
新”的频率降至某一特定点(约45赫兹),那么大多数人会开
始看到闪烁。四个数字间歇性的被点亮,所有四个数字应该
是每1至16毫秒驱动一次(刷新频率为1KHz-60Hz)。例如,
在60Hz的刷新频率时,整个数码管每16毫秒刷新一次,而每
个数字被点亮的时间是¼刷新周期即4毫秒。该控制器必须保证
在相应的阳极信号驱动时对应的阴极模式是正确的。为了说明这
一过程中,如果AN1是置1,而CB和CC的置0,那么,“1”将在第
1位数的位置显示出来。如果AN2是置1而CA,CB和CC置0,那
么,“7”将显示在第2位数的位置。如果A1和CB,CC驱动4毫秒
,然后A2和CA,CB,CC驱动4毫秒后并维持该驱动状态,数码
管在前两个数字的位置显示“17”中的。图6显示了以4位7段控制器
为例的时序图。
图5 Basys2I/O电路
图6 7段数码管的时序图
图7 7段数码管
PS/2 接口
6针微型DIN连接器可以接一个PS / 2鼠标或键盘。大多数PS / 2设备可以工作在3.3V的电源下,但一些较老的
设备可能需要一个5V直流电源。Basys2板(JP1连接)跳线选择给PS / 2连接器提供3.3V还是VU。要提供5V时,设
置JP1连接到VU,并确保Basys2是5V直流供电。要提供3.3V时,设置跳线至3.3V。在3.3V电源时,任何板上电源
(包括USB)都可以使用。
鼠标和键盘都使用两条串行总线(时钟和数据)与主机进行通信的设备。两者都使用11位字,其中包括一个启动,
停止,奇校验位,但数据包是不同的,另外键盘接口允许双向数据传输(这样主机设备可以点亮键盘上的状态指示灯)。
总线时序如下图所示。时钟和数据信号传输数据时只驱动发生,否则他们是在“闲置”状态逻辑'1'。时序图定义鼠标到主
机的通信和键盘与主机的双向通信的信号要求。一个PS / 2接口电路可以用在FPGA来创建一个键盘或鼠标接口。
图8
PS/2 接口和Basys2 PS/2 电路
键盘
该键盘采用集电极开路驱动程序,这样连接键盘或主机
设备可以驱动两条总线(如果主机设备不会发送数据到键盘,
然后主机可以只使用输入端口)。
PS/2键盘在按键按下时使用代码通信。一个按键按下时,会
发送一个代码,如果这个键一直被按着,那么每隔100ms就发送
一次代码。当一个键松开时,一个“F0”代码将被发送,然后原来的 图9 PS/2的信号时序图
代码将不再发送。如果键可以“转移”产生一个新的字符(例如一个
大写字母),然后转变字符除了发送扫描码,主机必须确定使用哪个ASCII字符。某些键,称为扩展键,在扫描码前发
送“E0”(他们可能发送不止一个扫描码)。当一个扩展键释放时,一个“E0 F0”关键码发送,然后是扫描代码。大多数键
扫描码如图所示。主机设备还可以将数据发送到键盘。下面是一些常见主机发送的命令。
图10 键盘扫描码
ED 设置Num Lock, Caps Lock, 和Scroll Lock的指示灯。键盘在收到“ED”后返回“FA”,主机设置一个字节来控制
指示灯的状态:Bit 0控制Scroll Lock,Bit 1控制Num Lock,Bit 2控制Caps Lock。Bit3-Bit7不用。
EE 自检。键盘收到“EE”后返回“EE”。
F3 设置扫描频率。在收到“FA”后返回“F3”,主机在发送一个字节设置扫描频率。
FE 重新发送。在收到“FE”后键盘直接发送刚发送的扫描码。
FF 重启。重新启动键盘。
键盘只有当数据总线和时钟总线同时为高(或闲置)才可以发送数据到主机。由于主机是“主控者”,键盘必须在
发送数据之前检查主机是否使用总线。为了方便检验,时钟总线用作“清除发送”的信号。如果主机的时钟总线拉低时,
键盘不能发送任何直到时钟总线再次恢复。键盘发送数据到11位字,其中包含1个“0”起始位,8位的扫描码(LSB在前),
1个奇偶校验位,一个'1'停止位。键盘发送数据时产生11次高低电平的变化(时钟过渡约为20 - 30kHz的),数据只有
在在时钟的下降沿是有效的。
鼠标
鼠标在移动时输出时钟和数据信号,否则将保持为逻辑1。每当鼠标移动时,3个11位的信号将从鼠标发送到主机。
每个11位字中包含1个“0”起始位,8位的数据位(LSB在前),1个奇偶校验位,一个'1'停止位。因此,每次传输包含33
位数据,其中位0、11、22是'0'开始位,10、21、33位是'1'停止位。三个8位数据字段包含数据流向如下图所示。数据
在时钟的下降沿是有效的,时钟周期为20到30kHz的。
图11 鼠标数据格式
假设鼠标在一个相对坐标系中移动,移动到右边生成一个在X领域的正数,移动到左边生成一个负数。同样,移
动鼠标起来生成一个在Y领域正数,向下移动代表一个负数(XS和YS是正负标志位, '1'表示一个负数)。在X和Y
的数字大小代表了鼠标的移动速度,数字越大,鼠标移动速度越快(XV和YV是溢出标志位 ,1'是指发生溢出)。如
果鼠标不断移动,每50毫秒重复33位传输。在L和R领域的状态字节表示左、右按键('1'表示的是按钮被按下)。
VGA接口
图12 VGA和Bayas2的接口电路 图13 CRT显示系统
该Basys2板采用10个FPGA的信号创建一个带8位颜色和两个标准同步信号的VGA端口(HS 水平同步和VS
垂直同步)。颜色信号使用电阻分压器电路,与VGA显示的75欧姆的终端电阻协同工作以创建水平的8个红色和绿色的
VGA信号,以及四个蓝信号(人的眼睛对蓝色敏感,所以蓝色分四个级别)。该电路,如图12所示,生产彩色视频信
号为0V(完全关闭)和0.7V(完全打开)之间等额递增的进行。一个视频控制器电路必须使得FPGA同步和正确的驱
动时产生彩色信号,从而产生一个显示系统。
VGA系统(略)
扩展连接器
该Basys2板提供4个6针连接器的外围模块。每个连接器提供正电源、接地和4个独特的FPGA信号。几个6针模
块板,可以附加到由Digilent的提供连接器,包括A / D转换器、扬声器放大器、麦克风、H桥放大器等等。更多信息
请参阅。
FPGA引脚定义
下表显示的是Basys2板上的Spartan-3E的所有管
脚定义。灰色的是用户无法使用的。
自检
该Basys2板在ROM中预装了简单的
自检/示例程序。该示例(在网站上也可获得)
展示了赛灵思FPGA的CAD工具如何连接
Basys2电路。由于该程序是在ROM中,它
也可以用来检查板子的功能。要演示运行,
设置的ROM /USB跳线(JP3)到ROM,
给板子供电。7段式数码管将显示持续的计数,
打开开关相应的LED将被点亮,按钮按下时
将关闭数码管相应位置的显示,和一个可测试
的VGA端口。
如果Platform Flash ROM中没有自检程
序,可以通过Adept编程软件重新编程到FPGA
或者下载到Platform Flash ROM中。
图14 Basys2 Pmod接口电路
2024年9月17日发(作者:樊春雪)
Digilent的Basys2板参考手册
引言
该Basys2板是一种电路设计和实施平
台,任何人都可以使用它获得建立真正的
数字电路的经验。围绕着赛灵思Spartan - 3E
现场可编程门阵列和ATMEL的AT90USB2
的USB控制器,Basys2板提供完整的、随
时可用的硬件适合电路实现从基本逻辑器
件到复杂的控制器。拥有一系列板上的
I / O设备和所有需要支持的FPGA电路,这
样的设计可以创造无数无需任何其他元件
的设计。
4个标准的扩展连接器允许设计使用
面包板、用户设计的电路或Pmods扩展
Basys2板板,(Pmods是价格便宜的
模拟和数字I / O模块,能提供一个A/ D
&D / A转换,电机驱动器,传感器 投入 ﹡10万门的赛灵思Spartan-3E FPGA
和许多其他功能)。6针连接器上的信号 ﹡AtmelAT90USB2全速USB2端口提供电源和编程/数据传输接口
免受ESD损害和短路损害,从而确保了 ﹡赛灵思平台的Flash ROM来存储FPGA配置
在任何环境中的 使用寿命更长。该Basys2 ﹡8个LED,4位7段显示器,4个按键,8滑动开关 的PS / 2端口
板适用于所有赛灵思ISE工具的版本,包括 和8位VGA端口
免费版在内。配有一条可以同时提供电源和 ﹡用户可设置的时钟(25/50/100MHz),加上短路块可以选择
实现下载的USB下载线,所以不需要任何其 第二种时钟
他电源供应器或编程电缆。 ﹡ 4个6针头扩展连接器
该Basys2板可以通过USB2.0端口提供 ﹡ 所有I / O信号都有ESD和短路的保护。
电源和板载编程。Digilent的免费使用的基于 图1 Basys2板的结构图和功能模块
PC端的Adept的软件会自动检测到Basys2板,同时提供了一个FPGA和板载的Flash ROM的编程接口,并允许用户传
输数据(更多内容详见或/)。
该Basys2板设计的与免费的赛灵思ISE WebPACK的CAD软件相配套。WebPACK可以用来通过示意图或者
HDLs
的方式设计电路,模拟、合成电路和创建规划文件。 WebPACK的可以从
/ise/
免费下载。
Basys2板上有一个内置的自检(演示)程序在它的ROM中,该程序可以测试板子上的所有功能。要运行测试,
跳线设置至ROM模式(见下文),并且同时给板子提供电源。如果测试程序从ROM中抹去,它可以在任何时间下载并
重新安装。Basys2板的测试项目以及详尽的文件,参考设计和教程见
/Basys2
。
Basys2板供电
该Basys2板通常是从USB供电电缆,但电池连接器的存在使得板子也可以
使用外部供电。要使用USB电源,只需连接USB下载线即可。为了权力在Basys2
使用电池或其他外部电源,可以附加为3.5V-5.5V的电池组(或其他电源)到2针
,100密尔电池连接器间距(三节AA电池串联成为一个理想的4.5 + / - 伏电源)。
电压高于5.5V的任何电源连接器可能造成永久性的损害。
输入功率是经由电源开关(SW8)到4个6针扩充接口和一个
Linear
Technology的
LTC3545电压调节器。 LTC3545主要给板子产生3.3V电源,
它也促使产生二次调节为FPGA供应所需的2.5V-1.2V电压。通过板子的总电流
是由FPGA配置、时钟频率和外部连接决定的。在测试 图2
Basys2电源电路
大约20K个门、50MHz的时钟源、所有LED点亮的电路中,从1.2V电源约为100mA的电流流出,从2.5V电源为50mA,
从3.3V电源为50mA。如果给FPGA增加电路、或者添加外围板则需要更大的电流。
该Basys2板采用4层印刷电路板,有专用的VCC和GND层。FPGA和电路板上的其它IC具有较大的陶瓷旁路电容,
他们尽可能放在每个VCC管脚附近,从而产生了一个很干净,低噪声电源。
配置
上电后,Basys2板上必须配置FPGA,然后才能执行任何有用功能。在配置过程中,一“Bit”文件转移到FPGA
内存单元中实现逻辑功能和电路互连。借助赛灵思免费的ISE /WebPack CAD软件可以通过VHDL,Verilog语言,或基
于原理图的源文件创建.bit文件。
Digilent的基于PC的程序称为Adept,可用于配置任何存储在计算机上的适用的文件。Adept使用USB下
载线从PC传送一个选定的.bit文件到FPGA(通过的FPGA的JTAG编程接口)。Adept也可以把.bit文件下载到非易失性
ROM(所谓“Platform Flash”)。一旦编程,该Platform Flash可以在上电、重启、甚至跳线(JP3连接)时传输给FPGA
已存储在ROM中的.bit文件。该FPGA保留.bit文件的配置,直到电源复位。Platform Flash配置也将保留,直到它被重
新编程,而不受电源的影响。
给
Basys2板编程时,需要将跳线设置到PC模式,并且将USB下载线
连到板子上。启动
Adept
软件,并且等待FPGA和
Platform Flash ROM
被识别。使用浏览功能将需要的.bit文件与FPGA关联起来,再将
需要的.mcs文件与Platform Flash ROM关联。右键单击该设备
进行编程,并选择了“编程”功能。该配置文件将被发送到
FPGA或Platform FlashFlash,软件将显示编程是否成功。
“状态的LED”发光二极管(LD_8)将在FPGA成功配置后闪烁。
Adept的更多资料,请参阅Digilent网站上提供的Adept的资料。
晶振
该Basys2板包括一个主要的,用户可设置的硅振荡器,
可通过在JP4跳线位置的选择产生高达25MHz,50MHz的, 图3
或100MHz的时钟。最初,该跳线不加载,必须在地方焊接。
IC6插座可以提供第二个晶振(即IC6插座可插上任何3.3V CMOS的半个DIP封装的晶振)。主要的振荡器和第二个振荡
器连接到全局时钟输入引脚分别在B8脚和M6脚。
这两种时钟输入可以驱动的Spartan 3E上的时钟合
成器DLL,如果内部的频率允许,将是一个从4倍输入频率
到任何输入频率可以整除的频率的广泛范围。
主要的硅振荡器使用灵活并且价格便宜,但它缺乏晶体振
荡器频率稳定度。一些电路驱动VGA显示器可以通过在IC7插座
安装一个晶体振荡器使图像略有改善。对于这些零件,可以从
任何目录分销商购买25MHz(或50MHz)晶体振荡器,推荐
(例如上的零件编号为SG-8002JF-PCC)。
Basys2的编程电路
用户I/O
4个按钮和8个滑动开关电路提供了输入信号。按键信号
平时是低电压,按钮被按下是高电压。滑动开关由它的位置决
定了是高电压还是低电压。所有的滑动开关和按键都有相应的
电阻保护以防止它们短路(如果FPGA的输出错误的定义到了
滑动开关或者按键上就会发生短路)。
8个LED和4位7段LED数码管是电路的输出。发光二极管 图4 Basys2的晶振电路
阳极是由FPGA通过限流电阻驱动的,因此当对应的FPGA引脚写入一个逻辑'1'时它们将点亮。
7段LED数码管
对4个7段LED数码管的每个LED显示屏都是按照一个“数字8”的模式安排了7个发光二极管组成部分。每段LED可
以单独照明,因此一部分的LED点亮其他的不亮一共可以组合成128组合方式。在这128个可能的组合方式,对应的十
进制数字的10个是最有用的。
这7个段的每个LED的阳极是连接在一起,成为一个共同的阳极电路节点,但LED的阴极保持独立。常见的阳极信
号为4个“数字启用”输入信号,4位显示可用。在所有4个数码管的阴极同样的段连接成7个节点的电路标号为从CA到CG
(所以,例如,四个数字组合中的四个“D”类阴极在一起成为一个单一的电路称为节点“CD”)。这7个阴极信号可作为4
位数字显示输入。该信号设计制造了一个复杂的显示,对所有数字显示而言在阴极的信号是一样的,但只有某数字相
应的阳极信号输入才会显示该数字。
扫描显示控制电路用于显示该数码管的4位数字。这个
电路驱动阳极信号,而每个数字对应的阴极信号以高于人眼
反应速度的频率连续不断的刷新。每个数字点亮的时间只有
1/4个周期,但是眼睛却无法在数字再次被点亮前的这段时间
里发觉数码管变暗。数码管是间歇性点亮的。如果更新或“刷
新”的频率降至某一特定点(约45赫兹),那么大多数人会开
始看到闪烁。四个数字间歇性的被点亮,所有四个数字应该
是每1至16毫秒驱动一次(刷新频率为1KHz-60Hz)。例如,
在60Hz的刷新频率时,整个数码管每16毫秒刷新一次,而每
个数字被点亮的时间是¼刷新周期即4毫秒。该控制器必须保证
在相应的阳极信号驱动时对应的阴极模式是正确的。为了说明这
一过程中,如果AN1是置1,而CB和CC的置0,那么,“1”将在第
1位数的位置显示出来。如果AN2是置1而CA,CB和CC置0,那
么,“7”将显示在第2位数的位置。如果A1和CB,CC驱动4毫秒
,然后A2和CA,CB,CC驱动4毫秒后并维持该驱动状态,数码
管在前两个数字的位置显示“17”中的。图6显示了以4位7段控制器
为例的时序图。
图5 Basys2I/O电路
图6 7段数码管的时序图
图7 7段数码管
PS/2 接口
6针微型DIN连接器可以接一个PS / 2鼠标或键盘。大多数PS / 2设备可以工作在3.3V的电源下,但一些较老的
设备可能需要一个5V直流电源。Basys2板(JP1连接)跳线选择给PS / 2连接器提供3.3V还是VU。要提供5V时,设
置JP1连接到VU,并确保Basys2是5V直流供电。要提供3.3V时,设置跳线至3.3V。在3.3V电源时,任何板上电源
(包括USB)都可以使用。
鼠标和键盘都使用两条串行总线(时钟和数据)与主机进行通信的设备。两者都使用11位字,其中包括一个启动,
停止,奇校验位,但数据包是不同的,另外键盘接口允许双向数据传输(这样主机设备可以点亮键盘上的状态指示灯)。
总线时序如下图所示。时钟和数据信号传输数据时只驱动发生,否则他们是在“闲置”状态逻辑'1'。时序图定义鼠标到主
机的通信和键盘与主机的双向通信的信号要求。一个PS / 2接口电路可以用在FPGA来创建一个键盘或鼠标接口。
图8
PS/2 接口和Basys2 PS/2 电路
键盘
该键盘采用集电极开路驱动程序,这样连接键盘或主机
设备可以驱动两条总线(如果主机设备不会发送数据到键盘,
然后主机可以只使用输入端口)。
PS/2键盘在按键按下时使用代码通信。一个按键按下时,会
发送一个代码,如果这个键一直被按着,那么每隔100ms就发送
一次代码。当一个键松开时,一个“F0”代码将被发送,然后原来的 图9 PS/2的信号时序图
代码将不再发送。如果键可以“转移”产生一个新的字符(例如一个
大写字母),然后转变字符除了发送扫描码,主机必须确定使用哪个ASCII字符。某些键,称为扩展键,在扫描码前发
送“E0”(他们可能发送不止一个扫描码)。当一个扩展键释放时,一个“E0 F0”关键码发送,然后是扫描代码。大多数键
扫描码如图所示。主机设备还可以将数据发送到键盘。下面是一些常见主机发送的命令。
图10 键盘扫描码
ED 设置Num Lock, Caps Lock, 和Scroll Lock的指示灯。键盘在收到“ED”后返回“FA”,主机设置一个字节来控制
指示灯的状态:Bit 0控制Scroll Lock,Bit 1控制Num Lock,Bit 2控制Caps Lock。Bit3-Bit7不用。
EE 自检。键盘收到“EE”后返回“EE”。
F3 设置扫描频率。在收到“FA”后返回“F3”,主机在发送一个字节设置扫描频率。
FE 重新发送。在收到“FE”后键盘直接发送刚发送的扫描码。
FF 重启。重新启动键盘。
键盘只有当数据总线和时钟总线同时为高(或闲置)才可以发送数据到主机。由于主机是“主控者”,键盘必须在
发送数据之前检查主机是否使用总线。为了方便检验,时钟总线用作“清除发送”的信号。如果主机的时钟总线拉低时,
键盘不能发送任何直到时钟总线再次恢复。键盘发送数据到11位字,其中包含1个“0”起始位,8位的扫描码(LSB在前),
1个奇偶校验位,一个'1'停止位。键盘发送数据时产生11次高低电平的变化(时钟过渡约为20 - 30kHz的),数据只有
在在时钟的下降沿是有效的。
鼠标
鼠标在移动时输出时钟和数据信号,否则将保持为逻辑1。每当鼠标移动时,3个11位的信号将从鼠标发送到主机。
每个11位字中包含1个“0”起始位,8位的数据位(LSB在前),1个奇偶校验位,一个'1'停止位。因此,每次传输包含33
位数据,其中位0、11、22是'0'开始位,10、21、33位是'1'停止位。三个8位数据字段包含数据流向如下图所示。数据
在时钟的下降沿是有效的,时钟周期为20到30kHz的。
图11 鼠标数据格式
假设鼠标在一个相对坐标系中移动,移动到右边生成一个在X领域的正数,移动到左边生成一个负数。同样,移
动鼠标起来生成一个在Y领域正数,向下移动代表一个负数(XS和YS是正负标志位, '1'表示一个负数)。在X和Y
的数字大小代表了鼠标的移动速度,数字越大,鼠标移动速度越快(XV和YV是溢出标志位 ,1'是指发生溢出)。如
果鼠标不断移动,每50毫秒重复33位传输。在L和R领域的状态字节表示左、右按键('1'表示的是按钮被按下)。
VGA接口
图12 VGA和Bayas2的接口电路 图13 CRT显示系统
该Basys2板采用10个FPGA的信号创建一个带8位颜色和两个标准同步信号的VGA端口(HS 水平同步和VS
垂直同步)。颜色信号使用电阻分压器电路,与VGA显示的75欧姆的终端电阻协同工作以创建水平的8个红色和绿色的
VGA信号,以及四个蓝信号(人的眼睛对蓝色敏感,所以蓝色分四个级别)。该电路,如图12所示,生产彩色视频信
号为0V(完全关闭)和0.7V(完全打开)之间等额递增的进行。一个视频控制器电路必须使得FPGA同步和正确的驱
动时产生彩色信号,从而产生一个显示系统。
VGA系统(略)
扩展连接器
该Basys2板提供4个6针连接器的外围模块。每个连接器提供正电源、接地和4个独特的FPGA信号。几个6针模
块板,可以附加到由Digilent的提供连接器,包括A / D转换器、扬声器放大器、麦克风、H桥放大器等等。更多信息
请参阅。
FPGA引脚定义
下表显示的是Basys2板上的Spartan-3E的所有管
脚定义。灰色的是用户无法使用的。
自检
该Basys2板在ROM中预装了简单的
自检/示例程序。该示例(在网站上也可获得)
展示了赛灵思FPGA的CAD工具如何连接
Basys2电路。由于该程序是在ROM中,它
也可以用来检查板子的功能。要演示运行,
设置的ROM /USB跳线(JP3)到ROM,
给板子供电。7段式数码管将显示持续的计数,
打开开关相应的LED将被点亮,按钮按下时
将关闭数码管相应位置的显示,和一个可测试
的VGA端口。
如果Platform Flash ROM中没有自检程
序,可以通过Adept编程软件重新编程到FPGA
或者下载到Platform Flash ROM中。
图14 Basys2 Pmod接口电路