《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > DAC7714在嵌入式激光跟蹤儀中的應(yīng)用
DAC7714在嵌入式激光跟蹤儀中的應(yīng)用
電子設(shè)計(jì)工程
呂志剛,王 鵬
摘要: 文中給出了DAC7714硬件設(shè)計(jì)方案,在AT91RM9200+嵌入式Linux環(huán)境下,詳細(xì)介紹了基于其驅(qū)動(dòng)程序和測(cè)試程序的設(shè)計(jì)方法,揭示了嵌入式開(kāi)發(fā)的一般規(guī)律。在實(shí)際測(cè)試過(guò)程中,將4路通道的實(shí)際輸出電壓與理論電壓進(jìn)行了比較,誤差最大為0.1%,完全能夠滿(mǎn)足激光跟蹤的要求。
關(guān)鍵詞: ARM DAC7714 AT91RM9200 激光跟蹤儀
Abstract:
Key words :

    設(shè)備驅(qū)動(dòng)程序在Linux內(nèi)核中占有極其重要的位置,在一個(gè)嵌入式系統(tǒng)中,除了CPU、內(nèi)存以及其他很少的幾個(gè)部件以外,所有的設(shè)備控制操作都必須由驅(qū)動(dòng)程序來(lái)完成。系統(tǒng)設(shè)計(jì)者必須為系統(tǒng)中的每個(gè)外設(shè)開(kāi)發(fā)相應(yīng)的驅(qū)動(dòng)程序,否則設(shè)備無(wú)法在Linux下正常工作。
     在基于AT91RM9200處理器的某嵌入式激光跟蹤儀中,為了實(shí)現(xiàn)目標(biāo)的快速、平穩(wěn)跟蹤,需要控制兩路電機(jī),即:方位電機(jī)、俯仰電機(jī)。其原理如下:通過(guò)不斷讀取兩路角度編碼器的數(shù)據(jù),計(jì)算出兩路電機(jī)實(shí)際角度與期望角度的偏差,利用反饋控制的原理,驅(qū)動(dòng)兩路電機(jī)跟蹤目標(biāo)。兩路電機(jī)的控制電壓為5V時(shí),電機(jī)停止不動(dòng);控制電壓為0V時(shí),電機(jī)以最大速度順時(shí)針旋轉(zhuǎn);控制電壓為10V時(shí),電機(jī)以最大速度逆時(shí)針旋轉(zhuǎn)。
    根據(jù)上述控制要求,選擇4通道12位的串行DA轉(zhuǎn)換器——DAC7714轉(zhuǎn)換器作為兩路電機(jī)的控制驅(qū)動(dòng)芯片。該芯片在嵌入式Linux系統(tǒng)下驅(qū)動(dòng)程序的優(yōu)劣,將直接決定整個(gè)儀器的跟蹤效果,也是嵌入式開(kāi)發(fā)的需要解決的基本問(wèn)題之一。

1 概述
    DAC7714是美國(guó)TI公司推出的一款4通道12位串行輸入、電壓輸出型DA轉(zhuǎn)換器。其供電電壓為±15 V,可以實(shí)現(xiàn)輸出自動(dòng)保持,采用此串口芯片除了具有節(jié)省單片機(jī)資源的優(yōu)點(diǎn)外,還具有同時(shí)輸出多路0~10 V(參考電壓為+10 V和0 V),特別適用于MCU資源緊缺而控制通道比較多的場(chǎng)合。
DAC7714性能特點(diǎn):
1)12位分辨率,串行接口;
2)功耗僅為250 mW;
3)4個(gè)模擬輸出通道,電壓輸出;
4)線性誤差±1LSB;
5)支持單極性(0~10 V)或雙極性(-10 V~+10 V)輸出;
6)自動(dòng)輸出保持;
7)復(fù)位信號(hào)可選,不同復(fù)位方式具有不同初始值。

2 硬件設(shè)計(jì)
嵌入式激光跟蹤儀硬件比較復(fù)雜,這里進(jìn)介紹與電機(jī)驅(qū)動(dòng)相關(guān)的DAC7714與AT91RM9200的硬件連接部分。由于實(shí)際使用時(shí)的電機(jī)功率較大,需要在DAC7714的兩路輸出再加一級(jí)驅(qū)動(dòng)電路才能真正驅(qū)動(dòng)電機(jī)。
2.1 DAC7714引腳及功能
DAC7714為SOJ16封裝,具體引腳及功能介紹如下:
VOUTA~VOUTD:4個(gè)模擬量輸出
CS:片選端,低電平有效
CLK:串行數(shù)據(jù)時(shí)鐘端
VCC:正電源,通常為+15 V
VSS:負(fù)電源,通常為0或-15 V
GND:地
VREFL:模擬輸出電壓參考(下限)
VREFH:模擬輸出電壓參考(上限)
SDI:串行數(shù)據(jù)輸入
LOADDACS:轉(zhuǎn)換結(jié)束判斷位
RESET和RESETSEL:芯片復(fù)位設(shè)置位

2.2 DAC7714硬件設(shè)計(jì)
DAC7714硬件設(shè)計(jì)比較簡(jiǎn)單,其可編程引腳RESET、LOADDACS、CS、CLK、SDI分別與AT91RM9200的IO口PA0-PA1、PA3-PA5連接,為下一步驅(qū)動(dòng)程序開(kāi)發(fā)打下基礎(chǔ);其VOUTA、VOUTB接兩路電機(jī)的控制信號(hào);VREFL接地,VREFH接+10 V,使用單極性接法。其具體連接如圖1所示。

a.JPG



3 驅(qū)動(dòng)程序設(shè)計(jì)
    驅(qū)動(dòng)程序的目的是驅(qū)動(dòng)硬件正常工作,所以編寫(xiě)驅(qū)動(dòng)程序要針對(duì)特定的硬件來(lái)進(jìn)行。在嵌入式激光跟蹤儀中,需要編寫(xiě)DAC7714的驅(qū)動(dòng)程序,內(nèi)核將以設(shè)備節(jié)點(diǎn)的形式調(diào)用、管理該芯片。DAC7714屬于串行DA轉(zhuǎn)換器,需要根據(jù)其工作時(shí)序圖,控制AT91RM9200的上述引腳,模擬其工作時(shí)序,在內(nèi)核Linux-2.4.19中完成驅(qū)動(dòng)程序的設(shè)計(jì)。
3.1 DAC7714工作時(shí)序圖
   DAC7714完成一次數(shù)模轉(zhuǎn)換,需要在CS為低電平期間,在CLK的上升沿,串行輸出16位數(shù)據(jù)到SDI。16位數(shù)據(jù)中,前兩位A1和A0的組合將決定對(duì)某一通道進(jìn)行轉(zhuǎn)換輸出(00-A通道、01-B通道、10-C通道、11-D通道),接下來(lái)兩位為無(wú)效位,最后的12位數(shù)據(jù)即真正需要轉(zhuǎn)換的數(shù)據(jù)。其工作時(shí)序圖如圖2所示。

b.JPG


3.2 驅(qū)動(dòng)程序組成
    DAC7714驅(qū)動(dòng)程序作為設(shè)備文件,同樣分為open、write、release等幾個(gè)操作。對(duì)于內(nèi)核來(lái)說(shuō),DAC7714屬于字符型設(shè)備,并為該設(shè)備命名為Name[]=“DAC7714drv”。該模塊在使用時(shí)采用insmod命令進(jìn)行動(dòng)態(tài)加載,使用rmmod命令進(jìn)行動(dòng)態(tài)卸載。DAC7714驅(qū)動(dòng)程序主要由注冊(cè)函數(shù)、注銷(xiāo)函數(shù)、初始化函數(shù)、DA輸出函數(shù)構(gòu)成。
    用戶(hù)在使用insmod命令加載模塊時(shí),實(shí)際調(diào)用的是以下注冊(cè)函數(shù):
c.JPG

應(yīng)用程序中使用open函數(shù)打開(kāi)DAC7714設(shè)備時(shí),實(shí)際調(diào)用以下函數(shù)完成對(duì)控制器相應(yīng)引腳的初始化操作(以PA0連接RESET為例介紹):
d.JPG

在DAC7714_write函數(shù)中,控制AT91RM9200的PA0-PA5引腳電平,模擬圖2的時(shí)序完成DA輸出,其流程圖3所示。

h.JPG

4 測(cè)試程序設(shè)計(jì)
在測(cè)試程序中,實(shí)現(xiàn)對(duì)DAC7714的4路輸出分別進(jìn)行測(cè)試。測(cè)試方法是,對(duì)于指定的數(shù)字量,通過(guò)萬(wàn)用表或示波器測(cè)量DAC7714相應(yīng)通道的電壓輸出值,若該值與理論值一致,則表明驅(qū)動(dòng)程序正確。
首先調(diào)用open函數(shù)打開(kāi)DAC7714設(shè)備,然后控制數(shù)字量從0依次加1,并結(jié)合通道號(hào)生成DAC7714所能識(shí)別的控制數(shù)字量,然后調(diào)用write函數(shù)控制輸出,當(dāng)控制數(shù)字量達(dá)到最大值時(shí),切換下一通道。測(cè)試程序主要代碼如下。
i.JPG
j.JPG

5 結(jié)論
    文中給出了DAC7714硬件設(shè)計(jì)方案,在AT91RM9200+嵌入式Linux環(huán)境下,詳細(xì)介紹了基于其驅(qū)動(dòng)程序和測(cè)試程序的設(shè)計(jì)方法,揭示了嵌入式開(kāi)發(fā)的一般規(guī)律。在實(shí)際測(cè)試過(guò)程中,將4路通道的實(shí)際輸出電壓與理論電壓進(jìn)行了比較,誤差最大為0.1%,完全能夠滿(mǎn)足激光跟蹤的要求。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。