基于LPC2134的多道脈沖幅度分析器設計
3 多道脈沖幅度分析器相關(guān)軟件設計
ARM微處理器軟件可采用前/后臺系統(foreground/background)或超循環(huán)系統(super-loops)設計。應用程序是一個(gè)無(wú)限循環(huán),循環(huán)中調用相應的函數可完成相應的功能,這部分可以看成后臺行為(background)。中斷服務(wù)程序可處理異步事件、這部分可以看成前臺行為。后臺也可以叫做任務(wù)級,前臺也叫做中斷級。時(shí)間相關(guān)性很強的關(guān)鍵操作一定是靠中斷服務(wù)來(lái)保證的。因為中斷服務(wù)提供的信息,要等到后臺程序運行到可以處理這個(gè)信息時(shí),才能得到處理。這種軟件系統在處理信息的及時(shí)性上,比實(shí)際可以做到的要差。處理信息的及時(shí)性,稱(chēng)作任務(wù)級響應時(shí)間。最壞情況下的任務(wù)級響應時(shí)間取決于整個(gè)循環(huán)的執行時(shí)間。因為循環(huán)的執行時(shí)間不是常數,程序經(jīng)過(guò)某一特定部分的準確時(shí)間是確定的。進(jìn)而,如果程序修改了,循環(huán)的時(shí)序也會(huì )受到影響。程序在進(jìn)行初始化后,將進(jìn)入超級循環(huán)等待中斷,中斷到來(lái)先保護現場(chǎng)再轉到中斷服務(wù)程序,處理完畢后恢復現場(chǎng),再返回超級循環(huán)并繼續等待中斷??梢?jiàn)中斷處理是程序中比較重要的任務(wù)。
3.1 主函數程序設計流程
整個(gè)應用系統軟件程序可采用模塊化設計方法,包括C語(yǔ)言和匯編語(yǔ)言?xún)稍谀K。其主程序流程圖如圖7所示。
3.2 A/D轉換中斷服務(wù)程序
A/D轉換完畢后,可由AD7994的BUSY端向ARM申請中斷,ARM開(kāi)始讀取來(lái)自A/D轉換的數據并保存。其程序流程如圖8所示。
AD7994是4通道12位ADC,為了能夠快速處理A/D中斷服務(wù)程序,本系統將A/D中斷設置為快速中斷。
3. 3 串口通信軟件設計
本系統中的串口中斷程序流程圖如圖9所示。
4 仿真調試
在PROTEUS軟件上進(jìn)行仿真,改變不同的電路參數,可以觀(guān)察波形的變化。
利用函數發(fā)生器可產(chǎn)生一個(gè)矩形波信號,然后運行仿真程序,以直接讀出各波形。改變電容Cll的值,可以改變輸出波形的幅度。然后調整不同的輸入信號進(jìn)行測試,并記錄輸出波形的幅度以及波形。波形幅度數據如表l所列,其波形仿真圖10所示。
由圖可見(jiàn),當C11的值小于160 pF或大于1.5nF的時(shí)候,波形開(kāi)始失真。
5 結束語(yǔ)
本文所設計的硬件電路已經(jīng)通過(guò)了軟件調試和仿真,可以達到預期的效果。積分電容器的電容值過(guò)大過(guò)小都不行,在PROTEUS上選擇不同的電容值有較大的優(yōu)勢。由于CA3140的放大倍數等于某時(shí)候的最高信號頻率(為4.5 MHz),故在輸入信號頻率較高的時(shí)候,CA3140的放大倍數將不能接近1,而這會(huì )影響 最后的結果。所以,為了在高頻輸入時(shí),系統也能正常工作,可以把CA3140替換成高頻特性比較好的LM6161,這樣可以提高系統的高頻特性。
評論