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