为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

FPGA-3E

2011-09-27 50页 doc 9MB 21阅读

用户头像

is_930367

暂无简介

举报
FPGA-3ESpartan-3E Starter Kit Board User Guide Chapter 1: Introduction and Overview Chapter 2: Switches, Buttons, and Knob Chapter 3: Clock Sources Chapter 4: FPGA Configuration Options Chapter 5: Character LCD Screen Chapter 6: VGA Display Port Chapter 7: RS-232 Serial Po...
FPGA-3E
Spartan-3E Starter Kit Board User Guide Chapter 1: Introduction and Overview Chapter 2: Switches, Buttons, and Knob Chapter 3: Clock Sources Chapter 4: FPGA Configuration Options Chapter 5: Character LCD Screen Chapter 6: VGA Display Port Chapter 7: RS-232 Serial Ports Chapter 8: PS/2 Mouse/Keyboard Port Chapter 9: Digital to Analog Converter (DAC) Chapter 10: Analog Capture Circuit Chapter 11: Intel StrataFlash Parallel NOR Flash PROM Chapter 12: SPI Serial Flash Chapter 13: DDR SDRAM Chapter 14: 10/100 Ethernet Physical Layer Interface Chapter 15: Expansion Connectors Chapter 16: XC2C64A CoolRunner-II CPLD Chapter 17: DS2432 1-Wire SHA-1 EEPROM Chapter 1:Introduction and Overview Spartan-3E入门实验板使设计人员能够即时利用Spartan-3E系列的完整平台性能。 设备支持:Spartan-3E、CoolRunner-II 关键特性:Xilinx 器件: Spartan-3E (50万门,XC3S500E-4FG320C), CoolRunner™-II (XC2C64A-5VQ44C)与Platform Flash (XCF04S-VO20C) 时钟:50 MHz晶体时钟振荡器 存储器: 128 Mbit 并行Flash, 16 Mbit SPI Flash, 64 MByte DDR SDRAM 连接器与接口: 以太网10/100 Phy, JTAG USB下载,两个9管脚RS-232串行端口, PS/2类型鼠标/键盘端口, 带按钮的旋转编码器, 四个滑动开关,八个单独的LED输出, 四个瞬时接触按钮, 100管脚hirose扩展连接端口与三个6管脚扩展连接器 显示器: VGA显示端口,16 字符- 2 线式 LCD 电源:Linear Technologies 电源供电,TPS75003三路电源管理IC 市场: 消费类, 电信/数据通信, 服务器, 存储器 应用: 可支持32位的RISC处理器,可以采用Xilinx的MicroBlaze 以及PicoBlaze嵌入式开发系统;支持DDR接口的应用;支持基于Ethernet网络的应用;支持大容量I/O扩展的应用。 Choose the Starter Kit Board for Your Needs Spartan-3E FPGA Features and Embedded Processing Functions Spartan3-E FPGA 入门实验板具有Spartan3-E FPGA系列突出独特的特点和为嵌入式处理发展与应用提供了很大的方便。该板的特点如下: Spartan3-E特有的特征:并行NOR Flash配置;通过并行NOR Flash PROM 实现FPGA的多种配置方式 嵌入式系统:MicroBlaze™ 32-bit 嵌入RISC处理器;PicoBlaze™ 8-bit 嵌入控制器;DDR存储器接口 Learning Xilinx FPGA, CPLD, and ISE Development Software Basics Spartan3-E FPGA 入门实验板比其他的入门实验板先进、复杂。它是学习FPGA或CPLD设计和怎样运用ISE软件的基础。 Advanced Spartan-3 Generation Development Boards 入门实验板示范了MicroBlaze™ 32-bit 嵌入式处理器和EDK的基本运用。其更先进的地方在于配了额外的外设和FPGA逻辑,包括SP-305入门实验板。 Key Components and Features 主要特征:1)XC3S500E(Spartan-3e):多达232个用户I/O口;320个FPGA封装管脚;超过10000个逻辑单元。2)4Mbit的Flash 配置PROM;3)64个宏单元的XC2C64A CoolRunner CPLD;4)64 MByte (512 Mbit) of DDR SDRAM, ×16 数据接口, 100+ MHz;5)16 MByte (128 Mbit) of 并行NOR Flash (Intel StrataFlash):FPGA配置存储;MicroBlaze代码存储/映射;6)16 Mbits of SPI serial Flash (STMicro):FPGA配置存储;MicroBlaze代码存储/映射;7)16字符-2线式LCD显示屏;8)PS/2鼠标或键盘接口;9)VGA显示接口;10)10/100以太PHY(要求FPGA内部具有以太MAC);11)2个9-管脚的RS-232端口(DTE和DCE两种类型);12)FPGA/CPLD下载/调试USB接口;13)50Hz时钟晶振;14)1线式的SHA-1位流复制保护串行EEPROM;15)Hirose FX2扩展连接口;16)3个管脚扩展连接器;17)4个SPI-DAC转换器输出管脚;18)2个SPI带可编程增益ADC输入管脚;19)ChipScope™软件调试接口;20)带按钮的旋转编码器;21)8个单独的LED输出;22)4个滑动开关;23)4个按钮开关;24)SMA时钟输入;25)8管脚插槽辅助晶振 Design Trade-Offs Configuration Methods Galore! FPGA的一个典型应用就是使用单永久性存储器来存储配置信息。为了说明新的Spartan-3E的性能,入门实验板有3个不同的配置存储源,这需要一起正确使用。额外的配置功能使入门实验板比典型的Spartan-3E应用更复杂。 入门实验板包括JTAG可编程USB接口。片上的线路简化了器件的编程过程。在典型的应用中,JTAG编程硬件在片外或在一个单独的编程模块上,如XILINX USB电缆平台。 Voltages for all Applications 入门实验板利用TI公司的TPS75003芯片(专门为Spartan-3E的FPGA提供电源)作为三态输出调整仪。该调整仪适用多种FPGA的应用。但是,入门实验板包括DDR SDRAM,这需要它自身快速的电流来供给。简单地说,带USB接口的JTAG下载方式解决了需要单独配备1.8V电源的问题。 Chapter 2: Switches, Buttons, and Knob Slide Switches Locations and Labels 入门实验板具有4个滑动开关,如图2.1所示。 Operation 当开关关上或上拉时, FPGA的管脚连接3.3V电源,即逻辑高电平。断开或下拉时,FPGA管脚接地,逻辑低电平。一般开关的机械闭合时间为2ms,这里没有使用活动的回弹线路,尽管这种线路可以很容易地加到FPGA上。 UCF Location Constraints 图2.2为4个滑动开关提供了UCF约束、I/O口分配和I/O口。这里没有用到上拉电阻。但是,当开关处于中间转换位置时,它被定义为输入。 Push-Button Switches Locations and Labels 入门实验板有4个瞬时按钮开关,如图2.3所示。BTN_NORTH、BTN_EAST、BTN_SOUTH、and BTN_WEST。 注:a 所有的BTN_*按钮输入需要内部的下拉电阻;b 在一些FPGA应用中BTN_SOUTH作为软复位使用。 Operation 按下按钮,FPGA接到3.3v电源,如图2.4。没有按下时,鉴于内部下拉电阻的原因,FPGA管脚产生一个逻辑低电平。图2.5说明了怎样去定义下拉电阻的UCF。这里按钮上没有活动的回弹线路。 在一些应用中,BTN_SOUTH按钮开关充FPGA选择复位功能的软复位。 UCF Location Constraints 图2.5为4个按钮开关提供了UCF约束、I/O口分配和I/O口标准。并为每个输入管脚定义下拉电阻。 Rotary Push-Button Switch Locations and Labels 如图2.3所示,旋转按钮处4个分开的按钮的中间。该开发产生3个输出:2个轴状编码输出ROT_A和ROT_B。中心的按钮是ROT_CENTER。 Operation 旋转按钮有2个不同的功能。只要轴柄一转,按钮就旋转并输出值。该轴也可以按下,和按钮开关一样。 Push-Button Switch 按下握柄或按钮,则FPGA接通3.3V,如图2.6所示。使用内部的下拉电阻产生低电平。图2.9说明了怎样去定义UCF的下拉电阻。这里按钮上没有活动的回弹线路。 Rotary Shaft Encoder 首先,旋转编码更像是个连接到中心的凸轮。旋转轴柄可操作两个按钮开关,如图2.7所示。 选择一个开关连接地,产生低电平。当开关开时,FGPA内部的上拉电阻将该信号拉为高电平。图2.9是对其UCF约束的描述,怎样去定义上拉电阻。 FPGA电路很方便地译码A和B的输入信号,但考虑到开关的机械特性,转换时会产生输入噪音。如图2.8所示,噪音错误地额外的旋转事件或甚至报告旋转相反的方向。 UCF Location Constraints Discrete LEDs Locations and Labels 入门实验板在滑动开关的上面有8个独立的贴片LED。 Operation LED一端接地,另一端通过390欧的限流电阻接到Spartan-3E上。亮一个LED,向相应的控制位置高。 UCF Location Constraints Chapter 3: Clock Sources Overview 图3.1所示,入门实验板支持3个主时钟输入源。 1)包括一个50MHz的时钟晶振 2) 通过SMA连接器,时钟可以板外供应。反之,FPGA也可以提供时钟信号或其它高速信号给SMA连接器 3)分列式8-DIP时钟晶振插槽 Clock Connections 每个时钟的输入直接连到Bank0的输入全局缓冲I/O。表3.1所示,每个时钟输入也可以连接到相应的DCM。 Voltage Control FPGA的I/O Bank0的供给电压由跳线JP9控制。因此,这些时钟源也是由JP9控制的。默认情况下,JP9置为3.3v。板上的晶振是3.3V的,如果JP9为2.5V,晶振的工作有可能达不到预期的效果。 50 MHz On-Board Oscillator 50MHz的晶振占空比为40%~50%之间。其精度为±2500Hz或±50ppm。 Auxiliary Clock Oscillator Socket 如果FPGA需要除了50MHz外的频率,可以使用该8管脚的插槽。另外,也可以使用FPGA的DCM来产生,或者从板上的50MHz晶振结合其它频率来获得。 SMA Clock Input or Output Connector 连接输入时钟信号到SMA连接器可以从外部提供一个时钟。FGPA也可以在SMA上产生一个单端的时钟输出信号或高速信号给外部器件。 UCF Constraints Location Clock Period Constraints Chapter 4: FPGA Configuration Options 入门实验板支持多种FPGA的配置方法: 通过JTAG、USB接口直接将设计下载到FPGA。板上的USB-JTAG逻辑也提供对Platform Flash PROM 和 Xilinx XC2C64A CPLD的在线编程。 对板上的4 Mbit Xilinx XCF04S serial Platform Flash PROM进行编程,然后采用主串行模式对Platform Flash PROM上的存储信息配置到FPGA。 对板上的16 Mbit ST Microelectronics SPI serial Flash PROM进行编程,然后采用SPI模式对SPI serial Flash PROM上的存储信息配置到FPGA。 对板上的128 Mbit Intel StrataFlash parallel NOR Flash PROM进行编程,然后采用BPI Up或BPI Down对StrataFlash parallel NOR Flash PROM上的存储信息配置到FPGA。接着,可以采用Spartan-3E FPGA’s MultiBoot 模式以两种不同的配置方式对一个FPGA进行轮流下载。 图4.1给出了USB下载/编程接口和永久存储器的位置。图4.2是多种配置方式的一些细节内容。 当上电或PROG按钮被按下时,跳线的配置方式决定了FPGA采用哪种配置方式。 当FPGA成功配置时,DONE管脚的LED亮。 4 Mbit Xilinx Platform Flash PROM为FPGA的JTAG提供了一个简单的可编程配置存储单元。来自Platform Flash PROM的FPGA配置采用主串行模式。 采用BPI Up、BPI Down或MultiBoot配置方式以及StrataFlash parallel Flash PROM对FPGA进行下载时,64-macrocell XC2C64A CoolRunner II CPLD为其提供了额外的存储空间。CPLD 由用户自己编程。 Configuration Mode Jumpers 如表4.1所示,由J30的设置方式来控制FPGA的配置方式。 PROG Push Button PROG按钮,迫使FPGA进行重新配置。只要按下该按钮,FPGA就重新进行配置。 DONE Pin LED 当FPGA成功配置时,DONE管脚的LED亮,如果不亮说明配置失败。 Programming the FPGA, CPLD, or Platform Flash PROM via USB 正如图4.1所示,入门实验板包含了内嵌式USB可编程逻辑和B型连接器的USB接口。通过USB电缆可将其连到主机的iMPACT可编程软件对FPGA、 Platform Flash PROM或CPLD进行直接编程。对于并行或串行的Flash PROM并暂时不支持直接编程。 Connecting the USB Cable 实验板包含一个标准的USB A/B型的电缆,如图4.3所示。 其中,A 型的连接口接到PC上,B型接口接到板上。上电时,Windows操作系统通过安装相应的驱动软件即可识别。 绿色的LED亮表示USB连接正常。 Programming via iMPACT 通过iMPACT和USB电缆将编译成功的FPGA设计下载到FPGA上。 将USB电缆连到板子并给其上电,然后双击Project Navigator 的 Configure Device (iMPACT),如图4.5所示。 只要板连接正确,iMPACT就会自动识别JTAG编程文件,如图4.6所示。如果没有即使识别出来,可以点击连接链的第一个芯片,然后右击FPGA,选择Assign New Configuration File,如图4.6所示。 如果FPGA的源配置文件采用默认的启动时钟——CCLK,iMPACT会给出警告提示,如图4.7。该警告可以忽略。采用JTAG下载时,iMPACT 必须的启动时钟必须改为TCK JTAG时钟源。 开始编程FPGA,右击FGPA,选择Program。IMPACT在编程时会自动报告进程状态。编程时间的长短取决于USB的接口 和IMPACT的设置。 当FPGA编程成功时,IMPACT会显示成功,如图4.9所示。此时,可以在板上执行FPGA了,还有DONE管脚点亮。 Programming Platform Flash PROM via USB 板上的USB-JTAG同样可以对Xilinx XCF04S serial Platform Flash PROM进行编程。以下是如何产生PROM文件和如何下载到FPGA上的步骤。 Generating the FPGA Configuration Bitstream File 在产生PROM文件之前,要先生成FPGA位流文件。从外部的PROM下载到它自身时,FPGA提供了一个输出时钟—CCLK。FPGA内部的晶振CCLK的振动频率较慢,大约1.5MHz。大多数的外部PROM支持高频率时钟。增加CCLK的频率等同于减少FPGA的配置时间。Xilinx XCF04S Platform Flash支持25 MHz的CCLK频率。如图4.10所示。 接着如图4.11所示进行相应的操作。 接下来如图4.12所示。 Generating the PROM File 产生程序文件之后,进行如图4.13所示的操作。 启动IMPACT之后,双机PROM File Formatter,如图4.14所示。 接下来如图4.15、4.16、4.17、4.18进行相应的操作。 PROM成功配置后,IMPACT显示位流文件占用PROM的存储空间,如图4.19所示。 要生成可执行PROM文件,点击Operation/Generate File,如图4.20所示。 IMPACT将指出PROM文件成功产生,如图4.21所示。 Programming the Platform Flash PROM 下面是通过USB-JTAG连接电路将PROM文件编程到Platform Flash PROM的简要步骤。具体如图4.22~4.25所示。 在编程之前,如图4.26选择编程选项。检查Erase Before Programing选项,在编程之前完全擦除Platform Flash PROM,确保没有残余数据。Verify选项用来检查PROM正确编程和匹配下载配置位流文件。一般推荐这两个选项,即使是增加编程时间。 Load FPGA选项在Platform Flash PROM编程后立即强制重新配置FPGA。FPGA的配置模式必须选主串行模式(见表4.1),点击OK完成。 IMPACT会指出编程成功与否。如果编程成功而Load FPGA选项没有检查,按下PROG_B按钮空开关强制FPGA从Platform Flash PROM重新进行配置。如果FPGA成功配置,DONE LED 点亮。 Chapter 5 Character LCD Screen Overview 入门实验板显著的特征是2线16字符液晶显示器LCD。尽管LCD支持8位的数据接口,为了与其它的XILINX的开发板保持兼容并且尽可能减少针脚数,FPGA仅通过4位的数据接口线控制LCD,如图5.1所示。 LCD通过使用ASCII标准和自定义字符可以有效地显示多种信息。但是,这些显示速度并不是很快。每半秒扫描一次以测试实际清晰度的界限。与50MHz时钟频率相比,这样的显示速度是慢的。PicoBlaze 处理器可以有效地控制显示时间和显示内容。 Character LCD Interface Signals 表5.1给出了字符LCD接口的接口信号。 Voltage Compatibility 字符LCD的供电电压是+5V。FPGA的I/O口信号的电压是3.3V。但是,FPGA的输出电平是通过LCD来识别是有效的低电平还是高电平。LCD控制器接收5V TTL信号电平,FPGA输出3.3V的LCMOS以满足5V TTL电压要求。 数据线上的390欧串联电阻,当LCD驱动一个逻辑高电平时,其用来防止了FPGA和SrtataFlsah I/O管脚的超负载。当LCD_RW为高时,LCD驱动数据线。在绝大多数应用中,LCD作为只读外围设备,几乎没有从显示器读数据。 Interaction with Intel StrataFlash 如图5.1所示,4根LCD数据线与StrataFlash 数据线SF_D<11:8>复用。正如表5.2所示,LCD/StrataFlash 存储器依赖于设计而交互使用。当存储器失能时(SF_CE0=1),FPGA用作全读/写通道给LCD。相反,当LCD读失能时(LCD_RW=0),FPGA用作全读/写通道给存储器。 要是StrataFlash 存储器为字节宽度×8模式(SF_BYTE=0),FPGA作为全同步读/写通道给LCD和存储器。在字节模式下,存储器没有用到SF_D<15:8>数据线。 UCF Location Constraints LCD Controller 该2×16字符LCD内嵌一个Sitronix ST7066U图形控制器。其功能与下面几个一样:Samsung S6A0069X or KS0066U、Hitachi HD44780和SMOS SED1278。 Memory Map 该控制器有三个内部存储空间,每个都有专门用途。送数据给这些空间之前必须初始化。 1)DD RAM 显示数据RAM(DD RAM)存储字符编码。绝大多数应用中,都是与DD RAM相结合的。存储在DD RAM中的字符编码所涉及的特定的字符位图要么存在CG ROM字符设置中,要么存在用户自定义的CG RAM的字符设置中。 图5.3给出了显示器32位字符位置的默认地址。字符的最上行存储在地址0X00与0X0F之间。第二行的字符存储在地址0X40与0X4F之间。 从物理上讲,DD RAM一共有80个字符位置,每行有40个字符。位置0X10到0X27和0X50到0X67之间的地址用来存储其它非显示数据。此外,这些位置也可以存储只有使用控制器的显示移位功能才能显示的字符。 往DD RAM读或写之前,DD RAM 地址命令得初始化地址计数器。写DD RAM数据使用写数据到CG RAM 或DD RAM命令,读DD RAM 使用从CG RAM或DD RAM命令读数据。 DD RAM地址计数器要么在读或写之后保持常数,要么自动增加1或自动减1。 2) CG ROM 字符产生器ROM(CG ROM)包括每个事先定好的字符的字体位图,这样LCD屏才能显示,如图5.4。字符编码存储在DD RAM 中,每个字符的位置与CG ROM的位置按顺序对应。例如,0X53的一个16进制的字符编码存储在DD RAM中的位置显示字符是“S”。0X53最上面的轻咬位(高半位)等同于DB[7:4]=0101和最低的轻咬位(低半位)等同于DB[3:0]=0011。如图5.4所示,字符“S”就显示在屏幕上了。 英语/罗马字符存储在CG ROM相应的ASCII编码地址中。 字符ROM存储ASCII英文字符和日本字符。 控制器同样提供了8位自定义字符位图,存储在CG RAM中。这些8位的自定义字符编码显示时存储在DD RAM 的0X00与0X07之间。 3)CG RAM 字符产生器RAM(CG RAM)提供空间给8位的自定义字符位图。每个自定义字符位由8行位图的5个点组成,如图5.5所示。 往CG RAM读或写之前CG RAM 地址命令得初始化地址计数器。写CG RAM数据使用写数据到CG RAM 或DD RAM命令,读CG RAM 使用从CG RAM 或DD RAM命令读数据。CG RAM地址计数器要么在读或写之后保持常数,要么自动增加1或自动减1。 图5.5举了个例子,产生一个特殊的西洋跳棋盘字符。自定义字符存储在第四CG RAM字符位置中,当DD RAM的位置是0x03时,其显示。写自定义字符时,使用设置CG RAM地址命令初始化CG RAM地址。前三行的地址位对应自定义字符位。后三行位对应字符地址的行地址。写数据到CG RAM 或DD RAM命令用来写每个字符位行。“1”表示点亮。“0”表示熄灭。只有低5位的数据被用到。高三位的数据与位置无关。第8行的数据位一般为0以适于指针之用。 Command Set 表5.3简要的说明了LCD控制器的命令和位的定义。由于该显示屏是4位操作,每8位命令被送到2个4位的轻咬位(2个半位)。高半位先送,低半位后送。 1)​ 失能 如果LCD_E使能信号为低,所有其它输入LCD信号全被忽视。 2)清屏 清屏后指针返回到原始位置——最左上角。该命令写一个空白内容(ASCII/ANSI字符编码为0x20)给所有的DD RAM 地址。DD RAM的0X00地址计数器置0。清除所有的选择设置。I/D控制位置1(地址自动增加模式)。 执行时间:82us~1.64ms 3)返回指针原始位 指针返回原始位——最左上角。DD RAM的内容不受影响。所有的显示被移到原始位,如图5.3所示。DD RAM的0X00地址计数器置0。如果移位,显示返回原始状态。指针或光标移到字符位的最左上角。 执行时间:40us~1.6ms 4)进入模式设置 设置指针移动的方向,并规定是否移动显示。在读和写数据时,这些操作就完成了。 执行时间:40us 在每次写数据给CG RAM或DD RAM或从CG RAM 或DD RAM 读数据后,该位的DD RAM和CG RAM地址计数器要么自动增加1要么自动减少1.指针或光标的位置随之移动。 1)​ 显示关/断 显示关或断,控制所有的字符、指针和指针位置的字符光标。 执行时间:40us 指针使用字符最底行的5个点。指针出现在显示字符的下面。 2)​ 指针和显示移动 移动指针和显示并不改变DD RAM 的内容。移动指针位置或显示往左或往右时并不需要写或读显示数据。 指针的位置功能是为了修改个别的字符,或向左或右滚动窗口来显示存储在DD RAM 中的额外数据,可以移到每行的第16个符。当它移到第一行的第40个字符之处时,指针自动移到第二行。两行的显示移动在同一时间进行。 当显示数据重复移动时,两行水平移动。第二行不会移到第一行。 执行时间:40us 3)​ 功能设置 设置接口数据的长度,每行显示的个数,字符的字体。入门实验板支持单功能设置,其值为0X28。 执行时间:40us 7)设置CG RAM地址 设置CG RAM的初始地址。该命令后,以后所有往显示屏的读或写操作的数据来自或去往CG RAM。 执行时间:40us 8)设置DD RAM 地址 设置DD RAM的初始地址。该命令后,以后所有往显示屏的读或写操作的数据来自或去往DD RAM。 执行时间:40us 9)读忙标志和地址 读忙标志(BF)用来判断内部操作是否在进行,并读当前地址计数器的内容。 BF=1说明内部操作在进行。下个指令不被接收直到BF被清0或直到当前指令达到最大的执行时间。 该命令返回当前地址计数器的值。地址计数器为CG RAM和DD RAM所用。具体内容取决于最新公布的设置CG RAM地址或设置DD RAM设置命令。 执行时间:1us 10)写数据给CG RAM或DD RAM 要是该命令在设置DD RAM 地址命令之后,则写数据给DD RAM;或是该命令在设置CGRAM 地址命令之后,则写数据给CGRAM。根据进入设置模式,在写操作之后,地址自动加1或自动减1。进入设置模式同样决定显示移动。 执行时间:40us 11)从CG RAM或DD RAM读数据 要是该命令在设置DD RAM 地址命令之后,则从DD RAM读数据;或是该命令在设置CGRAM 地址命令之后,从CG RAM读数据。根据进入设置模式,在写操作之后,地址自动加1或自动减1。进入设置模式同样决定显示移动。 执行时间:40us Operation Four-Bit Data Interface 该板使用4位数据接口给字符LCD。图5.6说明了向LCD写操作建立、保持允许的最小时间以及使能脉冲对时钟(50MHz 或T=20ns)的偏移时间。 DF_D<11:8>的数据值,寄存器选择信号(LCD_RS)以及读/写(LCD_RW)控制信号必须建立并在使能信号LCD_E转向高电平之前至少稳定40ns。使能信号必须保留高电平230ns或更长时间——等于或超过12时钟周期(50MHz)。 在许多应用中,LCD_RW信号可以永远置低,因为FPGA一般不会从显示屏读取数据。 Transferring 8-Bit Data over the 4-Bit Interface 在初始化显示屏和建立通信之后,所有的命令和数据以8位形式传送给字符显示屏——用2个连续的4位传送。每个8位传送必须分为2个4位,其间隔时间至少1us,如图5.6所示。先传高半位,再传低半位。一个8位的写操作在下个通信之前必须间隔至少40us。在清屏命令之后,该延时必须增至1.64ms。 Initializing the Display 上电后,显示屏必须初始化建立所需的通信。该初始化步骤简单,完全适合高效的8位PicoBlaze 嵌入式控制器。初始化之后,PicoBlaze 控制器除了简单驱动显示屏外,还用来更为复杂的控制或计算。 1)​ 上电初始化 初始化的第一步骤是建立FPGA与LCD的4位的数据接口,具体如下: A:等待15ms或更长,尽管FPGA完成配置后显示屏一般处于准备就绪状态。在50MHz时,15ms时间等于750000时钟周期。 B:写SF_D<11:8>=0x3,LCD_E保持高电平12时钟周期。 C:等待4.1ms或更长,即在50MHz时,205000时钟周期。 D:写SF_D<11:8>=0x3,LCD_E保持高电平12时钟周期。 E:等待100us或更长,即在50MHz时,5000时钟周期。 F:写SF_D<11:8>=0x3,LCD_E保持高电平12时钟周期。 G:等待40us或更长,即在50MHz时,2000时钟周期。 H:写SF_D<11:8>=0x2,LCD_E保持高电平12时钟周期。 I:等待40us或更长,即在50MHz时,2000时钟周期。 2)​ 显示屏配置 上电初始化完成后,4位的数据接口就建立了。下一步就是配置显示屏了: A:发一个功能设置命令,0x28,配置显示屏。 B:发一个进入模式命令,0X06,设置显示屏自动增地址指针。 C:发一个显示开/断命令,0x0c,开显示屏并失能指针和光标。 D:最后,发清屏命令,此后等待至少1.64ms(82000时钟周期)。 Writing Data to the Display 写数据给显示屏,指定初始地址,紧接着是一个或多个数据值。写任何数据之前,发送一个设置DD RAM地址命令给DD RAM中指定的初始7位地址。见图5.3所示。 使用写数据给显示屏使用CG RAM 或DD RAM命令。8位数据值通过查表地址送给CG ROM或CG RAM,如图5.4所示。CG ROM 或CG RAM中存储的位图驱动5×8点阵给相应的字符。 如果地址计数器配置为自动增1,正如前面所说的,这种应用方法可以次序写多个字符编码,每个字符自动存储并显示在下个位置。 继续写字符,但是,在第一显示行的最后停止。剩余的数据不会自动在第二行显示,因为DD RAM的映射从第一行到第二行并不是连续的。 Disabling the Unused LCD 如果FPGA的应用不使用LCD显示屏,置低LCD_E管脚,失能它。同样,置低LCD_RW管脚,阻止LCD屏回传数据。 Chapter 6:VGA Display Port 入门实验板通过DB15连接器输出一个VGA显示端口。该端口通过标准的监视电缆直接连到PC监视器或平板LCD上。如图6.1所示,VGA连接器在板上的最左端。 FPGA通过串联电阻直接驱动5个VGA信号。每个颜色信号串一个电阻,每位的颜色信号分别是VGA_RED、VGA_BLUE、VGA_GREEN。每个电阻与终端的75欧电缆电阻相结合,确保颜色信号保持在VGA规定的0V~0.7V之间。VGA_HSYNC和VGA_VSYNC信号使用LVTTL或LVCMOS3I/O标准驱动电平。通过VGA_RED、VGA_BLUE、VGA_GREEN置高或低来产生8中颜色,如表6.1所示。 VGA信号的时序由视频电气标准委员会(VESA)规定。以下提供的VGA系统和时序信息作为例子来说明FPGA在640×480模式下是如何驱动VGA监视器的。 Signal Timing for a 60 Hz, 640x480 VGA Display VGA显示器基于CRT,使用调幅模式,移动电子束(或阴极射线)在荧光屏上显示信息。LCD使用矩阵开关给液晶加压,在每个像素点上通过液晶来改变光的介电常数。尽管下面的描述仅限于CRT,LCD已经发展到可以同CRT使用同样的时序信号了。因此,下面的讨论均适合CRT和LCD。 在CRT显示器中,电流的波形通过蹄形磁铁产生磁场,使得电子束偏转,光栅在显示屏上横向显示,水平方向从左至右,垂直方向从上至下。如图6.2所示,当电子束向正方向移动时,信息才显示,即从左至右、从上至下。如果电子束从后返回左或顶边,显示屏并不显示任何信息。在消隐周期——电子束重新分配和稳定于新的水平或垂直位时,丢失了许多信息。 显示协议定义了电子束的大小以及通过显示屏的频率,该频率是可调的。 现在的VGA显示屏支持多种显示协议,VGA控制器通过协议产生时序信号来控制光栅。控制器产生同步脉冲TTL电平来设置电流通过偏转磁铁的频率,以确保像素或视频数据在适当的时间送给电子枪。 视频数据一般来自重复显示存储器中一个或多个字节——它们被分配到每个像素单元。入门实验板使用每个像素中的3位,产生表6.1中可能的一种颜色。控制器指定视频数据缓冲器以备电子束通过显示屏。然后,控制器接收并利用视频数据在适当的时间显示,电子束移动到指定的像素点。 根据图6.2所示,VGA控制器产生水平同步时序信号(HS)和垂直同步时序信号(VS),调节在每个像素时钟视频数据的传送。像素时钟定义了显示像素信息的有效时间段。VS信号定义显示的更新频率,或刷新屏幕信息的频率。最小的刷新频率是取决于显示器的亮度和电子束的强度,实际频率一般在60~120Hz之间。给定的刷新频率的水平线的数量定义了水平折回频率。 VGA Signal Timing 表6.2的时序信号是640×480,像素时钟25Mhz,刷新频率60Hz±1。图6.3说明了每个时序的联系。同步脉冲的时序宽度(TPW)和前后门拱的间隔TFP和TBP)基于观察多种VGA的显示屏的结果。前后门拱的间隔是前后同步脉冲时间。在这些时段信息不能显示。 一般来说,时钟计数器通过像素时钟来控制水平时序信号。译码计数器的值产生HS信号。在指定的行,计数器产生当前像素显示的位置。 一个独立的计数器产生垂直时序信号。垂直同步计数器在每个HS脉冲信号来临时自动加1,译码值产生VS信号。计数器产生当前显示行。这两个计数器从地址到显示缓冲器连续计数。例如,入门实验板的DDR SDRAM 提供了一个足够的显示缓冲区。 在HS脉冲的开始和VS脉冲的开始没有具体规定相对的时序关系。因此,计数器被分配到简单格式的视频RAM地址,或分配到同步脉冲产生器的最小译码逻辑。 UCF Location Constraints 图6.4提供了VGA显示端口的UCF约束,包括I/O口管脚分配和I/O口使用标准,输出摆率和输出驱动电流。 Chapter 7:RS-232 Serial Ports Overview 图7.1所示,入门实验板有2个RS-232串口:母口DB9 DCE和公口DTE连接器。DCE口通过标准的串口电缆直接连到PC和工作站上。没有经过调制解调器或交换电缆不能用。 DTE连接器用来控制其他的RS-232外围设备,如调制解调器、打印机或通过DCE连接器完成简单的环回测试。 图7.1给出了FPGA和2个DB9连接器之间的连接。FPGA使用LVTTL或LVCMOS电平提供串行数据给Maxim 器件——用来电平转换的,以满足RS-232电压的电平。反之,Maxim 器件转换相应的LVTTL电平以满足RS-232串行输入数据给FGPA。在Maxim与FPGA的RXD管脚之间串联一个电阻,以保护外部逻辑干扰。 连接器不支持硬件流控制。DCD、DTR和DSR信号连接一起,如图7.1所示。同样,端口的RTS和CTS信号连接在一起。 UCF Location Constraints 图7.2和7.3 分别为RS-232的DTE和DCE端口提供了UCF约束,包括I/O口管脚分配和I/O口使用标准。 Chapter 8 PS/2 Mouse/Keyboard Port 入门实验板包括一个PS/2的鼠标/键盘接口和标准的6管脚微DIN连接器——J14。图8.1给出了PS/2连接器,表8.1给出了连接信号。只有连接器的管脚1和5连到FPGA。 PC鼠标和键盘都采用2-线PS/2串行总线与主机进行通信,本入门实验板就属于此种情况。PS/2总线包括时钟和数据线。鼠标和键盘通过识别信号的时序来驱动总线,它们均采用11位的字包括一个起始位、停止位和奇检验位。但是,鼠标和键盘的数据包打包方式不同。此外,键盘允许双向数据交换,所以主机可以点亮键盘的状态灯。 表8.2和图8.2说明了PS/2总线的时序。只有当数据转换发生时,时钟和数据信号才被驱动,否则,它们以高电平的形式处于空闲状态。时序定义了鼠标与主机通信的信号要求或键盘与主机的双向通信。图8.2所示,当时钟信号是高电平使,敲击键盘或鼠标时往数据线写1位字,在时钟低电平时,主机PC读该数据线。 Keyboard 键盘使用开集式驱动方式,这样键盘或主机均可以驱动2-线总线。如果主机无需传送数据给键盘,则可以单线输入方式。 PS/2式键盘采用扫描式编码来获取按键的数值。如今几乎所有的键盘都采用PS/2式。每个按键被按下时,都会产生一个独立的扫描码信号。按键的扫描码见图8.3。 如果按键按下并且按住不放,键盘则每隔100ms重复发送扫描码信号。当按键释放时,键盘在扫描码之后发送一个“F0”。不管有没有按下SHIF键,键盘都发送同样的字符扫描码。 一些扩展键,按下时在扫描码之前发送一个“E0”,而且它们可能会发送多于一个的扫描码。当一个扩展键释放时,在扫描码之后发送一个“E0 F0”。 主机可以发送命令和数据给键盘。表8.3提供了一些常用的命令。 只有在空闲状态,数据线和时钟线均为高时,键盘才发送数据或命令给主机。 由于总线控制器是主方,在驱动总线之前,由键盘检查主方是否正在发送数据。时钟线可以用作清除发送信号线。如果主方将时钟线置低,直到时钟线被释放,键盘才能发送数据。 键盘以11位字(包括0起始位,接着是8位的扫描码(最低位LSB先传),再接着是奇校验位和终止位1)发送数据给主机。当键盘发送数据时,它大约以20~30KHz的频率产生11个时钟周期的传送时间。在时钟的下降沿数据有效,如图8.2所示。 Mouse 鼠标移动时产生一个时钟和数据信号,否则,这些信号保持高电平,说明处于空闲状态。鼠标每次移动,都发送11位字给主机。每个11位的字包括起始位0,8位的扫描码(最低位LSB先传),奇校验位和终止位1。每个传送的数据总共包括33位,即第0、11、22位是起始位0,第10、21、32位是终止位1。三个数据域所包含的数据如图8.4所示。在时钟的下降沿数据有效,其时钟周期大约为20~30KHz。 PS/2式鼠标采用关联坐标体系,见图8.5。鼠标右移时,X域产生一个正值,左移时,产生负值。同理可得,鼠标上移时,Y域产生一个正值,下移时,产生负值。XS位和YS位为每个值的状态位,1表示负值。 X和Y值的大小代表鼠标移动速度的快慢。值越大,移动越快。状态字节的XV和YV位表示鼠标超出最大值,溢出。1表示溢出。此时如果鼠标继续移动,则第33位每隔50ms重复发送一次。 状态字节的L和R域代表左右键按下。1表示相应键按下。 Voltage Supply 键盘的供给电压是5V,而入门实验板的器件并不能承受5V电压,所以通信时串了个限流电阻,如图8.1所示。 UCF Location Constraints Chapter 9 Digital to Analog Converter (DAC) 入门实验板包括一个兼容SPI,4通道,串行数字-模拟转换器(DAC)。该DAC器件是个线性工艺LTC2624-12位的。4个输出连到J5接头——使用Digilent 6管脚的外设模数格式。 SPI Communication 图9.2所示,FPGA通过SPI与DAC的输出通道进行数据通信。SPI总线是全双工、同步、定向通道——采用简单的4线接口。在本例中,FPGA作为主总线使用,驱动数据时钟信号(SPI_SCK)和传送串行数据(SPI_MOSI)给从数据线——本例为DAC。与此同时,从数据线提供串行数据(SPI_MISO)回传给主数据线。 Interface Signals 表9.1列出了FPGA 与DAC 之间的接口信号。SPI_MOSI、SPI_MISO和SPI_SCK信号与其它的器件复用SPI总线。DAC_CS信号低电平有效送给DAC。DAC_CLR信号低电平有效,同步复位送给DAC。 从DAC输出的串行数据主要送给多个DAC。在多数应用中,该信号可以被视,尽管它可以使用SPI总线的全双工方式通信。 Disable Other Devices on the SPI Bus to Avoid Contention 板上的SPI总线与其它器件复用。当FPGA与DAC进行数据通信时,要失能其它的器件,这点很重要,以避免总线冲突。表9.2提供了失能其它器件的信号与逻辑值。尽管StrataFlash PROM是个并行器件,它的最低数据位还是和和SPI_MISO信号线复用。 SPI Communication Details 表9.3说明了SPI总线时序的具体应用。每位的传输与接收均相对于SPI_SCK时钟信号。总线完全是静态的并支持最高的50MHz。但是,在最高速或接近最高速时,请使用LTC2624数据手册检查时序。 在从片选信号DAC_CS置低后,FPGA用SPI_MOSI信号传送数据,MSB位先传。LTC2624在SPI_SCK的上升沿采集输入数据(SPI_MOSI)。相对于时钟信号的上升沿,数据的有效时间至少是4ns。 LTC2624在SPI_SCK的下降沿采集输入数据(SPI_MISO)。FPGA在下个SPI_SCK的上升沿采集该数据。FPGA必须在DAC_CS变低后的SPI_SCK的第一个上升沿读取第一个SPI_MISO的值。否则,31位会丢失。 传完所有的32位数据后,FPGA完成SPI总线处理,置从片选信号DAC_CS为高。在高电平即去时,DAC内部开始进行数-模转换。 Communication Protocol 图9.4说明了LTC2624 DAC接口所需的通信协议。DAC支持24位和32位协议。32位的协议如下所示。在D/A转换器的内部,SPI接口由32位的移位寄存器组成。每个32位的指令字随在数据值之后组成一条指令,一个地址。随着新指令进入DAC,前32位指令字回送给主器件。从DAC回应回的信息可以被忽视,尽管它对确认正确的通信有用。 FPGA首先传送8个无效位或无关位,随后是4位的命令。最普通的使用命令是COMMAND[3:0]=0011,这指的是立即更新DAC的输出数据值。随后,FPGA通过4位的地址域选择一个或所有的输出通道。地址域之后,FPGA发送12位无符号数据——DAC转换成模拟值并输出到相应的输出端。最后,4个额外的无效位或无关位紧随在32位命令字之后。 Specifying the DAC Output Voltage 如图9.2所示,每个DAC输出电平与12位的无符号数字值D[11:0]相一致,FPGA经由SPI接口写给DAC。 电压的输出见等式9.1。参考电压VREFERENCE在4个输出通道之间有所差异。通道A和通道B的参考电压是3.3V,通道C和通道D是2.5V。参考电压本身有±5%的波动,所以输出电压会有相应的轻微波动。 DAC Outputs A and B 等式9.2提供了DAC输出通道A和B的输出电压。参考电压为3.5V±5%。 DAC Outputs C and D 等式9.3提供了DAC输出通道C和D的输出电压。参考电压为2.5V±5%。 UCF Location Constraints Chapter 10: Analog Capture Circuit 入门实验板包括一个双通道的模拟信号采集电路,由可编程缩放预放大器和模-数转换器(DAC)组成,如图10.1所示。 模拟信号采集电路由线性工艺LTC6912-1可编程预放大器构成,其可以缩放从J7输入的模拟信号,如图10.2所示。预放大器的输出连接到线性工艺LTC1407A-1 ADC。预放大器和ADC由FPGA连续编程或控制。 Digital Outputs from Analog Inputs 采集电路通过VINA和VINB端口转换模拟电压,并用相应的14位数字表示,D[13:0],见等式10.1。 增益(GAIN)是当前设置的,并送给可编程预放大器。增益可以设置成多种值,VINA和VINB允许多种输入值,具体见表10.2所示。 放大器和ADC的参考电压是1.65V,一般由图10.2的分压电路产生。因而,1.65V是输入电压减去VINA或VINB得到的。 ADC的最大波动范围是±1.25V,中点在参考电压1.65V附近。因此,1.25V出现在分母上以缩放模拟输入信号。 最后,ADC输出一个14位-2个辅助数字输出值。14位-2个辅助数字代表的值 之间。因此,其分点的数量为8192。 Programmable Pre-Amplifier LTC6912-1提供2个独立的可编程增益转换放大器。放大器的目的是缩放VINA或VINB的输入电压。DAC的最大转换范围是1.65±1.25V。 Interface 表10.1列出了FPGA和SPI_MOSI、SPI_MISO和SPI_SCK(这三个信号与其它器件复用SPI总线)之间的接口信号。AMP_CS是送给放大器的低电平有效的片选信号。 Programmable Gain 每个模拟通道有一个对应的可编程增益放大器,见图10.2。模拟信号出现在连接J7的VINA或VINB输入端口,其放大是相对于1.65V的。 每个放大器的增益的编程范围是-1~-100,见表10.2。 SPI Control Interface 图10.3给出了基于SPI的与放大器的通信接口。每个放大器的增益设置成8位的命令字,由2个4位的部分组成。最高位B3先送。 从放大器输出的AMP_DOUT响应原先的增益设置。在大多数应用中,该值可以被忽视。 当FPGA声明AMP_CS为低时,SPI总线开始进行数据传输,见图10.4。放大器在SPI_SCK时钟信号的上升沿采集SPI_MOSI的串行数据。放大器在SPI_SCK的下降沿通过AMP_DOUT输出串行数据。 放大器接口的速率相对较低,支持10MHz的时钟频率。 UCF Location Constraints Analog to Digital Converter (ADC) LTC1407A-1提供两个ADC。当AD_CONV信号有效时,这两个模拟输入端口同时进行采样。 Interface 表10.3列出了FPGA和ADC的接口信号。SPI_MOSI、SPI_MISO和SPI_SCK这三个信号与其它器件复用SPI总线。送给DAC的从片选信号DAC_CS低电平有效。DAC_CLR异步复位信号低电平有效。 SPI Control Inter
/
本文档为【FPGA-3E】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索