新闻中心

EEPW首页>嵌入式系统>设计应用> 使用AVR单片机配置FPGA

使用AVR单片机配置FPGA

作者: 时间:2013-12-06 来源:网络 收藏

配置文件

Altera公司的开发工具Quartus II和MAXPlus II可生成多种配置文件,包括sof、pof、hex、rbf、ttf等。该配置方案中采用的是rbf文件,rbf文件为二进制文件,包含了全部配置数据,1字节的rbf数据包含8bit的配置数据,配置时最低位先由低位到高位依次装入。

软件设计

使用单片机对的设计关键是软件设计。在双任务配置中,两个任务的配置数据分别存放于不同起始地址的连续存储器区域中。单片机上电复位后,进入按键查询状态,检测到按键按下后,单片机从相应起始地址中读出数据并对进行配置。配置过程按照PS方式的时序要求进行,配置完成后重新进入按键查询状态。控制程序流程图如图3所示。
使用AVR单片机配置FPGA

图3 控制程序流程图

在双任务配置中,两个任务的配置数据分别存放于指定的地址中,由引导程序从指定地址中读出数据并对进行配置。引导程序和rbf文件(配置数据)的合并是软件设计的关键,以下详述其处理过程。

(1) 将引导程序在ICCAVR下编译并生成mcu.hex,hex文件格式是由Intel公司定义的,是按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示. 以下是一个例子。

:10008000AF5 F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200 FE10D2AA00477D81
:0B00A00080FA92006F3600 C3A00076CB
:00000001FF

第一行,“:”符号表明记录的开始。后面的两个字符表明记录的长度,这里是10h。后面的四个字符给出调入的地址,这里是0080h。后面的两个字符表明记录的类型后面则是真正的数据记录, 最后两位是校验和检查,最后一行是结束串,总写成这样;

(2)将fpga1.rbf改为fpga1.bin,使用“超级单片机工具”将fpga1.bin转换成起始地址为0x0273(mcu.hex的数据长度)的FPGA1.hex;
(3)将fpga2.rbf改为fpga1.bin,使用“超级单片机工具”将fpga2.bin转换成起始地址为0x3bd7(mcu.hex和fpga1.hex的数据长度和)的FPGA2.hex;
(4)将删除结束串后的mcu.hex和fpga1.hex与FPGA2.hex依次合并成config.hex;
(5)将config.hex用下载线下载到ATmega32单片机中。

结论

以上方案可适用于3.3V和5V系统的FPGA配置,无须扩展EEPROM,还能实现多任务配置。


上一页 1 2 下一页

关键词:AVR单片机FPGA

评论


相关推荐

技术专区

关闭