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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 一線(xiàn)式A/D轉(zhuǎn)換器DS2450的原理與應(yīng)用

          一線(xiàn)式A/D轉(zhuǎn)換器DS2450的原理與應(yīng)用

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

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

          3與微處理器的典型連接圖

          預(yù)置控制字可以對(duì)相應(yīng)通道的轉(zhuǎn)換結(jié)果存儲(chǔ)器進(jìn)行預(yù)置。SET、CLR=00,不預(yù)置,保持上次轉(zhuǎn)換值;SET、CLR=01,轉(zhuǎn)換前預(yù)置為全0;SET、CLR=10,預(yù)置為全1;SET、CLR=11,無(wú)效組合。
          4.2存儲(chǔ)器讀/寫(xiě)控制
          讀存儲(chǔ)器命令用于讀取轉(zhuǎn)換結(jié)果、工作狀態(tài)、門(mén)限設(shè)定值等??偩€(xiàn)管理器首先送出讀存儲(chǔ)器命令字[AAH],然后送出兩字節(jié)的16位“起始數(shù)據(jù)”存儲(chǔ)器地址,從總線(xiàn)上讀取一個(gè)字節(jié)的數(shù)據(jù)后,地址自動(dòng)加1,可緊接著讀取下一個(gè)數(shù)據(jù);當(dāng)一頁(yè)讀完后,隨后讀取的兩個(gè)字節(jié)為內(nèi)部自動(dòng)產(chǎn)生的16位循環(huán)冗余校驗(yàn)碼,它由前面送出的命令字、地址、讀取的存儲(chǔ)器數(shù)據(jù),根據(jù)表達(dá)式CRC16=X16+X15+X2+1生成,對(duì)校驗(yàn)碼生成和應(yīng)用的詳細(xì)資料可參閱相關(guān)文獻(xiàn)。
          寫(xiě)存儲(chǔ)器命令主要針對(duì)第1頁(yè)和第2頁(yè)的存儲(chǔ)器,目的是寫(xiě)入各通道的工作方式控制字和對(duì)應(yīng)通道的高、低門(mén)限設(shè)定值??偩€(xiàn)管理器首先送出寫(xiě)存儲(chǔ)器命令字[55H],然后送出兩字節(jié)的16位存儲(chǔ)器起始地址,接著逐個(gè)送出要寫(xiě)入的數(shù)據(jù),其地址也是自動(dòng)加1。若在剛寫(xiě)完一個(gè)數(shù)據(jù)后執(zhí)行讀操作,讀出的數(shù)據(jù)應(yīng)剛好為前一次寫(xiě)入的數(shù)據(jù),可利用這一特點(diǎn)對(duì)寫(xiě)入和讀出的數(shù)據(jù)進(jìn)行比較,以判斷傳輸?shù)恼_性。
          如果通過(guò)軟件校驗(yàn),發(fā)現(xiàn)了讀/寫(xiě)中的傳輸錯(cuò)誤,則必須對(duì)芯片進(jìn)行初始化,并重新進(jìn)行讀寫(xiě)操作。
          4.3的工作時(shí)序
          的一線(xiàn)工作協(xié)議流程是:初始化→ROM功能命令→存儲(chǔ)器讀寫(xiě)/轉(zhuǎn)換控制功能命令→傳輸數(shù)據(jù)。其工作時(shí)序包括初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序,在普通速度工作模式下,如圖2(a)(b)(c)所示。
          初始化時(shí)序包括總線(xiàn)管理器(主機(jī))發(fā)出的復(fù)位脈沖和DS2450反饋送出的存在脈沖兩部分,存在脈沖告訴主機(jī)DS2450在線(xiàn)且已準(zhǔn)備好;讀/寫(xiě)時(shí)序規(guī)定了在DS2450的DATA端串行讀寫(xiě)數(shù)據(jù)位時(shí)的時(shí)序配合要求。
          5DS2450與單片機(jī)的典型接口設(shè)計(jì)
          圖3以MCS-51系列單片機(jī)為例,示出DS2450與微處理器的典型連接。其DATA端接AT89C51的P1.0,采用外接電源供電方式,其VCC端用5V電源供電。此例中僅對(duì)D通道進(jìn)行A/D轉(zhuǎn)換,AIN-D接模擬信號(hào)輸入;AIN-A,AIN-B外接上拉電阻器和電源,其輸出作為D通道的高、低限報(bào)警。
          假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS2450的初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序,分別編寫(xiě)了3個(gè)子程序:INIT為初始化子程序,發(fā)送復(fù)位脈沖并接收存在脈沖;WRITE為寫(xiě)(命令或數(shù)據(jù)字節(jié))子程序,READ為讀數(shù)據(jù)子程序。所有要讀寫(xiě)的命令或數(shù)據(jù)字節(jié)均放在A寄存器中(限于篇幅,略去源程序,有興趣者可向作者索取)。
          主機(jī)控制DS2450完成A/D轉(zhuǎn)換一般必須經(jīng)過(guò)以下幾個(gè)步驟:初始化使DS2450準(zhǔn)備好、發(fā)ROM功能命令和相應(yīng)的64位光刻ROM數(shù)據(jù)選中特定芯片、寫(xiě)入工作方式控制字和高/低限值、發(fā)轉(zhuǎn)換控制命令、讀取轉(zhuǎn)換值及狀態(tài)。
          例如,將D通道設(shè)定為5.1V輸入范圍、轉(zhuǎn)換精度為12位、高報(bào)警門(mén)限為3.0V(96H)、低報(bào)警門(mén)限為2.0V(64H)、通道A和B作為報(bào)警輸出、轉(zhuǎn)換結(jié)果放在如下30H和31H的子程序CTLAD中。
          ;--------------------------
          CTLAD:LCALLINIT;發(fā)復(fù)位脈沖并接收存在脈沖
          MOVA,#0CCH
          LCALLWRITE;發(fā)“跳過(guò)ROM”命令
          ;設(shè)置4個(gè)通道工作方式控制字,寫(xiě)入存儲(chǔ)器地址從0008H開(kāi)始
          FSKZ:MOVA,#55H
          LCALLWRITE;發(fā)“寫(xiě)存儲(chǔ)器”命令
          MOVA,#08H
          LCALLWRITE;發(fā)低8位地址
          MOVA,#00H
          LCALLWRITE;發(fā)高8位地址
          MOVA,#0C0H
          ;A通道漏極開(kāi)路數(shù)字輸出方式
          LCALLWRITE;發(fā)A通道工作方式低字節(jié)
          MOVA,#00H
          ;與報(bào)警、輸入范圍等設(shè)置無(wú)關(guān)
          LCALLWRITE;發(fā)A通道工作方式高字節(jié)
          MOVA,#0C0H
          ;B通道漏極開(kāi)路數(shù)字輸出方式
          LCALLWRITE;發(fā)B通道工作方式低字節(jié)
          MOVA,#00H
          ;與報(bào)警、輸入范圍等設(shè)置無(wú)關(guān)
          LCALLWRITE;發(fā)B通道工作方式高字節(jié)
          MOVA,#01H
          ;C通道不用,可隨意設(shè)置
          LCALLWRITE;發(fā)C通道工作方式低字節(jié)
          MOVA,#00H
          ;C通道不用,可隨意設(shè)置
          LCALLWRITE;發(fā)C通道工作方式高字節(jié)
          MOVA,#0CH
          ;D通道12位A/D轉(zhuǎn)換方式
          LCALLWRITE;發(fā)D通道工作方式低字節(jié)
          MOVA,#0DH
          ;5.1V輸入范圍,允許高低限報(bào)警
          LCALLWRITE;發(fā)D通道工作方式高字節(jié)
          ;設(shè)置D通道高/低限值報(bào)警值,寫(xiě)入存儲(chǔ)器地址從0016H開(kāi)始
          BJSZ:LCALLINIT;發(fā)復(fù)位脈沖并接收存在脈沖
          MOVA,#0CCH
          LCALLWRITE;發(fā)“跳過(guò)ROM”命令
          MOVA,#55H
          LCALLWRITE;發(fā)“寫(xiě)存儲(chǔ)器”命令
          MOVA,#16H
          LCALLWRITE;發(fā)低8位地址
          MOVA,#00H
          LCALLWRITE;發(fā)高8位地址
          MOVA,#64H
          ;低門(mén)限報(bào)警值2.0V(64H)
          LCALLWRITE;送D通道低門(mén)限存儲(chǔ)器
          MOVA,#96H
          ;高門(mén)限報(bào)警值3.0V(96H)
          LCALLWRITE
          ;送轉(zhuǎn)換控制字,啟動(dòng)A/D轉(zhuǎn)換。
          QDZH:LCALLINIT;發(fā)復(fù)位脈沖并接收存在脈沖
          MOVA,#0CCH
          LCALLWRITE;發(fā)“跳過(guò)ROM”命令
          MOVA,#3CH
          LCALLWRITE;發(fā)“轉(zhuǎn)換控制”命令字
          MOVA,#08H
            ;僅D通道參與轉(zhuǎn)換
          LCALLWRITE;發(fā)通道選擇控制字
          MOVA,#40H
            ;D通道轉(zhuǎn)換前預(yù)置為全0
          LCALLWRITE;發(fā)預(yù)置數(shù)據(jù)控制字
          ;讀取D通道轉(zhuǎn)換結(jié)果,放在31H、30H
          RDDT:LCALLINTI;發(fā)復(fù)位脈沖并接收存在脈沖
          MOVA,#0CCH
          LCALLWRITE;發(fā)“跳過(guò)ROM”命令
          MOVA,#0AAH
            LCALLWRITE;發(fā)“讀存儲(chǔ)器”命令字
          MOVA,#06H
          LCALLWRITE;發(fā)低8位地址
          MOVA,#00H
          LCALLWRITE;發(fā)高8位地址
          LCALLREAD
          MOV30H,A
           ??;低位轉(zhuǎn)換結(jié)果放在30H
            LCALLREAD
          MOV31H,A
           ??;高位轉(zhuǎn)換結(jié)果放在31H
          RET
          ……
          如果一線(xiàn)上掛接多個(gè)DS2450和其他一線(xiàn)式接口芯片、采用寄生電源供電方式、工作在超速模式、通信中進(jìn)行校驗(yàn),則子程序CTLAD的編寫(xiě)就要復(fù)雜一些,限于篇幅,這一部分不再詳述,請(qǐng)參閱文獻(xiàn)[1][2]的相關(guān)內(nèi)容。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 2450 DS 轉(zhuǎn)換器 原理

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();