《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 在EPP模式下利用并口實現(xiàn)與DSP高速數(shù)據(jù)通信
在EPP模式下利用并口實現(xiàn)與DSP高速數(shù)據(jù)通信
電子產(chǎn)品世界
北京理工大學 牛 綱
摘要: DSP與PC機之間進行高速數(shù)據(jù)通信是DSP的一個重要應用。本文分析了并口處于EPP模式下與ADSP21060之間的高速數(shù)據(jù)交換的原理,同時詳細討論了其硬件設計的結(jié)構(gòu)圖及其相應的并口程序設計。
關鍵詞: 計算機并口 EPP DSP FIFO
Abstract:
Key words :

    隨著技術的進步和大量外設的增加,不僅要求計算機并行口可以連接打印機,而且可以連接到其他外設,并要求能夠雙向傳輸數(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ù)姆桨浮?/p>

在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。

在此電路設計中,有兩個問題值得注意:

(1)nWait信號需要通過nDstrb和nAstrb的邏輯關系來產(chǎn)生。其邏輯關系為:nWait=not (nDstrb and nAstrb)。

(2)由于EPP和SPP兼容,在EPP模式下,需要將并口命令字中nWrite、nDstrb格nAstrb對應的位設置為無效。

計算機EPP并口程序設計

我們所選用的電可編程邏輯器件(EPLD)是Altera公司的EPM7128,關于它的詳細介紹請參考Altera公司的器件手冊,在這里僅給出AHDL語言寫的控制程序如下:

FIFO存儲器清零子程序,給FIFO送一個清零脈沖:void fifo_rst(void);設置命令字子程序:void command(void);寫數(shù)據(jù)到FIFO子程序:void data_out (void);從FIFO讀數(shù)據(jù)子程序:void data_in(void);

在訪問EPP寄存器之前,軟件必須寫零到控制寄存器的0,1,3位;寫數(shù)據(jù)時將指針ptr中的number個數(shù)據(jù)通過數(shù)據(jù)端口寫入輸出FIFO存儲器中,然后引起ADSP21060中斷;讀數(shù)據(jù)時通過數(shù)據(jù)端從輸入FIFO存儲器讀number然后將數(shù)據(jù)讀到指針ptr中。

#define BASE_ADDR 0X378

#define ADDR_PORT 3

#define DATA_PORT 4

#define CONTROL_PORT 2

#define CONTROL_ININT 2

#define SET_BIT(x,b) ((x)=(1<<(b)))

#define CLEAR_BIT(x,b) ((x)&=~(1<<(b)))

void fifo_rst()

{

char control;

vontrol=inportb(BASE_ADDR+CONTROL_PORT);

CLEAR_BIT(control,CONTROL_ININT);

outportb (BASE_ADDR+CONTROL_PORT,control);

SET_BIT(control,CONTROL_ININT);

outportb (BASE_ADDR+CONTROL_PORT,control);

}

void command(void)

{

int com;

com=0;

control=inportb(BASE_ADDR+CONTROL_PORT);

control=control & oxf4;

outportb(BASE_ADDR+CONTROL_PORT,control);

}

void data_out(int number,char *ptr)

{

int i;

fifo_rst();

for(i=0;i

outportb(BASE_ADDR+ADDR_PORT,0);

}

void data_in(int number,char *ptr)

{

int i;

for(i=0;i

}

結(jié)論

本文給出了一種采用EPP模式下的FIFO和ADSP21060進行高速數(shù)據(jù)通信的實現(xiàn)方案。該電路能夠完成ADSP21060和計算機并口的高速數(shù)據(jù)傳輸,且占用ADSP21060和計算機的時間非常少。另外,文中編制的子程序?qū)τ谄渌cPC機間進行高速數(shù)據(jù)通信的電路有參考價值。經(jīng)調(diào)試證明此方案是可行的。
 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 美女扒开大腿让男人桶| flstingextreme头交| 欧美精品一区二区精品久久| 国产一区二区精品久久| 2021国产麻豆剧传媒剧情最新| 成人免费一区二区三区视频| 亚洲AV无码一区二区三区在线 | 精品久久久久不卡无毒| 国产大片www| 91麻豆久久久| 少妇挑战三个黑人惨叫4p国语| 久久文学网辣文小说| 欧美日韩电影网| 免费高清av一区二区三区| 青青青国产依人精品视频| 国产精品无码免费播放| 一区二区三区美女视频| 日本高清va在线播放| 亚洲国产成人精品电影| 男和女一起怼怼怼30分钟| 国产xxxx做受视频| 91麻豆最新在线人成免费观看 | 亚洲一级黄色大片| 激情视频免费网站| 又爽又黄又无遮挡的视频在线观看 | 久久中文骚妇内射| 欧美亚洲日本另类人人澡gogo| 人妖在线精品一区二区三区| 色欲狠狠躁天天躁无码中文字幕 | 国产久视频观看| 九九影院理论片在线观看一级| 国产麻豆一级在线观看| www.nxgx| 成人超污免费网站在线看| 久久国产乱子伦精品免费看| 欧洲多毛裸体XXXXX| 亚洲日韩中文字幕无码一区| 狠狠97人人婷婷五月| 再一深点灬舒服灬太大了视频| 色综合a怡红院怡红院首页| 国产在线精品一区二区|