基于MicroBlaze软核的FPGA片上系统设计
//初始化串口,设置波特率等参数,清空发送和接收缓冲,禁止中断;
XuartLite_Initialize(&UART,XPAR_MYUARTLITE_DEVICE_ID);
//发送接收数据
XuartLite_Send(&UART,&send_data,1);XUartLite_Recv(&UART,&recv_data,1);javascript:window.open(this.src);" style="cursor:pointer;"/>
使用标准C语言进行应用程序的开发,编写相应的算法软件,完成系统功能。软件流程如图9所示。
将编写的程序代码利用mb-gcc编译工具,根据系统的软件一并,生成.ELF文件。在编译链接之前,若选择调试方式,就会在生成文件中加入调试接口SMDstub,进行程序的硬件调试。
利用系统的硬件模型以及RAM块的组织结构文件、ELF文件和用户结束文件,应用FPGA综合实现工具(如Xilinx XST)进行综合,然后下载生成的配置BIT文件
到目标板上。利用EDK中提供的GDB调试工具可以进行程序调试。有两种调试方法:软件仿真和硬件调试。软件仿真可以进行程序的功能调试,在开发工具内部就可以进行,不需要硬件支持。硬件调试就是通过JTAG接口或串口(可在硬件设计时选择),连接到目标板上的应用系统中的XMD调试接口,将软件程序下载到系统中进行调试。本课题使用的目标板上的主芯片为Xilinx Spartan IIE 30万门的FPGA,系统时钟为50MHz。实际运行完全满足设计要求。
结语
采用FPGA和MicroBlaze进行嵌入式系统设计,实现了多片专用芯片的功能,大大缩小了接收机体积,便于系统实现小型化、集成化。捕获及跳频同步等算法采用硬件实现,加快了捕获跟踪速度。实验结果表明,FPGA系统设计是正确可行的。如果在系统中配置大容量的SDRAM,加入以太网或USB等高速通信接口,将实时操作系统运行于处理器上,就可以构建一个较为完善的,基于FPGA的嵌入式系统。这将在网络、通信、消费类产品等多方面有着广阔的应用前景。