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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > TMS320F240型DSP的SPI口的擴展

          TMS320F240型DSP的SPI口的擴展

          ——
          作者:華中科技大學電氣與電子工程學院 (武漢430074) 夏 濤 王少榮 程時杰 時間:2007-01-26 來源:《電子工程師》 收藏

          1 引 言

          dsp芯片,也稱數(shù)字信號處理器,是一種特殊結構的微處理器。dsp芯片內部采用程序和數(shù)據(jù)分開的哈佛結構,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的dsp指令,可以用來快速實現(xiàn)各種數(shù)字信號處理算法。因此,dsp在計算密集的實時控制領域得到了日益廣泛的應用。tms320f240是目前應用比較廣泛的一款定點dsp,它具有20mips的指令執(zhí)行速度,強大的內部事件管理器、i/o端口和其他外圍設備。其中,串行外設接口(spi)是一個高速同步串行輸入/輸出(i/o)端口,它允許一個具有可編程長度(1到8位)的串行位流,以可編程的位傳送速率從設備移入或移出。spi通常用于dsp控制器和外部設備或其它控制器間的通訊。典型的應用包括通過eeprom、移位寄存器、顯示驅動器和模數(shù)轉換器(adc)等設備進行外設擴展。

          對于某一控制任務需要多個dsp協(xié)同完成時,dsp之間的數(shù)據(jù)交換將會很頻繁,此時,我們就可以通過spi口進行dsp之間的高速數(shù)據(jù)交換,實現(xiàn)相互間的功能擴展。這種模式的dsp之間的通訊,較通過串行通訊接口(sci)進行通訊時,速率提高近一倍,而且它還可以通過控制寄存器的talk位實現(xiàn)多個dsp之間的數(shù)據(jù)交換。當系統(tǒng)需要預先從eeprom讀出定值時,也可以通過tms320f240的spi口進行外設擴展。

          2 dsp之間的擴展

          在多個dsp構成的串行通訊網絡中,dsp分為主模式dsp和從模式dsp。主模式dsp的數(shù)據(jù)在spisimo引腳上輸出并從spisomi上鎖存,從模式dsp的數(shù)據(jù)在spisomi引腳上輸出并從spisimo上鎖存。主模式spi為整個網絡提供串行時鐘spiclk,并通過寫入spidat寄存器的數(shù)據(jù)啟動spiclk信號從而啟動數(shù)據(jù)傳送,當預先設定的1到8位串行位流傳送完畢后,spiclk信號中止,傳送結束。對于從控制器和主控制器,數(shù)據(jù)在spiclk的一個沿從移位寄存器移出,在負跳沿鎖存到移位寄存器。可以通過spi的兩個時鐘模式位選擇四種不同的時鐘模式,使得兩個控制器的發(fā)送和接收同時進行,由軟件決定數(shù)據(jù)是有意義的還是啞數(shù)據(jù)。當清除從設備控制寄存器的talk位時,數(shù)據(jù)發(fā)送被禁止并且輸出線(spisomi)處于高阻態(tài)。這種情況下允許許多從設備在網絡上連在一起,但每次只有一個從設備被允許講。圖1是spi用于兩個控制器(一個主控制器和一個從控制器)之間通訊的典型連接方式。

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


          splk#0h,spipri
          ;設置spi中斷為高優(yōu)先級
          splk#07h,spiccr
          ;上升沿發(fā)送,有時延,字符長度為8
            在程序初始化控制寄存器后,就可以按設定值進行dsp之間的發(fā)送和接收,下面是主模式和從模式的spi子程序代碼。



          為了節(jié)省中斷資源,spi一般采用查詢方式進行數(shù)據(jù)收發(fā)。

          3 擴展eeprom

          在開發(fā)dsp系統(tǒng)時,某些情況下會讀取或者存儲一些定值,這時我們就需要通過spi接口擴展eeprom。具有spi接口的串行eeprom均可被tms320f240直接邏輯擴展,方便易行。

          x5043是xicor公司的最高時鐘速率為3.3mhz的4kbits串行eeprom,它與tms320f240型dsp的連接如圖2所示。

          其軟件設置如下:

          設置各控制寄存器:

          tms320f240的spi接口有可選擇的四種不同的時鐘模式,如何選擇時鐘模式是它與各種擴展spi接口器件實現(xiàn)時鐘同步的關鍵。x5043的數(shù)據(jù)在時鐘下降沿從so引腳上輸出并在時鐘上升沿從si引腳上鎖存。讀操作時,在其從si引腳輸入的最低位地址所對應的時鐘下降沿,其so引腳開始輸出數(shù)據(jù)。因此,作為主器件的dsp就選擇‘下降沿、無時延’的時鐘模式。在這種模式下,無操作時鐘時,dsp的spiclk引腳位高,當該引腳由高變低時,啟動發(fā)送。

          寫子程序如下:








          由于x5043是一個半雙工器件,故,在write子程序中從spibuf中讀出來的數(shù)據(jù)是無效的,同時,在read子程序中寫向spidat的數(shù)據(jù)也是無效的,只起啟動發(fā)送時鐘的作用。這一點不同于spi,spi之間的發(fā)送和接收是全雙工的,可以同時進行。

          4 spi擴展在功角測量系統(tǒng)中的應用

          發(fā)電機功角是電力系統(tǒng)運行的關鍵狀態(tài)量,是電力系統(tǒng)能否穩(wěn)定運行的重要標志。功角測量系統(tǒng)就是將機端電壓整型后的方波信號前沿,減去代替空載電勢的轉子位置脈沖信號前沿,以獲得負載時的上述兩種信號的相位差值,再用空載時兩種信號的相位差減去負載時兩種信號的相位差,即得發(fā)電機的功角值。該系統(tǒng)具有很強的現(xiàn)實意義,其原理圖如圖3所示。

          上述系統(tǒng)中,空載相位差是定值,一旦裝置安裝完畢,其值不變。而在實際的電力系統(tǒng)中,轉子的極對數(shù)比較多,這些空載相位差值就需要存在相應的eeprom里,以便讀取。所以,該系統(tǒng)就通過主芯片的spi口進行串行eeprom的擴展。在系統(tǒng)上電時,dsp將初始的相位差值從eeprom導入內存,進行相應的計算后通過isa總線將所得的功角值送入主控器。這里的eeprom仍然采用的是x5043,其具體操作在上面第3節(jié)中已作過詳細的說明。

          5 結束語

          本文介紹了tms320f240型定點dsp的spi接口的功能擴展,其一般方法同樣適用于其它具有spi接口的dsp。多個dsp通過spi口的相互擴展可實現(xiàn)dsp之間的高速數(shù)據(jù)交換,通過spi口擴展eeprom可實現(xiàn)dsp對定值的存取。某些其它的串行設備,比如高精度的串行a/d,串行數(shù)字電位器等,也可通過類似方法進行擴展。通過這些擴展可以使dsp的功能變得更加強大,同時,深入了解這些擴展方法對于開發(fā)dsp控制裝置有著重要的意義。



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();