ISE MicroBlaze GPIO输入输出测试总结

ISE软核MicroBlaze GPIO输入输出测试总结

      ISE中例化MicroBlaze软核的过程可以参考其它资料,此处无需赘述。软核入门级的例程不外乎LED灯,即通过GPIO口输出的信号。下面是对GPIO接口进行输入输出测试的相关总结。

1、软件版本:ISE14.4

              芯片型号:XC6SLX16-3

2、输入输出测试可以根据自有硬件平台选择不同方式,输入至软核的信号可以打印出来观察,软核输出的信号可以通过LED灯、串口等方式进行观察。当前使用的硬件平台只有几个LED灯,本次测试中输出选择LED灯作为观察方式。

3、本次测试为在线调试。测试思路为,FPGA中周期计数,输入MicroBlaze软核,通过一个GPIO输入接口读取,然后打印出来,观察数据是否正确;再将读取的数据通过另一个GPIO输出接口输出至FPGA,然后作为输出信号连接到LED。

4、测试程序中的C程序部分使用ISE自带例程。需要注意的是,MicroBlaze软核的外设是自定义的,需要哪个外设就添加哪个外设的IP核,添加外设的方式有两种:一种是在Base System Builder中添加,另一种则是软核生之后在XPS中添加需要的IP,分别如下图所示。第一种方式添加外设,不需要手动连接信号,第二种方式添加外设需要手动连接信号(可以查找添加IP核的相关资料)。

ISE MicroBlaze GPIO输入输出测试总结_第1张图片

ISE MicroBlaze GPIO输入输出测试总结_第2张图片

5、MicroBlaze软核和ARM等嵌入式器件很大的不同就是非常灵活,如前面所说的根据需要添加外设。连接好信号、分配完地址,硬件部分完成之后,硬件的信息会完全反映到软件部分,如果后续添加了新的外设,相应的软件会发生改变。注意观察头文件(xparameters.h)中的宏定义名称和地址部分,即可发现。

6、system.mhs文件为软核的硬件规范,包含系统、外设的参数、接口等内容,在界面不好修改的内容可以考虑在该文件内进行修改。比如差分时钟修改为单端时钟时,即可在该文件内进行修改(见参考资料)。

7、GPIO输入输出相关函数说明可见参考资料。程序中会遇到两个变量DeviceId和Channel,其中DeviceId表示的是GPIO外设,对应哪个外设可以查看头文件,Channel表示的是一个外设是否支持两个通道,EDK中的GPIO外设属性中可以进行设置,使用方式还不清楚。

 

参考资料:

1、本文测试例程下载地址,以供参考

           http://download.csdn.net/detail/kpsuwen/8994839

2、MicroBlaze完整例程详解(百度文库)

           http://wenku.baidu.com/link?url=Epvck4SgtNkrEe4YqNrr6PzTGzGpFktdicuYDixUDGCntcNlBbEes7YLjhrh7Y6vsA_1lWIkbRe-9kS4vepiGmEYil5nvkRyN6NgZoM-ELC

           http://wenku.baidu.com/link?url=p30Thj5y-5TxnUxkoJaWh1bAn-Z0I6V3y-jZR6BPY9HPO0LHDSAb06b_95j9VYt_uRVitSTGI0Y9gBmSzsHpfH5foc3IBrKy8kx0y84Rr4q


3、MicroBlaze GPIO API函数说明,见以下博客,很详细

         http://bbs.elecfans.com/infocenter.php?mod=space&uid=1504142&do=blog&id=299228

你可能感兴趣的:(FPGA)