基于LPC2134的多道脈沖 幅度分析器設(shè)計(jì)
3 多道脈沖幅度分析器相關(guān)軟件設(shè)計(jì)
ARM微處理器軟件可采用前/后臺(tái)系統(tǒng)(foreground/background)或超循環(huán)系統(tǒng)(super-loops)設(shè)計(jì)。應(yīng)用程序是一個(gè)無限循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)可完成相應(yīng)的功能,這部分可以看成后臺(tái)行為(background)。中斷服務(wù)程序可處理異步事件、這部分可以看成前臺(tái)行為。后臺(tái)也可以叫做任務(wù)級(jí),前臺(tái)也叫做中斷級(jí)。時(shí)間相關(guān)性很強(qiáng)的關(guān)鍵操作一定是靠中斷服務(wù)來保證的。因?yàn)橹袛喾?wù)提供的信息,要等到后臺(tái)程序運(yùn)行到可以處理這個(gè)信息時(shí),才能得到處理。這種軟件系統(tǒng)在處理信息的及時(shí)性上,比實(shí)際可以做到的要差。處理信息的及時(shí)性,稱作任務(wù)級(jí)響應(yīng)時(shí)間。最壞情況下的任務(wù)級(jí)響應(yīng)時(shí)間取決于整個(gè)循環(huán)的執(zhí)行時(shí)間。因?yàn)檠h(huán)的執(zhí)行時(shí)間不是常數(shù),程序經(jīng)過某一特定部分的準(zhǔn)確時(shí)間是確定的。進(jìn)而,如果程序修改了,循環(huán)的時(shí)序也會(huì)受到影響。程序在進(jìn)行初始化后,將進(jìn)入超級(jí)循環(huán)等待中斷,中斷到來先保護(hù)現(xiàn)場(chǎng)再轉(zhuǎn)到中斷服務(wù)程序,處理完畢后恢復(fù)現(xiàn)場(chǎng),再返回超級(jí)循環(huán)并繼續(xù)等待中斷。可見中斷處理是程序中比較重要的任務(wù)。
3.1 主函數(shù)程序設(shè)計(jì)流程
整個(gè)應(yīng)用系統(tǒng)軟件程序可采用模塊化設(shè)計(jì)方法,包括C語言和匯編語言兩在模塊。其主程序流程圖如圖7所示。
3.2 A/D轉(zhuǎn)換中斷服務(wù)程序
A/D轉(zhuǎn)換完畢后,可由AD7994的BUSY端向ARM申請(qǐng)中斷,ARM開始讀取來自A/D轉(zhuǎn)換的數(shù)據(jù)并保存。其程序流程如圖8所示。
AD7994是4通道12位ADC,為了能夠快速處理A/D中斷服務(wù)程序,本系統(tǒng)將A/D中斷設(shè)置為快速中斷。
3. 3 串口通信軟件設(shè)計(jì)
本系統(tǒng)中的串口中斷程序流程圖如圖9所示。
4 仿真調(diào)試
評(píng)論