新闻中心

EEPW首页>嵌入式系统>设计应用> 采用ATmega32单片机对FPGA进行配置

采用ATmega32单片机对FPGA进行配置

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

配置文件

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

软件设计

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

采用ATmega32单片机对FPGA进行配置
图3 控制程序流程图

在双任务配置中,两个任务的配置数据分别存放于指定的地址中,由引导程序从指定地址中读出数据并对FPGA进行配置。引导程序和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用下载线下载到单片机中。

结论

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


上一页 1 2 下一页

关键词:ATmega32单片机FPGA配置

评论


相关推荐

技术专区

关闭