<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è) > 嵌入式系統 > 設計應用 > DSP與慢速設備接口的實(shí)現

DSP與慢速設備接口的實(shí)現

作者: 時(shí)間:2008-09-04 來(lái)源:網(wǎng)絡(luò ) 收藏
是一種高性能的數字信號處理器。由于其具有快速的計算能力和強大的信息處理能力,因此被廣泛地應用到工業(yè)自動(dòng)化、國防科研等領(lǐng)域中。與常規單片機相比,的內部結構和時(shí)序發(fā)生了很大的變化。所以單片機適用的芯片,并不一定適用。對于非常熟悉單片機電路的設計人員,在進(jìn)行DSP電路設計時(shí),應特別注意芯片的選型和時(shí)序的搭配。尤其在處理DSP與或器件時(shí),正確的時(shí)序搭配是至關(guān)重要的。

  為了適應較慢的外部存儲器和輸入/輸出,DSP配備了軟件可編程的等待狀態(tài)發(fā)生器,可以將外部總線(xiàn)周期擴展到數個(gè)機器周期。由于受硬件條件的限制,這種擴展通常也是有限的,如C54XX系列的DSP最多只能擴展到14個(gè)機器周期,C2XX系列的DSP最多只能擴展到7個(gè)機器周期。但在實(shí)際應用過(guò)程中,經(jīng)常會(huì )遇到讀寫(xiě)周期更慢的輸入/輸出,如液晶顯示模塊、打印機、鍵盤(pán)等。因此,僅通過(guò)軟件編程控制內部狀態(tài)等待發(fā)生器是不能輸入/輸出時(shí)序匹配的,必須進(jìn)行外部硬件擴展設計。

  在DSP與外圍設備設計過(guò)程中,通常采用雙CPU的方法,由DSP完成高速數據處理和計算,用普通單片機(如51系列單片機)系統的輸入/輸出功能。這種方法由于采用了兩種結構不同的CPU,增加了系統的復雜性,而且接口和調試難度加大。本文將利用DSP的READY(外部設備準備就緒)引腳,通過(guò)硬件擴展外部狀態(tài)自動(dòng)等待,從而使DSP與輸入/輸出設備能直接連接以實(shí)現訪(fǎng)問(wèn)的時(shí)序匹配。這種方法接口容易,硬件擴展電路并不復雜,而且內、外等待狀態(tài)結合起來(lái)使用,可產(chǎn)生任何數目的等待狀態(tài),甚至可以將外部硬件等待狀態(tài)設計為受控方式,只在需要的時(shí)候啟動(dòng)外部等待狀態(tài)。這樣,使用的時(shí)候就會(huì )更加靈活。

1 DSP的I/O讀寫(xiě)時(shí)序

  現以TMS320F206 DSP芯片為例進(jìn)行介紹。其時(shí)鐘頻率設為20MHz,它的外部讀寫(xiě)時(shí)序如圖1所示。

  TMS320F206的讀周期為一個(gè)時(shí)鐘周期(50ns),寫(xiě)周期為兩個(gè)時(shí)鐘周期。讀、寫(xiě)操作數據的保持時(shí)間T1、T2只有幾個(gè)納秒。內部可編程等待狀態(tài)發(fā)生器最多只能擴展到等待7個(gè)時(shí)鐘周期,即350ns。利用內部狀態(tài)等待,只能實(shí)現DSP與常用單片機的外圍芯片的讀寫(xiě)時(shí)序相匹配。

2 慢速設備的讀寫(xiě)時(shí)序

  現以MDL(S)16465字符液晶顯示模塊為例進(jìn)行介紹。其讀寫(xiě)時(shí)序如圖2和圖3所示。

  該液晶模塊的讀寫(xiě)周期Tcyc最小為1000ns,脈沖寬度Pw最小為450ns,讀寫(xiě)操作數據保持時(shí)間最小為10ns。如果采用直接連接方式將TMS320F206與該液晶模塊接口,即使采用最大的狀態(tài)等待數目,DSP的讀寫(xiě)時(shí)序也不能滿(mǎn)足該液晶模塊的要求。為實(shí)現二者的時(shí)序匹配,本文將給出一種合適的外部硬件等待擴展方法,以實(shí)現DSP與液晶模塊的直接讀寫(xiě)訪(fǎng)問(wèn)控制。

3 DSP的READY信號

  TMS320F206提供兩種狀態(tài)等待選項,一種是片內狀態(tài)等待產(chǎn)生器,可以實(shí)現有限的可編程狀態(tài)等待;另一種是READY信號,利用它可進(jìn)行硬件擴展,從片外產(chǎn)生任何數目的狀態(tài)等待。

  DSP在進(jìn)行外部讀寫(xiě)操作時(shí),如果READY引腳信號為低電平,DSP將等待一個(gè)時(shí)鐘周期后再次檢查READY信號。在READY引腳被驅動(dòng)至高電平之前,程序處于等待狀態(tài),將不會(huì )繼續往下執行。如果不使用READY信號,DSP在進(jìn)行外部訪(fǎng)問(wèn)期間內,READY應始終保持高電平。

  利用DSP的READY信號和相關(guān)外部訪(fǎng)問(wèn)控制信號,通過(guò)硬件擴展,可以實(shí)現外部自動(dòng)狀態(tài)等待,從而使DSP能夠與慢速外部設備進(jìn)行直接連接訪(fǎng)問(wèn)。

4 DSP與慢速外部設備的直接訪(fǎng)問(wèn)接口

  外部狀態(tài)等待硬件擴展電路采用一片12級的二進(jìn)制波紋計數器74HC4040來(lái)實(shí)現,該芯片每一級的輸出信號的頻率為前一級的一半。將TMS320F206的時(shí)鐘輸出信號CLKOUT1作為74HC4040的輸入時(shí)鐘,如果CLKOUT1為20MHz,那么最大等待時(shí)間可以達到21250ns,使用者可以根據外部設備的時(shí)序需要選用74HC4040的不同輸出引腳進(jìn)行等待控制。由于輸入時(shí)鐘的頻率較高,一般的CD4040或MC14040芯片響應速度不夠快,至少應選用74HC4040或響應速度更快的芯片。

  自動(dòng)硬件等待擴展電路如圖4所示。選用74HC4040的Q5腳輸出作為延時(shí)等待控制,等待時(shí)間為1600ns。將Q4腳輸出信號分別與DSP的讀寫(xiě)信號相或,產(chǎn)生外部設備的讀寫(xiě)控制信號,這樣可以充分保證讀寫(xiě)操作時(shí)數據的保持時(shí)間。該電路所產(chǎn)生的時(shí)序如圖5所示。

  經(jīng)過(guò)以上硬件狀態(tài)等待擴展,DSP對外部設備讀寫(xiě)周期達到1600ns,讀寫(xiě)操作的數據保持時(shí)間大于20ns,滿(mǎn)足液晶模塊的時(shí)序要求。此外,DSP在進(jìn)行內部程序和數據訪(fǎng)問(wèn)時(shí),READY始終為高電平,不影響DSP的內部運行速度。應用該電路,DSP與MDL(S)16465液晶模塊的直接訪(fǎng)問(wèn)連接如圖6所示。

  RS為液晶模塊的數據指令控制輸入端,“1”表示數據,“0”表示指令;R/W為讀寫(xiě)控制輸入端,“1”為讀操作,“0”為寫(xiě)操作;E為使能控制輸入端,高電平有效。按圖6的接法,用兩根地址線(xiàn)A8、A9分別與RS、R/W相連,根據每個(gè)引腳的功能定義,液晶模塊的指令口寫(xiě)地址為0000H,指令口讀地址為0200H,數據口寫(xiě)地址為0100H,數據口讀地址為0300H。DSP對液晶模塊的訪(fǎng)問(wèn)控制子程序如下:

  lcdcwaddr .set 0000h ; 指令口寫(xiě)地址

  lcdcraddr .set 0200h   ; 指令口讀地址

  lcddwaddr .set 0100h; 數據口寫(xiě)地址

  lcddraddr .set 0300h   ; 數據口讀地址

  lcdenable: splk #6ff2h,60h     ;io1=1

out 60h,iosr    ;lcd enabled

ret

  lcddisable: splk #6ff0h,60h; io1=0

out 60h,iosr; lcd disabled

ret

  lcdrw:call lcdenable

in 60h,[讀地址]   ; 讀操作

      ……………………

      out 61h,[寫(xiě)地址]     ; 寫(xiě)操作

……………………

    call lcddisable

 ret

  利用TMS320F206的IO1作為讀寫(xiě)使能控制信號,調用LCDENABLE和LCDDISABLE兩個(gè)子程序打開(kāi)和關(guān)閉對液晶模塊的訪(fǎng)問(wèn)功能。除了需要調用兩個(gè)簡(jiǎn)單的控制子函數以外,讀寫(xiě)操作分別由IN和OUT兩條指令完成,實(shí)現對該液晶模塊的直接讀寫(xiě)訪(fǎng)問(wèn)。由于該液晶模塊沒(méi)有單獨的讀寫(xiě)控制引腳,訪(fǎng)問(wèn)控制要求比較特殊, 所以只能按照圖6的方式進(jìn)行連接。該液晶模塊的控制時(shí)序可參見(jiàn)參考文獻[1]。

  如果外部設備具有單獨的讀寫(xiě)控制引腳,可直接與圖4中的DEV-RD和DEV-WE分別相連,然后將數據線(xiàn)與地址線(xiàn)對應連接,就能夠進(jìn)行直接讀寫(xiě)訪(fǎng)問(wèn)控制。作者在處理鍵盤(pán)輸入和打印機輸出接口時(shí),就是采用這種連接方式。使用結果表明,訪(fǎng)問(wèn)和控制都十分可靠。

  由于DSP的應用日益廣泛,作為一個(gè)完整的控制系統和測試設備,參數設置、結果顯示等基本的輸入/輸出功能是必不可少的。因此,DSP與慢速設備的接口將是各種科研和開(kāi)發(fā)中經(jīng)常遇到的問(wèn)題。本文給出的硬件接口方法能夠實(shí)現DSP的外部訪(fǎng)問(wèn)自動(dòng)狀態(tài)等待,使高速的DSP芯片與傳統的慢速輸入輸出設備融入一個(gè)系統,不僅有效地解決了DSP與各種慢速設備訪(fǎng)問(wèn)時(shí)序的匹配問(wèn)題,而且硬件電路設計簡(jiǎn)單、訪(fǎng)問(wèn)直接、控制編程容易,進(jìn)一步拓展了DSP在工業(yè)自動(dòng)控制和測試設備中的應用空間。



關(guān)鍵詞: 實(shí)現 接口 設備 慢速 DSP

評論


相關(guān)推薦

技術(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>