0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

電子設(shè)計(jì) ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-08 08:01 ? 次閱讀

前言

計(jì)算機(jī)的并行接口一開始是作為打印機(jī)接口而設(shè)計(jì)的。隨著計(jì)算機(jī)周邊設(shè)備的不斷擴(kuò)展,人們對提高計(jì)算機(jī)外設(shè)的數(shù)據(jù)采集速度的要求也越來越高。傳統(tǒng)的異步串行通訊方式雖然具有數(shù)據(jù)傳輸距離較遠(yuǎn)的優(yōu)勢,但是由于數(shù)據(jù)傳輸速度慢,會造成傳輸速率的瓶頸問題。所以在一些需要高速數(shù)據(jù)傳輸?shù)膱龊?,使用并行接口一直是一種比較理想的解決方法。

1、并口EPP模式介紹

1.1并行接口的種類

最初的PC機(jī)并口由8個(gè)單向輸出,5個(gè)位輸入和4位雙向(控制)線組成(SPP),如今為了適應(yīng)擴(kuò)展外圍設(shè)備的需要,并口已經(jīng)發(fā)展出了多種工作模式??偣灿袠?biāo)準(zhǔn)并行接口(SPP)、簡單雙向接口(PS/2)、增強(qiáng)型并行接口(EPP)和擴(kuò)展功能接口(ECP)模式和多模式接口(ECP+EPP)這幾種。EPP工作模式作為一個(gè)提供高性能并口連接的方法,仍與SPP兼容。EPP工作模式的優(yōu)點(diǎn)概括如下:

1)8位數(shù)據(jù)線由原來SPP的單向改成了雙向,簡化了外圍電路的設(shè)計(jì);

2)在一個(gè)ISA的周期可以完成一次數(shù)據(jù)的傳輸,大大加快了數(shù)據(jù)傳輸速率;

3)只需要對計(jì)算機(jī)發(fā)送一條簡單軟件指令,接口硬件就可以自動生成握手聯(lián)絡(luò)信號;

4)接口數(shù)據(jù)線可以分別定義為數(shù)據(jù)和地址,通過綜合使用nAstrb和nDstrb兩條控制線可以快速的實(shí)現(xiàn)數(shù)據(jù)向不同的設(shè)備傳輸;

5)相對ECP的工作模式,EPP具有操作簡單、易于實(shí)現(xiàn)的特點(diǎn);

1.2 EPP的硬件接口

EPP接口通常是25芯的D-sub接口,符合IEEE1284標(biāo)準(zhǔn)。其中數(shù)據(jù)選通和地址選通信號為低電平有效, 且兩者不可能同時(shí)為低, 等待信號(nWait) 為握手信號,主要是考慮PC比外設(shè)快, 外設(shè)通過發(fā)送等待信號與PC并口協(xié)調(diào)工作。空閑信號線(Spare)可以由外設(shè)根據(jù)需要來決定其狀態(tài),由PC直接讀取并口狀態(tài)寄存器的相應(yīng)位來獲得Spare的狀態(tài)信息。

1.3 EPP寄存器說明

在PC機(jī)中,標(biāo)準(zhǔn)并行接口使用了3個(gè)8位的端口寄存器。PC就是通過對這些寄存器,也就是通常所說的數(shù)據(jù)、狀態(tài)、控制寄存器的讀寫訪問并口信號的,這3個(gè)寄存器的地址分別是基地址、基地址+1、基地址+2。如今,EPP將在基地址+3到基地址+7的范圍內(nèi),添加5個(gè)寄存器。所以EPP一共使用了8個(gè)寄存器,表1列出了這些寄存器及其功能。

表1 EPP的8個(gè)寄存器及他們的功能

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

為了能夠在EPP模式下讀寫一個(gè)數(shù)據(jù)字節(jié),你需要將數(shù)據(jù)讀取或者寫入EPP數(shù)據(jù)寄存器(基地址+4),而不是讀寫基地址。同樣的,地址的讀寫也是通過讀取或者寫入EPP的地址寄存器(基地址+3)來實(shí)現(xiàn)的。EPP的基地址通常是378h和278h。

1.4 EPP工作模式的時(shí)序分析

在EPP和ECP模式中,簡單的端口讀寫操作就會自動產(chǎn)生握手聯(lián)絡(luò)信號,這簡化了很多軟件上的設(shè)計(jì)。圖1是一個(gè)EPP地址寫入周期的時(shí)序圖。如圖所示,對EPP數(shù)據(jù)寄存器的寫操作將導(dǎo)致接口啟動一個(gè)完整的數(shù)據(jù)寫入周期。接口的硬件把待寫入數(shù)據(jù)置于D0~D7,然后接口自動觸發(fā)握手聯(lián)絡(luò)信號,并檢測外設(shè)的應(yīng)答。讀取一個(gè)字節(jié)的過程與此類似。同樣的,對EPP地址寄存器進(jìn)行讀寫操作將引發(fā)一個(gè)完整的數(shù)據(jù)讀寫周期。所以,仔細(xì)研究EPP工作狀態(tài)的時(shí)序是非常重要的。

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

圖1 EPP地址寫入周期的時(shí)序圖

2、基于WDM的并口驅(qū)動程序的實(shí)現(xiàn)

在設(shè)計(jì)PC機(jī)外圍產(chǎn)品時(shí),不僅需要考慮PC接口定義,與接口相關(guān)的寄存器定義,數(shù)據(jù)傳輸協(xié)議,還要根據(jù)上位機(jī)采用的操作系統(tǒng)來編寫合適的通訊程序,以便上位機(jī)對數(shù)據(jù)進(jìn)行管理和監(jiān)控。早期的Windows98以及更低版本的操作系統(tǒng),可以直接訪問并口硬件資源,比如使用C語言中的inp()和outp()函數(shù)來編寫簡單的通訊程序。但Windows2000/XP的操作系統(tǒng)采用了一些保護(hù)措施,阻止對端口的直接訪問。這樣做雖然提高了系統(tǒng)運(yùn)行的可靠性,但也增加了軟件上實(shí)現(xiàn)通訊的難度。

2.1 WDM驅(qū)動程序的種類和結(jié)構(gòu)

WDM(Win32 Driver Model),即Windows驅(qū)動程序模型,是Microsoft力推的全新驅(qū)動程序模式,可以用來開發(fā)Windows 98和Windows 2000設(shè)備驅(qū)動程序。圖2顯示了在Win2000/XP系統(tǒng)中應(yīng)用程序調(diào)用一個(gè)硬件操作的基本過程,從中可以看到WDM在整個(gè)驅(qū)動體系結(jié)構(gòu)中的位置何作用。

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

圖2 Win2000的驅(qū)動體系結(jié)構(gòu)

如圖所示,WDM的驅(qū)動程序是分層的,一般按照層次分為高層、中間和底層三類。顧名思義,高層驅(qū)動程序依賴于中間和底層驅(qū)動程序完成工作,而中間驅(qū)動程序又依賴于底層驅(qū)動程序來完成工作。其中各層驅(qū)動程序的詳細(xì)介紹請參閱參考文獻(xiàn)[1]。

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

圖3 并行口EPP模式驅(qū)動程序接口框圖

2.2 并口EPP模式驅(qū)動程序的功能實(shí)現(xiàn)

WDM驅(qū)動程序開發(fā)工具通常用NuMega DriverStudio。因?yàn)樗梢约傻絍C++ 開發(fā)環(huán)境中,這樣就可以像生成其他工程一樣生成驅(qū)動程序框架,省去了大量的編寫代碼的時(shí)間。

2.3 EPP模式的基本操作

首先定義類KIoRange的一個(gè)實(shí)例,以對應(yīng)EPP

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

下面就可以用類KIoRange的成員函數(shù)來訪問EPP的寄存器:

3、并口EPP模式外圍電路硬件設(shè)計(jì)實(shí)例

由上文可知,并口EPP模式下的數(shù)據(jù)傳輸速度可以達(dá)到?s級,所以使用一般的單片機(jī)來控制外設(shè)與EPP的通訊顯然不能滿足高速的要求。早期,工程師使用大量的邏輯分立元件來設(shè)計(jì)EPP的外圍電路,但是當(dāng)計(jì)算機(jī)的主頻越來越高,EPP 模式在高速數(shù)據(jù)傳輸中可靠性明顯下降, 因此本文采用大規(guī)模可編程邏輯器件, 充分利用其高速和大容量特性設(shè)計(jì)接口電路, 不僅可大大提高其可靠性, 且易于系統(tǒng)擴(kuò)展和升級, 可廣泛用于數(shù)據(jù)采集、D/A 轉(zhuǎn)換以及數(shù)字控制。

采用Xilinx公司的XC95144芯片作為EPP接口模塊的控制單元,并且通過XC95144實(shí)現(xiàn)了計(jì)算機(jī)并口與外部存儲器SRAM的數(shù)據(jù)交換。在某些外設(shè)需要數(shù)據(jù)存儲和與PC機(jī)進(jìn)行數(shù)據(jù)交換的應(yīng)用場合得到了成功的應(yīng)用。該EPP接口模塊的總體框架如圖4所示。

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

圖4 EPP接口模塊邏輯框圖

如圖4所示,CPLD內(nèi)部由各個(gè)負(fù)責(zé)不同功能的子模塊組成,其作用與早期的分立元件一樣,所有子模塊用Verilog設(shè)計(jì)實(shí)現(xiàn),并且通過了仿真驗(yàn)證。采用ECS將所有的子模塊組織起來,集成在一塊CPLD內(nèi)。這樣做大大提高了整個(gè)系統(tǒng)運(yùn)行的可靠性,同時(shí)也為系統(tǒng)擴(kuò)展其他功能提供條件。

由于SRAM相對DRAM具有存儲速度塊,無需定時(shí)刷新,控制信號簡單的優(yōu)點(diǎn),所以被廣泛的用于需要高速數(shù)據(jù)處理的小型設(shè)備中。圖4中的SRAM采用ISSI的IS61C6416,存儲容量是64K×16位。地址線和數(shù)據(jù)線都是16條,但是EPP每次只能傳送一個(gè)字節(jié)的數(shù)據(jù),所以CPLD內(nèi)部需要配置4個(gè)8位的數(shù)據(jù)寄存器,分別保存SRAM的地址和數(shù)據(jù)總線上的數(shù)據(jù)。

圖4中的總線74LS245是一個(gè)總線收發(fā)器,由nWrite信號控制并口數(shù)據(jù)的傳輸方向。74LS138子模塊是一個(gè)3-8譯碼器,通過EPP的地址線向138寫入數(shù)據(jù),使能不同的觸發(fā)信號(CK)來鎖存SRAM的地址或者數(shù)據(jù)總線上的高/低8位數(shù)據(jù)。該模塊的Verilog核心源碼如下:

計(jì)算機(jī)并口EPP模式及基于XC95144芯片實(shí)現(xiàn)它的通信設(shè)計(jì)

由此可知,如果希望向SRAM的地址低8位寫入數(shù)據(jù),PC只需執(zhí)行outp(0x378+3, 0x00),outp(0x378h+4,地址低8位值) 兩條指令,在執(zhí)行后一條指令的同時(shí),ck_al選通信號將并口的數(shù)值鎖存到SRAM地址低8位鎖存器中。在ck_dh信號觸發(fā)的同時(shí)將由nWE_cre模塊使能一個(gè)nWE信號,將數(shù)據(jù)寫入SRAM。

4、總結(jié)

采用增強(qiáng)型并口(EPP)模式,可以極大地?cái)U(kuò)展并口通訊的容量和速度。編寫針對并口的WDM驅(qū)動程序,既可以保證系統(tǒng)運(yùn)行的可靠性,也可以增加驅(qū)動程序的可移植性。使用CPLD設(shè)計(jì)并口EPP接口模塊,可以*限度的體現(xiàn)EPP高速傳輸?shù)奶匦?,而且由于將所有的功能模塊集成在一塊芯片中,提高了系統(tǒng)的可靠性,特別是XC95144具有的ISP(在線可編程)技術(shù)使復(fù)雜的接口電路可根據(jù)具體的應(yīng)用加以修正,大大增強(qiáng)了接口電路的靈活性和可擴(kuò)展性。本文設(shè)計(jì)的EPP接口模塊已被成功的運(yùn)用到某款單片機(jī)仿真器產(chǎn)品中,實(shí)驗(yàn)證明這種設(shè)計(jì)是可行的。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5357

    瀏覽量

    120582
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7513

    瀏覽量

    88156
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    39

    文章

    6138

    瀏覽量

    113736
收藏 人收藏

    評論

    相關(guān)推薦

    量子計(jì)算機(jī)或?qū)⑻崆?b class='flag-5'>實(shí)現(xiàn)

    能力的驗(yàn)證樣機(jī)?! ⊙芯咳藛T將之前投入了巨量人力財(cái)力卻進(jìn)展緩慢的研究路線下的量子計(jì)算機(jī)稱為“數(shù)字量子計(jì)算機(jī)”,的結(jié)構(gòu)模式與今天的數(shù)字電子計(jì)算機(jī)
    發(fā)表于 06-13 10:31

    如何實(shí)現(xiàn)計(jì)算機(jī)與PLC 的通信聯(lián)網(wǎng)?

    本文選用歐姆龍的CPM2A 機(jī)型,配合使用RS232-CAN 適配器,實(shí)現(xiàn)計(jì)算機(jī)與PLC 的通信聯(lián)網(wǎng),方法簡單, 實(shí)用性強(qiáng)。
    發(fā)表于 05-21 06:48

    計(jì)算機(jī)串行通信基礎(chǔ)

    1.計(jì)算機(jī)串行通信基礎(chǔ)1.1、通信方式分類計(jì)算機(jī)通信:是指計(jì)算機(jī)與外部設(shè)備或
    發(fā)表于 02-16 06:14

    什么是計(jì)算機(jī)通信

    文章目錄1、什么是計(jì)算機(jī)通信2、并行通信方式3、串行通信方式4、串行同步通信原理5、串行異步通信
    發(fā)表于 02-17 07:29

    計(jì)算機(jī)串行通信基礎(chǔ)

    計(jì)算機(jī)串行通信基礎(chǔ):隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)通信功能愈來愈顯得重要。計(jì)算
    發(fā)表于 12-03 22:57 ?33次下載

    CH341與EPP并口方式應(yīng)用

    CH341與EPP并口方式應(yīng)用
    發(fā)表于 01-06 17:40 ?2047次閱讀
    CH341與<b class='flag-5'>EPP</b><b class='flag-5'>并口</b>方式應(yīng)用

    基于68HC908GP32單片機(jī)實(shí)現(xiàn)EPP增強(qiáng)并口的接口技術(shù)

    一、計(jì)算機(jī)并口操作模式概述 1.SPP模式 SPP(Standard Parallel Port)模式即標(biāo)準(zhǔn)
    發(fā)表于 09-26 16:00 ?1186次閱讀

    連接計(jì)算機(jī)并口的數(shù)據(jù)采集系統(tǒng)

    針對目前大多數(shù)導(dǎo)彈測試數(shù)據(jù)都從測試計(jì)算機(jī)并口輸出,設(shè)計(jì)了基于單片機(jī)對測試數(shù)據(jù)進(jìn)行并口采集的系統(tǒng),通過介紹打印機(jī)的工作模式和工作時(shí)序,給出了并口
    發(fā)表于 08-29 14:38 ?33次下載
    連接<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>并口</b>的數(shù)據(jù)采集系統(tǒng)

    Windows下通過計(jì)算機(jī)并口讀寫24系列I2C存儲器

    Windows下通過計(jì)算機(jī)并口讀寫24cxx芯片 說明:24CXX.EXE為Windows下通過計(jì)算機(jī)并口 讀寫24系列I2C存儲器的小軟件
    發(fā)表于 09-16 10:32 ?61次下載
    Windows下通過<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>并口</b>讀寫24系列I2C存儲器

    XC95144使用組合EDA41說明

    XC95144使用組合EDA41說明。
    發(fā)表于 03-28 14:57 ?29次下載

    計(jì)算機(jī)通信原理與系統(tǒng)_部分5

    本書論述了計(jì)算機(jī)通信系統(tǒng)的基本原理和技術(shù),主要內(nèi)容包括:計(jì)算機(jī)通信系統(tǒng)的構(gòu)成;計(jì)算機(jī)通信所涉及的
    發(fā)表于 04-19 10:23 ?2次下載

    基于Xilinx XC95144和單片機(jī)實(shí)現(xiàn)數(shù)字頻率計(jì)的設(shè)計(jì)

    原理圖如圖1所示。其中測頻模塊采用CPLD(Xilinx XC95144)設(shè)計(jì)完成,其余功能主要由單片機(jī)來實(shí)現(xiàn)。完成的功能如下:
    發(fā)表于 08-05 16:21 ?1779次閱讀
    基于Xilinx <b class='flag-5'>XC95144</b>和單片機(jī)<b class='flag-5'>實(shí)現(xiàn)</b>數(shù)字頻率計(jì)的設(shè)計(jì)

    計(jì)算機(jī)通信的簡單概念

    計(jì)算機(jī)通信指的是在兩個(gè)或多個(gè)計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)傳輸和信息交換的過程。計(jì)算機(jī)通信可以分為點(diǎn)對點(diǎn)通信
    發(fā)表于 05-09 16:48 ?1984次閱讀

    計(jì)算機(jī)通信的規(guī)則

    計(jì)算機(jī)通信的規(guī)則主要是網(wǎng)絡(luò)協(xié)議,定義了計(jì)算機(jī)如何在通信中進(jìn)行數(shù)據(jù)交換和通信的規(guī)范和格式?,F(xiàn)代
    發(fā)表于 05-09 16:51 ?2275次閱讀

    計(jì)算機(jī)通信的特點(diǎn)

    計(jì)算機(jī)網(wǎng)絡(luò)通信的一個(gè)顯著特點(diǎn)是“間歇性、突發(fā)性”;網(wǎng)絡(luò)通信是通過網(wǎng)絡(luò)將各個(gè)孤立的設(shè)備進(jìn)行連接,通過信息交換實(shí)現(xiàn)人與人,人與計(jì)算機(jī),計(jì)算機(jī)
    發(fā)表于 05-09 16:58 ?1228次閱讀