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