簡述球磨機負荷檢測系統的軟件設計
基于嵌入式以太網球磨機負荷檢測系統的軟件設計主要是指在系統硬件設計的基礎上,編寫應用程序,在TMS320VC5471處理器上運行,用來控制整個系統的工作。球磨機系統的程序設計主要包括數據采集的控制、 FFT功率譜估計的控制、神經網絡的移植、串口、以太網通信的控制及LCD液晶顯示的控制等。
系統的初始化:上電復位后,ARM開始從0x00000000H地址空間執行程序,存放在該處地址的指令為中斷向量表。該向量表包括八條跳轉指令,即:復位指令、未定義指令、軟中斷指令、預取錯誤、數據錯誤、保留、IRQ中斷、FIQ中斷。 執行的是復位指令,其做一些最基本的設置:
1、設置存儲器片選寄存器CS0、CS1、CS2、CS3、CS4
這五個寄存器的位表示意義相同,其中位31-13保留;位12表示當寫零等待狀態外部存儲器時是否需要插入1個等待狀態,此處設為0;位11-9表示不同存儲器組切換時需插入的空操作周期數,此處插入2個周期;位8表示存儲器訪問的端機制,此處設為1;位7是寫使能位,此處設為1;位6-5表示存儲器的寬度,此處設為10,表示存儲器字長為32位長;位4-0表示等待狀態數,此處設為00111,即7個等待狀。所以CS0-CS4五個寄存器的值為0x5c7H。
2、設置API Memory的等待狀態、DSP BOOT狀態的啞循環及空操作等
3、設置DSP復位狀態
復位控制寄存器CLKM_CNTL_RESET的位0表示ARM是否釋放DSP復位。程序執行到此處應從復位狀態釋放DSP,所以設為0。設置完成后,調用一跳轉指令(B_c_int00),轉到ARM的MAIN函數。ARM的MAIN函數的 一條指令是調用函數dsp_start(),其作用是通知DSPBootloader已經作完了,接著DSP開始從0FF80H地址運行。當然,ARM處理器同時也在運行,兩個CPU使用中斷機制相互通信。
ARM7在設置DSP的復位狀態時,首先將CLKM_CNTL_RESET的DSP_NRESET位置,使DSP保持復位狀態。然后,ARM把DSP的Bootloader裝載到共享的API中。當裝載完DSP的Bootloader后,ARM將復位控制寄存器CLKM_CNTL_RESET的DSP_NRESET位清零,DSP脫離復位狀態,獲得控制權,并開始運行Bootloader。接著ARM把在DSP上運行的應用程序裝載到共享的API Memory中,DSP采用中斷機制和ARM相互通信,把應用程序從API Memory讀到目的地址運行。