當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文介紹了計(jì)算機(jī)并口的幾種操作模式,給出了實(shí)現(xiàn)EPP接口設(shè)計(jì)的幾種方案。

摘要:本文介紹了計(jì)算機(jī)并口的幾種操作模式,給出了實(shí)現(xiàn)EPP接口設(shè)計(jì)的幾種方案;著重介紹用Motorola公司的68HC908GP32單片機(jī)實(shí)現(xiàn)EPP接口設(shè)計(jì),并給出了一個(gè)GP32單片機(jī)實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案。

    關(guān)鍵詞:EPP 增強(qiáng)并口 單片機(jī) 68HC908GP32

一、計(jì)算機(jī)并口操作模式概述

1.SPP模式

SPP(Standard Parallel Port)模式即標(biāo)準(zhǔn)并口模式,是為打印輸出而設(shè)計(jì)的。數(shù)據(jù)由計(jì)算機(jī)單向輸出,不能用數(shù)據(jù)線進(jìn)行數(shù)據(jù)輸入,要做數(shù)據(jù)輸入只能利用狀態(tài)線。并口狀態(tài)線只有5根,所以每個(gè)字節(jié)要分兩次輸入,再拼裝為一個(gè)完整的字節(jié)。SPP模式速度較低,對(duì)硬件的要求不高,適用于低速的應(yīng)用場(chǎng)合,如打印機(jī)、軟件狗等。

2.PS/2模式

IBM公司引進(jìn)了PS/2設(shè)計(jì)后開(kāi)始支持并口的雙向數(shù)據(jù)傳輸。PS/2模式和SPP模式兼容。它沒(méi)有改變標(biāo)準(zhǔn)并口的信號(hào)定義,也沒(méi)有改變并口接插件的引腳定義,而是通過(guò)一個(gè)方向控制位來(lái)設(shè)置并口的數(shù)據(jù)方向:如果設(shè)置為輸出,PS/2模式就和SPP模式完全相同;如果設(shè)置為輸入,則從并口數(shù)據(jù)線上每次可以讀取一個(gè)字節(jié)的數(shù)據(jù)。同時(shí),PS/2模式的總線控制功能提高了并口的速度。

無(wú)論是SPP模式還是PS/2模式,數(shù)據(jù)通信信度都不高。原因在于并口本身的I/O速度不高(只有100~400KB/s)。另一方面,每次數(shù)據(jù)傳輸都要通過(guò)I/O操作進(jìn)行軟件數(shù)據(jù)交換。通常情況下,一次互鎖數(shù)據(jù)交換的數(shù)據(jù)傳輸至少需要5次I/O操作,才能保證進(jìn)序的完整性。這兩方面因素使SPP模式和PS/2模式只能用于速度較低的應(yīng)用領(lǐng)域。

3.EPP模式

EPP(Enhanced Parallel Port)增強(qiáng)并口模式支持并口和外設(shè)間的雙向數(shù)據(jù)交換,速度能夠達(dá)到1~2MB/s。增強(qiáng)并口通過(guò)精密的邏輯界面和明確定義的電氣參數(shù)保證了數(shù)據(jù)傳輸?shù)乃俣群蜏?zhǔn)確性。

4.ECP模式

ECP(Extended Capabilities Port)模式,即擴(kuò)展功能和模式,其性能更高。ECP模式有16個(gè)字節(jié)的FIFO,并且支持DMA功能。在不降低系統(tǒng)性能的前提下減輕計(jì)算機(jī)CPU的負(fù)擔(dān),提高了應(yīng)用系統(tǒng)的整體性能。更為重要的是,ECP模式把其他幾種并口模式都納入了ECP模式的定義中。ECP模式定義了ECR擴(kuò)展控制寄存器,可以把并口的操作模式設(shè)置為SPP,PS/2,EPP或者ECP,從而構(gòu)成一個(gè)完整的并口系統(tǒng)。

SPP模式、PS/2模式和EPP模式都是主從式結(jié)構(gòu),數(shù)據(jù)傳輸雙方是一種不對(duì)等的關(guān)系。數(shù)據(jù)傳輸只能由計(jì)算機(jī)來(lái)啟動(dòng),外設(shè)不能啟動(dòng)數(shù)據(jù)傳輸。如果外設(shè)要進(jìn)行數(shù)據(jù)傳輸,它只能向計(jì)算機(jī)提出中斷申請(qǐng),然后由計(jì)算機(jī)啟動(dòng)數(shù)據(jù)傳輸。ECP模式則不是主從式結(jié)構(gòu),數(shù)據(jù)傳輸?shù)碾p方都可以啟動(dòng)數(shù)據(jù)傳輸。ECP模式可以用于計(jì)算機(jī)之間的互聯(lián),而EPP模式則不能。

雖然ECP并口模式的性能比EPP高,但是ECP模式不太容易實(shí)現(xiàn),大部分的設(shè)計(jì)者都采用了EPP模式來(lái)設(shè)計(jì)自己的應(yīng)用系統(tǒng)。EPP模式比ECP模式更簡(jiǎn)潔,靈活,可靠,在工業(yè)界得到了更多的實(shí)際應(yīng)用。

二、EPP增強(qiáng)并口的實(shí)現(xiàn)方案

1.EPP增益并口時(shí)序

EPP協(xié)議定義了4種并口周期:數(shù)據(jù)寫周期、數(shù)據(jù)讀周期、地址寫周期和地址讀周期。數(shù)據(jù)周期用于計(jì)算機(jī)和外設(shè)間傳送數(shù)據(jù);地址周期用于傳送地址、通道、命令、控制和狀態(tài)等輔助信息。圖1是EPP數(shù)據(jù)寫的時(shí)序圖,圖中的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ù)周期。外設(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寫周期類似,只不過(guò)是由外設(shè)來(lái)驅(qū)動(dòng)數(shù)據(jù)線。

EPP時(shí)序還包括初始化、中斷申請(qǐng)等,可以查閱參考文獻(xiàn)1獲得詳細(xì)的時(shí)序圖及時(shí)序說(shuō)明。

2.EPP增益并口的邏輯界面

EPP增強(qiáng)并口模式使用與標(biāo)準(zhǔn)并口模式相同的基地址,定義了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一起提供地EPP數(shù)據(jù)口的雙字操作能力。EPP允許主機(jī)在1個(gè)時(shí)鐘周期內(nèi)寫1個(gè)32位雙字,EPP電路再把32位雙字拆為4個(gè)字節(jié)依次從EPP數(shù)據(jù)口中送出去。也可以用16位字方式進(jìn)行數(shù)據(jù)傳送。

3.EPP增強(qiáng)并口外設(shè)的硬件實(shí)現(xiàn)方案

EPP增強(qiáng)并口的速度可以達(dá)到1~2MB/s,這對(duì)外設(shè)的接口設(shè)計(jì)提出了一個(gè)很高的要求。如果外設(shè)響應(yīng)太慢,則系統(tǒng)的整體性能將大大下降。EPP接口設(shè)計(jì)方案是整個(gè)EPP應(yīng)用系統(tǒng)整體性能的關(guān)鍵。

(1)門電路實(shí)現(xiàn)

這種實(shí)現(xiàn)方案可以實(shí)現(xiàn)基本的接口,但是無(wú)法對(duì)地址周期作出具體的處理。門電路實(shí)現(xiàn)方案的最大缺點(diǎn)是缺乏基本的靈活性,并且沒(méi)有任何的保密措施。設(shè)計(jì)方案的任何改動(dòng)都要重新設(shè)計(jì)整個(gè)接口系統(tǒng)。因此,不推薦使用這種實(shí)現(xiàn)方案。

(2)可編程邏輯器件實(shí)現(xiàn)

用戶可編程邏輯器件如FPGA和CPLD可以實(shí)現(xiàn)EPP增強(qiáng)并口的接口設(shè)計(jì)。這種實(shí)現(xiàn)方案可以達(dá)到并口的速度極限,并且提供了很大的靈活性。FPGA容量大、功耗低、寄存器資源豐富,可以把EPP應(yīng)用系統(tǒng)的其他復(fù)雜接口和控制都做在一個(gè)芯片中。缺點(diǎn)是每次使用前FPGA都需要配置,并且FPGA抗干擾能力差,在惡劣的環(huán)境中容易丟失配置信息。CPLD容量較小,功耗較大,寄存器資源匱乏,可以實(shí)現(xiàn)EPP接口及一些不太復(fù)雜的接口和控制功能。CPLD用EEPROM或者FLASH來(lái)保存配置信息,掉電不丟失??删幊踢壿嬈骷荅PP應(yīng)用系統(tǒng)優(yōu)先選用的實(shí)現(xiàn)方案。

(3)DSP實(shí)現(xiàn)

DSP的指令周期短,CPU運(yùn)行速度快,也可以用來(lái)實(shí)現(xiàn)EPP增強(qiáng)并口的接口設(shè)計(jì)。但是DSP本身是用來(lái)做運(yùn)算的,接口控制指令的運(yùn)行效率不高,接口速度不如可編程邏輯器件實(shí)現(xiàn)方案的速度。如果EPP應(yīng)用系統(tǒng)要求有比較強(qiáng)的運(yùn)算能力,用DSP來(lái)實(shí)現(xiàn)整個(gè)應(yīng)用系統(tǒng)的接口和運(yùn)算功能是一個(gè)比較合適的選擇。

(4)單片機(jī)實(shí)現(xiàn)

用單片機(jī)來(lái)實(shí)現(xiàn)EPP接口似乎有些不可思議,因?yàn)閱纹瑱C(jī)的速度比較慢,并且指令的執(zhí)行是串行的,不能像CPLD或者FPGA那樣把一個(gè)大任務(wù)分成幾個(gè)獨(dú)立的小任務(wù)并行處理。作者原來(lái)一直用可編程邏輯器件實(shí)現(xiàn)EPP接口設(shè)計(jì),認(rèn)為單片機(jī)不可能實(shí)現(xiàn)EPP接口設(shè)計(jì)。在了解了Motorola公司的68HC908GP32(簡(jiǎn)稱GP32)單片機(jī)卓越的超頻性能后才用GP32單片機(jī)實(shí)現(xiàn)EPP接口設(shè)計(jì)。實(shí)踐表明,GP32單片機(jī)可以很好地完成EPP接口任務(wù),性能完全能夠滿足計(jì)算機(jī)和外設(shè)雙方的要求。GP32單片機(jī)豐富的外高和高效率的I/O指令系統(tǒng)彌補(bǔ)了速度慢的不足。如果考慮一個(gè)EPP應(yīng)用系統(tǒng)的整體功能,用單片機(jī)來(lái)實(shí)現(xiàn)接口和控制功能是性價(jià)比最高的實(shí)現(xiàn)方案。

三、用68HC908GP32單片機(jī)實(shí)現(xiàn)EPP接口設(shè)計(jì)

1.68HC908GP32單片機(jī)功能概述

68HC908GP32是Motorola公司1999年推出的68HC08系列單片機(jī)。GP32采用68HC08CPU,其性能是68HC05CPU的5~10倍。GP32有32KB的FLASH閃速存儲(chǔ)器,具有在線編程能力和超強(qiáng)的保密功能;有512字節(jié)的RAM、增強(qiáng)型串行通信口SCI、串行外設(shè)接口SPI;有兩個(gè)16位雙通道定時(shí)器接口,每個(gè)通道可以選擇為輸入捕獲、輸出比較或PWM,其定時(shí)時(shí)鐘可為內(nèi)部總線的1,2,4,8,16,32和64分頻;有8路8位A/D轉(zhuǎn)換器、8位鍵盤喚醒口、29根通用I/O引腳。系統(tǒng)保護(hù)特性為:計(jì)算機(jī)工作正常(COP)復(fù)位、低壓檢測(cè)復(fù)位、非法指令檢測(cè)復(fù)位及非法地址檢測(cè)復(fù)位。

2.GP32的時(shí)鐘發(fā)生模塊

GP32有時(shí)鐘發(fā)生模塊,利用32kHz晶振和片內(nèi)PLL(鎖相環(huán))電路可以產(chǎn)生高達(dá)19.5MHz的工作頻率。一般的單片機(jī)不能超頻運(yùn)行,否則會(huì)因?yàn)樽x代碼錯(cuò)誤、代碼運(yùn)行錯(cuò)誤、芯片發(fā)熱等因素導(dǎo)致芯片不能正常運(yùn)行,頻繁死機(jī),甚至?xí)龤酒P32的CPU正常情況工作在8MHz頻率下,但是在2.4倍額定頻率下還能夠穩(wěn)定運(yùn)行。作者做過(guò)一個(gè)實(shí)驗(yàn),GP32工作在19.5MHz下,在實(shí)驗(yàn)室環(huán)境中穩(wěn)定運(yùn)行了90h,在電力系統(tǒng)動(dòng)態(tài)模擬實(shí)驗(yàn)室的直流發(fā)電機(jī)電刷附近穩(wěn)定運(yùn)行了90min,運(yùn)行過(guò)程中沒(méi)有出現(xiàn)過(guò)意外的死機(jī)現(xiàn)象。實(shí)驗(yàn)表明,GP32單片機(jī)是可以長(zhǎng)期超頻工作的。

3.用GP32單片機(jī)實(shí)現(xiàn)EPP增強(qiáng)并口的接口設(shè)計(jì)

EPP增強(qiáng)并口定義了8根數(shù)據(jù)線、2根狀態(tài)線和3根控制線。用GP32的雙向I/O線可以直接和EPP的信號(hào)線相連,GP32單片機(jī)有足夠的驅(qū)動(dòng)能力來(lái)驅(qū)動(dòng)并口信號(hào)。

軟件設(shè)計(jì)是用GP32單片機(jī)實(shí)現(xiàn)EPP接口設(shè)計(jì)的關(guān)鍵。為了保證通信速度,必須對(duì)GP32單片機(jī)的指令進(jìn)行優(yōu)化,選擇那些執(zhí)行速度快的指令;同時(shí)采用合理的數(shù)據(jù)流控制方法,既要保證通信的快速性,又要保證通信數(shù)據(jù)的正確性。例如,以數(shù)據(jù)包的方式傳送大批量的數(shù)據(jù),并以數(shù)據(jù)包為單位處理數(shù)據(jù)。

在19.5MHz的工作頻率下,GP32實(shí)現(xiàn)的EPP增強(qiáng)并口可以達(dá)到400KB/s的通信速度。如果降低GP32的工作頻率,則通信速度成比例地降低,但是最低不能低于100B/s,否則會(huì)因外設(shè)響應(yīng)太慢而導(dǎo)致通信失敗。

四、用GP32單片機(jī)實(shí)現(xiàn)的數(shù)據(jù)采集板

GP32單片機(jī)有8路8位的AD轉(zhuǎn)換器,可以勝任一些要求低采樣速度、低分辨率的應(yīng)用場(chǎng)合。作者設(shè)計(jì)了一個(gè)采用GP32單片機(jī)實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng),電路圖如圖3所示。U1是GP32單片機(jī),JAD是模擬信號(hào)輸入接口,PARAPORT是并口,C1,C2,C3,X1,RB是Rs一起構(gòu)成了GP32單片機(jī)鎖相環(huán)電路。

通過(guò)計(jì)算機(jī)可以設(shè)置A/D轉(zhuǎn)換的通道、啟動(dòng)條件,能夠啟動(dòng)或者停止A/D采樣。GP32有512字節(jié)的片內(nèi)RAM,其中的384字節(jié)設(shè)定為A/D轉(zhuǎn)換的緩沖器,其余的RAM用做堆棧和變量。如果A/D轉(zhuǎn)換緩沖器已經(jīng)滿256字節(jié),則GP32單片機(jī)向計(jì)算機(jī)發(fā)送一個(gè)中斷,計(jì)算機(jī)用EPP并口協(xié)議讀取A/D轉(zhuǎn)換的數(shù)據(jù)。

計(jì)算機(jī)中由一個(gè)硬件驅(qū)動(dòng)程序來(lái)處理并口的硬件中斷。驅(qū)動(dòng)程序在并口中斷服務(wù)程序中通過(guò)EPP并口讀取A/D轉(zhuǎn)換的結(jié)果,并且向RING3的應(yīng)用程序發(fā)送消息通知應(yīng)用程序讀取數(shù)據(jù)。應(yīng)用程序?qū)?shù)據(jù)做進(jìn)一步的分析和處理,如圖形顯示、數(shù)據(jù)文件的存取等。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉