基于DSP28335的飛控計算機DAC擴展電路設計
unsigned int*DAOUT1=(unsigned int*)(0x004000;
本文引用地址:http://www.104case.com/article/249383.htm*DAOUT1=daout_w[0];
上例中,首先為DAOUT1通道定義一個指針變量,指向該通道所分配的地址,也就是0x004000;數組元素daout_w[0]存放該通道參與轉換的數字量。DSP執行上述寫指令時,XINTF的地址總線會送出0x004000,將DAOUT1通道選通,工作于直通模式;控制信號XR/W會送出低有效脈沖,使能本次寫操作;數據總線會送出daout_w[0]里存放的數字量。至此,DAOUT1通道的刷新操作全部完成。
4.2 轉換通道數據回讀的程序設計
數據回讀功能是DAC7725N芯片的特色之一。DAC7725N允許在轉換過程中讀出當前正參與轉換的數字量,DSP據此可以獲取所有D/A轉換通道輸出的模擬信號的幅值,而無需使用額外的傳感器和A/D轉換電路。與數據給定(刷新)操作類似,數據回讀操作只需從相應的端口地址讀出數據即可。以DAOUT1通道為例,給出示例代碼如下:
daout_r[0]=*DAOUT1;
上例中,存入數組元素daout_r[0]中的數據,即是該通道當前正在參與轉換的數字量。DSP執行上述寫指令時,XINTF的地址總線會送出0x004000,將DAOUT1通道選通;控制信號XR/W保持高電平,使能本次讀操作;DAC7725N將該通道當前正參與轉換的數字量送至數據總線,供XINTF讀取。至此,DAOUT1通道的數據回讀操作全部完成。
5 系統性能驗證
D/A轉換通道在飛行控制系統中負責給出代表舵面位置的模擬信號。刷新速率不低于50 Hz,精度不低于200 mV。圖7是DAC擴展模塊實物圖。

D/A轉換通道的驗證方案設計如下:
每一路D/A轉換通道均要求輸出正弦波信號,使用定時器定時刷新的方式,將定時器的定時周期設為1 ms,刷新頻率可達1 000 Hz;將-10~+10 V的輸出幅值離散為1 000個點,這樣,理論上的轉換精度可達20 mV;用示波器實時監測每一通道的輸出信號,看輸出正弦波的頻率是否穩定為1 000 Hz,波形是否有明顯的異常抖動,每隔一段時間讀取正弦波的振幅值,從而驗證在1 000 Hz的刷新頻率下,轉換精度是否滿足要求。參考以上論述,先以通道E—D/A1參與測試,結果顯示,E—D/A1通道能夠輸出預期的正弦波信號,證明此D/A轉換通道能正常工作。剩余7通道也按相同方式驗證,在確知所有的D/A通道已調通之后,對各通道的轉換精度進行了靜態測試,測試方案如下。
在程序中向每路D/A轉換通道寫入相同且固定的數字量,并以20 ms為周期進行刷新。使用高精度直流電壓表對各通道輸出的模擬信號進行測量。由于數字量固定且已知,可由相關公式計算得到理論上輸出模擬量幅值,將其作為基準參考與實際測得的模擬信號幅值進行比較,可較為準確地得到各路D/A轉換通道的轉換精度。測試結果表明,所有D/A轉換通道精度能夠達到5.8 mV,可滿足無人機飛行控制系統的應用需求。
6 結論
文中以DSP作為中央處理單元(CPU),使用兩片DAC7725N擴展得到8路模擬量輸出通道。DSP使用XINTF接口實現對DAC7725N的驅動,驅動程序簡單,接口邏輯可靠。使用CPLD實現DSP與TL16C754之間的接口邏輯,簡化了電路設計,進一步提高了系統的可靠性。實驗證明,所有D/A轉換通道在1 000 Hz的刷新頻率下,精度能夠達到5.8 mV,完全能夠滿足飛控系統實際應用的要求。
電路相關文章:電路分析基礎
評論