<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于TMS320F2812的SPI接口設計方案

基于TMS320F2812的SPI接口設計方案

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

2.2 接收數據流程
通過(guò)SPI讀取數據比較簡(jiǎn)單,只需要依次傳送讀指令和待讀數據的低位地址,就可以在SPISOMI引腳上接收到25LC040中的數據。因為T(mén)MS320F2812為主控制器,所以必須先發(fā)送一個(gè)無(wú)意義的數,才能夠啟動(dòng)時(shí)鐘。在SPI狀態(tài)寄存器(SPISTS)中有一個(gè)SPI中斷標志位(SPIINT FLAG),該位是一個(gè)只讀標志位,由硬件設置。當SPI已經(jīng)完成數據發(fā)送或者接收,正在等待下一步的操作時(shí),SPI中斷標志位被置1,若使能SPI中斷,將產(chǎn)生一個(gè)SPI中斷請求??梢酝ㄟ^(guò)查詢(xún)SPI中斷標志位來(lái)判斷數據是否完成接收。若該標志為1,已接收的數據將被放入接收緩沖寄存器SPIRXBUF中,通過(guò)讀SPIRXBUF寄存器即可得到需要的數據。下面給出接收數據的子程序,其中addr為待讀數據的低位地址。

本文引用地址:http://dyxdggzs.com/article/201612/331355.htm

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

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

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


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

關(guān)鍵詞: MS320F2812SPI接口25LC04

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>