基于TMS32OF2812的振動(dòng)主動(dòng)控制系統(tǒng)設(shè)計(jì)
1.4 RS232接口
F2812內(nèi)部有兩個(gè)異步串行接口(SCI),每個(gè)都有收發(fā)緩沖寄存器、收發(fā)移位寄存器和用于接受發(fā)送的16級(jí)深度FIFO。接收和發(fā)送的波特率可以編程設(shè)定,最高可達(dá)64K。系統(tǒng)中F2812需要通過(guò)SCI與主機(jī)通信,而F2812外圍接口是3.3VCMOS色平,計(jì)算機(jī)串口是RS-232電平,故兩者之間需進(jìn)行電平轉(zhuǎn)換。MAX3232是一款常用的RS-232電平轉(zhuǎn)換芯片,接口電路如圖5所示。本文引用地址:http://www.ex-cimer.com/article/163208.htm
2 軟件設(shè)計(jì)
DSP控制算法由主程序和中斷服務(wù)子程序兩部分組成,程序流程圖如圖所示。在主程序中,主要是初始化系統(tǒng)控制寄存器、看門(mén)狗、系統(tǒng)時(shí)鐘、GPIO口、中斷向量表和一些外設(shè)等,設(shè)置ADC的采樣序列、SCI的通信波特率和外部存儲(chǔ)器接口的訪問(wèn)時(shí)序,然后設(shè)置計(jì)時(shí)器的計(jì)時(shí)周期、計(jì)數(shù)模式和計(jì)時(shí)中斷等,進(jìn)入等待計(jì)時(shí)中斷狀態(tài)。中斷服務(wù)子程序主要完成以下功能:首先關(guān)中斷,初始化計(jì)算變量;接著對(duì)ADC相應(yīng)通道的輸入信號(hào)進(jìn)行A/D轉(zhuǎn)換,取出采樣值預(yù)處理,運(yùn)行控制算法計(jì)算出控制量,通過(guò)寫(xiě)D/A的通道地址輸出控制量進(jìn)行D/A轉(zhuǎn)換,最終輸出控制模擬信號(hào)驅(qū)動(dòng)作動(dòng)器減振;通過(guò)SCI與主機(jī)通信,上傳振動(dòng)信號(hào)和控制量;最后則對(duì)ADC、SCI和計(jì)時(shí)器中斷進(jìn)行相關(guān)設(shè)置,開(kāi)全局中斷,為下次運(yùn)行中斷服務(wù)子程序做準(zhǔn)備。中斷服務(wù)子程序運(yùn)行完畢則返回主程序,進(jìn)入等待中斷狀態(tài),等待下一次的計(jì)時(shí)中斷,如此循環(huán)往復(fù)。
3 總結(jié)
本文設(shè)計(jì)的以TMS320F2812為控制核心的嵌入式振動(dòng)主動(dòng)控制系統(tǒng),利用F2812內(nèi)置的A/D模塊可以同時(shí)采集多路振動(dòng)信號(hào),利用MAX547實(shí)現(xiàn)的D/A轉(zhuǎn)換電路可以輸出8路控制信號(hào),能夠?qū)崿F(xiàn)多輸入多輸出的振動(dòng)主動(dòng)控制,貼近工程實(shí)用。利用本系統(tǒng)已經(jīng)對(duì)一個(gè)艦船浮筏成功地進(jìn)行了多輸入多輸出振動(dòng)主動(dòng)控制。
評(píng)論