3实际验证
下面将对所搭建的SOC系统进行验证,通过对系统翻译、编译、综合、分配管脚、生成下载文件,最后将下载文件烧写到FPGA片中。为验证该系统的准确性,本设计采用两种方法对其进行测试验证,详细过程见3.1和3.2部分。
3.1搭建的系统对片外Flash的擦写操作
本测试主要是在已经搭建好的SOC系统的基础上,在外部存储器控制器接口连接外部存储器Flash,通过能否对Flash进行正常的擦写操作来验证系统的准确性,测试选用的片外Flash芯片型号Numonyx公司是28F640J3D,它是64M的16位只读存储器,分配的基地址是Ox00000000,由于该芯片16位模式的访问特性,地址线0位拉低不予链接,其余地址线管脚依次连接到顶层外部寄存器控制器的地址端口。
FS2是一款集合了大量指令和可用软件、用以调试基于ARM的SOC系统内核的工具,利用该工具对片外Flash进行配置和擦写操作,来验证系统的准确性。测试首先对片外Flash进行配置,进而对指定存储空间进行擦除操作,然后对该存储空间进行写操作,最后观察此存储空间中的数据,具体过程如图4所示。
FS2工具的用户界面,设计中用到的八条指令,分别是:1>、2>、3>......8>,其中指令1>、2>用来配置片外Flash芯片;指令3>用来选择将要擦写的存储空间,由图中可知,本设计中要进行的读写操作的存储空间是Ox00000000-0x003FFFFF;指令4>用来对Flash指定的存储空间进行擦除操作;指令5>用来把已经准备好的二进制文件写到上述存储空间中,设计中使用的二进制文件名是QUICK.HEX;指令6>是用来显示指定存储空间中的内容,从图中可看出,写到存储空间Ox00000000-0x0000003F的内容是18、FO、9F......、12、E3;指令7>执行对上述存储空间写入的数据的擦除操作;指令8>显示上述存储单元擦除后的内容。
3.2搭建的系统对外设接口的读写操作
本测试在遵循ARM7先进外围总线APB的读写时序的前提下,定制用户逻辑外设PIO,通过该系统对PIO接口进行读写操作来进一步验证设计的准确,
下面将主要遵循系统中先进的外围总线APB的读写时序,首先采用硬件描述语言和C代码,定制八位的用户逻辑外设PIO,然后将PIO的输入端口接到开关Switch0一Switch7,输出端口接到八个发光二极管Led0一Led7,通过软硬件调试,使八位开关的输入电平显示到八个发光二极管上,以此来进一步验证设计中搭建的SOC系统的准确,针对上述过程及要求,为了更直观地展示验证结果,制作了简单的实验板,当开关键在高电平时,发光二极管变亮,否则,发光二极管不亮。其中定制用户逻辑外设的主要步骤如下:
1)规划元件的硬件功能;
2)使用硬件描述来描述硬件逻辑;
3)单独验证元件的硬件功能;
4)描述寄存器的C头文件来为软件定义硬件寄存器映像;
5)将元件集成到ARM7系统中,使用ARM7来测试寄存器的访问是否正确,并为该元件编写软件驱动;
6)执行系统级的验证等。
4结束语
本文通过对基于ARM7的SOC系统的设计,介绍了一种Flash结构的FPGA器件及其片上系统的设计方法,进而给出了两种验证该片上系统准确性的方法,通过实际验证,该系统不仅能准确进行片外存储器的擦写,而且可以准确进行外设接口的读写的操作,由此验证了设计的准确性。文中所搭建SOC系统,可以与符合ARM公司的AHB2.0协议的北斗基带芯片无缝连接,在北斗接收机的设计、测试中有重要的参考价值。
本文关键字:暂无联系方式电工技术,电工技术 - 电工技术