收藏 分销(赏)

FPGA与数字系统设计:Spartan-3e指南.doc

上传人:二*** 文档编号:4742768 上传时间:2024-10-11 格式:DOC 页数:97 大小:9.30MB 下载积分:5 金币
下载 相关 举报
FPGA与数字系统设计:Spartan-3e指南.doc_第1页
第1页 / 共97页
本文档共97页,全文阅读请下载到手机保存,查看更方便
资源描述
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) 并行NOR Flash (Intel StrataFlash):FPGA配置存储;MicroBlaze代码存储/映射;6)16 Mbits 的 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 必须的启动时钟必须改为JTAG CCLK时钟源。 开始编程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地址计数器要么在读或写之后保持常数,要么自动增加或自动减少。 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地址计数器要么在读或写之后保持常数,要么自动增加或自动减少。 图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位的半位。高半位先送,低半位后送。 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) 显示关/断 显示关或断,控制所有的字符、光标和闪烁位置的字符指针。 执行时间:40us 指针只用到字符底行的5个点。光标出现在显示字符的下面。 2) 光标和显示移动 移动光标和显示并不改变DD RAM 的内容。移动光标位置或显示往左或往右时并不需要写或读显示数据。 光标的位置功能是为了修改个别的字符,或向左或右滚动窗口来显示存储在DD RAM 中的额外数据,可以移到每行的第16个符。当它移到第一行的第40个字符之处时,光标自动移到第二行。两行的显示移动在同一时间进行。 当显示数据重复移动时,两行水平移动。第二行不会移到第一行。(第一行从80~8F;第二行从C0~CF)。 执行时间: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。根据进入设置模式,在写操作之后,地址自动增加或自动减少。进入设置模式同样决定显示移动。 执行时间:40us 11)从CG RAM或DD RAM读数据 如果该命令在设置DD RAM 地址命令之后,则从DD RAM读数据;或是该命令在设置CGRAM 地址命令之后,从CG RAM读数据。根据进入设置模式,在写操作之后,地址自动增加或自动减少。进入设置模式同样决定显示移动。 执行时间: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点阵给相应的字符。 如果地址计数器配置为自动增加,正如前面所说的,这种应用方法可以次序写多个字符编码,每个字符自动存储并显示在下个位置。 继续写字符,但是,在第一显示行的最后停止。剩余的数据不会自动在第二行显示,因为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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服