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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM與TLV5637的模擬SPI接口的應(yīng)用設(shè)計(jì)

          ARM與TLV5637的模擬SPI接口的應(yīng)用設(shè)計(jì)

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

            3 對(duì)的訪問(wèn)

            是TI公司一款雙通道的10位電壓輸出D/A轉(zhuǎn)換器件。該器件具有3個(gè)信號(hào)線:SCLK、DIN和CS,支持對(duì)TMS320系列的SPI,以及QSPI和Microwave串行端口的無(wú)縫連接。圖3為和SPI接口的連接示意圖。從圖中可以看出,只能通過(guò)SPI接口向TLV5637進(jìn)行寫(xiě)操作。

          TLV5637和SPI接口的連接示意圖

            圖4為T(mén)LV5637的時(shí)序圖。如圖所示,TLV5637的數(shù)據(jù)采樣是在SCK時(shí)鐘的上升沿發(fā)生,而且該器件只支持16位的數(shù)據(jù)格式。

          TLV5637的時(shí)序圖

            可以看出,16位的數(shù)據(jù)包含兩個(gè)部分:編程位和數(shù)據(jù)位。SPD為速度控制位,1表示快速,0表示慢速;PWR為功率控制位,1表示掉電模式,0表示工作模式;R1和R0為寄存器選擇位。表1為T(mén)LV5637的寄存器寫(xiě)入選擇表。

          TLV5637的寄存器寫(xiě)入選擇表

            表1中的寫(xiě)控制寄存器即設(shè)置參考電壓,數(shù)據(jù)位的低兩位表示參考電壓的相關(guān)信息。其中,“00”和“11”表示參考電壓取自外部,“0l”表示參考電壓為1.024 V,“10”表示參考電壓為2.048 V。輸出電壓的幅度由下式?jīng)Q定:

          公式

            CODE為所寫(xiě)入的電壓數(shù)據(jù)值,REF為所設(shè)定的參考電壓。此外,在寫(xiě)入電壓數(shù)據(jù)時(shí),12位的數(shù)據(jù)只保持高10位有效,低2位可以忽略。TLV5637的寫(xiě)函數(shù)如下:

          程序

            經(jīng)過(guò)驗(yàn)證,可以通過(guò)GPIO口模擬的SPI接口對(duì)TLV5637的輸出電壓進(jìn)行精確設(shè)置,而且其輸出滿足系統(tǒng)的電壓誤差要求。

            結(jié) 語(yǔ)

            本文提出了利用芯片LPC2378的GPIO接口來(lái)仿真SPI接口的方法,同時(shí)實(shí)現(xiàn)了對(duì)串行D/A轉(zhuǎn)換芯片TLV5637的接口訪問(wèn)。該方法具有一定的普遍意義,只要稍加改動(dòng),便可以應(yīng)用于各種類(lèi)型的微處理器。


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

          關(guān)鍵詞: 模擬SPI ARM TLV5637

          評(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); })();