基于MCS-51單片機(jī)的IEEE-488接口設(shè)計(jì)
摘 要 介紹了以MCS-51單片機(jī)為內(nèi)部控制器的程控儀表的接口設(shè)計(jì)思想,詳細(xì)描述了MCS-51系列單片機(jī)和MC68488接口芯片之間的時(shí)序配合、控制信號轉(zhuǎn)換和中斷信號調(diào)整的實(shí)現(xiàn)方法。
關(guān)鍵詞 MCS-51程控接口
1 概 述
智能儀器程控接口電路的設(shè)計(jì),首先是根據(jù)儀器的功能確定該儀器的接口功能。文中所涉及的儀器是以MCS-51系列單片機(jī)作為內(nèi)部控制器的高速數(shù)據(jù)采集裝置,由于A/D轉(zhuǎn)換器既要向計(jì)算機(jī)輸送采集結(jié)果,又要接受計(jì)算機(jī)對其工作條件的控制,因此,在程控接口電路設(shè)計(jì)時(shí),設(shè)置了六種接口功能:源掛鉤功能(選用SH1功能子集)、受者掛鉤功能(選用AH1功能子集)、講功能(選用T5功能子集)、聽功能(選用L4功能子集)、遠(yuǎn)地/本地功能(選用RL功能子集)和器件觸發(fā)功能(選用DT1功能子集)。
2 接口功能(IF)設(shè)計(jì)
如圖1所示是該儀器的原理框圖,其中接口功能電路由時(shí)序轉(zhuǎn)換與信號控制電路、MC68488和四片MC3448構(gòu)成,由于MCS-51單片機(jī)的時(shí)序和MC68488的時(shí)序不同,因此時(shí)序轉(zhuǎn)換與信號控制電路是接口功能電路設(shè)計(jì)的關(guān)鍵。
2.1 MCS-51單片機(jī)和MC68488的時(shí)序圖
系統(tǒng)采用8031作為智能儀器(高速數(shù)據(jù)采集系統(tǒng))的內(nèi)部控制器,通過對MC68488的編程實(shí)現(xiàn)對A/D轉(zhuǎn)換的控制。系統(tǒng)的外部程序存儲器及數(shù)據(jù)存儲器的片選信號通過P2.3~P2.5三根地址線經(jīng)3—8譯碼器74LS123產(chǎn)生。二者擴(kuò)展地址分別為0000H~07FFH、0800H~1000H。圖 2所示為單片機(jī)8031和MC68488的時(shí)序?qū)?yīng)關(guān)系圖。
2.2時(shí)序及信號轉(zhuǎn)換電路
MCS-51系列單片機(jī)和MC68488來自不同的廠家,控制方法及工作速度等均有很
大差異,因此要實(shí)現(xiàn)二者的相互連接必須著重解決以下幾個(gè)問題:
(1)時(shí)序配合;
(2)控制信號轉(zhuǎn)換;
(3)中斷信號調(diào)整。
2.2.1時(shí)序配合
MCS—51系列單片機(jī)工作時(shí)鐘頻率為1.2~12 MHz,若只考慮與高速數(shù)據(jù)采集系
統(tǒng)的配合問題,似乎應(yīng)選擇12 MHz的時(shí)鐘頻率,但單片機(jī)的工作性能在最高頻率時(shí)不穩(wěn)定,故選擇了6 MHz的工作時(shí)鐘。MC68488的工作時(shí)鐘頻率為1 MHz,與單片機(jī)在時(shí)序上不匹配。因?yàn)镸CS-51沒有等待或準(zhǔn)備好引腳,為了既能實(shí)現(xiàn)與單片機(jī)在時(shí)序上的匹配,又能保證單片機(jī)的工作效率,就需要對單片機(jī)的PSEN、WR、RD、ALE和MC68488的E信號進(jìn)行綜合考慮。8031CPU的程序、數(shù)據(jù)的讀寫時(shí)序及MC68488的有關(guān)時(shí)序如圖2所示。
通過分析8031及MC68488的時(shí)序可知,在8031對外部數(shù)據(jù)寄存器進(jìn)行讀寫時(shí),PSEN始終為高電平。但在每進(jìn)行一次讀寫前,8031必須先進(jìn)行取指操作。因此,每個(gè)機(jī)器周期中,有效一次,且其頻率為1MHz。從波形圖上看,只需將PSEN、WR、RD進(jìn)行如下運(yùn)算即可得到與MC68488工作時(shí)鐘E信號一致的波形。
而且從高低電平的維持時(shí)間來看,組合信號高電平維持時(shí)間≥450ns,低電平維持時(shí)間≥450ns,完全滿足E信號對電平維持時(shí)間的要求。具體實(shí)現(xiàn)的硬件電路如圖3所示。
也可用單穩(wěn)觸發(fā)器的脈沖寬度調(diào)整功能改變有關(guān)信號電平寬度的方法來滿足E信號的要求。但由于通過調(diào)單穩(wěn)觸發(fā)器的外接電阻Rext和電容Cext很難調(diào)出準(zhǔn)確的脈沖寬度,所以,該方法盡管理論上可行,實(shí)際難以實(shí)現(xiàn)。
2.2.2 讀寫控制信號信號(R/W)轉(zhuǎn)換
8031 CPU的讀寫信號是WR、RD兩根信號線,而MC68488所需的讀寫控制線是R/W一根。為了使8031 CPU能夠?qū)C68488進(jìn)行正確的讀寫控制,需對其讀寫信號進(jìn)行一定的轉(zhuǎn)換。WR、RD和R/W三者的關(guān)系可用表1表示。
由表1可以看出,將WR、RD分別作為RS觸發(fā)器的R和S兩個(gè)輸入端,則RS觸發(fā)器的輸出端Q得到的信號即為R/W,具體轉(zhuǎn)換電路如圖4所示。
2.2.3中斷信號調(diào)整
本接口是為高速數(shù)據(jù)采集系統(tǒng)而設(shè)計(jì)的,系統(tǒng)要求接口電路響應(yīng)速度快,因此,工作方式采用外部中斷、邊沿激活方式,由TCON寄存器中的中斷方式位IT1或IT0來控制,若設(shè)ITX=1,則采用了邊沿觸發(fā)方式。在相繼的兩個(gè)周期中ITX引腳進(jìn)行兩次連續(xù)的采樣,若第一次為高電平,第二次為低電平,則TCON寄存器中的中斷請求標(biāo)志位ITX被置為1,以請求中斷。由于外部中斷引腳每個(gè)機(jī)器周期被采樣一次,為確保采樣,由引腳INTX輸入的信號至少保持一個(gè)機(jī)器周期(12個(gè)震蕩周期),即高、低電平各保持一個(gè)機(jī)器周期(2μs),才能確保檢測到電平的跳變,從而把中斷請求標(biāo)志置為1。但 MC68488的TRIG信號和IEQ信號輸出電平有效時(shí)間為1μs,直接接到8031的INTX引腳有可能出錯。為了使系統(tǒng)工作可靠,準(zhǔn)確地發(fā)中斷,需要對此信號進(jìn)行延時(shí)。我們采用可再重觸的雙單穩(wěn)74LS123,電路如圖5所示。
Cext端之所以接地是為了在工作中得到最好的效果。
2.3通用接口適配器MC68488
8031 CPU通過對MC68488編程來實(shí)現(xiàn)對接口的管理及對高速數(shù)據(jù)采集系統(tǒng)的控
制。采用MC68488設(shè)計(jì)的接口功能與采用中、小規(guī)模TTL電路及PAL組建的接口功能相比,具有節(jié)省硬件、簡化軟件及可靠性高等特點(diǎn)。
2.4總線收發(fā)器MC3488
該芯片主要用于TTL電平與MOS電平的轉(zhuǎn)換,以保證MC68488的輸入/輸出電平
與GPIB接口母線電平的兼容。輸出可以是三態(tài)或集電極開路輸出。至于各個(gè)信號線
的輸出采用哪種形式,要根據(jù)所設(shè)計(jì)的傳輸速度而定。因本接口是為高速數(shù)據(jù)采集系統(tǒng)而設(shè)計(jì)的,對速度要求高,故采用三態(tài)輸出。
2.5 GPIB接口母線
采用24芯電纜線。其中包括信號線16根(8根數(shù)據(jù)線DI01(DI08、掛鉤線3根
(RAN、NRFD、NDAC)、管理母線5根(IFC、ATN、SRQ、EOI、REN)),地線8根。
3 系統(tǒng)軟件流程方框圖
4 結(jié)束語
由于計(jì)算機(jī)技術(shù)的不斷發(fā)展,它的用途越來越廣泛,計(jì)算機(jī)接口的設(shè)計(jì)也越來越重要。很多廠家為自己的計(jì)算機(jī)配置了專用的接口,但在有些大的測試系統(tǒng)中如果采用專用接口會使得系統(tǒng)結(jié)構(gòu)龐大而且價(jià)格昂貴,另外,在實(shí)際應(yīng)用中經(jīng)常需要將不同廠家的產(chǎn)品配合起來使用,這樣專用接口將難以應(yīng)用。而采用GPIB通用標(biāo)準(zhǔn)接口則完全彌補(bǔ)了專用接口的不足。本文所采用的方案即采用MC68488和8031 CPU配合實(shí)現(xiàn)IEEE—488接口,有一定的通用性,可推廣到以MCS-51系列單片機(jī)為中央處理器的所有儀器的接口設(shè)計(jì)。
參考資料
1 MCS—51 Family ofsingle clip Microcomputers Users Manual,Intel Comporation,1981
2 張禮勇、程玉潤,IEC625通用接口及其應(yīng)用,計(jì)量出版社,1985
3 王章、祝貴亮,Z80系列微機(jī)上的IEEE—488接口,電子測量技術(shù),1984
4 楊吉祥,MC68488通用接口原理及編程,電子測量技術(shù),1984
評論