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

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

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

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

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

a.JPG



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

b.JPG


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

應用程序中使用open函數打開DAC7714設備時,實際調用以下函數完成對控制器相應引腳的初始化操作(以PA0連接RESET為例介紹):
d.JPG

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

h.JPG

4 測試程序設計
在測試程序中,實現對DAC7714的4路輸出分別進行測試。測試方法是,對于指定的數字量,通過萬用表或示波器測量DAC7714相應通道的電壓輸出值,若該值與理論值一致,則表明驅動程序正確。
首先調用open函數打開DAC7714設備,然后控制數字量從0依次加1,并結合通道號生成DAC7714所能識別的控制數字量,然后調用write函數控制輸出,當控制數字量達到最大值時,切換下一通道。測試程序主要代碼如下。
i.JPG
j.JPG

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 日韩精品人妻系列无码专区免费| 男女一边摸一边脱视频网站 | 桃花直播下载免费观看| 亚洲精品自产拍在线观看动漫| 精品性高朝久久久久久久| 国产亚洲欧美精品久久久| 国产男女野战视频在线看| 国产精品日本一区二区在线播放| 99久久综合狠狠综合久久| 第九色区AV天堂| 国产一区二区日韩欧美在线| 青青草国产三级精品三级| 国产成人精品午夜二三区波多野| 朋友把我玩成喷泉状| 幻女free牲2020交| 中文无码字幕中文有码字幕 | 无码日韩精品一区二区免费| 久久狠狠躁免费观看| 最近中文字幕高清免费大全8| 亚洲另类古典武侠| 欧美日韩中文一区二区三区| 亚洲白嫩在线观看| 熟女性饥渴一区二区三区| 国产亚洲一区二区在线观看| 91秦先生在线| 国产欧美日韩精品a在线观看| 18禁无遮挡羞羞污污污污免费| 国产馆手机在线观看| 久久99精品久久久久子伦| 日本高清视频免费观看| 久久精品亚洲一区二区三区浴池 | 又爽又黄有又色的视频| 亚洲一区二区三区在线网站| 国产精品网站在线观看免费传媒| 97精品依人久久久大香线蕉97 | www.日韩三级www.日日爱| 性欧美videos高清喷水| 与子乱勾搭对白在线观看| 成人在线播放av| 九九热视频精品在线| 波多野结衣gvg708|