一種基于SoPC的低應變反射波檢測系統
4 系統的軟件設計
4.1 基于NiosⅡ IDE的軟件開(kāi)發(fā)
此開(kāi)發(fā)環(huán)境可在進(jìn)行軟件設計時(shí),自動(dòng)根據NiosⅡ處理器系統的需求生成開(kāi)發(fā)向導,包括:硬件抽象層、可調節的實(shí)時(shí)操作系統和設備驅動(dòng)[5],避免了手動(dòng)設置帶來(lái)的不便,從而節省了時(shí)間,縮短了開(kāi)發(fā)周期?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/SoPC">SoPC平臺NiosⅡ處理器的軟件開(kāi)發(fā)環(huán)境有了很大的發(fā)展,整個(gè)軟件系統由分別實(shí)現不同軟件功能的模塊組成,模塊包括:主程序模塊、中斷子程序、A/D轉換子程序、數據處理子程序、LCD顯示屏控制程序和觸摸子程序。圖5是整體軟件設計的流程。
開(kāi)始初始化后,對樁長(cháng)等參數進(jìn)行設置,然后通過(guò)觸摸屏中斷的方式選擇相應的中斷子程序。收到觸發(fā)信號并開(kāi)始檢測后,信號采集模塊將加速度傳感器輸出的信號與閾值電壓進(jìn)行比較,把有用的信號經(jīng)A/D轉換存儲到寄存器中。在采集信號存儲完后,通過(guò)觸摸屏選擇數據處理中斷子程序功能,開(kāi)始對寄存器中的數據按第1部分中提到的算法進(jìn)行處理,并將波形結果顯示在觸摸顯示屏上。并可由觸摸屏選擇USB接口中斷子程序,將所有數據上傳給PC機,做進(jìn)一步的分析和計算。
4.2 μClinux操作系統的移植
將μClinux移植到SoPC模塊中,可以使系統表現出完好的實(shí)時(shí)性和穩定性。μClinux操作系統可以和沒(méi)有內存管理單元(mmu)的NiosⅡ處理器兼容,并且可以下載到嵌入式硬件平臺中[6]。
首先,在Linux Developer Bash開(kāi)發(fā)環(huán)境中配置和構建內核。建立映像文件和linux.flash,生成的linux.flash文件即為μClinux的內核映像。將linux.flash文件下載到SoPC模塊中,完成內核映像的加載。
除了裝載內核,還要裝載根文件系統。μClinux使用romfs文件系統,比一般的ext2文件系統需求空間更小。在宿主機Linux的target目錄為μClinux下的根目錄,用當前的腳本和工具將其轉換成映像文件romdisk.flash。然后根據 userland/.config文件中相應變量的指示將應用程序二進(jìn)制拷貝到target目錄中,將應用程序加載到文件系統中并更新romdisk.flash文件,最后下載romdisk.flash文件到SoPC模塊中。這樣,就可以將μClinux操作系統及應用程序成功地移植到SoPC模塊。
評論