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

    隨著技術的進步和大量外設的增加,不僅要求計算機并行口可以連接打印機,而且可以連接到其他外設,并要求能夠雙向傳輸數據,對高速外設還要求高速數據傳輸,如DPS。在科技飛速發展的今天,DSP的處理能力和速度也快速提高,廣泛用戶在科學研究、軍事及通信等電子領域。在這些應用中免不了要和PC機進行高速數據傳輸。計算機并口傳統的傳輸模式為SPP(標準并口),數據傳輸方向是從計算機到外圍設備,只能輸出數據,不能輸入數據。這就限制了并行口高速數據通信的應用。于是我們在EPP模式下設計了一種實現DSP與PC機之間進行高速數據傳輸的方案。

在EPP模式下實現數據傳輸

EPP協議是一種與標準并行口兼容且能完成雙向數據傳協議。該協議定義的并行口更像一個開放的總線,給用戶提供了強大的功能和靈活的設計手段。

它有四個數據傳輸周期:數據寫周期;數據讀周期;地址寫周期;地址讀周期。數據周期用于主機與外設之間的傳輸數據,地址周期一般用于傳輸地址、通道、命令和控制信號。這引起周期也可以看成為兩種不同的數據周期。

EPP模式最主要的特征之一是整個數據傳輸過程發生在一個ISAI/O周期內。也就是說,用EPP協議來傳輸數據,系統可以獲得500K-2M字節/秒的傳輸率,即并口的外圍設備有接近ISA總線插板的性能。利用聯鎖形式的握手信號,數據的傳輸由接口中最慢的設備來決定,既可以是主機,也可以是外設。這種“速率適應性”對主機和外設來說都是透明的。所有的并行口傳輸方法都利用了聯鎖握手信號。用這種方法,外圍設備可以控制其本身操作所需的建立時間。同時由于EPP模式傳輸數據的過程簡單易實現,所以我們決定采用雙向并口的EPP傳輸模式來實現高速數據傳輸。

當并口向ADI公司的DSP芯片ADSP21060傳輸數據時,通過數據鎖存器鎖住一個字節的數據,然后給ADSP21060一個中斷信號,使其讀取數據;同樣,當ADSP21060向并口傳輸數據時,先讓鎖存器鎖住數據,再給并口一個中斷,使其讀取數據,這樣就完成了數據的雙向通信。可是,用這種方法,無論數據向哪一個方向傳輸,只能傳一個字節就引起一次中斷,再使PC機或ADSP21060讀取,然后再傳下一個字節,這就占用了CPU的大量時間,降低了CPU的工作效率。為此我們利用兩個FIFO來提高CPU的工作效率。

EPP模式下基于FIFO實現高速數據傳輸

EPP模式下基于FIFO實現高速數據通信的原理框圖見圖1。

它的通信過程是:當并口向ADSP21060傳輸數據時,并口音先將輸出FIFO復位,然后,將要傳輸的數據成批寫到此FIFO中再給ADSP21060一個中斷信號,通知它從輸出FIFO讀取數據;

當ADSP21060向并口傳輸數據時,首先將輸入FIFO復位,然后,將要傳輸的數據成批寫到此FIFO中再給計算機并口一個中斷信號,通知它從輸入FIFO讀取數據,這樣就完成了數據的雙向通信。

這種設計具有塊傳輸數據的優點,同時在傳輸大量數據時,占用并口和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的邏輯關系來產生。其邏輯關系為: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);寫數據到FIFO子程序:void data_out (void);從FIFO讀數據子程序:void data_in(void);

在訪問EPP寄存器之前,軟件必須寫零到控制寄存器的0,1,3位;寫數據時將指針ptr中的number個數據通過數據端口寫入輸出FIFO存儲器中,然后引起ADSP21060中斷;讀數據時通過數據端從輸入FIFO存儲器讀number然后將數據讀到指針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

}

結論

本文給出了一種采用EPP模式下的FIFO和ADSP21060進行高速數據通信的實現方案。該電路能夠完成ADSP21060和計算機并口的高速數據傳輸,且占用ADSP21060和計算機的時間非常少。另外,文中編制的子程序對于其他與PC機間進行高速數據通信的電路有參考價值。經調試證明此方案是可行的。
 

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品日韩一本| 国产日韩欧美精品在线| 亚洲欧美日韩另类精品一区二区三区 | 亚洲美女性视频| 在线成人h网| 揄拍成人国产精品视频| 国产一区二区三区观看| 国产精品一区久久久久| 国产精品视频xxxx| 国产欧美69| 国产日韩一区| 国产午夜精品美女毛片视频| 国产精品日韩精品欧美精品| 国产精品国产亚洲精品看不卡15| 欧美日韩国产精品一卡| 欧美日韩国产大片| 欧美日韩一区在线观看| 欧美日韩精品综合| 欧美日韩一区三区| 国产精品久久999| 国产精品久久久久久亚洲毛片| 国产精品第十页| 国产精品女主播在线观看| 国产毛片精品视频| 国产日韩欧美综合精品| 黑人一区二区| 亚洲高清激情| 亚洲美女区一区| 亚洲深爱激情| 亚洲欧美一区二区视频| 性8sex亚洲区入口| 亚洲国产成人一区| 亚洲乱码国产乱码精品精98午夜 | 亚洲欧美怡红院| 久久国产精品高清| 久久人人97超碰人人澡爱香蕉| 麻豆成人在线| 欧美国产亚洲另类动漫| 欧美日韩xxxxx| 国产精品久久久久久久久久久久久久| 国产精品亚洲精品| 国产综合久久| 亚洲黄色尤物视频| 亚洲午夜在线观看| 欧美永久精品| 日韩亚洲欧美成人| 亚洲小视频在线| 久久精品免费观看| 欧美韩国一区| 国产精品高潮呻吟久久av无限| 国产欧美一区二区三区久久 | 欧美在线综合视频| 亚洲欧洲一区二区三区久久| 中文日韩在线| 久久99伊人| 久久精品免视看| 亚洲国产精品第一区二区| 亚洲理论在线| 亚洲欧美另类在线观看| 亚洲黄色免费网站| 亚洲小说春色综合另类电影| 久久久久在线| 欧美日本高清视频| 国产偷国产偷精品高清尤物| 亚洲精品无人区| 欧美一区二区精品| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲国产精品传媒在线观看 | 欧美中在线观看| 免费视频一区| 国产精品久久综合| 1024成人| 亚洲欧美视频| 日韩视频不卡| 久久久久久夜精品精品免费| 欧美日韩高清在线| 黄色亚洲网站| 亚洲小视频在线观看| 91久久精品网| 久久国产精彩视频| 欧美午夜久久久| 精品69视频一区二区三区| 一区二区国产日产| 亚洲人成网站影音先锋播放| 欧美亚洲视频在线观看| 欧美人成在线视频| 国内精品国语自产拍在线观看| 日韩视频不卡中文| 亚洲国产精品欧美一二99| 亚洲三级电影在线观看 | 国产精品自在线| 亚洲精品在线观看免费| 久久国产精品网站| 午夜精品短视频| 欧美日韩18| 伊人色综合久久天天| 亚洲欧美第一页| 亚洲香蕉网站| 欧美日韩亚洲国产一区| 亚洲国产精品久久久久| 欧美一区二区三区精品电影| 亚洲影视九九影院在线观看| 欧美黄色成人网| 在线日韩日本国产亚洲| 久久成人亚洲| 久久九九国产精品| 国产伦精品一区二区三区高清版 | 一本久久a久久免费精品不卡| 亚洲国产中文字幕在线观看| 欧美在线亚洲在线| 国产精品永久免费在线| 中文亚洲视频在线| 亚洲午夜高清视频| 欧美日韩中文在线| 亚洲精品欧美在线| 一本一本久久a久久精品综合妖精| 女女同性精品视频| 一区二区三区在线视频观看| 久久丁香综合五月国产三级网站| 久久国产精品久久国产精品| 国产女精品视频网站免费 | 欧美一区二区在线观看| 国产精品久久久久毛片软件| 在线综合+亚洲+欧美中文字幕| 一区二区日韩免费看| 欧美日韩免费一区| 99成人免费视频| 亚洲一区二区久久| 国产精品亚洲美女av网站| 亚洲欧美日韩精品在线| 欧美一区在线看| 国产午夜精品视频免费不卡69堂| 午夜一级在线看亚洲| 久久久精彩视频| 激情自拍一区| 亚洲精品免费一区二区三区| 欧美伦理一区二区| 中文欧美字幕免费| 久久动漫亚洲| 狠狠干狠狠久久| 亚洲精品视频免费观看| 欧美mv日韩mv国产网站app| 亚洲国产精品高清久久久| 99精品国产一区二区青青牛奶| 欧美丝袜第一区| 亚洲欧美日韩第一区| 久久久久久噜噜噜久久久精品| 亚洲精品一区在线观看| 国内外成人免费视频| 亚洲国产精品第一区二区三区| 欧美成人午夜影院| 在线视频免费在线观看一区二区| 午夜精品国产| 韩国福利一区| 妖精成人www高清在线观看| 国产精品magnet| 久久电影一区| 欧美猛交免费看| 亚洲伊人第一页| 免费不卡视频| av成人动漫| 久久久国产一区二区三区| 亚洲欧洲美洲综合色网| 亚洲欧美日本视频在线观看| 国产在线视频不卡二| 亚洲精品在线免费| 国产精品欧美日韩一区| 亚洲福利国产| 欧美午夜不卡在线观看免费 | 国产精品极品美女粉嫩高清在线| 亚洲欧美日韩中文视频| 欧美 日韩 国产精品免费观看| 日韩亚洲欧美一区二区三区| 欧美一区二区三区在线| 亚洲国产小视频| 欧美影院在线| 亚洲精品乱码久久久久久| 欧美诱惑福利视频| 亚洲人成艺术| 久久精品女人| 在线视频欧美日韩精品| 久久深夜福利免费观看| 99精品国产99久久久久久福利| 久久精品国产第一区二区三区最新章节 | 国产日韩欧美一区二区| 日韩午夜精品| 国产亚洲va综合人人澡精品| 一区二区三欧美| 尤物网精品视频| 欧美尤物一区| av不卡在线| 欧美精品导航| 久久激五月天综合精品| 国产精品xvideos88| 亚洲精品免费电影| 黑人极品videos精品欧美裸| 亚洲男女自偷自拍| 91久久精品网| 久久伊人亚洲| 亚洲女优在线|