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