一种基于SoPC的低应变反射波检测系统
4 系统的软件设计
4.1 基于NiosⅡ IDE的软件开发
此开发环境可在进行软件设计时,自动根据NiosⅡ处理器系统的需求生成开发向导,包括:硬件抽象层、可调节的实时操作系统和设备驱动[5],避免了手动设置带来的不便,从而节省了时间,缩短了开发周期。基于SoPC平台NiosⅡ处理器的软件开发环境有了很大的发展,整个软件系统由分别实现不同软件功能的模块组成,模块包括:主程序模块、中断子程序、A/D转换子程序、数据处理子程序、LCD显示屏控制程序和触摸子程序。图5是整体软件设计的流程。
开始初始化后,对桩长等参数进行设置,然后通过触摸屏中断的方式选择相应的中断子程序。收到触发信号并开始检测后,信号采集模块将加速度传感器输出的信号与阈值电压进行比较,把有用的信号经A/D转换存储到寄存器中。在采集信号存储完后,通过触摸屏选择数据处理中断子程序功能,开始对寄存器中的数据按第1部分中提到的算法进行处理,并将波形结果显示在触摸显示屏上。并可由触摸屏选择USB接口中断子程序,将所有数据上传给PC机,做进一步的分析和计算。
4.2 μClinux操作系统的移植
将μClinux移植到SoPC模块中,可以使系统表现出完好的实时性和稳定性。μClinux操作系统可以和没有内存管理单元(mmu)的NiosⅡ处理器兼容,并且可以下载到嵌入式硬件平台中[6]。
首先,在Linux Developer Bash开发环境中配置和构建内核。建立映像文件和linux.flash,生成的linux.flash文件即为μClinux的内核映像。将linux.flash文件下载到SoPC模块中,完成内核映像的加载。
除了装载内核,还要装载根文件系统。μClinux使用romfs文件系统,比一般的ext2文件系统需求空间更小。在宿主机Linux的target目录为μClinux下的根目录,用当前的脚本和工具将其转换成映像文件romdisk.flash。然后根据 userland/.config文件中相应变量的指示将应用程序二进制拷贝到target目录中,将应用程序加载到文件系统中并更新romdisk.flash文件,最后下载romdisk.flash文件到SoPC模块中。这样,就可以将μClinux操作系统及应用程序成功地移植到SoPC模块。
评论