第3章 CHAPTER 3 开发板资源 3.1Atlys FPGA开发板简介 Atlys FPGA开发板是Digilent公司推出的基于Xilinx Spartan6 LX45 的数字电路开发平台。Digilent公司是一家在FPGA、微处理技术领域具备顶尖设计、制造水平的公司。 Spartan6系列FPGA有很多型号,因此以它为核心的开发板种类也很多,Digilent就有两款基于Spartan6系列FPGA开发板: Atlys和Nexys3。一般来说Nexys3主要针对初学者的入门开发平台,那Atlys有什么优点呢?首先Atlys采用了容量更大的Spartan6 XCSLX45芯片,资源更多,XCSLX45是ISE免费版本WebPACK支持的容量第二位的Spartan6系列 FPGA,性价比也很适合; 其次Atlys配备了各种高端接口包括千兆以太网、HDMI视频输入输出、128MByte DDR2存储阵列、AC97 Codec及USB接口,对于FPGA高级设计和应用是一个不错的选择。 Spartan6系列是Xilinx公司目前主推的低成本、低功耗和高性能相结合的FPGA产品,采用可靠的低功耗45nm 9层金属布线双层氧化工艺技术,最大密度能达到15万个逻辑单元。Spartan6 系列的高性价比特别适合于以消费类为导向的DSP设计以及对成本敏感的嵌入式应用,如在汽车娱乐电子,液晶显示和视频监视解析等方面。 Atlys采用的FPGA主芯片是Spartan6 XC6SLX45,逻辑单元(Logic Cell)高达43661个,见表31。 表31 芯 片 资 源XC6SLX45芯 片 资 源XC6SLX45 LCs43661CMT(时钟管理单元)4 CLB Slices6822MCB(存储管理单元)2 DSP48A158I/O Bank4 Block RAM2088KB最大用户I/O358 Atlys完全支持Xilinx CAD工具,包括ChipScope, EDK以及免费的WebPack版本。同时Atlys支持两种下载编程方式: JTAG和USB。Digilent的Adept软件支持通过USB实现通信和下载程序,快捷方便。特别是Atlys还支持Xilinx 下载工具iMPACT。 Atlys的主要参数见图31。 图31  Xilinx Spartan6 XCSLX45 CSG324 FPGA。  128MByte DDR2 16位宽数据存储。  10/100/1000以太网口及RS232串口。  板载USB2接口,用以编程下载及数据传输。  USBUART及USBHID接口(用于连接键盘/鼠标)。  两个HDMI视频输入端口及两个HDMI输出端口。  AC97编码器,带有线性输入、线性输出、话筒及耳机端口。  实时监测各电源轨上的电流功率。  16MByte ×4 SPI FLASH用以配置FPGA及数据存储。  板载时钟 100MHz CMOS晶振。  48个可扩展I/O接口(一个VHDC接口、一个PMOD接口)。  GPIO包括8个LED,6个按键以及8个拨码开关。 3.2Atlys硬件详细细节 如图32和图33为常用的Atlys开发板实物图及组件分布,其详细功能介绍见表32和表33。 表32 序号实物或组件序号实物或组件 1电源插座 2电源开关 3HDMI输出(J2) 4音频 5HDMI输入(J3) 6千兆网插口 7VHDCI 8复位 续表 序号实物或组件序号实物或组件 9按键 10开关,LED 11PMOD 12HDMI输入(J1) 13Micro USB串口 14A型USB 15Micro USB编程 16JTAG 17FPGA主芯片 18DDR2 SDRAM 19以太网收发器 20音频编解码器 21编程USB控制器 22串口USB控制器 23A型USB控制器 24DC/DC(3.3V 1.8V) 图32 表33 序号实物或组件序号实物或组件 1100MHz时钟 2128KB EEPROM 3128MB配置FLASH 4DC/DC(2.5V 1.2V) 5HDMI中继 6DDR终端稳压 7HDMI D型接口(JA) 8负载开关 图33 3.2.1主芯片Spartan6 XC6SLX45 CSG324 Atlys采用的FPGA芯片为XC6SLX45 CSG324,采用了Chip Scale封装(CSP),尺寸为15mm×15mm。这是LX45最小的一款封装,最大用户I/O只有218个,即只可用109对差分信号。Atlys上的FPGA芯片速度等级为“3C”,这是Spartan6 LX系列器件的最高等级,DDR2控制器速度可达到800Mbps。 芯片运行速度可达500MHz以上,考虑到应用复杂,Atlys开发板在FPGA芯片上装了一个散热块,实测发热量蛮大。 3.2.2FPGA配置 每次断电之后,FPGA的程序是不能保存的,所以上电之后必须重新配置FPGA的程序。 Atlys中的FPGA配置如图34所示。 图34  JTAG接口: FPGA的JTAG接口连接到两个地方,一个是JTAG插座(14脚,2mm针距),一个是USB转JTAG口。我们可以通过USB线或者JTAG电缆从PC下载程序到FPGA,直接下载程序一般格式为.bit或者.svf文件。当然也可以烧录程序到FLASH ROM。  SPI FLASH: 当跳线JP11断开时,上电后FPGA首先从SPI接口FLASH ROM中下载程序。烧录到FLASH ROM中的程序格式一般为.bit、.bin或者.mcs文件。  USB存储器: 当跳线JP11短接时,上电后FPGA首先从USB HID口的USB存储器下载程序,该存储器通过2线串行接口与FPGA相连。在USB存储器中程序格式为.bit文件。 3.2.3电源 Atlys使用外部输入电源供电,同时搭配负载开关,见图35。 图35 5V输入: Atlys上外部输入电源只有一个唯一的电源的输入插座J11,标准的内径2.1mm插座。考虑到Atlys的应用可能耗电比较大,没有再接入USB供电。 负载开关: Atlys使用了一个Fairchild公司的负载开关FDC6330L如图36所示,当电源开关开启时提供5V电压,最大电流2.3A。该5V电压主要为HDMI接口、Audio、USB主控制口以及扩展接口VHDC提供电源。 图36 DC/DC: Atlys上的电源管理芯片都是采用了Linear公司的DC/DC稳压器,为开发版提供各种工作电压包括3.3V、2.5V、1.8V、1.2V以及0.9V,见表34。 表34 电源电路板设备安培(max/typ) 3.3VFPGA I/O,Video,USB ports,Clocks,ROM,AudioIC16: LT35013A/900mA 2.5VFPGA Aux,VHDC,Ethernet PHY I/O,GPIOIC15: LTC35461A/400mA 1.2VFPGA Core,Ethernet PHY coreIC15: LTC35463A/0.8~1.8A 1.8VDDR & FPGA DDR I/OIC16: LT35013A/0.5~1.2A 0.9VDDR Termination Voltage(VTT)IC14: LTC34133A/900mA 3.3V、1.8V: LT3501,双通道降压型DC/DC转换器,产生3.3V工作电压和1.8V DDR工作电压。 2.5V、1.2V: LTC3546,双通道同步降压型DC/DC转换器,产生2.5V电压(用于以太网PHY IO、GPIO以及扩展VHDC等)和1.2V 核电压(FPGA、以太网PHY)。 0.9V: LTC3413,单路同步降压型DC/DC转换器,产生0.9V DDR终端电压。 电流检测: Atlys提供了一个很有趣和实用的功能,利用Linear公司的I2C接口16位数模转换器LTC2481来检测电流值 ,见图37。一共使用了4片芯片来监测3.3V、2.5V、1.8V和1.2V电压通道上的电流,通过I2C接口能够在PC上读取数据值,实时直观显示。通过这个我们能估算开发板的功耗以及掌握各个应用的功耗,很有参考价值。 图37 3.2.4FLASH Atlys上的配置FLASH与FPGA是通过四线SPI接口相连如图38所示,相比单线SPI接口速度更快。 图38 Atlys上的FLASH ROM,板上芯片编号IC13,采用了Micron公司的串行NOR FLASH N25Q128A13ESF40,容量为128MB。一般FPGA配置文件不超过12MB,FLASH的其他空间还可以用来作数据存储。 3.2.5DDR2 SDRAM Atlys上的DDR2 SDRAM和板上芯片编号IC18都采用了Micron公司的MT47H64M16HR25E(或者兼容器件,如尔必达EDE1116AJBG)见图39,容量为64M×16B。其时钟为400MHz,数据读取速率支持DDR2800,因为位宽为16位,最高性能为12.8Gbps。 图39 3.2.6千兆以太网口 Atlys上使用了Marvell公司的千兆以太网(GbE)PHY收发器88E1111 ,如图310所示,板上芯片编号IC8,支持GMII接口(千兆与介质无关接口)。GMII接口支持三种速度模式10/100/1000Mbps。 图310 Xilinx的设计工具中提供了一个三速以太网MAC IP核,在Digilent的BSB支持文件里会自动生成一个千兆以太网MAC的参考应用,不过IP核不是免费的,需要注册。所以要使用上Atlys上的千兆以太网接口不是很容易的。 RJ45接口使用的是HALO公司的连接器HJF111G01E。RJ45连接器上没有LED指示,在接口边有六个LED(8~13)用来指示以太网速度和数据传输方向。 3.2.7HDMI接口 Atlys还有一个特点是它的视频输出不再支持VGA信号,而是采用了如图311所示的HDMI(高清多媒体接口)。总共有4路HDMI接口,详见表35。 图311 表35 HDMI Type A ConnectorsHDMI Type D Pin/SignalJ1: INJ2: OutJ3: INPin/SignalJA: BiDi 1:D2+B12B8J161:HPDJP3* 2:D2_SGNDGNDGND2:RESVCCB2 3:D2-A12A8J183:D2+N5 4:D1+B11C7L174:D2_SGND 5:D1_SGNDGNDGND5:D2-P6 6:D1-A11A7L186:D1+T4 7:D0+G9D8K177:D1_SGND 8:D0_SGNDGNDGND8:D1-V4 9:D0-F9C8K189:D0+R3 10:Clk+D11B6H1710:D0_SGND 11:Clk_SGNDGNDGND11:D0-T3 12:Clk-C11A6H1812:Clk+T9 13:CECNC0K to GndNC13:Clk_SGND 14:RESNCNCNC14:Clk-V9 15:SCLC13D9M1615:CECVCCB2 16:SDAA13C9M1816:GndGND 17:GndGNDGNDGND17:SCLC13** 18:5VJP4*5VJP8*18:SCAA13** 19:HPD1K to 5VNC1K to 5V19:5VJP3 *跳线可与电源Vdd断开。 **通过JP2与J1 I2C共享数字信号。 其中2路带驱动输入接口、1路带驱动的输出接口以及不带驱动的接口(通常用作输出)。3个带驱动的HDMI接口都是采用HDMI A型接口,另一路则采用了HDMI D型接口,都是19pin信号,尺寸不一样,HDMI D型接口相对更大一些。 HDMI驱动芯片采用了TI公司的HDMI中继器TMDS141RHAR,最高支持1080p高清视频,板上芯片编号IC1,IC2。 3.2.8AC97 编码器 Atlys上的AC97音频编码器采用TI的LM4550VH,这款解码芯片已过时,目前已经停产,只支持AC97 2.1规范,板上芯片编号IC3,如图312所示。 图312 3.2.9板载100MHz时钟 Atlys采用了100MHz板载晶振。通过FPGA的2个时钟管理单元和4个PLL产生各种频率时钟,板上芯片编号IC12 ,如图313所示。 图313 3.2.10USB PROG USB的编程下载接口采用了Micro USB接口。 图314如图315,USB控制芯片采用了常用的Cypress CY7C68013A USB控制器(板上芯片编号IC4),支持高速USB2.0。CY7C68013A与FPGA的JTAG接口和FIFO相连,通过USB口可以实现下载程序和数据传输。同时I2C接口与电流检测LTC2481相连,因此通过USB也能获得开发板的功耗。可惜CY7C68013A的固件并没有开放。 CY7C68013A还配备了Microchip公司的128KB EEPROM 24AA128,板上芯片编号IC5,通过跳线JP9控制EEPROM(默认EEPROM没有连接),见图316。 图314 图315 图316 3.2.11USBUART Atlys上还有一个Micro USB接口J17,作为USBUART接口。USB接口边都有丝印,以防止接错。 采用了EXAR公司的USBUART芯片XR21V1410IL16如图317,支持全速USB 2.0,板上编号IC7。 图317 3.2.12USB HID Atlys上有一个USB A型主控制口J13,其USB控制芯片也是采用Microchip公司的PIC24FJ192GB106。板上芯片编号IC6,见图318。 该芯片主要作为USB HID主控制器连接鼠标或者键盘,同时与FPGA通过2线串行通信,所以可以外接USB存储器作为FPGA配置下载程序。 图318 3.2.13GPIO外设 如图319所示,作为一个开发板Atlys上也包含一些常用的基本外设如拨码开关、按键和用户LED,用来做GPIO的控制学习。Atlys上的FPGA用户I/O资源并不多,其GPIO外设主要有8路开关、8路LED和6路按键 详见表36。 图319 表36 按键拨码开关LED BTNUN4SW0A10LD0U18 BTNCF5SW1D14LD1M14 BTNRF6SW2C14LD2N14 BTNLP4SW3P15LD3L14 BTNDP3SW4P12LD4M13 BRSTT15SW5R5LD5D4 SW6T5LD6P16 SW7E4LD7N12 3.2.14扩展连接器PMOD 受限于FPGA的I/O资源,Atlys的扩展连接器相对来说显得较少,其上只有一个Pmod接口,2×6=12脚插座 见图320、图321。Pmod插座的信号是与D型HDMI接口信号共用的 ,详见表37。 图320 图321 表37 Pmod PinoutHDMI Type D Pinout JA1T3D0+R3SCLC13 JA2R3D0-T3SDAA13 JA3P6D1+T4CECVcc JA4N5D1-V4RESVcc JA7V9D2+N5HPD5V JA8T9D2-P6DDCGND JA9V4CLK+T9 JA10T4CLK-V9 3.2.15扩展连接器VHDC Atlys上还有一个68pin的高速扩展连接器VHDC(如图322所示),支持SCSI3总线传输协议,信号传输速率能达到几百兆位。VHDCI包括40个数据信号,8个电源信号和20个地信号。数据信号组成20个阻抗控制信号对见表38。 图322 表38 VHDC Connector Pinout IO1PU16IO1NV16IO11PU10IO11NV10 IO2PU15IO2NV15IO12PR8IO12NT8 IO3PU13IO3NV13IO13PM8IO13NN8 IO4PM11IO4NN11IO14PU8IO14NV8 IO5PR11IO5NT11IO15PU7IO15NV7 IO6PT12IO6NV12IO16PN7IO16NP8 IO7PN10IO7NP11IO17PT6IO17NV6 IO8PM10IO8NN9IO18PR7IO18NT7 IO9PU11IO9NV11IO19PN6IO19NP7 IO10PR10IO10NT10IO20PU5IO20NV5 FPGA所有与VHDCI信号连接的管脚都处于I/O bank2。跳线(JP12)能选择I/O bank2的供电为3.3V或者2.5V。 3.2.16软件工具 Digilent提供了一个独特强大的调试工具Adept。可以配置Xilinx逻辑器件,初始化扫描链,对FPGA,FLASH进行编程,还具有开发板的自检校验功能和I/O扩展功能。可以在Digilent官网免费下载。