一个偶然的机会,加入了这个论坛,想写点什么?
就我此次参加全国电子设计大赛做个记录吧。
第一件事:FPGA最小系统板的制作。
经过删选以后,我选择了性能高,功耗低,成本低的CycloneIII芯片,然后为期十天的阅读芯片资料,就先传一些网上及我个人收集的参考资料,对FPGA的设计当然是重要的啦。
Cyclone III 的配置
可以通过压缩数据的方法以节约存储空间,并节省程序load时间(page 220);
通过Remote System Upgrade方式可以减少新产品面市的时间(page 221);
AS Configuration(Serial Configuration Devices)
表10-6显示的是对各种配置电平来说,MSELx管脚的接法
MSEL3,MSEL2,MSEL1,MSE0 配置电压 模式
0 0 1 0 3.3v AS(Standard POR)
0 0 1 1 3.0/2.5V AS(Standard POR)
1 1 0 1 3.3V AS (FAST POR)
0 1 0 0 3.0/2.5V AS(Fast POR)
0 0 0 0 --- JTAG
当选择AS配置方式的时候,BAMK 1的IO电压必须是3.3,3.0或2.5。
上电以后,CIII器件有一个POR时间的延迟,在此期间,nSTATUS和CONF_DONE会一直为低,所有的IO也都是三态输出。
芯片配置的三个阶段分别是复位,配置和初始化。当nCONFIG或者nSTATUS为低,芯片处于复位状态,经过POR时间后,CIII释放nSTATUS,进入配置模式。(为开始配置,所有配置管脚和JTAG管脚所在的BANK的VCCINT,VCCA和VCCIO必须成功上电)。
CIII器件生成的串口时钟(DCLK)控制整个配置周期并为串口提供时序。CIII利用每步40MHz的晶振生成DCLK。
在AS配置模式下,配置芯片在DCLK的上升沿锁存输入和控制信号,并在下降沿送出数据;而CIII会在DCLK的下降沿发出控制信号并在DCLK的下降沿锁存配置数据。
CIII接收完所有的配置信息后,释放开环输出的CONF_DONE。只有当CONF_DONE变成高电平时,CIII才开始初始化。
如果在配置期间出现了错误,CIII会将nSTATUS信号拉低,表示有一个数据帧错误,CONF_DONE信号保持为低。如果Auto-restart configuration after error 选项选中的话,CIII会复位配置信号,通过向FLASH_NCE发一个脉冲,经过复位时间后释放nSTATUS的状态(最大230us