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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CPLD的DSP多SPI端口通信設(shè)計(jì)

          CPLD的DSP多SPI端口通信設(shè)計(jì)

          作者: 時(shí)間:2011-06-02 來(lái)源:網(wǎng)絡(luò) 收藏
          2.2 鎖存器

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

            鎖存器的工作特點(diǎn):當(dāng)gate引腳上輸入高電平信號(hào)時(shí),鎖存器工作開(kāi)始鎖存總線上的數(shù)據(jù);當(dāng)gate引腳上是低電平時(shí),鎖存器不工作,即當(dāng)總線上的數(shù)據(jù)發(fā)生變化時(shí),鎖存器的輸出不發(fā)生變化。由于本需要多個(gè)參數(shù)傳輸,通過(guò)地址選擇的方法把這3個(gè)數(shù)據(jù)從一條總線上區(qū)分出來(lái),設(shè)置傳輸數(shù)據(jù)的低兩位為地址選擇位。地址選擇位經(jīng)移位寄存器,串并轉(zhuǎn)換,作為三輸入與門(mén)的兩個(gè)輸入端,進(jìn)行地址選擇。每次16位的數(shù)據(jù)移位結(jié)束,數(shù)據(jù)穩(wěn)定時(shí),在計(jì)數(shù)器高電平作用下,相應(yīng)gate的引腳上輸出高電平,數(shù)據(jù)鎖存入相應(yīng)的鎖存器。例如,可以設(shè)置低兩位是“11”時(shí),送入PWM電路的是ll位的調(diào)相信號(hào);當(dāng)?shù)蛢晌辉O(shè)置成“01”時(shí),送入PWM電路的是10位調(diào)節(jié)A相占空比的信號(hào);當(dāng)?shù)蛢晌辉O(shè)置成“10”時(shí),送入PWM電路的是10位調(diào)節(jié)B相占空比的信號(hào)。由此可以在電路中一個(gè)三輸人的與門(mén),當(dāng)16位數(shù)據(jù)傳輸完畢,即在相應(yīng)gate的引腳上輸出高電平時(shí),數(shù)據(jù)存入對(duì)應(yīng)的鎖存器,如圖5所示。

            

          數(shù)據(jù)的選址和鎖存在CPLD中的設(shè)計(jì)框圖

            2.3 DSP與LTC6903的接口配置

            由于LTC6903芯片本身具有接口,需要在DSP的程序中設(shè)置相應(yīng)的寄存器。LTC6903采用上升沿接收,且接收時(shí)高位在前,所以需要DSP設(shè)置為下降沿傳輸,傳輸時(shí)高位在前。在傳輸?shù)倪^(guò)程中,在脈沖信號(hào)的下降沿?cái)?shù)據(jù)發(fā)生變化,傳輸數(shù)據(jù);在脈沖信號(hào)的上升沿?cái)?shù)據(jù)穩(wěn)定,便于LTC6903鎖存數(shù)據(jù),傳輸時(shí)序如圖6所示。從圖中可以看出,所要傳輸?shù)臄?shù)據(jù)是十六進(jìn)制數(shù)019A,下降沿?cái)?shù)據(jù)發(fā)生變化,上升沿?cái)?shù)據(jù)穩(wěn)定,傳輸16位數(shù)據(jù),有16個(gè)脈沖。實(shí)驗(yàn)結(jié)果表明,DSP配置是與LTC6903的接口工作時(shí)序相匹配的。

            

          SPI的數(shù)據(jù)和脈沖時(shí)序圖

            3 DSP中SPI的開(kāi)發(fā)過(guò)程

            SPI端口數(shù)據(jù)傳輸?shù)奶攸c(diǎn)是:主設(shè)備的時(shí)鐘信號(hào)出現(xiàn)與否決定數(shù)據(jù)傳輸?shù)拈_(kāi)始,一旦檢測(cè)到時(shí)鐘信號(hào)即開(kāi)始傳輸,時(shí)鐘信號(hào)無(wú)效后傳輸結(jié)束。這期間,從設(shè)備使能時(shí)鐘信號(hào)的起停狀態(tài)很重要。DSP56F801的SPI端口的時(shí)鐘信號(hào)起停狀態(tài)如表1所列。在設(shè)計(jì)中設(shè)置的SPI控制寄存器的CPOL和CPLA位是“11”。SCLK空閑時(shí)為高電平,傳輸中數(shù)據(jù)變化發(fā)生在下降沿,穩(wěn)定在上升沿。從圖2可看出實(shí)現(xiàn)了與中的移位鎖存電路的匹配,傳輸正確。

            

          SCLK時(shí)鐘的起停狀態(tài)

            SPI端口協(xié)議要求系統(tǒng)上電復(fù)位后,從機(jī)先于主機(jī)開(kāi)始工作。如果從機(jī)在主機(jī)之后開(kāi)始工作,就有可能丟掉部分時(shí)鐘信號(hào),使得從機(jī)并不是從數(shù)據(jù)的第一位開(kāi)始接收,造成數(shù)據(jù)流的不同步??赏ㄟ^(guò)硬件延時(shí)或軟件延時(shí)的方法,來(lái)確保從機(jī)先于主機(jī)工作。本設(shè)計(jì)采用軟件延時(shí)的辦法來(lái)實(shí)現(xiàn)數(shù)據(jù)流的同步。這個(gè)延時(shí)由兩部分組成,一部分是DSP串行輸出數(shù)據(jù)的時(shí)間延時(shí),另外一部分就是后續(xù)數(shù)字電路中的延時(shí)。延時(shí)的具體計(jì)算過(guò)程如下:數(shù)據(jù)傳輸時(shí)使用的時(shí)鐘信號(hào)是對(duì)總線時(shí)鐘的2分頻,當(dāng)DSP的主頻是60 MHz時(shí),總線時(shí)鐘頻率是30MHz,對(duì)它進(jìn)行2分頻,可以計(jì)算出SCLK的周期是66.6ns(實(shí)際所測(cè)出的周期是78.2 ns)。另外通過(guò)測(cè)試得到PWM電路的延時(shí)最長(zhǎng)時(shí)間是23.6 ns,鎖存器的最大延時(shí)是7.6 ns,移位寄存器的最大延時(shí)是3.O ns。由上述對(duì)數(shù)字電路的延時(shí)和對(duì)SCLK周期的測(cè)試,就可以得到這樣一個(gè)結(jié)論:設(shè)PWM電路的延時(shí)時(shí)間為t1、鎖存器的延時(shí)時(shí)間為t2、移位寄存器的延時(shí)時(shí)間為t3、SCLK的時(shí)鐘周期是Tc,在SPI傳輸?shù)倪^(guò)程中,整個(gè)電路的延時(shí)t可以這樣計(jì)算:

            

          公式

            由于數(shù)字電路傳輸中存在這樣的延時(shí),所以在寫(xiě)DSP程序時(shí),需要加入一定的延時(shí)。此實(shí)驗(yàn)中加入的延時(shí)是2μs,可以實(shí)現(xiàn)可靠傳輸。



          關(guān)鍵詞: 設(shè)計(jì) 通信 SPI DSP CPLD

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