外观
黑金Spartan7系列的高端FPGA开发平台(型号:AX7050)正式发布了,为了让您对此开发平台可以快速了解,我们编写了此用户手册。
这款Spartan7 FPGA开发平台采用核心板加扩展板的模式,方便用户对核心板的二次开发利用。在底板设计上我们设计了丰富的外围接口,比如千兆以太网接口, HDMI输出接口,USB2.0通信接口,Uart通信接口,SD卡接口,RTC电路等等。满足用户各种高速数据传输,视频图像处理和工业控制的要求,是一款"全能级“的FPGA开发平台。为高速视频传输,网络和USB通信及数据处理的前期验证和后期应用提供了可能。相信这样的一款产品非常适合从事FPGA开发的学生、工程师等群体。
图0-1-1 AX7050开发板
一、开发板
在这里,对这款AX7050 FPGA开发平台进行简单的功能介绍。
开发板的整个结构,继承了我们一贯的核心板+扩展板的模式来设计的。核心板和扩展板之间使用高速板间连接器连接。
核心板主要由FPGA + DDR3 +QSPI FLASH构成,承担FPGA高速数据处理和存储的功能,加上FPGA和两片DDR3 SDRAM之间的高速数据读写,数据位宽为32位,整个系统的带宽高达10Gb/s(333.3M*32bit);另外DDR3容量高达8Gbit,满足数据处理过程中对高缓冲区的需求。我们选用的FPGA为AMD公司最新的Spartan 7系列的XC7S50芯片, FPGA是FGGA484封装。
底板为核心板扩展了丰富的外围接口,其中包含1路千兆以太网接口、1路HDMI输出接口、1路USB2.0接口、1路UART串口接口、1路SD卡接口、1个JTAG调试接口、一个摄像头接口、1路40针的扩展口和一些按键,LED,RTC和EEPROM电路。
下图为整个开发系统的结构示意图:
图1-1-1 AX7050开发板结构图
通过这个示意图,我们可以看到,我们这个开发平台所能实现的功能。
- AC7050核心板
由XC7S50+2片4Gb DDR3+128Mb QSPI FLASH组成,另外板上有一个高精度的50Mhz晶振,为FPGA系统提供稳定的时钟输入。
- 一路10/100M/1000M以太网RJ-45接口
千兆以太网接口芯片采用Realtek公司的RTL8211EG以太网PHY芯片为用户提供网络通信服务。RTL8211EG芯片支持10/100/1000 Mbps网络传输速率; 全双工和自适应。
- 一路HDMI输出
使用FPGA的4路LVDS差分信号(3路数据加1路时钟)接口直接驱动HDMI输出,为开发板提供不同格式的视频输出接口。
- 一路高速USB2.0接口
使用FTDI Chip公司的FT232H 单通道USB芯片,可用于开发板和PC之间的USB2.0高速通信,最高速度达480Mb/s。
- 一路USB Uart接口
一路Uart转USB接口,用于和电脑通信,方便用户调试。串口芯片采用Silicon Labs CP2102GM的USB-UAR芯片。
- Micro SD卡座
一路Micro SD卡座,支持SPI模式。
- EEPROM
板载一片IIC接口的EEPROM 24LC04。
- RTC实时时钟
一路RTC实时时钟,配有电池座,电池的型号为CR1220。
- 40针扩展口
预留1个40针2.54mm间距的扩展口,可以外接黑金的各种模块(双目摄像头,TFT LCD屏,高速AD模块等等)。扩展口包含5V电源1路,3.3V电源2路,地3路,IO口34路。
- CMOS接口
一个18针的摄像头接口,可以接黑金的500万OV5640摄像头。
- JTAG口
10针2.54mm标准的JTAG口,用于FPGA程序的下载和调试。
- 按键和LED灯
4个用户按键,5个用户发光二级管LED(1个在核心板,4个在扩展板)。
二、FPGA核心板
简介
AC7050B(核心板型号,下同)核心板,是基于AMD公司的Spartan 7系列的XC7S50FGGA484这款芯片开发的高性能核心板,具有高速,高带宽,高容量等特点,适合高速数据通信,视频图像处理,高速数据采集等方面使用。
这款核心板使用了2片Micron公司的MT41J256M16HA-125这款DDR3芯片,每片DDR3的容量为4Gbit;2片16位数据宽度的DDR3芯片和FPGA芯片的组成总线宽度32bit,数据时钟频率高达333.3Mhz;这样的配置,可以满足高带宽的数据处理的需求。板上的128Mb QSPI FLASH芯片的型号为N25Q128,用于存储FPGA系统的启动镜像文件。
这款核心板扩展出114个FPGA的IO口(默认3.3V电平标准),其中有65个IO可以通过修改核心板上的LDO芯片来改变电平标准。对于需要大量IO的用户,此核心板将是不错的选择。而且,FPGA芯片到接口之间走线做了等长和12对LVDS差分走线处理,并且核心板尺寸仅为45*55(mm),对于二次开发来说,
非常适合。
图2-1-1 AC7050B核心板正面图
图2-1-2 AC7050B核心板背面图
FPGA
前面已经介绍过了,我们所使用的FPGA型号为XC7S50FGGA484I,属于AMD公司最新的Spartan7系列的产品,速度等级为-1,温度等级为工业级。此型号为FGGA484封装,484个引脚。AMD Spartan7 FPGA的芯片命名规则如下:
图2-2-1 芯片命名规则
图2-2-2为开发板所用的FPGA芯片实物图。
图2-2-2 FPGA芯片实物
其中FPGA芯片XC7S50的主要参数如下所示:
图2-2-3 芯片参数
FPGA供电系统
AMD Spartan7 FPGA电源有VCCINT, VCCBRAM,VCCAUX和VCCIO。VCCINT为FPGA内核供电引脚,需接+1.0V;VCCBRAM,为FPGA Block RAM的供电引脚;接1.0V;VCCAUX为FPGA辅助供电引脚, 接1.8V;VCCO为FPGA的各个BANK的电压,包含BANK0,BANK14, BANK15~16,BANK34~35,在AC7050核心板上,BANK34,BANK35因为需要连接DDR3,BANK的电压连接的是1.5V,其它BANK的电压都是3.3V,其中BANK15和BANK16的VCCO是由LDO供电,可以通过更换LDO芯片更改BANK的电平。
有源晶振
AC7050B核心板上配有一个50Mhz的有源晶振,用于FPGA的系统主时钟。晶振输出连接到FPGA的时钟输入管脚(IO_L13P_T2_MRCC_14, Pin P15),这个时钟可以用来驱动FPGA内的用户逻辑电路,用户可以通过配置FPGA内部的PLLs来实现更高的时钟。
图2-3-1 50Mhz有源晶振
图2-3-2为50Mhz有源晶振实物图
图2-3-2 50M有源晶振实物图
时钟引脚分配:
| 时钟网络名称 | FPGA引脚 |
|---|---|
| CLK_50MHZ | P15 |
表2-3-1 50M有源晶振引脚分配
另外AC7050核心板上预留了一个有源差分晶振,默认为不安装。差分晶振输出连接到FPGA的BANK34全局时钟管脚MRCC(AA6和AB6),用户可以根据需要来自己安装不同频率的时钟。
图2-3-3 预留的有源差分晶振
预留差分时钟引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| SYS_CLK_P | AA6 |
| SYS_CLK_N | AB6 |
表2-3-2 差分时钟引脚分配
DDR3
AC7050B核心板上配有两个Micron(美光)的4Gbit(512MB)的DDR3芯片(共计8Gbit),型号为MT41J256M16HA-125(兼容MT41K256M16HA-125)。DDR的总线宽度共为32bit。DDR3 SDRAM的最高运行时钟速度可达333.3MHz(数据速率667Mbps)。该DDR3存储系统直接连接到了FPGA的BANK 34和BANK35的存储器接口上。DDR3 SDRAM的具体配置如下表2-4-1所示。
| 位号 | 芯片类型 | 容量 | 厂家 |
|---|---|---|---|
| U5,U6 | MT41J256M16HA-125 | 256M x 16bit | micron |
表2-4-1 DDR3 SDRAM配置
DDR3的硬件设计需要严格考虑信号完整性,我们在电路设计和PCB设计的时候已经充分考虑了匹配电阻/终端电阻,走线阻抗控制,走线等长控制, 保证DDR3的高速稳定的工作。
DDR3 DRAM的硬件连接示意图如图2-4-所示:
图2-4-1 DDR3 DRAM原理图示意图
图2-4-2为DDR3 DRAM实物图
图2-4-2 DDR3 DRAM实物图
DDR3 DRAM引脚分配:
| 信号名称 | FPGA引脚名 | FPGA管脚号 |
|---|---|---|
| DDR3_DQS0_P | IO_L2N_T0_AD12N_35 | J2 |
| DDR3_DQS0_N | IO_L3P_T0_DQS_AD5P_35 | J1 |
| DDR3_DQS1_P | IO_L9P_T1_DQS_AD7P_35 | L5 |
| DDR3_DQS1_N | IO_L9N_T1_DQS_AD7N_35 | K5 |
| DDR3_DQS2_P | IO_L15P_T2_DQS_35 | M2 |
| DDR3_DQS2_N | IO_L15N_T2_DQS_35 | M1 |
| DDR3_DQS3_P | IO_L21P_T3_DQS_35 | P6 |
| DDR3_DQS3_N | IO_L21N_T3_DQS_35 | N6 |
| DDR3_DQ[0] | IO_L1N_T0_AD4N_35 | H2 |
| DDR3_DQ [1] | IO_L4N_T0_35 | K2 |
| DDR3_DQ [2] | IO_L2N_T0_AD12N_35 | H3 |
| DDR3_DQ [3] | IO_L5P_T0_AD13P_35 | H6 |
| DDR3_DQ [4] | IO_L5N_T0_AD13N_35 | H5 |
| DDR3_DQ [5] | IO_L6P_T0_35 | K6 |
| DDR3_DQ [6] | IO_L2P_T0_AD12P_35 | H4 |
| DDR3_DQ [7] | IO_L1P_T0_AD4P_35 | J3 |
| DDR3_DQ [8] | IO_L12P_T1_MRCC_35 | M8 |
| DDR3_DQ [9] | IO_L11P_T1_SRCC_35 | L8 |
| DDR3_DQ [10] | IO_L8N_T1_AD14N_35 | L6 |
| DDR3_DQ [11] | IO_L7P_T1_AD6P_35 | J8 |
| DDR3_DQ [12] | IO_L10N_T1_AD15N_35 | K4 |
| DDR3_DQ [13] | IO_L11N_T1_SRCC_35 | K8 |
| DDR3_DQ [14] | IO_L10P_T1_AD15P_35 | L4 |
| DDR3_DQ [15] | IO_L7N_T1_AD6N_35 | J7 |
| DDR3_DQ [16] | IO_L14P_T2_SRCC_35 | L1 |
| DDR3_DQ [17] | IO_L18P_T2_35 | P3 |
| DDR3_DQ [18] | IO_L14N_T2_SRCC_35 | K1 |
| DDR3_DQ [19] | IO_L16P_T2_35 | N4 |
| DDR3_DQ [20] | IO_L17N_T2_35 | N1 |
| DDR3_DQ [21] | IO_L17P_T2_35 | P1 |
| DDR3_DQ [22] | IO_L13N_T2_MRCC_35 | M3 |
| DDR3_DQ [23] | IO_L16N_T2_35 | N3 |
| DDR3_DQ [24] | IO_L24N_T3_35 | R4 |
| DDR3_DQ [25] | IO_L23N_T3_35 | R6 |
| DDR3_DQ [26] | IO_L22P_T3_35 | P7 |
| DDR3_DQ [27] | IO_L20P_T3_35 | N5 |
| DDR3_DQ [28] | IO_L23P_T3_35 | R7 |
| DDR3_DQ [29] | IO_L22N_T3_35 | N7 |
| DDR3_DQ [30] | IO_L19P_T3_35 | P8 |
| DDR3_DQ [31] | IO_L24P_T3_35 | R5 |
| DDR3_DM0 | IO_L4P_T0_35 | K3 |
| DDR3_DM1 | IO_L8P_T1_AD14P_35 | L7 |
| DDR3_DM2 | IO_L13P_T2_MRCC_35 | M4 |
| DDR3_DM3 | IO_L20N_T3_35 | M5 |
| DDR3_A[0] | IO_L10N_T1_34 | Y3 |
| DDR3_A[1] | IO_L11N_T1_SRCC_34 | U3 |
| DDR3_A[2] | IO_L4P_T0_34 | T5 |
| DDR3_A[3] | IO_L2P_T0_34 | T7 |
| DDR3_A[4] | IO_L1P_T0_34 | W5 |
| DDR3_A[5] | IO_L2N_T0_34 | T6 |
| DDR3_A[6] | IO_L7N_T1_34 | W1 |
| DDR3_A[7] | IO_L4N_T0_34 | U5 |
| DDR3_A[8] | IO_L1N_T0_34 | W4 |
| DDR3_A[9] | IO_L14P_T2_SRCC_34 | Y6 |
| DDR3_A[10] | IO_L14N_T2_SRCC_34 | Y5 |
| DDR3_A[11] | IO_L8P_T1_34 | W2 |
| DDR3_A[12] | I O_L9N_T1_DQS_34 | U1 |
| DDR3_A[13] | IO_L11P_T1_SRCC_34 | U4 |
| DDR3_A[14] | IO_L15P_T2_DQS_34 | Y4 |
| DDR3_BA[0] | IO_L8N_T1_34 | Y1 |
| DDR3_BA[1] | IO_L9P_T1_DQS_34 | U2 |
| DDR3_BA[2] | IO_L10P_T1_34 | W3 |
| DDR3_S0 | IO_L7P_T1_34 | V1 |
| DDR3_RAS | IO_L5P_T0_34 | V7 |
| DDR3_CAS | IO_L6P_T0_34 | T8 |
| DDR3_WE | IO_L6N_T0_VREF_34 | U8 |
| DDR3_ODT | IO_L5N_T0_34 | V6 |
| DDR3_RESET | IO_L17N_T2_34 | AA1 |
| DDR3_CLK_P | IO_L12P_T1_MRCC_34 | T3 |
| DDR3_CLK_N | IO_L12N_T1_MRCC_34 | T2 |
| DDR3_CKE | IO_L3N_T0_DQS_34 | V4 |
表2-4-2 DDR3 SDRAM引脚分配
QSPI Flash
核心板上使用了一片128Mbit大小的QSPI FLASH芯片,型号为N25Q128,它使用3.3V CMOS电压标准。由于它的非易失特性,在使用中, QSPI FLASH可以作为FPGA系统的启动镜像。这些镜像主要包括FPGA的bit文件、 软核的应用程序代码以及其它的用户数据文件。
SPI FLASH的具体型号和相关参数见下表
| 位号 | 芯片类型 | 容量 | 厂家 |
|---|---|---|---|
| U8 | N25Q128 | 128M Bit | Numonyx |
表2-5-1 QSPI Flash的型号和参数
QSPI FLASH连接到FPGA芯片的BANK0和BANK14的专用管脚上,其中时钟管脚连接到BANK0的CCLK0上,其它数据和片选信号分别连接到BANK14的D00~D03和FCS管脚上。图2-5-1为QSPI Flash在硬件连接示意图。
图2-5-1 QSPI Flash连接示意图
配置芯片引脚分配:
| 信号名称 | FPGA引脚名 | FPGA管脚号 |
|---|---|---|
| QSPI_CLK | CCLK_0 | D9 |
| QSPI_CS | IO_L6P_T0_FCS_B_14 | N17 |
| QSPI_DQ0 | IO_L1P_T0_D00_MOSI_14 | M21 |
| QSPI_DQ1 | IO_L1N_T0_D01_DIN_14 | M22 |
| QSPI_DQ2 | IO_L2P_T0_D02_14 | N21 |
| QSPI_DQ3 | IO_L2N_T0_D03_14 | N22 |
表2-5-2 QSPI Flash引脚分配
图2-5-2为开发板上QSPI Flash的实物图(核心板背面)
图2-5-2 QSPI FLASH部分实物图
LED灯
AC7050B核心板上有3个红色LED灯,其中1个是电源指示灯(PWR),1个是配置LED灯(DONE),另外一个是用户LED灯(LED1)。当核心板供电后,电源指示灯会亮起;当FPGA 配置程序后,配置LED灯会熄灭。用户LED灯用户连接到BANK16的IO上,可以通过程序来控制亮和灭,当连接用户LED灯的IO电压为高时,用户LED灯熄灭,当连接IO电压为低时,用户LED会被点亮。LED灯硬件连接的示意图如图2-6-1所示:
图2-6-1 核心板LED灯硬件连接示意图
图2-6-2 为核心板上的LED灯实物图
图2-6-2 核心板的LED灯实物图
用户LED灯的引脚分配
| 信号名称 | FPGA管脚号 | 备注 |
|---|---|---|
| LED1 | G15 | 用户LED灯 |
表2-6-1 核心板LED灯引脚分配
JTAG接口
在AC7050B核心板上我们也预留了JTAG的测试座J1,用来核心板单独JTAG下载和调试,图2-7-1就是JTAG口的原理图部分,其中涉及到TMS,TDI,TDO,TCK,GND,+3.3V这六个信号。
图2-7-1 核心板原理图中JTAG接口部分
核心板上JTAG接口J1采用6针的2.54mm间距的单排测试孔,用户如果需要在核心板上用JTAG连接调试的话,需要焊接6针的单排排针。图2-7-2为JTAG接口在开发板上的实物图
图2-7-2 JTAG接口实物图
电源接口
为了能使核心板单独工作,我们为核心板预留了Mini USB接口,通过USB线连接电脑的USB口给核心板进行+5V供电。这样用户就可以无需底板的情况下调试核心板的功能。Mini USB口在核心板上的接口是J2, 当用户通过Mini USB口(J2)给核心板供电时,不能再通过底板供电,否则会造成电流冲突,可能会烧坏电脑的USB接口。
图2-8-1MINI USB接口电路
图2-8-2为Mini USB接口在开发板上的实物图
图2-8-2 MINI USB接口实物图
扩展接口
核心板的背面一共扩展出
扩展口CON1
80Pin的连接器CON1用来连接FPGA的普通IO(其中包含6对差分方式的IO,可作为LVDS数据通信使用),默认IO的电平标准为3.3V。CON1扩展口的管脚分配如表2-9-1所示:
| CON1管脚 | 信号 名称 | FPGA 管脚号 | 输入/输出 | CON1管脚 | 信号 名称 | FPGA 管脚号 | 输入/输出 |
|---|---|---|---|---|---|---|---|
| PIN1 | B15_L10_P | E22 | I/O | PIN2 | B15_L11_P | F21 | I/O |
| PIN3 | B15_L10_N | D22 | I/O | PIN4 | B15_L11_N | F22 | I/O |
| PIN5 | B15_L7_P | B21 | I/O | PIN6 | B15_L20_P | G21 | I/O |
| PIN7 | B15_L7_N | B22 | I/O | PIN8 | B15_L20_N | G22 | I/O |
| PIN9 | GND | - | 地 | PIN10 | GND | - | 地 |
| PIN11 | B15_L9_P | D21 | I/O | PIN12 | B15_L12_P | F19 | I/O |
| PIN13 | B15_L9_N | C22 | I/O | PIN14 | B15_L12_N | F20 | I/O |
| PIN15 | B15_L8_P | D20 | I/O | PIN16 | B16_L24_P | E19 | I/O |
| PIN17 | B15_L8_N | C20 | I/O | PIN18 | B16_L24_N | D19 | I/O |
| PIN19 | GND | - | 地 | PIN20 | GND | - | 地 |
| PIN21 | B16_L20_P | C19 | I/O | PIN22 | B16_L22_P | E17 | I/O |
| PIN23 | B16_L20_N | B19 | I/O | PIN24 | B16_L22_N | E18 | I/O |
| PIN25 | B16_L19_P | D18 | I/O | PIN26 | B16_L16_P | E15 | I/O |
| PIN27 | B16_L19_N | C18 | I/O | PIN28 | B16_L16_N | E16 | I/O |
| PIN29 | GND | - | 地 | PIN30 | GND | - | 地 |
| PIN31 | B16_L15_P | D16 | I/O | PIN32 | B16_L6_P | G14 | I/O |
| PIN33 | B16_L15_N | C17 | I/O | PIN34 | B16_L6_N | F15 | I/O |
| PIN35 | B16_L13_P | C15 | I/O | PIN36 | B16_L4_P | F13 | I/O |
| PIN37 | B16_L13_N | C16 | I/O | PIN38 | B16_L4_N | F14 | I/O |
| PIN39 | GND | - | 地 | PIN40 | GND | - | 地 |
| PIN41 | B16_L23_N | A20 | I/O | PIN42 | B16_IO0 | G13 | I/O |
| PIN43 | B16_L23_P | B20 | I/O | PIN44 | B16_L17_N | A14 | I/O |
| PIN45 | GND | - | 地 | PIN46 | B16_L17_P | B14 | I/O |
| PIN47 | B16_L21_N | A19 | I/O | PIN48 | B16_L7_N | C13 | I/O |
| PIN49 | B16_L21_P | A18 | I/O | PIN50 | B16_L7_P | D13 | I/O |
| PIN51 | GND | - | 地 | PIN52 | GND | - | 地 |
| PIN53 | B16_L18_N | A17 | I/O | PIN54 | B16_L11_P | D14 | I/O |
| PIN55 | B16_L18_P | A16 | I/O | PIN56 | B16_L11_N | D15 | I/O |
| PIN57 | GND | - | 地 | PIN58 | B16_L12_P | D12 | I/O |
| PIN59 | B16_L14_N | B16 | I/O | PIN60 | B16_L12_N | C12 | I/O |
| PIN61 | B16_L14_P | B15 | I/O | PIN62 | B16_L5_N | E12 | I/O |
| PIN63 | GND | - | 地 | PIN64 | GND | - | 地 |
| PIN65 | B16_L9_N | A13 | I/O | PIN66 | B16_L5_P | F12 | I/O |
| PIN67 | B16_L9_P | B13 | I/O | PIN68 | B16_L3_N | D11 | I/O |
| PIN69 | GND | - | 地 | PIN70 | B16_L3_P | E11 | I/O |
| PIN71 | B16_L8_N | A12 | I/O | PIN72 | B16_L1_N | F11 | I/O |
| PIN73 | B16_L8_P | A11 | I/O | PIN74 | B16_L1_P | G11 | I/O |
| PIN75 | GND | - | 地 | PIN76 | GND | - | 地 |
| PIN77 | B16_L10_N | C11 | I/O | PIN78 | B16_L2_N | F10 | I/O |
| PIN79 | B16_L10_P | C10 | I/O | PIN80 | B16_L2_P | G10 | I/O |
表2-9-1 扩展口CON1引脚分配
其中B16_L23_P/N, B16_L21_P/N, B16_L18_P/N, B16_L14_P/N, B16_L9_P/N 和B16_L8_P/N的管脚在PCB上以差分方式引出,可以作为高速LVDS数据通信使用。
扩展口CON2
80Pin的连接器CON2用来连接核心板的+5V电源, JTAG接口信号和FPGA的普通IO口(其中包含6对差分方式的IO,可作为LVDS数据通信使用)到底板,IO的电压标准默认都是3.3V的。CON2扩展口的管脚分配如表2-9-2所示:
| CON2管脚 | 信号 名称 | FPGA 管脚号 | 输入/输出 | CON2管脚 | 信号 名称 | FPGA 管脚号 | 输入/输出 |
|---|---|---|---|---|---|---|---|
| PIN1 | +5V | - | 电源 | PIN2 | +5V | - | 电源 |
| PIN3 | +5V | - | 电源 | PIN4 | +5V | - | 电源 |
| PIN5 | +5V | - | 电源 | PIN6 | +5V | - | 电源 |
| PIN7 | +5V | - | 电源 | PIN8 | +5V | - | 电源 |
| PIN9 | GND | - | 地 | PIN10 | GND | - | 地 |
| PIN11 | B14_L4_N | P22 | I/O | PIN12 | B14_L5_P | N20 | I/O |
| PIN13 | B14_L4_P | P21 | I/O | PIN14 | B14_L5_N | P20 | I/O |
| PIN15 | B14_L7_N | T22 | I/O | PIN16 | B14_L20_N | AA22 | I/O |
| PIN17 | B14_L7_P | T21 | I/O | PIN18 | B14_L20_P | Y22 | I/O |
| PIN19 | GND | - | 地 | PIN20 | GND | - | 地 |
| PIN21 | B14_L9_P | U22 | I/O | PIN22 | B14_L22_N | AB21 | I/O |
| PIN23 | B14_L9_N | V22 | I/O | PIN24 | B14_L22_P | AA21 | I/O |
| PIN25 | B14_L8_N | W22 | I/O | PIN26 | B14_L23_P | AB19 | I/O |
| PIN27 | B14_L8_P | V21 | I/O | PIN28 | B14_L23_N | AB20 | I/O |
| PIN29 | GND | - | 地 | PIN30 | GND | - | 地 |
| PIN31 | B14_L24_N | V19 | I/O | PIN32 | B14_L19_P | Y20 | I/O |
| PIN33 | B14_L24_P | V18 | I/O | PIN34 | B14_L19_N | AA20 | I/O |
| PIN35 | B14_L12_N | U19 | I/O | PIN36 | B14_L21_P | W18 | I/O |
| PIN37 | B14_L12_P | U18 | I/O | PIN38 | B14_L21_N | Y19 | I/O |
| PIN39 | GND | - | 地 | PIN40 | GND | - | 地 |
| PIN41 | B14_L15_N | U17 | I/O | PIN42 | B15_L14_N | M18 | I/O |
| PIN43 | B14_L15_P | T17 | I/O | PIN44 | B15_L14_P | M17 | I/O |
| PIN45 | B14_L16_N | R17 | I/O | PIN46 | GND | - | 地 |
| PIN47 | B14_L16_P | R16 | I/O | PIN48 | B15_L16_N | K19 | I/O |
| PIN49 | B14_IO0 | N15 | I/O | PIN50 | B15_L16_P | K18 | I/O |
| PIN51 | GND | - | 地 | PIN52 | GND | - | 地 |
| PIN53 | B14_L14_N | R18 | I/O | PIN54 | B15_L5_N | J16 | I/O |
| PIN55 | B14_L14_P | P17 | I/O | PIN56 | B15_L5_P | K16 | I/O |
| PIN57 | B14_L10_N | Y21 | I/O | PIN58 | GND | - | 地 |
| PIN59 | B14_L10_P | W21 | I/O | PIN60 | B15_L13_N | L15 | I/O |
| PIN61 | B14_L11_N | V20 | I/O | PIN62 | B15_L13_P | M15 | I/O |
| PIN63 | GND | - | 地 | PIN64 | GND | - | 地 |
| PIN65 | B14_L11_P | U20 | I/O | PIN66 | B15_L6_N | J15 | I/O |
| PIN67 | B14_L18_N | T20 | I/O | PIN68 | B15_L6_P | K15 | I/O |
| PIN69 | B14_L18_P | T19 | I/O | PIN70 | GND | - | 地 |
| PIN71 | B14_L17_N | R20 | 空脚 | PIN72 | B15_L4_N | G16 | I/O |
| PIN73 | B14_L17_P | R19 | 空脚 | PIN74 | B15_L4_P | H16 | I/O |
| PIN75 | GND | - | 地 | PIN76 | GND | - | 地 |
| PIN77 | TDI | W9 | O | PIN78 | TCK | G9 | O |
| PIN79 | TMS | Y10 | O | PIN80 | TDO | W10 | I |
表2-9-2 扩展口CON2引脚分配
其中B15_L14_P/N, B15_L16_P/N, B15_L5_P/N, B15_L13_P/N, B15_L6_P/N 和B15_L4_P/N的管脚在PCB上以差分方式引出,可以作为高速LVDS数据通信使用。
电源
AC7050核心板供电电压为+5V,单独使用时通过Mini USB接口供电,连接底板时通过底板供电,请注意不要Mini USB和底板同时供电,以免造成损坏。板上的电源设计示意图如下图2-10-1所示:
图2-10-1 原理图中电源接口部分
核心板通过+5V供电, 通过1路DC/DC电源芯片TPS54620转化成+1.0V,输出电流可高达6A。通过2路DC/DC电源芯片TLV62130RGT转化成+1.8V,+1.5V两路电源,每路输出电流可高达3A。另外通过2路LDO SPX3819M5-3-3产生VCCIO电源和+3.3V电源,VCCIO主要是对FPGA的BANK15,BANK16进行供电,用户可以通过更换其它的LDO芯片,使得BANK15,16的IO适应不同的电压标准,使得连接到BANK15和BANK16的差分信号实现不同电平标准的LVDS数据通信。各个电源分配的功能如下表所示:
| 电源 | 功能 |
|---|---|
| +3.3V | FPGA Bank0, Bank14的VCCIO, QSIP FLASH, Clock晶振 |
| +1.8V | FPGA辅助电压 |
| +1.0V | FPGA的核心电压 |
| +1.5V | DDR3, FPGA Bank34和Bank35 |
| VREF, VTT(+0.75V) | DDR3 |
| VCCIO(+3.3V) | FPGA Bank15, Bank16 |
表2-10-1 电源接口功能
AC7050核心板的电源电路在板上的分别实物图所下图2-11-2和2-11-3所示。
图2-10-2 核心板电源部分实物图(正面)
图2-10-3 核心板电源部分实物图(背面)
结构图
图2-11-1 正面图(Top View)
三、扩展板
简介
通过前面的功能简介,我们可以了解到扩展板部分的功能
- 一路10/100M/1000M以太网RJ-45接口
- 一路HDMI视频输出接口
- 一路USB2.0通信接口
- 一路USB Uart通信接口
- SD卡接口
- RTC实时时钟
- EEPROM
- 一个40针扩展口
- 一个摄像头接口
- JTAG调试口
- 4个独立按键
- 4个用户LED灯
千兆以太网接口
开发板上通过Realtek RTL8211EG以太网PHY芯片为用户提供网络通信服务。RTL8211EG 芯片支持10/100/1000 Mbps网络传输速率,通过RGMII接口跟FPGA进行数据通信。RTL8211EG支持MDI/MDX自适应,各种速度自适应,Master/Slave自适应,支持MDIO总线进行PHY的寄存器管理。
RTL8211EG上电会检测一些特定的IO的电平状态,从而确定自己的工作模式。下表描述了GPHY芯片上电之后的默认设定信息。
| 配置Pin脚 | 说明 | 配置值 |
|---|---|---|
| PHYAD[2:0] | MDIO/MDC 模式的PHY地址 | PHY Address 为 001 |
| SELRGV | 3.3V,2.5V,1.5/1.8V电压选择 | 3.3V |
| AN[1:0] | 自协商配置 | (10/100/1000M)自适应 |
| RX Delay | RX时钟2ns延时 | 延时 |
| TX Delay | TX时钟2ns延时 | 延时 |
| MODE | RGMII 或GMII选择 | RGMII |
表3-2-1 PHY芯片信息
当网络连接到千兆以太网时,FPGA和PHY芯片RTL8211EG的数据传输时通过RGMII总线通信,传输时钟为125Mhz,数据在时钟的上升沿和下降沿采样。 接收时钟E_RXC由PHY芯片提供,发送时钟E_GTXC由FPGA提供,数据在时钟的上升沿采样。
当网络连接到百兆以太网时,FPGA和PHY芯片RTL8211EG的数据传输时通过MII总线通信,传输时钟为25Mhz。接收时钟E_RXC和发送时钟E_TXC都由PHY芯片提供,数据在时钟的上升沿采样。
图3-2-1为FPGA与以太网PHY芯片连接示意图:
图3-2-1 FPGA与PHY芯片连接示意图
图3-2-2为以太网PHY芯片的实物图
图3-2-2 以太网PHY芯片实物图
以太网PHY1的FPGA引脚分配如下:
| 信号名称 | FPGA引脚号 | 备注 |
|---|---|---|
| E_GTXC | F19 | RGMII 发送时钟 |
| E_TXD0 | E19 | 发送数据bit0 |
| E_TXD1 | D19 | 发送数据bit1 |
| E_TXD2 | E17 | 发送数据bit2 |
| E_TXD3 | E18 | 发送数据bit3 |
| E_TXEN | F20 | 发送使能信号 |
| E_TXC | E15 | 100M/10时的发送时钟 |
| E_RXC | G22 | RGMII接收时钟 |
| E_RXD0 | E22 | 接收数据Bit0 |
| E_RXD1 | F21 | 接收数据Bit1 |
| E_RXD2 | F22 | 接收数据Bit2 |
| E_RXD3 | G21 | 接收数据Bit3 |
| E_RXDV | D22 | 接收数据有效信号 |
| E_MDC | E16 | MDIO管理时钟 |
| E_MDIO | G14 | MDIO管理数据 |
表3-2-2 以太网引脚分配
HDMI输出接口
HDMI输出接口的实现,是通过FPGA的4路LVDS差分信号(3路数据和一路时钟)接口直接驱动HDMI输出,为开发板提供不同格式的视频输出接口。
其中,HDMI接口和FPGA之间的LVDS差分信号的连接使用AC Couple的模式,起到隔直的左右。另外在硬件设计上,每对LVDS差分信号上增加了TVS保护管,防止外面静电对FPGA的损坏。HDMI输出接口的硬件连接如图3-3-1所示。
图3-3-1 HDMI输出接口原理图
HDMI输出接口在扩展板的实物图如下图3-3-2所示:
图3-3-2 HDMI输出接口实物图
FPGA引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| HDMI_CLK_P | B20 |
| HDMI_CLK_N | A20 |
| HDMI_D2_N | A12 |
| HDMI_D2_P | A11 |
| HDMI_D1_N | A13 |
| HDMI_D1_P | B13 |
| HDMI_D0_N | A17 |
| HDMI_D0_P | A16 |
表3-3-1 HDMI输出接口引脚分配
USB2.0通信
我们采用了FTDI Chip公司的FT232H单通道高速USB芯片为开发板实现和电脑之间的USB2.0数据通信。最高USB2.0高速通信(480Mb/s)和全速通信(12Mb/s),数据接口支持不同的数据通信模式(FIFO,I2C,SPI, JTAG), 上电后读取外置的EEPROM配置内容来决定数据通信模式,也可以通过PC方便的修改配置方式。USB芯片的接口管脚的功能是复用的,具体请参考FT232H的芯片手册。
USB芯片FT232H的数据接口信号与FPGA的IO相连,通过FPGA的编程来对FT232H进行数据通信,FT232H的硬件连接是按照FT245同步FIFO接口方式连接的。如图3-4-1所示。
图3-4-1 USB2.0接口原理图
USB2.0接口在扩展板的实物图如下图3-4-2所示:
图3-4-2 USB2.0接口实物图
FPGA引脚分配:
| 引脚名称 | FPGA引脚 | 说明 |
|---|---|---|
| USB_FD0 | F15 | USB2.0的数据bit0 |
| USB_FD1 | F13 | USB2.0的数据bit1 |
| USB_FD2 | F14 | USB2.0的数据bit2 |
| USB_FD3 | G13 | USB2.0的数据bit3 |
| USB_FD4 | A14 | USB2.0的数据bit4 |
| USB_FD5 | B14 | USB2.0的数据bit5 |
| USB_FD6 | C13 | USB2.0的数据bit6 |
| USB_FD7 | D13 | USB2.0的数据bit7 |
| USB_RXF | D14 | 低表示接收FIFO数据可读 |
| USB_TXE | D15 | 低表示发送FIFO数据可以写 |
| USB_RD | D12 | 数据接收FIFO读信号,低有效 |
| USB_WR | C12 | 数据发送FIFO写信号,低有效 |
| USB_SIWUA | E12 | 立刻发送/唤醒功能 |
| USB_CLKOUT | B15 | 60MHz的时钟输出 |
| USB_OE | F12 | USB数据输出使能 |
表3-4-1 USB2.0接口引脚分配
SD卡槽
SD卡(Secure Digital Memory Card)是一种基于半导体闪存工艺的存储卡,1999年由日本松下主导概念,参与者东芝和美国SanDisk公司进行实质研发而完成。2000年这几家公司发起成立了SD协会(Secure Digital Association简称SDA),阵容强大,吸引了大量厂商参加。其中包括IBM,Microsoft,Motorola,NEC、Samsung等。在这些领导厂商的推动下,SD卡已成为目前消费数码设备中应用最广泛的一种存储卡。
SD卡是现在非常常用的存储设备,我们扩展出来的SD卡,支持SPI模式,使用的SD卡为MicroSD卡。原理图如下图3-5-1所示。
图3-5-1 SD卡槽原理图
下图为AX7050开发板的SD卡槽实物图
图3-5-2 SD卡槽实物图
SD卡槽引脚分配
| SPI模式 | |
| 引脚名称 | FPGA引脚 |
| SD_CS | K19 |
| SD_CLK | J16 |
| SD_DATA_IN | K18 |
| SD_DATA_OUT | K16 |
表3-5-1 SD卡槽引脚分配
USB转串口
AX7050开发板包含了Silicon Labs CP2102GM的USB-UAR芯片, USB接口采用MINI USB接口,可以用一根USB线将它连接到上PC的USB口进行串口数据通信 。
USB Uart电路设计的示意图如下图所示:
图3-6-1 USB转串口示意图
下图为USB转串口的实物图
3-6-2 USB转串口实物图
同时对串口信号设置了2个PCB上丝印为TXD和RXD的LED指示灯, TXD和RXD LED灯会指示串口是否有数据发出或者是否有数据接受,如下图所示,
3-7-3 USB转串口信号指示灯
UART转串口的FPGA引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| UART_RXD | B16 |
| UART_TXD | D11 |
表3-6-1 USB转串口引脚分配
EEPROM 24LC04
AX7050开发板板载了一片EEPROM,型号为24LC04,容量为:4Kbit(2*256*8bit),由2个256byte的block组成,通过IIC总线进行通信。板载EEPROM就是为了学习IIC总线的通信方式。EEPROM的I2C信号连接的FPGA的IO口上。下图3-7-1为EEPROM的设计示意图
图3-7-1 EEPROM原理图部分
下图为EEPROM实物图
图3-7-2 EEPROM实物图
EEPROM引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| I2C_SCL | A19 |
| I2C_SDA | A18 |
表3-7-1 EEPROM引脚分配
实时时钟 DS1302
开发板板载了一片实时时钟RTC芯片,型号DS1302,他的功能是提供到2099年内的日历功能,年月日时分秒还有星期。如果系统中需要时间的话,那么RTC就需要涉及到产品中。他外部需要接一个32.768KHz的无源时钟,提供精确的时钟源给时钟芯片,这样才能让RTC可以准确的提供时钟信息给产品。同时为了产品掉电以后,实时时钟还可以正常运行,一般需要另外配一个电池给时钟芯片供电,图3-8-2中为BT1为电池座,我们将纽扣电池(型号CR1220,电压为3V)放入以后,当系统掉电池,纽扣电池还可以给DS1302供电,这样,不管产品是否供电,DS1302都会正常运行,不会间断,可以提供持续不断的时间信息。RTC的接口信号也是连接到FPGA的IO口上。图3-8-1为DS1302设计示意图:
图3-8-1 DS1302设计示意图
图3-8-2为DS1302实物图
图3-8-2 DS1302实物图
DS1302接口引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| RTC_SCLK | Y19 |
| RTC_DATA | M17 |
| RTC_RESET | M18 |
表3-8-1 DS1302引脚分配
扩展口
扩展板预留1个2.54mm标准间距的40针的扩展口J8,用于连接黑金的各个模块或者用户自己设计的外面电路,扩展口有40个信号,其中,5V电源1路,3.3V电源2路,地3路,IO口34路。切勿IO直接跟5V设备直接连接,以免烧坏FPGA。如果要接5V设备,需要接电平转换芯片。
在扩展口和FPGA连接之间串联了33欧姆的排阻,用于保护FPGA以免外界电压或电流过高造成损坏,扩展口(J8)的电路如下图3-9-1所示
图3-9-1 扩展口J8原理图
下图为J8扩展口实物图,扩展口的Pin1,Pin2已经在板上标示出。
图3-9-2 扩展口J8实物图
J8扩展口FPGA的引脚分配
| 引脚编号 | FPGA引脚 | 引脚编号 | FPGA引脚 |
|---|---|---|---|
| 1 | GND | 2 | +5V |
| 3 | T20 | 4 | T19 |
| 5 | V20 | 6 | U20 |
| 7 | Y21 | 8 | W21 |
| 9 | R18 | 10 | P17 |
| 11 | R16 | 12 | N15 |
| 13 | T17 | 14 | R17 |
| 15 | U18 | 16 | U17 |
| 17 | V18 | 18 | U19 |
| 19 | V21 | 20 | V19 |
| 21 | V22 | 22 | W22 |
| 23 | T21 | 24 | U22 |
| 25 | P21 | 26 | T22 |
| 27 | N20 | 28 | P22 |
| 29 | AA22 | 30 | P20 |
| 31 | Y22 | 32 | AB21 |
| 33 | AB20 | 34 | Y20 |
| 35 | AA20 | 36 | W18 |
| 37 | GND | 38 | GND |
| 39 | +3.3V | 40 | +3.3V |
表3-9-1 扩展口J8引脚分配
JTAG接口
开发板预留了一个标准的10针2.54mm间距的JTAG接口,用于下载FPGA程序或者固化程序到FLASH。为了带电插拔造成对FPGA芯片的损坏,我们在JTAG信号上添加了保护二极管来保证信号的电压在FPGA接受的范围,避免FPGA的损坏。
图3-10-1 JTAG接口原理图
下图为扩展板上JTAG接口实物图,JTAG线插拔的时候注意不要热插拔。
图3-10-2 JTAG接口实物图
摄像头
开发板包含了一个18针的CMOS摄像头接口,用于连接黑金的OV5640摄像头模块,可以实现视频采集功能,采集以后,可以通过HDMI或者VGA接口连接显示器进行显示。关于摄像头选择,用户可以根据自己实际需要进行选购,但接口不接摄像头的时候,可以作为FPGA普通IO口使用。
图3-11-1 CMOS摄像头接口原理图
下图为扩展板上摄像头接口实物图,
图3-11-2 CMOS摄像头接口实物图
下表为连接500万CMOS摄像头(AN5640模组)的FPGA引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| CMOS_SCL | C22 |
| CMOS_SDA | D21 |
| CMOS_PCLK | B22 |
| CMOS_VSYNC | B21 |
| CMOS_D[3] | C20 |
| CMOS_D[2] | D20 |
| CMOS_D[7] | B19 |
| CMOS_D[6] | C19 |
| CMOS_XCLK | C18 |
| CMOS_HREF | D18 |
| CMOS_D[0] | C17 |
| CMOS_D[4] | D16 |
| CMOS_D[5] | C16 |
| CMOS_D[1] | C15 |
| CMOS_RESET | - |
| CMOS_PWDN | - |
表3-11-1 CMOS摄像头接口引脚分配
按键
扩展板上含有4个用户按键KEY1~KEY4,两个按键都连接到FPGA的普通的IO上,按键低电平有效,当按键按下,FPGA的IO输入电压为低,当没有按键按下是,FPGA的IO输入电压为高。按键部分电路如下图3-12-1所示
图3-12-1 按键硬件设计示意图
图3-12-2为扩展板上4个用户按键实物图
图3-12-2按键实物图
按键FPGA引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| KEY1 | M15 |
| KEY2 | L15 |
| KEY3 | AB19 |
| KEY4 | AA21 |
表3-12-1 按键引脚分配
LED灯
扩展板上有7个红色LED灯,其中1个是电源指示灯(PWR),2个是USB Uart的数据接收和发送指示灯,4个是用户LED灯(LED1~LED4)。当开发板供电后,电源指示灯会亮起。用户LED1~LED4连接到FPGA的普通IO,当连接用户LED灯的IO电压配置为低电平时,用户LED灯点亮,当连接IO电压为配置为高电平时,用户LED会被熄灭。
LED灯硬件连接的示意图如图3-13-1所示
图3-13-1 LED灯硬件设计示意图
图3-14-2为扩展板上4个用户LED灯实物图
图3-13-2 用户LED灯实物图
LED灯FPGA引脚分配:
| 引脚名称 | FPGA引脚 |
|---|---|
| LED1 | H16 |
| LED2 | G16 |
| LED3 | K15 |
| LED4 | J15 |
表3-13-1 LED灯引脚分配
供电电源
开发板的电源输入电压为+5V,请使用开发板自带的电源,不要用其他规格的电源,以免损坏开发板。扩展板上通过1路DC/DC电源芯片MP1482把+5V电压转化成 +3.3V电源。另外扩展板上的+5V电源通过板间连接器给核心板供电,扩展上的+3.3V电源设计如下图3-14-1所示:
图3-14-1 扩展板电源原理图
图3-14-2为扩展板上电源电路的实物图
图3-14-2 扩展板电源电路实物图
结构图
图3-15-1 底板结构正面图(Top View)