基于DSP28335的飛控計(jì)算機(jī)DAC擴(kuò)展電路設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了實(shí)現(xiàn)UAV的舵機(jī)和油門調(diào)節(jié)控制的需要,飛控計(jì)算機(jī)系統(tǒng)采用BURR—BROWM公司的D/A芯片DAC7725N來(lái)設(shè)計(jì)D/A擴(kuò)展模塊。使用CPLD實(shí)現(xiàn)接口邏輯,簡(jiǎn)化了電路設(shè)計(jì),后續(xù)的系統(tǒng)調(diào)試驗(yàn)證表明,D/A轉(zhuǎn)換通道在1 000 Hz的刷新頻率下,精度能夠達(dá)到5.8 mV,完全能夠滿足UAV飛行控制系統(tǒng)實(shí)際應(yīng)用的要求,具有較高的實(shí)用性。
關(guān)鍵詞:數(shù)模轉(zhuǎn)換;DAC7725N;DSP28335;復(fù)雜可編程邏輯器件
模擬量控制和PWM控制是當(dāng)前無(wú)人機(jī)舵機(jī)控制系統(tǒng)最常用的兩種控制方式。其中模擬量控制作為一種傳統(tǒng)控制方式,至今仍被廣泛應(yīng)用,絕大多數(shù)的飛行控制計(jì)算機(jī)都提供模擬量輸出通道,因此,D/A轉(zhuǎn)換模塊是飛行控制計(jì)算機(jī)中必備的功能模塊之一。DSP28335片上沒有DAC模塊,所以必須使用片外擴(kuò)展。
DAC模塊設(shè)計(jì)涉及D/A轉(zhuǎn)換芯片的選擇、參考電壓源的配置、數(shù)字輸入碼與模擬輸出電壓的極性等問(wèn)題,而其中最核心的問(wèn)題是D/A轉(zhuǎn)換芯片的選擇與應(yīng)用問(wèn)題,主要需要考慮的技術(shù)指標(biāo)有分辨率和建立時(shí)間等。本文選用BURR—BROWM公司的D/A轉(zhuǎn)換芯片DAC7725N實(shí)現(xiàn)此功能。
DAC7725是一款高輸出電壓和低功耗的D/A轉(zhuǎn)換器件,產(chǎn)品功耗低(最多250 mW)、建立時(shí)間快(10μs)、線性度和單調(diào)性為12 bit,接收12位并行輸入數(shù)據(jù),采用雙緩沖輸入邏輯,提供數(shù)據(jù)回讀模式。DAC的低功耗,小體積使DAC7725特別適合于閉環(huán)伺服控制系統(tǒng)。
1 總體設(shè)計(jì)方案
本系統(tǒng)采用TI公司的高性能數(shù)字信號(hào)處理器TMS320F28335(DSP28335)作為中央處理單元。該款DSP芯片提供高性能并行外設(shè)擴(kuò)展接口XINTF,對(duì)外提供具有標(biāo)準(zhǔn)時(shí)序的片選、讀/寫控制信號(hào);同時(shí)提供32位數(shù)據(jù)總線、20位地址總線,并且提供3個(gè)獨(dú)立的片選信號(hào),擴(kuò)展能力強(qiáng),使用方便。
因?yàn)閱纹珼AC7725N提供4通道模擬量輸出,本系統(tǒng)使用兩片DAC7725N擴(kuò)展得到8路模擬量輸出通道。DSP將代表舵面位置的數(shù)字量通過(guò)并行數(shù)據(jù)接口送至DAC7725N,DAC7725N將其轉(zhuǎn)換成相應(yīng)的模擬電平信號(hào)后送至舵控電路,從而完成本次舵面刷新操作。結(jié)構(gòu)圖如圖1所示。
2 DAC轉(zhuǎn)換精密基準(zhǔn)電路設(shè)計(jì)
基準(zhǔn)電路具有穩(wěn)定性好,對(duì)系統(tǒng)的操作環(huán)境(如電源電壓、工作溫度、輸出負(fù)載)變化不敏感的特點(diǎn),可以為其它電路模塊提供較為精確的參考點(diǎn),因此它是模擬集成電路和數(shù)模混合電路中不可缺少的基本單元電路。DAC7725N精密基準(zhǔn)電路如圖2所示。
3 DSP與DAC7725N接口電路的設(shè)計(jì)
比較DSP的XINTF接口與DAC7725N的并行端口可知,兩接口具有良好的兼容性,只需少量接口邏輯電路的配合即可建立起DSP與DAC7725N之間的通信連接。為提高邏輯電路設(shè)計(jì)的靈活性和可靠性,所有的邏輯電路全部使用1片CPLD實(shí)現(xiàn)。DSP與DAC7725N接口電路如圖3所示。
圖3給出了1片DAC7725N與DSP實(shí)現(xiàn)通信連接的電路原理圖。本系統(tǒng)共使用2片DAC7725N,另一片使用相同的接口電路,這里不再重復(fù)給出。
3.1 DAC7725N片選譯碼邏輯設(shè)計(jì)
1#DAC7725N芯片提供第1#~4#模擬量輸出通道,2#DAC7725N芯片提供第5#~8#模擬量輸出通道,DSP要選通某一通道,首先要通過(guò)CPLD的片選譯碼邏輯選通提供該通道的DAC7725N芯片。本系統(tǒng)中采用部分譯碼的方式提供每個(gè)DAC7725N芯片的片選信號(hào)。邏輯電路如圖4所示。
地址分配情況如表1所示。
3.2 DAC7725N寫使能信號(hào)R/W的邏輯設(shè)計(jì)
DAC7725N使用R/W信號(hào)使能本次寫操作。寫操作是D/A轉(zhuǎn)換芯片的基本操作,DSP將待轉(zhuǎn)換的數(shù)字量寫入DAC7725N,在DAC7725N的模擬量輸出端即可得到相應(yīng)幅值的模擬信號(hào)。讀操作是DAC7725N的特色之一,DAC7725N支持?jǐn)?shù)字量回讀功能,使得DSP能夠方便地獲取當(dāng)前正在參與轉(zhuǎn)換的數(shù)字量的值。下面以D/A轉(zhuǎn)換芯片的寫操作為例,詳細(xì)分析芯片DAC7725N寫操作時(shí)序設(shè)計(jì),由于讀操作與寫操作時(shí)序設(shè)計(jì)類似,這里不再累述。
DAC7725N執(zhí)行寫操作時(shí)對(duì)R/W信號(hào)和CS信號(hào)的時(shí)序關(guān)系有一定的要求,如圖5所示。
只要DSP在對(duì)DAC7725N執(zhí)行寫操作時(shí),以CPLD為核心的接口電路能夠提供符合上述標(biāo)準(zhǔn)的邏輯時(shí)序,就能確保DSP對(duì)DAC7725N的寫操作正確執(zhí)行。
XINTF在執(zhí)行寫操作時(shí)XR/W信號(hào)時(shí)序圖示如下:
通過(guò)對(duì)DAC7725N與XINTF的接口時(shí)序作定性對(duì)比可知,令
保持一致,總體上可滿足DAC7725N的接口時(shí)序要求。
4 D/A轉(zhuǎn)換驅(qū)動(dòng)程序設(shè)計(jì)
4.1 轉(zhuǎn)換通道刷新的程序設(shè)計(jì)
刷新操作是指該D/A轉(zhuǎn)換通道能夠及時(shí)鎖存來(lái)自CPU的數(shù)字量輸入,并輸出相應(yīng)幅值的模擬信號(hào)。刷新操作是D/A轉(zhuǎn)換通道的基本操作。對(duì)于本系統(tǒng)來(lái)講,DSP想要刷新某一D/A轉(zhuǎn)換通道的模擬量輸出,只需向相應(yīng)的端口地址寫入數(shù)據(jù)即可。以DAOUT1通道為例,給出示例代碼如下:
unsigned int*DAOUT1=(unsigned int*)(0x004000;
*DAOUT1=daout_w[0];
上例中,首先為DAOUT1通道定義一個(gè)指針變量,指向該通道所分配的地址,也就是0x004000;數(shù)組元素daout_w[0]存放該通道參與轉(zhuǎn)換的數(shù)字量。DSP執(zhí)行上述寫指令時(shí),XINTF的地址總線會(huì)送出0x004000,將DAOUT1通道選通,工作于直通模式;控制信號(hào)XR/W會(huì)送出低有效脈沖,使能本次寫操作;數(shù)據(jù)總線會(huì)送出daout_w[0]里存放的數(shù)字量。至此,DAOUT1通道的刷新操作全部完成。
4.2 轉(zhuǎn)換通道數(shù)據(jù)回讀的程序設(shè)計(jì)
數(shù)據(jù)回讀功能是DAC7725N芯片的特色之一。DAC7725N允許在轉(zhuǎn)換過(guò)程中讀出當(dāng)前正參與轉(zhuǎn)換的數(shù)字量,DSP據(jù)此可以獲取所有D/A轉(zhuǎn)換通道輸出的模擬信號(hào)的幅值,而無(wú)需使用額外的傳感器和A/D轉(zhuǎn)換電路。與數(shù)據(jù)給定(刷新)操作類似,數(shù)據(jù)回讀操作只需從相應(yīng)的端口地址讀出數(shù)據(jù)即可。以DAOUT1通道為例,給出示例代碼如下:
daout_r[0]=*DAOUT1;
上例中,存入數(shù)組元素daout_r[0]中的數(shù)據(jù),即是該通道當(dāng)前正在參與轉(zhuǎn)換的數(shù)字量。DSP執(zhí)行上述寫指令時(shí),XINTF的地址總線會(huì)送出0x004000,將DAOUT1通道選通;控制信號(hào)XR/W保持高電平,使能本次讀操作;DAC7725N將該通道當(dāng)前正參與轉(zhuǎn)換的數(shù)字量送至數(shù)據(jù)總線,供XINTF讀取。至此,DAOUT1通道的數(shù)據(jù)回讀操作全部完成。
5 系統(tǒng)性能驗(yàn)證
D/A轉(zhuǎn)換通道在飛行控制系統(tǒng)中負(fù)責(zé)給出代表舵面位置的模擬信號(hào)。刷新速率不低于50 Hz,精度不低于200 mV。圖7是DAC擴(kuò)展模塊實(shí)物圖。
D/A轉(zhuǎn)換通道的驗(yàn)證方案設(shè)計(jì)如下:
每一路D/A轉(zhuǎn)換通道均要求輸出正弦波信號(hào),使用定時(shí)器定時(shí)刷新的方式,將定時(shí)器的定時(shí)周期設(shè)為1 ms,刷新頻率可達(dá)1 000 Hz;將-10~+10 V的輸出幅值離散為1 000個(gè)點(diǎn),這樣,理論上的轉(zhuǎn)換精度可達(dá)20 mV;用示波器實(shí)時(shí)監(jiān)測(cè)每一通道的輸出信號(hào),看輸出正弦波的頻率是否穩(wěn)定為1 000 Hz,波形是否有明顯的異常抖動(dòng),每隔一段時(shí)間讀取正弦波的振幅值,從而驗(yàn)證在1 000 Hz的刷新頻率下,轉(zhuǎn)換精度是否滿足要求。參考以上論述,先以通道E—D/A1參與測(cè)試,結(jié)果顯示,E—D/A1通道能夠輸出預(yù)期的正弦波信號(hào),證明此D/A轉(zhuǎn)換通道能正常工作。剩余7通道也按相同方式驗(yàn)證,在確知所有的D/A通道已調(diào)通之后,對(duì)各通道的轉(zhuǎn)換精度進(jìn)行了靜態(tài)測(cè)試,測(cè)試方案如下。
在程序中向每路D/A轉(zhuǎn)換通道寫入相同且固定的數(shù)字量,并以20 ms為周期進(jìn)行刷新。使用高精度直流電壓表對(duì)各通道輸出的模擬信號(hào)進(jìn)行測(cè)量。由于數(shù)字量固定且已知,可由相關(guān)公式計(jì)算得到理論上輸出模擬量幅值,將其作為基準(zhǔn)參考與實(shí)際測(cè)得的模擬信號(hào)幅值進(jìn)行比較,可較為準(zhǔn)確地得到各路D/A轉(zhuǎn)換通道的轉(zhuǎn)換精度。測(cè)試結(jié)果表明,所有D/A轉(zhuǎn)換通道精度能夠達(dá)到5.8 mV,可滿足無(wú)人機(jī)飛行控制系統(tǒng)的應(yīng)用需求。
6 結(jié)論
文中以DSP作為中央處理單元(CPU),使用兩片DAC7725N擴(kuò)展得到8路模擬量輸出通道。DSP使用XINTF接口實(shí)現(xiàn)對(duì)DAC7725N的驅(qū)動(dòng),驅(qū)動(dòng)程序簡(jiǎn)單,接口邏輯可靠。使用CPLD實(shí)現(xiàn)DSP與TL16C754之間的接口邏輯,簡(jiǎn)化了電路設(shè)計(jì),進(jìn)一步提高了系統(tǒng)的可靠性。實(shí)驗(yàn)證明,所有D/A轉(zhuǎn)換通道在1 000 Hz的刷新頻率下,精度能夠達(dá)到5.8 mV,完全能夠滿足飛控系統(tǒng)實(shí)際應(yīng)用的要求。