您好, 访客   登录/注册

基于SOPC技术的数据采集系统的设计方法

来源:用户上传      作者: 李海波,许建明

  摘要 本文提出一种以SOPC技术为基础的数据采集系统设计方法,包括系统设计的总体思路、系统处置与数据通信、系统的实现等内容,以提高数据采集系统运行的实时性、稳定性。
  关键词 SOPC技术;数据采集系统;设计
  中图分类号TP332 文献标识码A 文章编号 1674-6708(2012)58-0162-01
  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).


转载注明来源:https://www.xzbu.com/8/view-46606.htm