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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 多通道模/數(shù)轉(zhuǎn)換器AD7890與DSP的接口設(shè)計

          多通道模/數(shù)轉(zhuǎn)換器AD7890與DSP的接口設(shè)計

          作者: 時間:2009-12-28 來源:網(wǎng)絡(luò) 收藏

          2 工作時序與讀寫操作方法
          控制的轉(zhuǎn)換開始有兩種方法。一是,硬件控制,即將CONVST引腳置低,器件產(chǎn)生一個窄低電平脈沖,在脈沖的上升沿A/D轉(zhuǎn)換開始,前提是須向CONV位寫0;二是,軟件控制,即向控制寄存器的cONV位寫1,此時CONVST引腳不起作用。二者區(qū)別在于,采用硬件控制轉(zhuǎn)換開始時,在CONVS麗上升沿啟動轉(zhuǎn)換,此時必須保證內(nèi)部延時脈沖已經(jīng)結(jié)束;對于軟件控制,內(nèi)部延時脈沖結(jié)束時轉(zhuǎn)換立即開始。需要說明的是,在向控制寄存器寫數(shù)據(jù)時,6個寫操作時鐘脈沖結(jié)束前,發(fā)送幀同步信號TFS必須保持低電平,否則寫操作不能成功。而讀取A/D轉(zhuǎn)換結(jié)果期間,接收幀同步信號RFS必須保持低電平。RFS和TFS連在一起,使SPI口的讀、寫操作同時進(jìn)行。以作為主設(shè)備,作為從設(shè)備,即工作在外部時鐘模式下,此時讀、寫操作時序分別如圖2所示。的SPISTE麗引腳具有從設(shè)備片選功能,該引腳為低時可向從設(shè)備發(fā)送數(shù)據(jù),文中將該引腳作為通用收、發(fā)幀同步信號來控制RFS和TFS。


          3 AD7890與TMS320F2812的SPI硬件實現(xiàn)
          TMS320F2812是TI公司推出的數(shù)字信號處理器,它在電機控制方面性能優(yōu)越,使其在工業(yè)控制中得到了非常廣泛的應(yīng)用。它所提供的串行外設(shè)(SPI)是一個高速同步的串行輸入/輸出口,包含4個外部引腳:從輸出/主輸入引腳(SPISOMI)、從輸入/主輸出引腳(SPISIMO)、從發(fā)送使能引腳(SPISTE)、串行時鐘引腳(SPICLK)。SPI主要特點是可以同時發(fā)送和接收串行數(shù)據(jù);可以當(dāng)作主機或從機工作;提供頻率可編程時鐘;發(fā)送結(jié)束中斷標(biāo)志。

          確定的低速外設(shè)時鐘LSPCLK后,通過波特率控制寄存器SPIBRR,確定波特率SCLK。波特率具體計算方法是:當(dāng)SPIBRR=3~127時,SCLK=LSPCLK/(SPIBRR+1);當(dāng)SPIBRR=0,1,2時,SCLK=LSPCLK/4,因此共具有125種可編程波特率。文中,DSP的工作頻率為120 MHz,低速時鐘LSPCLK為30 MHz,故可編程波特率范圍為234.375 kb/s~7.5 Mb/s。通過提高系統(tǒng)低速時鐘,可以提高可編程波特率范圍;通過選較高的波特率,能提高數(shù)據(jù)傳輸速率,即提高A/D的轉(zhuǎn)換效率。AD7890-10與TMS320一F2812的SPI硬件連接框圖如圖3所示。



          評論


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