磁懸浮軸承控制器MAX115與DSP的接口設(shè)計
MAX115的和信號線由DSP的和分別直接連接即可。通過DSP的數(shù)據(jù)線的D0-D3作為編程地址線從而對其工作模式進行編程。當(dāng)A/D轉(zhuǎn)換結(jié)束后,要從ADC中讀取數(shù)據(jù),讀到14位數(shù)據(jù)D13-D0時,再將所得數(shù)據(jù)左移2位,即屏蔽掉低2位無效的輸入后,即可得到12位A/D采集數(shù)據(jù)。另一個問題是MAX115與DSP接口的速度匹配問題,由于DSP速度過快,會導(dǎo)致MAX115無法正常工作,所以系統(tǒng)中采用軟件的方法插入等待狀態(tài),具體操作見下文的軟件設(shè)計。
控制器中MAX115的片選()信號、轉(zhuǎn)換開始()信號及讀()寫()信號都是由MAX7128產(chǎn)生的。MAX7128編程方便,易于調(diào)試,用其實現(xiàn)快速地址選通等功能來加快系統(tǒng)的處理速度。其中DSP的參與地址譯碼。
軟件設(shè)計
DSP作為下層的CPU來控制數(shù)據(jù)采集的整個過程。本控制器設(shè)計使用的編程軟件是TI公司的CCS,采用C語言及嵌入式匯編編程,這樣編寫的程序簡潔,易于讀懂。
本控制器采用4通道連續(xù)轉(zhuǎn)換,A3A2A1A0=0011。上電后DSP給MAX115寫入工作方式,然后送信號,A/D轉(zhuǎn)換開始,轉(zhuǎn)換完成后,MAX115發(fā)出請求AD_INT變低,DSP中斷立刻開始讀取A/D轉(zhuǎn)換結(jié)果。MAX115的與DSP的XINT1相連,作為DSP的外部中斷輸入。當(dāng)A/D轉(zhuǎn)換完成后,變低,DSP進入中斷服務(wù)程序,在中斷服務(wù)程序中將A/D轉(zhuǎn)換結(jié)果讀出。這種方法應(yīng)用于快速轉(zhuǎn)換,只要中斷來了便進行轉(zhuǎn)換,充分利用了CPU的資源。下面給出了中斷方式下DSP控制A/D轉(zhuǎn)換的部分程序。其中主要以中斷子程序為主,其它中斷初始化及其DSP中斷向量程序均省略。
_____ A/D轉(zhuǎn)換電路 _____
data=0X03; /*MAX115工作方式選擇A3A2A1A0=0011*/
asm(" OUT _data,0003h ");
/*選擇ADC,并寫入工作模式*/
asm("rpt XXX ");
/*XXX為一個數(shù)值 其大小應(yīng)根據(jù)實際調(diào)試而決定*/
asm(" nop ");
/*延時 匹配速度*/
asm(" OUT _data,1003h ");
/*A/D轉(zhuǎn)換開始用地址1003h來選中信號*/
_____A/D轉(zhuǎn)換結(jié)果的讀取_____
void AD_INT()
{ asm(" IN _ad_result1,0003h "); /*讀入AD_CH1A轉(zhuǎn)換結(jié)果*/
ad_result1=ad_result10x0fff;
ad_result1=ad_result1*2;
/* CH1A通道最后結(jié)果ad_result1*/
asm(" rpt XXX ");
asm(" nop ");
asm(" IN _ad_result2,0003h "); /*讀入AD_CH2A轉(zhuǎn)換結(jié)果*/
ad_result2=ad_result20x0fff;
ad_result2=ad_result2*2;
/* CH2A通道最后結(jié)果ad_result2*/
asm(" rpt XXX ");
asm(" nop ");
asm(" IN _ad_result3,0003h "); /*讀入AD_CH3A轉(zhuǎn)換結(jié)果*/
ad_result3=ad_result30x0fff;
ad_result3=ad_result3*2;
/* CH3A通道最后結(jié)果ad_result3*/
asm("rpt XXX ");
asm(" nop ");
asm(" IN _ad_result4,0003h "); /*讀入AD_CH4A轉(zhuǎn)換結(jié)果*/
ad_result4=ad_result40x0fff;
ad_result4=ad_result4*2;
/* CH4A通道最后結(jié)果ad_result4*/
}
調(diào)試程序時一定要注意MAX115與DSP的時序配合問題,參考Maxim公司的MAX115產(chǎn)品資料,根據(jù)資料所標示出的時序圖來調(diào)試電路。在送A/D工作模式后,再送信號,12ms后MAX115輸出信號,此信號可以作為A/D轉(zhuǎn)換已經(jīng)完成的標志。如果是多通道A/D采集,在讀轉(zhuǎn)換數(shù)據(jù)時,要在讀每通道之間加不小于45ns的延時,這樣才能保證讀出數(shù)據(jù)是可靠真實的模擬信號。
結(jié)語
本文主要探討了12位ADC MAX115與TMS320F240之間的硬件接口電路,并給出了采集程序的流程,在實際的磁懸浮軸承控制系統(tǒng)中采用了中斷采集法,實現(xiàn)了對磁懸浮主軸位置的精確測量,達到了很好的效果。
參考文獻
1 劉和平,嚴利平,張學(xué)鋒等. TMS320LF240x結(jié)構(gòu)、原理及應(yīng)用北京:北京航空航天大學(xué)出版社,2002
2 江思敏. TMS320LF240XDSP硬件開發(fā)教程. 機械工業(yè)出版社,2003
3 MAX115/MAX116 Data sheet, Maxim Integrated Products, Inc. 2001(end)
評論