<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DAC7714在嵌入式激光跟蹤儀中的應(yīng)用

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

          作者: 時(shí)間:2012-07-02 來(lái)源:網(wǎng)絡(luò) 收藏

          2.2 硬件設(shè)計(jì)
          硬件設(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所示。

          本文引用地址:http://www.ex-cimer.com/article/148829.htm

          a.JPG



          3 驅(qū)動(dòng)程序設(shè)計(jì)
          驅(qū)動(dòng)程序的目的是驅(qū)動(dòng)硬件正常工作,所以編寫(xiě)驅(qū)動(dòng)程序要針對(duì)特定的硬件來(lái)進(jìn)行。在儀中,需要編寫(xiě)的驅(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ù)、注銷函數(shù)、初始化函數(shù)、DA輸出函數(shù)構(gòu)成。
          用戶在使用insmod命令加載模塊時(shí),實(shí)際調(diào)用的是以下注冊(cè)函數(shù):
          c.JPG

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();