在EPP模式下利用并口實現(xiàn)與DSP高速數(shù)據(jù)通信
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):518
     來源:《電子產(chǎn)品世界》
     摘要:dsp與pc機之間進行高速數(shù)據(jù)通信是dsp的一個重要應用。本文分析了并口處于epp模式下與adsp21060之間的高速數(shù)據(jù)交換的原理,同時詳細討論了其硬件設計的結構圖及其相應的并口程序設計。
    
    
     關鍵詞:計算機并口
     epp dsp fifo
     隨著技術的進步和大量外設的增加,不僅要求計算機并行口可以連接打印機,而且可以連接到其他外設,并要求能夠雙向傳輸數(shù)據(jù),對高速外設還要求高速數(shù)據(jù)傳輸,如dps。在科技飛速發(fā)展的今天,dsp的處理能力和速度也快速提高,廣泛用戶在科學研究、軍事及通信等電子領域。在這些應用中免不了要和pc機進行高速數(shù)據(jù)傳輸。計算機并口傳統(tǒng)的傳輸模式為spp(標準并口),數(shù)據(jù)傳輸方向是從計算機到外圍設備,只能輸出數(shù)據(jù),不能輸入數(shù)據(jù)。這就限制了并行口高速數(shù)據(jù)通信的應用。于是我們在epp模式下設計了一種實現(xiàn)dsp與pc機之間進行高速數(shù)據(jù)傳輸?shù)姆桨浮?
     在epp模式下實現(xiàn)數(shù)據(jù)傳輸
     epp協(xié)議是一種與標準并行口兼容且能完成雙向數(shù)據(jù)傳協(xié)議。該協(xié)議定義的并行口更像一個開放的總線,給用戶提供了強大的功能和靈活的設計手段。
     它有四個數(shù)據(jù)傳輸周期:數(shù)據(jù)寫周期;數(shù)據(jù)讀周期;地址寫周期;地址讀周期。數(shù)據(jù)周期用于主機與外設之間的傳輸數(shù)據(jù),地址周期一般用于傳輸?shù)刂、通道、命令和控制信號。這引起周期也可以看成為兩種不同的數(shù)據(jù)周期。
     epp模式最主要的特征之一是整個數(shù)據(jù)傳輸過程發(fā)生在一個isai/o周期內(nèi)。也就是說,用epp協(xié)議來傳輸數(shù)據(jù),系統(tǒng)可以獲得500k-2m字節(jié)/秒的傳輸率,即并口的外圍設備有接近isa總線插板的性能。利用聯(lián)鎖形式的握手信號,數(shù)據(jù)的傳輸由接口中最慢的設備來決定,既可以是主機,也可以是外設。這種“速率適應性”對主機和外設來說都是透明的。所有的并行口傳輸方法都利用了聯(lián)鎖握手信號。用這種方法,外圍設備可以控制其本身操作所需的建立時間。同時由于epp模式傳輸數(shù)據(jù)的過程簡單易實現(xiàn),所以我們決定采用雙向并口的epp傳輸模式來實現(xiàn)高速數(shù)據(jù)傳輸。
     當并口向adi公司的dsp芯片adsp21060傳輸數(shù)據(jù)時,通過數(shù)據(jù)鎖存器鎖住一個字節(jié)的數(shù)據(jù),然后給adsp21060一個中斷信號,使其讀取數(shù)據(jù);同樣,當adsp21060向并口傳輸數(shù)據(jù)時,先讓鎖存器鎖住數(shù)據(jù),再給并口一個中斷,使其讀取數(shù)據(jù),這樣就完成了數(shù)據(jù)的雙向通信。可是,用這種方法,無論數(shù)據(jù)向哪一個方向傳輸,只能傳一個字節(jié)就引起一次中斷,再使pc機或adsp21060讀取,然后再傳下一個字節(jié),這就占用了cpu的大量時間,降低了cpu的工作效率。為此我們利用兩個fifo來提高cpu的工作效率。
     epp模式下基于fifo實現(xiàn)高速數(shù)據(jù)傳輸
     epp模式下基于fifo實現(xiàn)高速數(shù)據(jù)通信的原理框圖見圖1。
     它的通信過程是:當并口向adsp21060傳輸數(shù)據(jù)時,并口音先將輸出fifo復位,然后,將要傳輸?shù)臄?shù)據(jù)成批寫到此fifo中再給adsp21060一個中斷信號,通知它從輸出fifo讀取數(shù)據(jù);
     當adsp21060向并口傳輸數(shù)據(jù)時,首先將輸入fifo復位,然后,將要傳輸?shù)臄?shù)據(jù)成批寫到此fifo中再給計算機并口一個中斷信號,通知它從輸入fifo讀取數(shù)據(jù),這樣就完成了數(shù)據(jù)的雙向通信。
     這種設計具有塊傳輸數(shù)據(jù)的優(yōu)點,同時在傳輸大量數(shù)據(jù)時,占用并口和adsp21060的時間非常少。
     圖中主要邏輯關系如下:
     輸出fifo的讀(ar)=rd and a0 and a1 and
     ms01;
     輸出fifo的寫(pw)=nwrite or ndstrb;
     輸入fifo的讀(pr)=not (nwrite)or
     ndstrb;
     輸入fifo的寫(aw)=wr and a0 and a1 and
     ms01。
     在此電路設計中,有兩個問題值得
     來源:《電子產(chǎn)品世界》
     摘要:dsp與pc機之間進行高速數(shù)據(jù)通信是dsp的一個重要應用。本文分析了并口處于epp模式下與adsp21060之間的高速數(shù)據(jù)交換的原理,同時詳細討論了其硬件設計的結構圖及其相應的并口程序設計。
    
    
     關鍵詞:計算機并口
     epp dsp fifo
     隨著技術的進步和大量外設的增加,不僅要求計算機并行口可以連接打印機,而且可以連接到其他外設,并要求能夠雙向傳輸數(shù)據(jù),對高速外設還要求高速數(shù)據(jù)傳輸,如dps。在科技飛速發(fā)展的今天,dsp的處理能力和速度也快速提高,廣泛用戶在科學研究、軍事及通信等電子領域。在這些應用中免不了要和pc機進行高速數(shù)據(jù)傳輸。計算機并口傳統(tǒng)的傳輸模式為spp(標準并口),數(shù)據(jù)傳輸方向是從計算機到外圍設備,只能輸出數(shù)據(jù),不能輸入數(shù)據(jù)。這就限制了并行口高速數(shù)據(jù)通信的應用。于是我們在epp模式下設計了一種實現(xiàn)dsp與pc機之間進行高速數(shù)據(jù)傳輸?shù)姆桨浮?
     在epp模式下實現(xiàn)數(shù)據(jù)傳輸
     epp協(xié)議是一種與標準并行口兼容且能完成雙向數(shù)據(jù)傳協(xié)議。該協(xié)議定義的并行口更像一個開放的總線,給用戶提供了強大的功能和靈活的設計手段。
     它有四個數(shù)據(jù)傳輸周期:數(shù)據(jù)寫周期;數(shù)據(jù)讀周期;地址寫周期;地址讀周期。數(shù)據(jù)周期用于主機與外設之間的傳輸數(shù)據(jù),地址周期一般用于傳輸?shù)刂贰⑼ǖ、命令和控制信號。這引起周期也可以看成為兩種不同的數(shù)據(jù)周期。
     epp模式最主要的特征之一是整個數(shù)據(jù)傳輸過程發(fā)生在一個isai/o周期內(nèi)。也就是說,用epp協(xié)議來傳輸數(shù)據(jù),系統(tǒng)可以獲得500k-2m字節(jié)/秒的傳輸率,即并口的外圍設備有接近isa總線插板的性能。利用聯(lián)鎖形式的握手信號,數(shù)據(jù)的傳輸由接口中最慢的設備來決定,既可以是主機,也可以是外設。這種“速率適應性”對主機和外設來說都是透明的。所有的并行口傳輸方法都利用了聯(lián)鎖握手信號。用這種方法,外圍設備可以控制其本身操作所需的建立時間。同時由于epp模式傳輸數(shù)據(jù)的過程簡單易實現(xiàn),所以我們決定采用雙向并口的epp傳輸模式來實現(xiàn)高速數(shù)據(jù)傳輸。
     當并口向adi公司的dsp芯片adsp21060傳輸數(shù)據(jù)時,通過數(shù)據(jù)鎖存器鎖住一個字節(jié)的數(shù)據(jù),然后給adsp21060一個中斷信號,使其讀取數(shù)據(jù);同樣,當adsp21060向并口傳輸數(shù)據(jù)時,先讓鎖存器鎖住數(shù)據(jù),再給并口一個中斷,使其讀取數(shù)據(jù),這樣就完成了數(shù)據(jù)的雙向通信?墒,用這種方法,無論數(shù)據(jù)向哪一個方向傳輸,只能傳一個字節(jié)就引起一次中斷,再使pc機或adsp21060讀取,然后再傳下一個字節(jié),這就占用了cpu的大量時間,降低了cpu的工作效率。為此我們利用兩個fifo來提高cpu的工作效率。
     epp模式下基于fifo實現(xiàn)高速數(shù)據(jù)傳輸
     epp模式下基于fifo實現(xiàn)高速數(shù)據(jù)通信的原理框圖見圖1。
     它的通信過程是:當并口向adsp21060傳輸數(shù)據(jù)時,并口音先將輸出fifo復位,然后,將要傳輸?shù)臄?shù)據(jù)成批寫到此fifo中再給adsp21060一個中斷信號,通知它從輸出fifo讀取數(shù)據(jù);
     當adsp21060向并口傳輸數(shù)據(jù)時,首先將輸入fifo復位,然后,將要傳輸?shù)臄?shù)據(jù)成批寫到此fifo中再給計算機并口一個中斷信號,通知它從輸入fifo讀取數(shù)據(jù),這樣就完成了數(shù)據(jù)的雙向通信。
     這種設計具有塊傳輸數(shù)據(jù)的優(yōu)點,同時在傳輸大量數(shù)據(jù)時,占用并口和adsp21060的時間非常少。
     圖中主要邏輯關系如下:
     輸出fifo的讀(ar)=rd and a0 and a1 and
     ms01;
     輸出fifo的寫(pw)=nwrite or ndstrb;
     輸入fifo的讀(pr)=not (nwrite)or
     ndstrb;
     輸入fifo的寫(aw)=wr and a0 and a1 and
     ms01。
     在此電路設計中,有兩個問題值得