
Basys3实验指导手册.docx
10页Basys3实验指导手册 Basys3试验指导手册 第一章Basys3硬件电路 Basys3是围围着一个Xilinx Artix-7 FPGA芯片XC7A35T-1CPG236C搭建的,它供应了完整、随时可以使用的硬件平台,并且它适合于从基本规律器件到简单掌握器件的各种主机电路Basys3上集成了大量的I/O设备和FPGA所需的电路,由此可以构建很多设备而不需其他器件 主要规格/特别功能 产品规格: Basys3为想要学FPGA和数字电路设计的用户供应了一个抱负的电路设计平台Basys3开发板供应完整的硬件存取电路,可以完成从基本规律到简单掌握器的设计四个标准扩展连接器协作用户设计的电路板,或Pmods(Digilent设计的A/D和D/A转换,电机驱动器,传感器输入等)其他功能附带USB电缆供应电源和编程接口,使得其成为入门简单数字电路设计系统的完善低成本平台 关键特性: 1、33,280 个规律单元,六输入LUT结构 2、1,800 Kbits 快速RAM块 3、5个时钟管理单元, 均各含一个锁相环(PLL) 4、90个DSP slices 5、内部时钟最高可达450MHz 6、1个片上模数转换器(XADC) 外围设备: 1、16个拨键开关 2、16个LED 3、5个按键开关 4、4位7段数码管 5、3个Pmod连接口 6、一个专用AD信号Pmod接口 7、12位的VGA输出接口 8、USB-UART桥 9、串口flash 10、用于FPGA编程和通信的USB-JTAG口 11、可连接鼠标、键盘、记忆棒的USB口 1.1电源电路 Basys3开发板可以通过2种方式进行供电,一种是通过J4的USB 端口供电;另一种是通过J6的接线柱进行供电(5V)。
通过JP2跳线帽的不同选择进行供电方式的选择电源开关通过SW16进行掌握,LD20为电源开关的指示灯电源的电路如下图所示: 说明,假如选用外部电源(即J6)那么应当保证:1,电源电压在4.5V-5.5V 范围内;2,至少能供应1A的电流 留意:只有在特殊状况下电源电压才可以使用3.6V电压 1.2LED灯电路 LED部分的电路如图所示当FPGA输出为高电平常,相应的LED点亮;否则,LED 熄灭板上配有16个LED,在试验中敏捷应用,可用作标志显示或代码调试的结果显示,既直观明白又简洁便利 1.3 拨码开关电路 拨码开关的电路如图所示在使用这个16位拨码开关时请留意一点,当开关打到下档时,表示FPGA的输入为低电平: 1.4 按键电路 按键部分的电路如图所示板上配有5个按键,当按键按下时,表示FPGA 的相应输入脚为高电平在学习过程中,建议每个工程都有一个复位输入,这对代码调试将大有好处: 1.5 数码管电路 数码管显示部分的电路如图所示我们使用的是一个四位带小数点的七段共阳数码管,当我们相应的输出脚为低电平常,该段位的LED点亮。
位选位也是低电平选通: 1.6 IO扩展电路 4个标准的扩展连接器(其中一个为专用AD信号Pmod接口)允许设计使用面包板、用户设计的电路或Pmods扩展Basys3板,(Pmods是价格廉价的模拟和数字I / O模块,能供应一个A/ D&D / A 转换,电机驱动器,传感器投入和很多其他功能) 1.7 USB—UART转换电路 Basys3开发板包含由FT2232芯片搭建而成的USB—UART的转换电路这使得你可以通过标准的Windows系统的COM端口用PC机上的应用于开发板进行通讯在安装好驱动后,PC机可以从COM口向FPGA的B18和A18引脚发送I/O命令,从而产生串行数据通信 Basys3开发板上供应两个状态指示灯,来供应产生数据通信时的直观视觉提示:发送数据指示灯LED(LD18)与接收数据指示灯(LD17) FT2232芯片同时可以用来掌握USB—JTAG电路,然而两个电路的功能可以独立运行,并且两个电路同时运行时并不会相互影响因此虽然只有一根Micro USB线,却可以同时进行程序下载、UART通讯以及供电 1.8 FPGA调试及配置电路 上电后,Basys3板上必需配置FPGA,然后才能执行任何有用功能。
在配置过程中,bit文件转移到FPGA内存单元中实现规律功能和电路互连通过赛灵思公司免费的Vivado软件可以通过VHDL,Verilog语言,或基于原理图的源文件创建.bit文件 下载程序有3种方式: 1、用Vivado通过JTAG方式下载.bit文件到FPGA芯片 2、用Vivado通过QSPI方式下载.bit文件到Flash芯片,实现掉电不易失 3、用U盘或移动硬盘通过J2的USB端口下载.bit文件到FPGA芯片(建议 将.bit文件放到U盘根名目下,且只放1个),该U盘应当是FAT32文件 系统 1.9 引脚安排表格 其次章XADC试验 这一章我们将通过硬件描述语言HDL——Verilog,在Basys3上进行AD转换的试验这个简洁的XADC演示项目展现了Basys3的AD转换力量详细行为如下: 1、随着选定的AD转换的管脚输入的电压增大,16个开发板上的LED灯从右到左依次亮起 2、四个七段数码管显示选定通道的电压值 3、拨码开关sw0和sw1选择输入通道 XADC模块包括2个12比特1MIPS的模数转换器以及相关的片上传感器,模数转换器能为系统供应通用目的的高精度模拟接口。
双通道ADC支持一系列操作模式,例如外部触发和对ADC进行采样同时也支持不同类型的输入信号,例如单端输入以及差分输入,最多可接受17路外部的模拟输入信号XADC模块也包括肯定数量的片上传感器可用来测量片上的供电电压和芯片温度,这些测量转换数据存储在一个名为状态寄存器的专用寄存器内,可由FPGA内部名为动态配置端口的16位同步读写端口访问ADC转换数据也可以由JTAG TAP访问,这种状况下并不需要去直接例化XADC模块下图为XADC模块的框图: 在Basys3上,AD转换的Pmod连接器供应4对不同的模拟信号输入对应的AD转换通道为6、7、14、15下图为Pmod连接器的示意图: 每一纵排的两个端口为一组第一组对应的是XA1_P和XA1_N,以此类推下图展现的是这些信号内部连接图的Basys3的原理图: 由原理图可知:XA1连接到AD转换的6通道,XA2连接到AD转换的14通道,XA3连接到AD转换的7通道,XA4连接到AD转换的15通道 打开Vivado工程 将Basys3-master文件拷贝到D盘内,在路径D:\Basys3-master\Basys3-master\Projects\XADC_Demo\proj文件中找到create_project.tcl,右键单击该文件打开属性,拷贝该文件的位置信息,如:E:\Basys3-master\Basys3-master\Projects\XADC_Demo\proj,将其复制下。
双击桌面上的vivado图标,打开Vivado后找到Tcl_console,先输入cd,然后输入我们刚刚复制的位置信息,随后单击弹出的提示信息proj/,然后回车再输入source ./,单击提示的create_project.tcl,就打开了XADC_Demo工程,留意该文件夹的路径中肯定不要包含汉字,包含汉字则Vivado无法识别随后会弹出如下页面(其中的UART_TX_CTRL文件本次用不到,可以删除): 绽开源文件区的Design Sources和Constraints选项,Design Sources中为实现设计的模块,其中包括开发板的ip核以及用户自己的设计的规律Constraints 中内为约束,包括引脚位置约束、区域约束、时序约束以及电平约束等全部绽开源文件区可以发觉内容如下: 其中xadc_wiz_0为xilinx公司供应的ip核,其内部规律已经封装好,我们无法查看,每个模块内部都有解释解释代码含义,同学们可自行查看 将开发板通过micro-usb数据线连接上电脑,点击generate bitstream,在综合、实现后就可以产生bit流,生成bit流后,选择open hardware manager。
找到open target,如图: 单击auto connect,完成后单击program device,在弹出对话框中选择program即可 下载完成后根据下图进行连接: 6脚和12脚接电源的3.3v电压,5脚和11脚接地,将输入电压信号接入第一对管脚,并将其余管脚接地,在0V和1V间调整输入电压信号,观看LED灯和四位数码管的变化留意micro-USB线不能拔,否则失去供电) 第三章UART试验 通用异步收发器,简称为UART,是一种通用的数据通信协议,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范而RS232、RS499、RS423、RS422和RS485等,是对应各种异步串行通信口的接口标准和总线标准,它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容 UART使用的是异步串行通信 串行通信是指利用一条传输线将资料一位位地挨次传送特点是通信线路简洁,利用简洁的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。
数据传送速率用波特率来表示,即每秒钟传送的二进制位数例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校 验位,1个结束位),则其传送的波特率为10120=1200字符/秒=1200波特 数据通信格式如下图: 其中各位的意义如下: 起始位:先发出一个规律”0”信号,表示传输字符的开头 数据位:可以是5~8位规律”0”或”1”如ASCII码(7位),扩展BCD 码(8位)小端传输 校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验) 停止位:它是一个字符数据的结束标志可以是1位、1.5位、2位的高电 平 空闲位:处于规律“1”状态,表示当前线路上没有资料传送 而对于FPGA设计者而言,只需要关怀与其接口的RS232_TX和RS232_RX两个信号RS232_TX是数据发送端口,RS232_RX是数据接收端口 而我们这个试验要实现的功能就是FPGA实时监测RS232_RX信号是否有数据,若接收到数据,则把接收到的数据通过RS232_TX发回给对方上位机用的是串口调试助手在代码设计中,发送数据的波特率是可选的,可以是9600bps,19200bps,38400bps,57600bps 或 115200bps。
这部分在模块 speed_select 里,用户可以依据。












