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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > TMS320F2812SPI接口設(shè)計(jì)

          TMS320F2812SPI接口設(shè)計(jì)

          作者: 時(shí)間:2010-06-13 來源:網(wǎng)絡(luò) 收藏


          2.2接收數(shù)據(jù)流程

          通過SPI讀取數(shù)據(jù)比較簡單,只需要依次傳送讀指令和待讀數(shù)據(jù)的低位地址,就可以在SPISOMI引腳上接收到25LC040中的數(shù)據(jù)。因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/TMS">TMS320為主控制器,所以必須先發(fā)送一個(gè)無意義的數(shù),才能夠啟動(dòng)時(shí)鐘。在SPI狀態(tài)寄存器(SPISTS)中有一個(gè)SPI中斷標(biāo)志位(SPIINT FLAG),該位是一個(gè)只讀標(biāo)志位,由硬件設(shè)置。當(dāng)SPI已經(jīng)完成數(shù)據(jù)發(fā)送或者接收,正在等待下一步的操作時(shí),SPI中斷標(biāo)志位被置1,若使能SPI中斷,將產(chǎn)生一個(gè)SPI中斷請求??梢酝ㄟ^查詢SPI中斷標(biāo)志位來判斷數(shù)據(jù)是否完成接收。若該標(biāo)志為1,已接收的數(shù)據(jù)將被放入接收緩沖寄存器SPIRXBUF中,通過讀SPIRXBUF寄存器即可得到需要的數(shù)據(jù)。下面給出接收數(shù)據(jù)的子程序,其中addr為待讀數(shù)據(jù)的低位地址。



          2.3發(fā)送數(shù)據(jù)流程

          SPI發(fā)送數(shù)據(jù)需要先完成寫使能操作,然后依次傳送寫指令和低位地址,才可以正確地進(jìn)行數(shù)據(jù)寫入。向SPITXBUF寄存器中寫入待發(fā)的數(shù)據(jù),SPI時(shí)鐘就會(huì)自動(dòng)啟動(dòng),數(shù)據(jù)會(huì)由輸出引腳順次傳出;數(shù)據(jù)傳送完后,SPI時(shí)鐘自動(dòng)停止。也可以通過查詢SPI中斷標(biāo)志位來判斷數(shù)據(jù)是否完成發(fā)送,若該標(biāo)志位為1,則可接著發(fā)送下一個(gè)數(shù)據(jù)。SPI設(shè)置成主模式時(shí),發(fā)送完一個(gè)數(shù)據(jù),必須要空讀一下SPIRXBUF寄存器,以清除SPI中斷標(biāo)志位。由于在讀取數(shù)據(jù)的過程中已經(jīng)包含讀SPIRXBUF寄存器,因此在讀取數(shù)據(jù)時(shí)不需要再空讀SPIRXBUF寄存器。下面給出發(fā)送數(shù)據(jù)程序,其中data為待發(fā)送的數(shù)據(jù),addr為待發(fā)送數(shù)據(jù)將要存放的地址。



          2.4運(yùn)行效率的提升

          25LC040要求在寫操作之后有一定的寫周期時(shí)間來存儲(chǔ)數(shù)據(jù),其間320對25LC040的所有訪問會(huì)被忽略。每個(gè)器件都有規(guī)定的最壞情況寫周期時(shí)間,可以通過在再次訪問25LC040之前插入不小于最壞情況寫周期時(shí)間的延時(shí)等待來確保遵守寫周期時(shí)間。但是25LC040常常會(huì)在最大規(guī)定時(shí)間內(nèi)完成寫周期,而此時(shí)320還在等待,會(huì)造成不必要的時(shí)間浪費(fèi)。25LC040內(nèi)部有一個(gè)狀態(tài)寄存器,其第1位為WIP(Write-In-Process)位,該位是一個(gè)只讀位,可以顯示25LC040是否處在寫周期內(nèi)。當(dāng)芯片處于寫周期時(shí),WIP位置1;當(dāng)寫操作完成時(shí),WIP位立即清零。狀態(tài)寄存器在寫操作期間仍然可讀,可以通過讀狀態(tài)寄存器指令(WRSR)來獲取狀態(tài)寄存器的內(nèi)容,從而得到WIP位的值以判斷寫周期何時(shí)完成,以進(jìn)入下一步操作。這樣就可以減少不必要的等待時(shí)間,使運(yùn)行更加高效。具體的流程如圖5所示。



          結(jié)語

          本文在分析TMS2812 SPI模塊的特點(diǎn)的基礎(chǔ)上,描述了SPI各個(gè)控制寄存器的作用。通過與EEPROM25LC040通信的實(shí)例,給出了SPI口的軟硬件設(shè)計(jì)方法,并對其中需要注意的關(guān)鍵問題進(jìn)行了分析討論。

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: F2812 2812 320F TMS

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