日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
在EPP模式下利用并口實(shí)現(xiàn)與DSP高速數(shù)據(jù)通信
在EPP模式下利用并口實(shí)現(xiàn)與DSP高速數(shù)據(jù)通信
 更新時(shí)間:2008-8-16 21:14:49  點(diǎn)擊數(shù):12
【字體: 字體顏色

    摘要:DSP與PC機(jī)之間進(jìn)行高速數(shù)據(jù)通信是DSP的一個(gè)重要應(yīng)用。本文分析了并口處于EPP模式下與ADSP21060之間的高速數(shù)據(jù)交換的原理,同時(shí)詳細(xì)討論了其硬件設(shè)計(jì)的結(jié)構(gòu)圖及其相應(yīng)的并口程序設(shè)計(jì)。

    關(guān)鍵詞:計(jì)算機(jī)并口 EPP DSP FIFO

隨著技術(shù)的進(jìn)步和大量外設(shè)的增加,不僅要求計(jì)算機(jī)并行口可以連接打印機(jī),而且可以連接到其他外設(shè),并要求能夠雙向傳輸數(shù)據(jù),對(duì)高速外設(shè)還要求高速數(shù)據(jù)傳輸,如DPS。在科技飛速發(fā)展的今天,DSP的處理能力和速度也快速提高,廣泛用戶在科學(xué)研究、軍事及通信等電子領(lǐng)域。在這些應(yīng)用中免不了要和PC機(jī)進(jìn)行高速數(shù)據(jù)傳輸。計(jì)算機(jī)并口傳統(tǒng)的傳輸模式為SPP(標(biāo)準(zhǔn)并口),數(shù)據(jù)傳輸方向是從計(jì)算機(jī)到外圍設(shè)備,只能輸出數(shù)據(jù),不能輸入數(shù)據(jù)。這就限制了并行口高速數(shù)據(jù)通信的應(yīng)用。于是我們?cè)贓PP模式下設(shè)計(jì)了一種實(shí)現(xiàn)DSP與PC機(jī)之間進(jìn)行高速數(shù)據(jù)傳輸?shù)姆桨浮?/p>

在EPP模式下實(shí)現(xiàn)數(shù)據(jù)傳輸

EPP協(xié)議是一種與標(biāo)準(zhǔn)并行口兼容且能完成雙向數(shù)據(jù)傳協(xié)議。該協(xié)議定義的并行口更像一個(gè)開放的總線,給用戶提供了強(qiáng)大的功能和靈活的設(shè)計(jì)手段。

它有四個(gè)數(shù)據(jù)傳輸周期:數(shù)據(jù)寫周期;數(shù)據(jù)讀周期;地址寫周期;地址讀周期。數(shù)據(jù)周期用于主機(jī)與外設(shè)之間的傳輸數(shù)據(jù),地址周期一般用于傳輸?shù)刂、通道、命令和控制信?hào)。這引起周期也可以看成為兩種不同的數(shù)據(jù)周期。

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

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

EPP模式下基于FIFO實(shí)現(xiàn)高速數(shù)據(jù)傳輸

EPP模式下基于FIFO實(shí)現(xiàn)高速數(shù)據(jù)通信的原理框圖見圖1。

它的通信過程是:當(dāng)并口向ADSP21060傳輸數(shù)據(jù)時(shí),并口音先將輸出FIFO復(fù)位,然后,將要傳輸?shù)臄?shù)據(jù)成批寫到此FIFO中再給ADSP21060一個(gè)中斷信號(hào),通知它從輸出FIFO讀取數(shù)據(jù);

當(dāng)ADSP21060向并口傳輸數(shù)據(jù)時(shí),首先將輸入FIFO復(fù)位,然后,將要傳輸?shù)臄?shù)據(jù)成批寫到此FIFO中再給計(jì)算機(jī)并口一個(gè)中斷信號(hào),通知它從輸入FIFO讀取數(shù)據(jù),這樣就完成了數(shù)據(jù)的雙向通信。

這種設(shè)計(jì)具有塊傳輸數(shù)據(jù)的優(yōu)點(diǎn),同時(shí)在傳輸大量數(shù)據(jù)時(shí),占用并口和ADSP21060的時(shí)間非常少。

圖中主要邏輯關(guān)系如下:

輸出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。

在此電路設(shè)計(jì)中,有兩個(gè)問題值得注意:

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

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

計(jì)算機(jī)EPP并口程序設(shè)計(jì)

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

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

在訪問EPP寄存器之前,軟件必須寫零到控制寄存器的0,1,3位;寫數(shù)據(jù)時(shí)將指針ptr中的number個(gè)數(shù)據(jù)通過數(shù)據(jù)端口寫入輸出FIFO存儲(chǔ)器中,然后引起ADSP21060中斷;讀數(shù)據(jù)時(shí)通過數(shù)據(jù)端從輸入FIFO存儲(chǔ)器讀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<number;i++) outportb(BASE_ADDR+DATA_PORT,ptr[i];

outportb(BASE_ADDR+ADDR_PORT,0);

}

void data_in(int number,char *ptr)

{

int i;

for(i=0;i<number;i++) ptr[i]=inportb (BASE_ADDR+DATA_PORT);

}

結(jié)論

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

  • 上一篇: 一種新型網(wǎng)絡(luò)I/O:InfiniBand
  • 下一篇: 使用自舉積分電路的精密電流源設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1