FPGA最小系统之:最小系统电路分析
冲和四缓冲。
(4)8位或16位外部数据接口。
(5)通用可编程接口(GPIF)。
- 可以直接连接到并口,分为8位和16位。
- 可编程波形描述符和配置寄存器。
- 支持多个Ready输入和Control输出。
(6)集成标准8051内核,且具有下列增强特性。
- 可以达到48MHz时钟。
- 每条指令占4个时钟周期。
- 2个UARTS。
- 3个定时/计数器。
- 扩展的中断系统。
- 两个数据指针。
(7)采用3.3V电源系统。
(8)矢量USB中断。
(9)独立的数据缓冲区供SETUP和DATA包控制传输。
(10)集成I2C控制器,运行速度可达100kHz。
(11)4个FIFO,可与ASIC和DSP等无缝连接。
(12)专门的FIFO和GPIF自动矢量中断。
(13)可用于DSL Modems、ATA接口、相机、Home PNA、WLAN、MP3播放器、网络等。
2.USB启动方式和枚举
上电时,内部逻辑会检查连接到I2C总线上的EEPROM中的第一个字节(0xC0或0xC2)。如果是0xC0,就会使用EEPROM中的VID/PID/DID来替代内部存储值;如果是0xC2,内部逻辑就会把EEPROM中的内容装入到内部RAM中;如果没有检查到EEPROM,FX2就会使用内部存储的描述符来枚举。其缺省值是0x04B4/ 0x8613/ 0xxxyy。
当首次插入USB时,FX2会通过USB电缆自动枚举并下载固件和USB描述符表。然后FX2将再次枚举,通过下载的信息来定义设备。这两个步骤就叫做重枚举,当设备插入时它们就立即执行。
3.程序/数据存储器
(1)内部数据RAM。
FX2的内部数据RAM被分成3个不同的区域:低(LOW)128字节,高(Upper)128字节和特殊功能寄存器(SFR)空间。低128字节和高128字节是通用RAM,SFR包括FX2控制和状态寄存器。
(2)外部程序存储器和数据存储器。
FX2有8KB片上RAM(位于0x0000~0x1FFF范围内)和512字节Scratch RAM(位于0xE000~0xE1FF)。尽管Scratch RAM从物理上来说位于片内,但是通过固件可以把它作为外部RAM一样来寻址。FX2保留7.5KB(0xE200~0xFFFF)数据地址空间作为控制/状态寄存器和端点缓冲器。
注意 | 只有数据内存空间保留,而程序内存(0xE000~0xFFFF)并不保留。 |
4.端点缓冲区
FX2包含3个64字节端点缓冲区和4KB可配置成不同方式的缓冲,其中3个64字节的缓冲区为EP0、EP1IN和EP1OUT。
EP0作为控制端点用,它是一个双向端点,既可为IN也可为OUT。当需要控制传输数据时,FX2固件读写EP0缓冲区,但是8个SETUP字节数据不会出现在这64字节EP0端点缓冲区中。
EP1IN和EP1OUT使用独立的64字节缓冲区,可配置为BULK、INTERRUPT或ISOCHRONOUS传输方式,这两个端点和EP0一样只能被固件访问。这一点与大端点缓冲区EP2、EP4、EP6和EP8不同,这4个端点缓冲区主要用来和片上或片外进行高带宽数据传输而无需固件的参与。EP2、EP4、EP6和EP8是高带宽、大缓冲区,它们可被设置成不同的方式来适应带宽的需求。
5.外部FIFO接口
EP2、EP4、EP6和EP8大端点缓冲区主要用来进行高速(480Mbit/s)数据传输。可以通过FIFO数据接口与外部ASIC和DSP等处理器无缝连接来实现高速数据传输。它具有的通用接口有:Slave FIFO或GPIF(内部主)、同步或异步时钟、内部或外部时钟等。
6.中断资源
FX2的中断结构是在一个标准8051单片机的基础上增强和扩展了部分中断资源,中断资源如表2.3所示。
表2.3 FX中断资源表
FX2中断 | 中 断 来 源 | 中 断 向 量 | 优 先 级 |
IE0 | INT0 Pin | 0x0003 | 1 |
TF0 | Timer0 Overflow | 0x000B | 2 |
IE1 | INT1 Pin | 0x0013 | 3 |
TF1 | Timer1 Overflow | 0x001B | 4 |
RI_0 TI_0 | USART0 Rx Tx | 0x0023 | 5 |
TF2 | Timer2 Overflow | 0x002B | 6 |
Resume | WAKEUP/WU2 Pin | 0x0033 | 0 |
RI_1 TI_1 | USART1 Rx Tx | 0x003B | 7 |
USBINT | USB | 0x0043 | 8 |
I2CINT | I2C BUS | 0x004B | 9 |
IE4 | GPIF/FIFOs/INT4 Pin | 0x0053 | 10 |
IE5 | INT5 Pin | 0x005B | 11 |
IE6 | INT6 Pin | 0x0063 | 12 |
其中27个USB请求共享USB中断,14个FIFO/GPIF源共享INT4。
芯片的详细介绍与使用方法可参看芯片数据手册。
2.2.12 电源电路设计
电源是整个系统能够正常工作的基本保证,如果电源电路设计的不好,系统有可能不能工作,或者即使能工作但是散热条件不好,导致系统不稳定等异常情况。所以如何选用合适的电源芯片,以及如何合理地对电源进行布局布线,都是值得下大功夫研究的。
在选用电源之前要仔细阅读FPGA的芯片手册,一般来说FPGA用到的管脚和资源越多,那么所需要的电流就越大,当电路启动时FPGA的瞬间电流也比较大。通过数据手册中提供的电气参数,确定FPGA最大需要多大的电流才能工作。
下面是几种常使用的FPGA参考电源。
- AS117可以提供1A电流,线型电源(适用144管脚以下、5万逻辑门以下的FPGA)。
- AS2830(或LT1085/6)可以提供3A电流,线性电源(适用240管脚以下、30万逻辑门以下的FPGA)。
- TPS54350
Cyclone Altera Flash FPGA CPLD SDRAM FPGA最小系统 相关文章:
- FPGA最小系统之:实例1 在Altera的FPGA开发板上运行第一个FPGA程序(06-05)
- 基于FPGA的高速多路视频数据采集系统设计(06-05)
- 有功电能计量IP核的设计(06-05)
- 14nm的FPGA需要什么样的电源管理IC?(06-04)
- 高速PCI信号采集卡设计与实现综合实例之:设计需求分析与功能定义(06-04)
- 如何提高图像处理的实例分析(12-20)