基于SOPC技术的数据采集系统的设计方法
2012-08-15李海波许建明
李海波,许建明
邵阳学院信息工程系,湖南邵阳 422000
基于SOPC技术的数据采集系统的设计方法
李海波,许建明
邵阳学院信息工程系,湖南邵阳 422000
本文提出一种以SOPC技术为基础的数据采集系统设计方法,包括系统设计的总体思路、系统处置与数据通信、系统的实现等内容,以提高数据采集系统运行的实时性、稳定性。
SOPC技术;数据采集系统;设计
SOPC技术源自SOC技术,主要特征为可编程性。一般SOPC的设计环境为SOPC Builder,主要集成于QuartusII中。在SOPC Builder中,具有友好的用户图形界面,用户可以通过界面中提供的IP库选择组件,如I/O、Flash、处理器等,并选择相应参数。另外,SOPC还有一个非常重要的功能:设计SOPC过程中,如果用户提出特殊要求,但是IP库中却没有,用户就可以通过自定义逻辑来满足要求。
1 SOPC技术的数据采集系统设计总体思路
数据采集系统作为DSP信号处理系统的一部分,整个系统包括放大信号、信号采样、信号滤波、高速处理数字信号、与计算器的数据传输接口相连等若干个部分。其中,放大信号主要是调理输入信号,符合采样要求;信号采样是将模拟信号转化为数字信号;信号滤波主要为了避免产生信号混叠现象;高速处理数字信号是建立在随机共振模型基础上,完善各种计算方法。
在应用Verilog HDL设计技术的基础上,实现自动在FIFO中存储数据以及硬件控制A/D转换,通过DSP系统输出的具体时间来确定采样频率。随着采样数据的增加,直到达到一帧,FIFO就会向DSP发出中断申请信号,由DSP系统将DMA开启,并完成数据的读取过程。在这期间,数据采集不中断,可实现连续性的实时数据采集与处理。在设计SOPC过程中,有些系统的功能可以直接通过IP数据库来完成,但是有时候IP库中的功能不够灵活。为了解决这一问题,就可通过客户的自定义功能来满足逻辑性。
2 系统配置与数据通信
2.1 系统配置
在该系统中,应用了大规模的FPGA嵌入式双NIOSII软核处理器,每个处理器都设定了独立的时钟,确保双核工作时间,同时提供了可以自行控制的独立区域。系统的主控制软件基于C语言设计,部分逻辑模块采取VHDL程序设计。因此,内部模块之间的数据交换具有一定可测试性,且可靠性较高,系统处理效率高。系统的主控器件是FPGA32位嵌入式的CPU系统,系统中各个功能模块在双核处理器的配合下完成工作。在SOPC内核中,CPU分别与外部逻辑单元连接、外设控制接口,负责系统的采集和存储功能。另外,在系统中实现Avalon和SDRAM的总线相连,兼容实现双核CPU功能,提高系统运行的安全性、可靠性,确保图像数据采集存储的真实性、完整性。
2.2 数据通信
在该系统中,两个处理器分别独立,但是共享同一个SDRAM,在SDRAM的内部区域合理分配,确保每个处理器之间的协调运作,提高处理器的独立性。在整个数据采集系统中,FPGA中的双核处理器之间数据通信包括信息的传递和协调,通过SOPC技术中自有的Mutex核以及Mailbox核协调两个处理器之间的正常工作,确保系统通信的正常运行。系统中的CPU处理器都设有LED等,以此作为调试的参照,当软核CPU运行时,可以共享存储器中的堆栈数据并接受外部命令,通过FPGA中的Mailbox核远程连接作用,向CPU2中传递信息,当CPU1中发出的信息传递到CPU2之后,调试相关时序,确保双核正常工作。当两个处理器处于同一个共享的存储器中进行通信时,可能产生ID冲突,造成采集数据的损坏。因此,该系统中应引进Mutex内核,当其中一个CPU结束对ID地址的访问之后,自动将Mutex释放,避免双处理器进行共享访问时,占用了同一个ID地址资源。
3 基于SOPC技术的数据采集系统实现
3.1 硬件的实现
通过集成于QuanusII中的SOPC Builder生成处理器,还包括一些外设功能,如Flash、SDRAM等,此时涉及的问题就是如何配置组件的参数。例如,需要使用什么样的串口波特率、NIOS微处理器等。用户可以根据实际情况进行设计。如果需要32位处理器的系统实现,再加上大容量寄存器文件,那么在对NIOS处理器进行配置时,就可以选择32位NIOS处理器以及512个存储器。这样,通过灵活选择组件的参数,提高了SOPC设计的灵活性。最后,通过Verilog HDL编写用户逻辑,实现数据的采集。考虑到用户逻辑应该和NIOS处理器实现通信,就应增设address和chipselect两大信号。其中,address为地址信号,chipselect为片选信号,在数值是“1”时,NIOS的处理器选为用户逻辑;只有通过address信号,才能将用户逻辑与总线中的NIOS处理器实现通信。最后,将整个项目编译完毕,并将后缀“sof”的文件下载到开发板的编程芯片中。
3.2 软件的实现
软件的实现是一个应用程序,在该部分中,主要考虑与NIOS总线相连接的用户逻辑问题。用户可以通过自定义的address和chipselect信号,通过SOPC Builder 自动分配到用户的逻辑地址。这样,对于访问用户逻辑,就可以实现访问用户逻辑的分配地址。
目前,SOPC已成为未来电子设计的发展方向,已经不再停留在单元电路层面,更重要的是集成信号采集、信号输出、信号处理等功能,最终成为一个具有应用价值的电子系统芯片。
[1]柳秀山.基于SOPC的环境信息远程采集系统的研究[J].通信技术,2009(7).
[2]王建校,危建国.SOPC设计基础与实践[J].西安:西安电子科技大学出版社,2006.
[3]陈松柏,周进.基于DSP+FPGA的多目标实时检测系统设计[J].信息与电子工程,2007(1).
TP332
A
1674-6708(2012)58-0162-01
湖南省教育厅资助项目(09C886)
李海波,学生,所在院校:邵阳学院,专业:电子科学与技术
许建明,教师,硕士研究生,工作单位:邵阳学院信息工程系