共分为四部分,我把链接都写上,方便大家
【连载】用CPU配置FPGA(一)概 述
地址:http://bbs.chinaecnet.com/ecbbs/post.asp?action=edit&BoardID=9&replyID=113949&ID=26969&star=1
【连载】用CPU配置FPGA(二)硬件设计
地址:http://bbs.chinaecnet.com/ecbbs/dispbbs.asp?boardID=9&ID=26971&page=1
【连载】用CPU配置FPGA(三)软件操作
地址:http://bbs.chinaecnet.com/ecbbs/dispbbs.asp?boardID=9&ID=27075&page=1
【连载】用CPU配置FPGA (四) 应用实例
地址:http://bbs.chinaecnet.com/ecbbs/dispbbs.asp?boardID=9&ID=27077&page=1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.配置基本原理[此贴子已经被作者于2006-11-23 11:57:39编辑过]
只需利用CPU的5个I/O线,就可按图 2所指示的时序对FPGA 进行PS方式的配置。
信号名 | I/O | 说明 |
Data0 | O | configuration data |
DCLK | O | configuration clock |
nCONFIG | O | device reset (a low to high transition starts the configuration within the device) |
Conf_done | I | Status bit (gets checked after configuration, will be high if configuration complete) |
nSTATUS | I | Status bit indicating an error during configuration if low |
图 3 PS配置单片FPGA的硬件连接
型号 | 最高频率 |
ACEX1K、FLEX10KE、APEX20K | 33MHz |
FLEX10K | 16MHz |
APEXII、APEX20KE、APEX20KC | 57MHz |
Mercury | 50MHz |
4.实现在线升级
采用本模块的最大优点是可以实现单板FPGA的在线升级。要实现在线升级,单板设计必须考虑以下几个问题:
1. CPU的启动必须不依赖于FPGA,即CPU子系统应在FPGA被配置前可独立运行并访问所需资源。CPU对FPGA进行配置所需的资源很少,一般来说,仅RAM和BootROM的访问而已。
2. FPGA配置前(或配置过程中)必须保证控制的设备处于非工作态或不影响其他设备工作的稳定态。
3. 为了实现FPGA的在线升级,存放FPGA配置数据的存储器器必须是CPU可重写的,且此存储器应是非易失性的,以保证单板断电后,FPGA数据不需从后台重新获得。
具体过程
结合图6的实例,对FPGA在线升级作一具体描述。
图6 FPGA在线升级
1. 使用编译和连接工具,将FPGA的第一个版本与MPC860的工作程序连接在一起,分别占用地址为0x70000-0x7FFFF和0x00000-0x6FFFF的存储空间。
2. 单板启动时,MPC860自动将0x70000-0x7FFFF的数据下载到FPGA中,完成FPGA配置。
3. 当FPGA需升级时,将新的RBF配置文件放在后台计算机中。
4. MPC860把BOOTROM的0x70000-0x7FFFF空间当作普通数据存储区,通过后台将新的RBF配置文件放在0x70000-0x7FFFF中。
5. MPC860调用BOOTROM中的FPGA配置子程序,对FPGA从新下载数据,完成FPGA升级。
以MPC860和Altera EP1K30为例,电原理图如下:
图7 电原理图
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |