的管脚主要包括:用户I/O(User I/O)、配置管脚、电源、时钟及特殊应用管脚等。其中有些管脚可有多种用途,所以在设计

  I/Onum(LVDSnumn):可用作输入或输出,或者双向口,同时可作为LVDS差分对的负端。其中num表示管脚序号。

  一般在绘制FPGA原理图时,将同一种功能和用途的管脚放在一个框图中,如图2.3所示是用户I/O的原理图。

  MSEL[1..0]:用于选择配置模式。FPGA有多种配置模式,比如主动、被动、快速、正常、串行、并行等,可以此管脚进行选择。

  nCSO(I/O):FPGA片选信号输出,连接至配置器件的nCS管脚。

  ASDO(I/O):FPGA串行数据输出,连接至配置器件的ASDI管脚。

  nCEO:下载链器件使能输出。在一条下载链(Chain)中,当第一个器件配置完成后,此信号将使能下一个器件开始进行配置。下载链的最后一个器件的nCEO应悬空。

  p):锁相环时钟输入。支持LVDS时钟输入,p接正端,num表示PLL序号。

  n):锁相环时钟输入。支持LVDS时钟输入,n接负端,num表示PLL序号。

  _OUTp(I/O):锁相环时钟输出。支持LVDS时钟输入,p接正端,num表示PLL序号。

  _OUTn(I/O):锁相环时钟输出。支持LVDS时钟输入,n接负端,num表示PLL序号。

  另外,FPGA的管脚中,有一些是全局时钟,这些管脚在FPGA中已经做好了时钟树。使用这些管脚作为关键时钟或信号的布线可以获得最佳性能。

  FPGA是SRAM型结构,本身并不能固化程序。因此FPGA需要一片Flash结构的配置芯片来存储逻辑配置信息,用于进行上电配置。

  以Altera公司的FPGA为例,配置芯片分为串行(EPCSx系列)和并行(EPCx系列)两种。其中EPCx系列为老款配置芯片,体积较大,价格高。而EPCSx系列芯片与之相比,体积小、价格低。

  另外,除了使用Altera公司的配置芯片,也可以使用FlashCPLD的方式去配置FPGA。

  在把程序固化到配置芯片之前,一般先使用JTAG模式去调试程序,也就是把程序下载到FPGA芯片上运行。虽然这种方式在断电以后程序会丢失,但是充分利用了FPGA的无限擦写性。

  所以一般FPGA有两个下载接口:JTAG调试接口和AS(或PS)模式下载接口。所不同的是前者下载至FPGA,后者是编程配置芯片(如EPCSx),然后再配置FPGA。

  SDRAM可作为软嵌入式系统的(NIOS II)的程序运行空间,或者作为大量数据的缓冲区。SDRAM是通用的存储设备,只要容量和数据位宽相同,不同公司生产的芯片都是兼容的。

  一般比较常用的SDRAM包括现代HY57V系列、三星K4S系列和美光MT48LC系列。例如,4M×32位的SDRAM,现代公司的芯片型号为HY57V283220,三星公司的为K4S283232,美光公司的为MT48LC4M32。这几个型号的芯片可以相互替换。SDRAM典型电路如图2.9所示。

  由于ASRAM的读写时序相对比较简单,因此一般使用SRAM作为数据的缓冲,但其成本相对SDRAM高。而且作为异步设备,ASRAM对于时钟同步的要求也不高,可以在低速下运行。ASRAM主要为8位和16位数据宽度,用户可根据需要进行选择。ASRAM的典型电路如图2.10所示。

  Flash可作为软嵌入式系统的程序存储空间,或者作为程序的固件空间。最常使用的是AMD公司或者Intel公司的Flash。在小容量的Flash选择上,AMD公司的Flash性价比较高,而高容量的Flash选择上,Intel公司的Flash性价比较高。

  Flash同样也可以通过设置实现8位和16位的数据位宽,下面是几种典型的Flash应用。

  红色飓风开发板提供了VGA显示功能与接口,可以用普通的VGA电缆连接到计算机的显示器上。VGA 连接器定义如图2.17所示。

  早期的PS/2鼠标及键盘采用5V电压标准,目前的PS/2鼠标及键盘主要采用3.3V电压标准,如图2.19所示的参考电路可以实现对两种标准的兼容。

  第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10kW的电位器调整对比度。

  第4脚:RS为寄存器选择线,高电平时选择数据寄存器低电平时选择指令寄存器。

  第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平、RW为高电平时可以读忙信号,当RS为高电平、RW为低电平时可以写入数据。

  通过开发系统上的USB接口,可以用USB电缆直接将系统与主机(比如PC机)相连。USB接口使用了Cypress公司的CY7C68013芯片来实现,其电路原理图如图2.22所示。

  Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB 2.0的微处理器。它集成了USB 2.0收发器、SIE(智能串行引擎)、增强的8051微控制器和可编程的外围接口。FX2这种独创性结构可使数据传输率达到56MB/s,即USB 2.0允许的最大带宽。

  (1)USB 2.0收发器、SIE(智能串行引擎)和增强性8051微处理器。

  (2)软件运行。8051程序从内部RAM开始运行,可借助下列几种方式进行程序装载。

  C总线上的EEPROM中的第一个字节(0xC0或0xC2)。如果是0xC0,就会使用EEPROM中的VID/PID/DID来替代内部存储值;如果是0xC2,内部逻辑就会把EEPROM中的内容装入到内部RAM中;如果没有检查到EEPROM,FX2就会使用内部存储的描述符来枚举。其缺省值是0x04B4/ 0x8613/ 0xxxyy。

  当首次插入USB时,FX2会通过USB电缆自动枚举并下载固件和USB描述符表。然后FX2将再次枚举,通过下载的信息来定义设备。这两个步骤就叫做重枚举,当设备插入时它们就立即执行。

  FX2的内部数据RAM被分成3个不同的区域:低(LOW)128字节,高(Upper)128字节和特殊功能寄存器(SFR)空间。低128字节和高128字节是通用RAM,SFR包括FX2控制和状态寄存器。

  EP1IN和EP1OUT使用独立的64字节缓冲区,可配置为BULK、INTERRUPT或ISOCHRONOUS传输方式,这两个端点和EP0一样只能被固件访问。这一点与大端点缓冲区EP2、EP4、EP6和EP8不同,这4个端点缓冲区主要用来和片上或片外进行高带宽数据传输而无需固件的参与。EP2、EP4、EP6和EP8是高带宽、大缓冲区,它们可被设置成不同的方式来适应带宽的需求。

  EP2、EP4、EP6和EP8大端点缓冲区主要用来进行高速(480Mbit/s)数据传输。可以通过FIFO数据接口与外部ASIC和DSP等处理器无缝连接来实现高速数据传输。它具有的通用接口有:Slave FIFO或GPIF(内部主)、同步或异步时钟、内部或外部时钟等。

  FX2的中断结构是在一个标准8051单片机的基础上增强和扩展了部分中断资源,中断资源如表2.3所示。

  电源是整个系统能够正常工作的基本保证,如果电源电路设计的不好,系统有可能不能工作,或者即使能工作但是散热条件不好,导致系统不稳定等异常情况。所以如何选用合适的电源芯片,以及如何合理地对电源进行布局布线,都是值得下大功夫研究的。

  常用的芯片复位有MAX708S/706S系列,它们可提供高、低电平两种复位方式和电源监控能力(监控电源电压低到一定程度自动复位)。

  IMP811是一款比较低廉的复位芯片,只有低电平复位功能,但是其体积非常小。

tags: