熟妇人妻中文字幕在线视频_无码人妻精品视频_久久躁夜夜躁狠狠躁_偷碰人妻无码视频

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>基于uPSD323X的EPP增強(qiáng)并口的接口技術(shù)

基于uPSD323X的EPP增強(qiáng)并口的接口技術(shù)

時(shí)間:2023-02-21 00:14:28 電子通信論文 我要投稿
  • 相關(guān)推薦

基于uPSD323X的EPP增強(qiáng)并口的接口技術(shù)

  摘要:系統(tǒng)介紹EPP增強(qiáng)并口接口協(xié)議,簡(jiǎn)要介紹ST公司uPSD323X系列器件的特點(diǎn)及其開發(fā)環(huán)境PSDsoftEXPRESS;從硬件電路和軟件編程兩個(gè)方面,詳細(xì)介紹使用uPSD323X系列器件實(shí)現(xiàn)EPP增強(qiáng)并口接口的設(shè)計(jì)方法。
  
  關(guān)鍵詞:EPP增強(qiáng)并口uPSD323XPSDsoftEXPRESS
  
  引言
  
  在IBM公司推出PC機(jī)時(shí),并行端口已經(jīng)是PC機(jī)的一部分。并口設(shè)計(jì)之初,是為能代替速度較慢的串行端口驅(qū)動(dòng)當(dāng)時(shí)的高性能點(diǎn)陣式打印機(jī)。并口可以同時(shí)傳輸8位數(shù)據(jù),而串口只能一位一位地傳輸,傳輸速度慢。隨著技術(shù)的進(jìn)步和對(duì)傳輸速度要求的提高,最初的標(biāo)準(zhǔn)并行端口即SPP模式的并行端口的速度已不能滿足要求。1994年3月,IEEE1284委員會(huì)頒布了IEEE1284標(biāo)準(zhǔn)。IEEE1284標(biāo)準(zhǔn)提供的在主機(jī)和外設(shè)之間的并口傳輸速度,相對(duì)于最初的并行端口快了50——100倍。IEEE1284標(biāo)準(zhǔn)定義了5種數(shù)據(jù)傳輸模式,分別是兼容模式、半字節(jié)模式、字節(jié)模式、EPP模式和ECP模式。其中EPP模式、ECP模式為雙向傳輸模式。EPP模式比ECP模式更簡(jiǎn)潔、靈活、可靠,在工業(yè)界得到了更多的實(shí)際應(yīng)用。本文介紹的一種基于uPSD323X的EPP增強(qiáng)并口的設(shè)計(jì)核心是,使用uPSD323X內(nèi)部的CPLD實(shí)現(xiàn)EPP接口。
  
  1EPP接口協(xié)議介紹
  
  EPP(EnhancedParallelPort,增強(qiáng)并行端口)協(xié)議最初是由Intel、Xirocm、Zenith三家公司聯(lián)合提出的,于1994年在IEEE1284標(biāo)準(zhǔn)中發(fā)布。EPP協(xié)議有兩個(gè)標(biāo)準(zhǔn):EPP1.7和EPP1.9.EPP接口控制信號(hào)由硬件自動(dòng)產(chǎn)品,整個(gè)數(shù)據(jù)傳輸可以在一個(gè)ISAI/O周期完成,通信速率能達(dá)到500KB/s——2MB/s.
  
  EPP引腳定義如表1所列。
  
  表1EPP接口引腳定義
  
  對(duì)應(yīng)并口引腳EPP信號(hào)方向
  
  說(shuō)明
  
  1nWrit輸出指示主機(jī)是向外設(shè)寫(低電平)還是從外設(shè)讀(高電平)2——9Data0——7輸入/輸出雙向數(shù)據(jù)總線10Interrupt輸入下降沿向主機(jī)申請(qǐng)中斷11nWait輸入低電平表示外設(shè)準(zhǔn)備好傳輸數(shù)據(jù),高電平表示數(shù)據(jù)傳輸完成12Spare輸入空余線13Spare輸入空余線14nDStrb輸出數(shù)據(jù)選通信號(hào),低電平有效15Spare輸入空余線16Ninit輸出初始化信號(hào),低電平有效17nAStrb輸出地址數(shù)據(jù)選通信號(hào),低電平有效18——25GroundGND地線
  
  1.1EPP接口時(shí)序
  
  EPP協(xié)議定義了4種并口周期:數(shù)據(jù)寫周期、數(shù)據(jù)讀周期、地址寫周期和地址讀周期。數(shù)據(jù)周期用于計(jì)算機(jī)與外設(shè)間傳送數(shù)據(jù);地址周期用于傳送地址、通道、命令、控制和狀態(tài)等輔助信息。圖1是EPP數(shù)據(jù)寫的時(shí)序圖。圖1中,nIOW信號(hào)實(shí)際上在進(jìn)行EPP數(shù)據(jù)寫時(shí)并不會(huì)產(chǎn)生,只不過(guò)是表示所有的操作都發(fā)生在一個(gè)I/O周期內(nèi)。在t1時(shí)刻,計(jì)算機(jī)檢測(cè)nWait信號(hào),如果nWait為低,表明外設(shè)已經(jīng)準(zhǔn)備好,可以啟動(dòng)一個(gè)EPP周期了。在t2時(shí)刻,計(jì)算機(jī)把nWrite信號(hào)置為低,表明是寫周期,同時(shí)驅(qū)動(dòng)數(shù)據(jù)線。在t3時(shí)刻,計(jì)算機(jī)把nDataStrobe信號(hào)置為低電平,表明是數(shù)據(jù)周期。當(dāng)外設(shè)在檢測(cè)到nDataStrobe為低后讀取數(shù)據(jù)并做相應(yīng)的數(shù)據(jù)處理,且在t4時(shí)刻把nWait置為高,表明已經(jīng)讀取數(shù)據(jù),計(jì)算機(jī)可以結(jié)束該EPP周期。在t5和t6時(shí)刻,計(jì)算機(jī)把nDataStrobe和nWrite置為高。這樣,一個(gè)完整的EPP數(shù)據(jù)寫周期就完成了。如果就圖1中的nDataStrobe信號(hào)換為nAddStrobe信號(hào),就是EPP地址寫周期。
  
  圖2是EPP地址讀周期。與EPP寫周期類似,不同的是nWtrite信號(hào)置為高,表明是讀周期,并且數(shù)據(jù)線由外設(shè)驅(qū)動(dòng)。
  
  從EPP讀、寫周期可以看出,EPP模式的數(shù)據(jù)傳輸過(guò)程是一個(gè)信號(hào)互鎖的過(guò)程。以EPP寫周期為例子,當(dāng)檢測(cè)到nWait為低后,nDataStrobe控制信號(hào)就會(huì)變低,nWait狀態(tài)信號(hào)會(huì)由于nDataStrobe控制信號(hào)的變低為而高。當(dāng)計(jì)算機(jī)檢測(cè)到
  
  nWait狀態(tài)信號(hào)變高后,nDataStrobe控制信號(hào)就會(huì)變高,一個(gè)完整的EPP寫周期結(jié)束。因此,EPP數(shù)據(jù)的傳輸以接口最慢的設(shè)備來(lái)進(jìn)行,可以是主機(jī),也可以是外設(shè)。
  
  1.2EPP增強(qiáng)并口的定義
  
  EPP增強(qiáng)并口模式使用與標(biāo)準(zhǔn)并口(SPP,StandardParalledPort)模式相同的基地址,定義了8個(gè)I/O地址;刂+0是SPP數(shù)據(jù)口,基地址+1是SPP狀態(tài)口,基地址+2是SPP控制口。這3個(gè)口實(shí)際上就是SPP模式下的數(shù)據(jù)、狀態(tài)和控制口,保證了EPP模式和SPP模式的軟硬件兼容性。
  
  基地址+3是EPP地址口。這個(gè)I/O口中寫數(shù)據(jù)將產(chǎn)生一個(gè)連鎖的EPP地址寫周期,從這個(gè)I/O口中讀數(shù)據(jù)將產(chǎn)生一個(gè)連鎖的EPP地址讀周期。在不同的EPP應(yīng)用系統(tǒng)中,EPP地址口可以根據(jù)實(shí)際需要設(shè)計(jì)為設(shè)備選擇、通道選擇、控制寄存器、狀態(tài)信息等。給EPP應(yīng)用系統(tǒng)提供了極大的靈活性。
  
  基地址+4是EPP數(shù)據(jù)口。向這個(gè)I/O口中寫數(shù)據(jù)將產(chǎn)生一個(gè)連鎖的EPP數(shù)據(jù)寫周期,從這個(gè)I/O口讀數(shù)據(jù)將產(chǎn)生一個(gè)連鎖的EPP數(shù)據(jù)寫周期;刂+5——+7與基地址+4一起提供對(duì)EPP數(shù)據(jù)口的雙字操作能力。EPP允許主機(jī)在此個(gè)時(shí)鐘周期內(nèi)寫1個(gè)32位雙字,EPP電路再把32位雙字拆為個(gè)字節(jié)依次從EPP數(shù)據(jù)口中送出去。也可以用其所長(zhǎng)6位字方式進(jìn)行數(shù)據(jù)傳送。
  
  由于EPP通過(guò)硬件自動(dòng)握手,對(duì)EPP地址口和EPP數(shù)據(jù)口的讀寫操作都自動(dòng)產(chǎn)生控制信號(hào)而無(wú)需軟件生成。
  
  2uPSD323X及其開發(fā)環(huán)境PSDsoftEXPRESS
  
  ST公司的uPSD323X是帶8032內(nèi)核的Flash可編程系統(tǒng)器件,將于8032MCU、地址鎖存器、Flash、SRAM、PLD等集成在一個(gè)芯片內(nèi)。其主要特點(diǎn)如下:具有在線編程能力和超強(qiáng)的保密功能;2片F(xiàn)lash保存器,1片是128K或者256K的主Flash存儲(chǔ)器,另一片是32K的從Flash存儲(chǔ)器;片內(nèi)8K的SDRAM;可編程的地址解碼電路(DPLD),使存儲(chǔ)器地址可以映射到8032尋址范圍內(nèi)的任何空間;帶有16位宏單元的3000門可編程邏輯電路(CPLD),可以實(shí)現(xiàn)EPP接口等及一些不太復(fù)雜的接口和控制功能;2個(gè)異步串口、I2C接口、USB接口、5通道脈沖寬度調(diào)節(jié)器、50個(gè)I/O引腳等。由于uPSD323X采用的是8032內(nèi)核,因此可以完全得到KeilC51編程器的PSDsoftEXPRESS是ST公司針對(duì)PSD系列產(chǎn)品(包括uPSD)開發(fā)的基于Windows平臺(tái)的一套軟件開發(fā)環(huán)境。經(jīng)過(guò)不斷升級(jí),目前最新版是PSDsoftEXPRESS7.9.它提供非常容易的點(diǎn)擊設(shè)計(jì)窗口環(huán)境用戶不需要自己編程,也不需要了解HDL語(yǔ)言,只有點(diǎn)擊鼠標(biāo)即可完成對(duì)地址鎖存器、Flash、可編程邏輯電路等外設(shè)的所有配置和寫入。它支持所有PSD器件的開發(fā),使用PSDsoftEXPRESS工具對(duì)uPSD323X系列器件的可編程邏輯電路的操作簡(jiǎn)單、直觀。PSDsoftEXPRESS工具可以在ST網(wǎng)站(www.st.com/psd)免費(fèi)下載。
  
  3用uPSD323X實(shí)現(xiàn)EPP接口設(shè)計(jì)
  
  3.1硬件接口
  
  EPP增強(qiáng)并口的速度最高可達(dá)到500KB/s——2MB/s,這對(duì)外設(shè)的接口設(shè)計(jì)提供了一個(gè)很高的要求,如果外設(shè)響應(yīng)太慢,系統(tǒng)的整體性能將大大下降。用戶可編程邏輯器件,系統(tǒng)的整體性能將大大降低。用戶可編程邏輯器件,如FPGA(FieldProgrammableGatesArray,現(xiàn)場(chǎng)可編程門陣列)和CPLD(ComplexProgrammableLogicDevice,復(fù)雜可編程邏輯器件),可以實(shí)現(xiàn)EPP增強(qiáng)并口的接口設(shè)計(jì),這種實(shí)現(xiàn)方案可以達(dá)到并口中的速度極限,并且保密性好。ST公司的uPSD323X內(nèi)部集成了可編程邏輯電路(CPLD),因此使用uPSD323X可以很好地實(shí)現(xiàn)EPP增強(qiáng)并口的接口設(shè)計(jì)。
  
  EPP接口(EPP1.7)外設(shè)硬件接口原理如圖3所示。在本設(shè)計(jì)中,uPSD323X通過(guò)中斷的方式接收PC機(jī)并口的數(shù)據(jù),并且當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù)上傳到PC機(jī)時(shí),PC機(jī)采用的也是中斷方式接收外設(shè)的數(shù)據(jù)。
  
  在上述硬件電路的基于上實(shí)現(xiàn)EPP并口通信還需做兩部分的工作:一部分工作是在PSDsoftEXPRESS工具中完成對(duì)CPLD的數(shù)據(jù)的鎖存;另一部分工作是在KEILC51環(huán)境下編寫中斷服務(wù)程序,實(shí)現(xiàn)EPP數(shù)據(jù)的讀取和發(fā)送。
  
  圖3
  
  3.2對(duì)CPLD的編程及其實(shí)現(xiàn)數(shù)據(jù)鎖存的過(guò)程
  
  在PSDsoftEXPRESS工具中,將PA端口(EPPD0——EPPD7)配置成帶有時(shí)鐘上升沿觸發(fā)的寄存器類型(PTclockedregister)的輸入宏,PB0(nWait)配置成上升沿觸發(fā)的D類型寄存器(D-typeregister)的輸出宏,PB3(nWrite)、PB4(nDstrb)、PB2(nAstrb)配置成CPLD邏輯輸入(logicinput)口。NDstrb信號(hào)和nAstrb信號(hào)各自取反再相與后的值作為輸入宏單元和輸出宏單元的時(shí)鐘。上述對(duì)PA、PB端口的配置用方程式表示如下:
  
  PORTAEQUATIONS:
  
  =======================
  
  !EPPD7_LD_0=nAstrb&nDstrb;
  
  EPPD0.LD=EPPD3_LD_0.FB;
  
  !EPPD3_LD_0=nAstrb&nDstrb;
  
  EPPD1.LD=EPPD3_LD_0.FB;
  
  !nWait_C_0=nAstrb&nDstrb;
  
  EPPD2.LD=EPPD3_LD_0.FB;
  
  EPPD3.LD=EPPD3_LD_0.FB;
  
  EPPD4.LD=FPPD7_LD_0.FB;
  
  EPPD5.LD=EPPD7_LD_0.FB;
  
  EPPD6.LD=EPPD7_LD_0.FB;
  
  EPPD7.LD=EPPD7_LD_0.FB;
  
  PORTBEQUATIONS:
  
  =======================
  
  nWait.D:=1;
  
  nWait.PR=0;
  
  nWait.C=nWait_C_0.FB;
  
  nWait.OE=1;
  
  nDstrb.LE=1;
  
  nAstrb.LE=1;
  
  EPP數(shù)據(jù)的鎖存過(guò)程如下:以計(jì)算機(jī)向外設(shè)傳輸數(shù)據(jù)(即EPP數(shù)據(jù)寫周期)為例子,計(jì)算機(jī)首先檢測(cè)nWait信號(hào),如果nWait為低計(jì)算機(jī)把nWrite信號(hào)置為低,表明是寫周期,同時(shí)將數(shù)據(jù)放到數(shù)據(jù)總線上,然后置低nDstrb信號(hào)。此時(shí),nDstrb信號(hào)會(huì)出現(xiàn)一個(gè)上升沿,此上升沿會(huì)將PA端口的數(shù)據(jù)鎖存到輸入宏;同時(shí),此上升沿使nWait信號(hào)變高,表示外設(shè)正忙阻計(jì)算機(jī)發(fā)數(shù)年。當(dāng)計(jì)算機(jī)檢測(cè)到nWait信號(hào)為高后就會(huì)將數(shù)據(jù)握手信號(hào)nDstrb變高,EPP數(shù)據(jù)寫周期結(jié)束。上述EPP數(shù)據(jù)的鎖存和nWait握手信號(hào)的產(chǎn)生都由硬件產(chǎn)生,因此數(shù)據(jù)傳輸速度快。整個(gè)數(shù)據(jù)傳輸過(guò)程可以在一個(gè)I/O周期內(nèi)完成,鎖存到輸入宏的數(shù)據(jù)的讀取和nWait信號(hào)的清除則在外部中斷0服務(wù)程序軟件完成。
  
  3.3中斷服務(wù)程序的功能描述及流程
  
  由硬件原理圖可以看出,EPP并口的nDstrb和nAstrb信號(hào)線分別連到uPSD323X的外部中斷定和外部中斷1引腳。當(dāng)發(fā)生EPP數(shù)據(jù)讀寫時(shí),nDstrb信號(hào)就會(huì)產(chǎn)生一個(gè)下降沿,引起外中斷定中斷。當(dāng)發(fā)生EPP地址讀寫時(shí),nAstrb信號(hào)就會(huì)產(chǎn)生一個(gè)下降沿,引起外中斷1中斷。外部中斷0和外部中斷1的中斷服務(wù)程序的功能是相同的,只不過(guò)前者接收或發(fā)送的是數(shù)據(jù)而后者是地址、命令等。以外部中斷0的中斷服務(wù)程序?yàn)槔,詳?xì)介紹數(shù)據(jù)正向傳輸(計(jì)算機(jī)向外設(shè)發(fā)送數(shù)據(jù))和反向傳輸(外設(shè)向計(jì)算機(jī)傳送數(shù)據(jù))時(shí)中斷服務(wù)程序的功能。外部中斷0中斷服務(wù)程序流程如圖4所示。
  
 。1)數(shù)據(jù)正向傳輸
  
  當(dāng)發(fā)生EPP數(shù)據(jù)寫周期時(shí),即數(shù)據(jù)正向傳輸時(shí),計(jì)算機(jī)首先檢測(cè)nWait信號(hào)。如果nWait為低,表示外設(shè)已準(zhǔn)備好接收數(shù)據(jù)。計(jì)算機(jī)把nWrite信號(hào)置為低,表明是寫周期,同時(shí)將數(shù)據(jù)放到數(shù)據(jù)總線上,然后置低nDstrb.NDstrb信號(hào)就會(huì)產(chǎn)生一個(gè)下降沿,此下降沿一方面將PA端口的數(shù)據(jù)鎖存到輸入宏并使nWait信號(hào)變高,表示外設(shè)正忙另一方面引起外部中斷0中斷,在外部中斷0的中斷服務(wù)程序中讀取輸入宏鎖存的數(shù)據(jù),然后將nWait信號(hào)清零通知計(jì)算機(jī)現(xiàn)在外設(shè)已經(jīng)準(zhǔn)備好可以再次接收數(shù)據(jù)了。
  
 。2)數(shù)據(jù)反向傳輸
  
  外設(shè)準(zhǔn)備好數(shù)據(jù)需要上傳到計(jì)算機(jī)時(shí),uPSD323X就會(huì)將數(shù)據(jù)放到PA端口,同時(shí)置低Intr信號(hào)線,向計(jì)算機(jī)申請(qǐng)一個(gè)中斷,計(jì)算機(jī)中由一個(gè)硬件驅(qū)動(dòng)程序來(lái)處理并口的硬件中斷。驅(qū)動(dòng)程序在并口中斷服務(wù)程序中,通過(guò)讀取EPP數(shù)據(jù)口獲得外設(shè)上傳的數(shù)據(jù)。由于EPP接口的握手信號(hào)由硬件產(chǎn)生,當(dāng)計(jì)算機(jī)讀取EPP數(shù)據(jù)口時(shí)同樣會(huì)檢測(cè)nWait信號(hào)。如果nWait為低,計(jì)算機(jī)把nWrite信號(hào)置高,表明是讀周期,然后置低nDstrb,nDstrb信號(hào)就會(huì)產(chǎn)生一個(gè)下降沿。此下降沿使nWait信號(hào)變高,同時(shí)引起uPSD323X外部中斷定中斷。在外部中斷0的中斷服務(wù)程序中,為確保計(jì)算機(jī)將PA端口的數(shù)據(jù)取走,需不斷檢測(cè)nDstrb是否為高。當(dāng)nDstrb為高時(shí),表示計(jì)算機(jī)已將PA端口聽數(shù)據(jù)讀走,然后中斷服務(wù)程序?qū)Wait置低,EPP數(shù)據(jù)讀周期結(jié)束。
  
  結(jié)語(yǔ)
  
  本文系統(tǒng)地介紹了EPP增強(qiáng)并口協(xié)議,并給出使用ST公司的uPSD323X系列器件實(shí)現(xiàn)EPP增強(qiáng)并口的接口方法。此方案不需要外接門電路,保密性好,成本低。

【基于uPSD323X的EPP增強(qiáng)并口的接口技術(shù)】相關(guān)文章:

增強(qiáng)并口EPP與DSP接口的設(shè)計(jì)增強(qiáng)并口EPP與DSP接口的設(shè)計(jì)08-06

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

基于DSP平臺(tái)的USB接口設(shè)計(jì)08-06

利用EPP接口協(xié)議實(shí)現(xiàn)高速數(shù)據(jù)通信08-06

基于單片機(jī)的MicroDrive接口設(shè)計(jì)08-06

基于USB接口的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)08-06

基于CH371的實(shí)用USB接口設(shè)計(jì)08-06

基于FT245BM的簡(jiǎn)易USB接口開發(fā)08-06

基于CH371的USB接口虛擬示波器設(shè)計(jì)08-06