• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DAC7714在嵌入式激光跟蹤儀中的應(yīng)用

      2012-07-13 03:08:04呂志剛
      電子設(shè)計工程 2012年7期
      關(guān)鍵詞:驅(qū)動程序調(diào)用時序

      呂志剛,王 鵬

      (西安工業(yè)大學(xué) 陜西 西安 710032)

      設(shè)備驅(qū)動程序在Linux內(nèi)核中占有極其重要的位置,在一個嵌入式系統(tǒng)中,除了CPU、內(nèi)存以及其他很少的幾個部件以外,所有的設(shè)備控制操作都必須由驅(qū)動程序來完成[1-2]。系統(tǒng)設(shè)計者必須為系統(tǒng)中的每個外設(shè)開發(fā)相應(yīng)的驅(qū)動程序,否則設(shè)備無法在Linux下正常工作。

      在基于AT91RM9200處理器的某嵌入式激光跟蹤儀中,為了實現(xiàn)目標(biāo)的快速、平穩(wěn)跟蹤,需要控制兩路電機,即:方位電機、俯仰電機。其原理如下:通過不斷讀取兩路角度編碼器的數(shù)據(jù),計算出兩路電機實際角度與期望角度的偏差,利用反饋控制的原理,驅(qū)動兩路電機跟蹤目標(biāo)。兩路電機的控制電壓為5V時,電機停止不動;控制電壓為0V時,電機以最大速度順時針旋轉(zhuǎn);控制電壓為10V時,電機以最大速度逆時針旋轉(zhuǎn)。

      根據(jù)上述控制要求,選擇4通道12位的串行DA轉(zhuǎn)換器——DAC7714轉(zhuǎn)換器作為兩路電機的控制驅(qū)動芯片。該芯片在嵌入式Linux系統(tǒng)下驅(qū)動程序的優(yōu)劣,將直接決定整個儀器的跟蹤效果,也是嵌入式開發(fā)的需要解決的基本問題之一。

      1 概 述

      DAC7714是美國TI公司推出的一款4通道12位串行輸入、電壓輸出型DA轉(zhuǎn)換器。其供電電壓為±15 V,可以實現(xiàn)輸出自動保持,采用此串口芯片除了具有節(jié)省單片機資源的優(yōu)點外,還具有同時輸出多路0~10 V(參考電壓為+10 V和0 V),特別適用于MCU資源緊缺而控制通道比較多的場合[3]。

      DAC7714性能特點:

      1)12位分辨率,串行接口;

      2)功耗僅為250 mW;

      3)4個模擬輸出通道,電壓輸出;

      4)線性誤差±1LSB;

      5) 支持單極性(0~10 V)或雙極性(-10 V~+10 V)輸出;

      6)自動輸出保持;

      7)復(fù)位信號可選,不同復(fù)位方式具有不同初始值。

      2 硬件設(shè)計

      嵌入式激光跟蹤儀硬件比較復(fù)雜,這里進介紹與電機驅(qū)動相關(guān)的DAC7714與AT91RM9200的硬件連接部分。由于實際使用時的電機功率較大,需要在DAC7714的兩路輸出再加一級驅(qū)動電路才能真正驅(qū)動電機。

      2.1 DAC7714引腳及功能

      DAC7714為SOJ16封裝,具體引腳及功能介紹如下:

      VOUTA~VOUTD:4 個模擬量輸出

      CS:片選端,低電平有效

      CLK:串行數(shù)據(jù)時鐘端

      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è)計

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

      圖1 DAC7714硬件設(shè)計Fig.1 Hardware design for DAC7714

      3 驅(qū)動程序設(shè)計

      驅(qū)動程序的目的是驅(qū)動硬件正常工作,所以編寫驅(qū)動程序要針對特定的硬件來進行[4]。在嵌入式激光跟蹤儀中,需要編寫DAC7714的驅(qū)動程序,內(nèi)核將以設(shè)備節(jié)點的形式調(diào)用、管理該芯片。DAC7714屬于串行DA轉(zhuǎn)換器,需要根據(jù)其工作時序圖,控制AT91RM9200的上述引腳,模擬其工作時序,在內(nèi)核Linux-2.4.19中完成驅(qū)動程序的設(shè)計。

      3.1 DAC7714工作時序圖

      DAC7714完成一次數(shù)模轉(zhuǎn)換,需要在CS為低電平期間,在CLK的上升沿,串行輸出16位數(shù)據(jù)到SDI[5]。16位數(shù)據(jù)中,前兩位A1和A0的組合將決定對某一通道進行轉(zhuǎn)換輸出(00-A通道、01-B通道、10-C通道、11-D通道),接下來兩位為無效位,最后的12位數(shù)據(jù)即真正需要轉(zhuǎn)換的數(shù)據(jù)。其工作時序圖如圖2所示。

      圖2 DAC7714工作時序Fig.2 DAC7714 timing

      3.2 驅(qū)動程序組成

      DAC7714驅(qū)動程序作為設(shè)備文件,同樣分為open、write、release等幾個操作[6]。對于內(nèi)核來說,DAC7714屬于字符型設(shè)備,并為該設(shè)備命名為Name[]=“DAC7714drv”。該模塊在使用時采用insmod命令進行動態(tài)加載,使用rmmod命令進行動態(tài)卸載。DAC7714驅(qū)動程序主要由注冊函數(shù)、注銷函數(shù)、初始化函數(shù)、DA輸出函數(shù)構(gòu)成。

      用戶在使用insmod命令加載模塊時,實際調(diào)用的是以下注冊函數(shù):

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

      應(yīng)用程序使用write函數(shù)操作DAC7714時,實際調(diào)用如下函數(shù)對其輸出進行控制:

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

      圖3 DAC7714工作流程圖Fig.3 Flow chart of DAC7714

      4 測試程序設(shè)計

      在測試程序中,實現(xiàn)對DAC7714的4路輸出分別進行測試。測試方法是,對于指定的數(shù)字量,通過萬用表或示波器測量DAC7714相應(yīng)通道的電壓輸出值,若該值與理論值一致,則表明驅(qū)動程序正確。

      首先調(diào)用open函數(shù)打開DAC7714設(shè)備,然后控制數(shù)字量從0依次加1,并結(jié)合通道號生成DAC7714所能識別的控制數(shù)字量,然后調(diào)用write函數(shù)控制輸出,當(dāng)控制數(shù)字量達(dá)到最大值時,切換下一通道。測試程序主要代碼如下。

      5 結(jié) 論

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

      [1]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.

      [2]Corbet J,Rubini A,Hartman G K.Linux設(shè)備驅(qū)動程序[M].北京:中國電力出版社,2006.

      [3]馬亮,金星.串行數(shù)/模轉(zhuǎn)換器DAC7714及基于FPGA的應(yīng)用[J].電子設(shè)計工程,2007(1):63-66.

      MA Liang,JIN Xing.Serial D/A converter DAC7714 and its application based on FPGA[J].Electronic Design Engineering,2007(1):63-66.

      [4]羅東華,李海崗,王忠民.基于Linux的溫度傳感器驅(qū)動程序的設(shè)計 [J].山東理工大學(xué)學(xué)報:自然科學(xué)版,2011,6(25):98-100.

      LUO Dong-hua,LIHai-gang,WANG Zhong-min.Linux device driver design of temperature sensor based on Linux device[J].Journal of Shandong University of Technology:Natural Science Edition,2011,6(25):98-100

      [5]范春輝,何廣平.DAC7714和中文液晶模塊與單片機的接口設(shè)計[J].電測與儀表,2006,12(42):61-64.

      FAN Chun-hui,HE Guang-ping.Inter face design of the DAC7714 and Chinese LCD with SCM [J].Electrical Measurement&Instrumentation,2006,12(42):61-64.

      [6]周鵬,侯立剛,彭曉宏,等.基于ARM嵌入式系統(tǒng)的RFID驅(qū)動程序設(shè)計[J].電子技術(shù)應(yīng)用,2011,8(37):30-32,35.

      ZHOU Peng,HOU Li-gang,PENG Xiao-hong,et al.RFID driver design based on ARM embedded system[J].Application of Electronic Technique,2011,8(37):30-32,35.

      [7]趙瑤池,胡祝華,胡詩雨.嵌入式網(wǎng)絡(luò)智能視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012(4):68-70,74.

      ZHAO Yao-chi,HU Zhu-hua,HU Shi-yu.Design and realization of embedded intelligent video monitoring system based on network[J].Modern Electronics Technique,2012(4):68-70,74.

      猜你喜歡
      驅(qū)動程序調(diào)用時序
      時序坐標(biāo)
      基于Sentinel-2時序NDVI的麥冬識別研究
      核電項目物項調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      DPBUS時序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      赤城县| 灌云县| 沙河市| 盐源县| 子长县| 错那县| 道真| 钟祥市| 连南| 曲沃县| 弋阳县| 定边县| 东至县| 昭觉县| 安陆市| 江达县| 温州市| 河北区| 泸水县| 广德县| 新乡市| 泌阳县| 繁峙县| 永靖县| 华蓥市| 陆河县| 筠连县| 本溪| 莒南县| 商洛市| 永修县| 拜泉县| 元朗区| 浦东新区| 长治县| 巧家县| 宜兰市| 苏州市| 德令哈市| 临泉县| 景洪市|