當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1 引言在某大型指揮控制系統(tǒng)中,由于指令發(fā)送裝置與接收裝置的指令格式有很大的區(qū)別,兩者不能直接通信。而更換其中之一都會造成巨大的資金浪費,指令轉(zhuǎn)換器的目的就是在不改變發(fā)送和接收裝置的情況下對發(fā)送裝置所產(chǎn)

1 引言

在某大型指揮控制系統(tǒng)中,由于指令發(fā)送裝置與接收裝置的指令格式有很大的區(qū)別,兩者不能直接通信。而更換其中之一都會造成巨大的資金浪費,指令轉(zhuǎn)換器的目的就是在不改變發(fā)送和接收裝置的情況下對發(fā)送裝置所產(chǎn)生的指令進行格式轉(zhuǎn)換,使產(chǎn)生的指令格式與接收裝置所能接收的指令格式一致,實現(xiàn)整個系統(tǒng)的順利通信。

2 硬件設(shè)計

2.1 總體結(jié)構(gòu)

指令轉(zhuǎn)換器的硬件總體結(jié)構(gòu)如圖2-1所示。所有電路模塊集中在一塊印刷電路板上,主要有89C51單片機、串口擴展電路、中斷擴展電路、監(jiān)測電路、靜態(tài)存貯器擴展電路、輸出電路及分頻電路等幾個部分,下面將對各部分進行詳細介紹。

2.2 中央控制單元

2.2.1時鐘電路

89C51的內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個放大器與作為反饋元件的片外諧振器一起構(gòu)成一個自激振蕩器。89C51有內(nèi)部和外部兩種時鐘方式,本系統(tǒng)采用外部時鐘方式。

2.2.2復(fù)位電路

復(fù)位電路設(shè)計的核心是:在振蕩器運行時,保證89C51的RST引腳上出現(xiàn)10ms以上穩(wěn)定的高電平,這樣可以使89C51可靠地復(fù)位。常用的復(fù)位電路有上電復(fù)位、電平開關(guān)復(fù)位、兩種復(fù)位電路相結(jié)合的控制電路等,本系統(tǒng)采用上電復(fù)位電路。

2.3 串口擴展電路

89C51單片機僅有一個異步串行通信接口,而指令轉(zhuǎn)換器需要同時與指令發(fā)送裝置、指令接收裝置進行通信,需要兩個專用的串行口,利用Intel 8251擴展串行口,可有效解決問題。8251可用于同步和異步傳輸。異步傳送時,可傳送5-8bits字符,時鐘速率為通信波特率的1、16或64倍;可產(chǎn)生1、1.5或2位的停止位,可檢查假啟動位,自動監(jiān)測和處理終止字符;完全雙工,具有雙緩沖器發(fā)送和接收器;具有奇偶、溢出和幀錯誤檢測電路。本系統(tǒng)用兩片8251進行擴展串口,其片選地址分別為#1FFFH、#3FFFH。                         

2.4 外部數(shù)據(jù)存儲器擴展電路

89C51單片機內(nèi)部有128個字節(jié)RAM存儲器。CPU對內(nèi)部RAM具有豐富的操作指令。但在用于實時數(shù)據(jù)采集和處理時,僅靠內(nèi)部的128個字節(jié)的數(shù)據(jù)存儲器是遠遠不夠的,在這種情況下,可以利用89C51的擴展功能,擴展外部存儲器。

2.5 中斷擴展電路

89C51單片機僅提供了兩個外部中斷源,而指令格式轉(zhuǎn)換器需要四個中斷源,為了解決此問題,利用能夠管理多級中斷請求Intel 8259A來進行中斷擴展是一個有效的辦法。

由于8259A與 89C51的接口并不完全兼容,因此必須對89C51輸出的控制信號進行相應(yīng)的變換后再對8259A進行控制。這需要解決硬件與軟件兩個問題,下面先給出硬件解決方案。

硬件方面,當(dāng)8259A發(fā)出中斷請求信號INT=1后,要求CPU返回一個中斷應(yīng)答信號 送至8259A,以控制8259A調(diào)用機器指令碼的發(fā)送,但89C51不會自動發(fā) =0的信號,可以通過對89C51的 信號與INT信號相結(jié)合,如圖2-2所示,通過CPU連續(xù)執(zhí)行三條指令MOVX  A,@R0指令可產(chǎn)生8259A的 所需要的中斷應(yīng)答信號。

2.6 輸出電路

為了使信號轉(zhuǎn)換器和指令發(fā)送裝置之間能夠通信,本系統(tǒng)采用標(biāo)準異步通信接口RS-232作為輸出端口。

RS-232電路采用MAXIM公司的232專用接口芯片MAX238DIP,該芯片單5V供電,包含4路收,4路發(fā),可以全雙工方式工作,MAX238DIP引腳定義及典型應(yīng)用電路如圖2-3所示,引腳定義見表2-1,T1IN、T2IN、T3IN、T4IN到T1OUT、T2OUT、 T3OUT、T4OUT實現(xiàn)驅(qū)動輸入到232轉(zhuǎn)換,R1IN、R2IN、R3IN、R4IN到R1OUT、R2OUT、R3OUT、R4OUT實現(xiàn)232 到驅(qū)動輸出轉(zhuǎn)換。

表2-1  MAX238DIP引腳定義


 
2.7 分頻電路

分頻電路由12MHz晶振、74LS14、74LS92計數(shù)器(用于12倍分頻)、74LS90計數(shù)器(用于10倍分頻)組成,其主要目的是產(chǎn)生 的時鐘信號,供串口擴展芯片8251的 使用,同時產(chǎn)生 的CLK信號,供8251內(nèi)部時鐘使用。

2.8 檢測電路

為了便于維護、管理,本系統(tǒng)設(shè)計了系統(tǒng)自我檢測功能模塊,各由三極管和發(fā)光二極管組成的四組檢測電路分別接至89C51的P14~P17,用于指示系統(tǒng)自檢、來自指令發(fā)送裝置的指令數(shù)據(jù)接收檢測、發(fā)送應(yīng)答數(shù)據(jù)至指令發(fā)送裝置的檢測及發(fā)送指令數(shù)據(jù)至指令接收裝置的檢測4種狀態(tài)。

3 軟件設(shè)計

軟件是信號轉(zhuǎn)換器的關(guān)鍵組成部分,本系統(tǒng)采用了KEIL C51集成開發(fā)環(huán)境。KEIL C51標(biāo)準C編譯器為89C51微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效、快速的特點。

3.1 8251初始化編程

8251是一個可編程的多功能通訊接口,所以在使用時必須對它進行初始化編程,確定它的具體工作方式。例如:規(guī)定工作在同步方式還是異步方式、傳送的波特率、字符格式等。初始化編程必須在系統(tǒng)RESET以后,在USART工作以前進行,即USART不論工作于任何方式,都必須經(jīng)過初始化。本系統(tǒng)中,兩片 8251都進行收發(fā)工作。

對于8251(Ⅰ),收發(fā)數(shù)據(jù)的速率為9600bps,接收器、發(fā)送器的時鐘頻率為153.6KHz,所以波特率系數(shù)為異步×16,字符長度為8位,無奇偶校驗位,異步方式,一個起始位,一個停止位。8251(Ⅰ)的方式選擇字、命令字分別為#4EH、#37H。

對于8251(Ⅱ),收發(fā)數(shù)據(jù)的速率為2400bps,接收器、發(fā)送器的時鐘頻率為153.6KHz,所以波特率系數(shù)為異步×64,字符長度為8位,無奇偶校驗位,異步方式,一個停止位。8251(Ⅱ)的方式選擇字、命令字分別為#4FH、#37H。

8251(Ⅰ)、8251(Ⅱ)的控制字和狀態(tài)寄存器的地址分別為#1FFFH、#3FFFH,下面以8251(Ⅰ)為例給出初始化編程:
                MOV  DPTR,#1FFFH   ;送方式控制字
                MOV  A,#4EH
                MOV  @DPTR,A       ;送命令指令
                MOV  A,#37H
                MOV  @DPTR,A

3.2 8259A初始化編程

前面已經(jīng)提過,由于8259A與89C51的接口信號不能完全兼容,因此必須對89C51輸出的控制信號進行相應(yīng)的變換后再對8259A進行控制。在軟件方面需要解決的問題是:當(dāng)CPU進入中斷響應(yīng)周期,送來第①個 應(yīng)答負脈沖時,89C51不能接收8259A送來的CALL指令機器碼(兩者CALL指令機器碼不兼容),在中斷程序中將其廢掉,然后在第②、③個 應(yīng)答負脈沖期間,用2條MOVX  A,@R0指令讀出8259A中斷矢量低8位送DPL,高8位送DPH,通過DPTR,再用跳轉(zhuǎn)指令轉(zhuǎn)至中斷源對應(yīng)的中斷服務(wù)程序的入口執(zhí)行,時序圖見圖3-1。

8259A中斷控制程序包括:初始化主程序,解決89C51單片機中斷初始化和8259A的初始化;中斷服務(wù)程序以及為各個中斷源服務(wù)的子程序,解決如何從8259A讀入中斷矢量地址并轉(zhuǎn)中斷處理程序,最后結(jié)束中斷并返回,下面給出程序。

設(shè)8259A選擇中斷優(yōu)先級固定,全嵌套工作方式,因此只需要填寫ICW1、ICW2。IR0設(shè)定為邊沿觸發(fā)中斷方式。中斷源輸入IR0的中斷矢量為0260H,IR1以及以后的中斷矢量依次加4。

8259A中斷服務(wù)程序框圖如圖3-2所示:

8259A中斷后進入中斷程序清單如下:

對于每個中斷申請,應(yīng)有一段為IR0~IR4服務(wù)的中斷子程序。但是,在8259A的ICW1中規(guī)定了IRi中斷矢量間隔4個字節(jié),不能存入一段實際的中斷服務(wù)程序。故在8259A中斷矢量0260H單元開始存放一個散轉(zhuǎn)表,再轉(zhuǎn)入實際的IRi的中斷服務(wù)子程序執(zhí)行。并在每個程序都要以執(zhí)行指令LJMP RET04來結(jié)束,以便返回到8259A中斷程序的模擬斷點處RET04。

3.3 主程序

本程序主要用來接收指令發(fā)送裝置發(fā)來的指令,并對指令格式進行轉(zhuǎn)換。轉(zhuǎn)換后的數(shù)據(jù)發(fā)送給指令接收裝置。主要功能是設(shè)置89C51、8251、8259A的初始狀態(tài),開啟中斷,等待中斷,根據(jù)不同的中斷矢量轉(zhuǎn)到相應(yīng)的中斷子程序。流程如下所示:


        圖3-3  主程序流程圖

接收指令子程序主要用來接收由指令發(fā)送裝置發(fā)送來的模擬指令,接收的指令數(shù)據(jù)由格式轉(zhuǎn)換子程序進行格式轉(zhuǎn)換;發(fā)送應(yīng)答子程序根據(jù)接收子程序接收的數(shù)據(jù)正確與否向指令發(fā)送裝置發(fā)送應(yīng)答數(shù)據(jù)幀;發(fā)送指令子程序把轉(zhuǎn)換后的指令發(fā)送到指令接收裝置;接收應(yīng)答子程序用來接收指令接收裝置發(fā)送過來的應(yīng)答數(shù)據(jù)幀。

4結(jié)束語

本文設(shè)計的指令轉(zhuǎn)換器已與整個指揮控制系統(tǒng)進行了現(xiàn)場試驗,結(jié)果表明,該指令轉(zhuǎn)換器設(shè)計正確,實現(xiàn)了指令格式的轉(zhuǎn)換,運行速度快,可靠性高。

參考文獻
[1] 李華等編著:《MSC-51系列單片機實用接口技術(shù)》,北京航空航天大學(xué)出版社,2001.5
[2] (美)U.布萊克,《計算機網(wǎng)絡(luò)—協(xié)議、標(biāo)準與接口》,人民郵電出版社,1990
[3] 張毅剛等編著:《MCS-51單片機應(yīng)用設(shè)計》,哈爾濱工業(yè)大學(xué)出版社,1990年。
[4] 孫涵芳、徐愛卿,MCS-51(96)系列單片機原理及應(yīng)用,北京航空航天大學(xué)出版社,1997
[5] 李朝青編著:《PC機與單片機數(shù)據(jù)通信技術(shù)》,北京航空航天大學(xué)出版社,2000
[6] 王二乾等:《TTL集成電路設(shè)計和應(yīng)用手冊》,中國計算機技術(shù)服務(wù)公司,1984
[7] 顏歐:《單片微機實現(xiàn)遠程數(shù)據(jù)傳輸?shù)臄?shù)據(jù)幀編碼方法》,光電對抗與無源干擾,2002年第1期
[8] 公茂法、馬寶甫、孫晨,《單片機人機接口實例集》,北京航空航天大學(xué)出版社,1998
[9] 董渭清、王換招,《高檔微機接口技術(shù)及應(yīng)用》,西安交通大學(xué)出版社,1995
[10] 陳建鐸,《32位微型計算機原理與接口技術(shù)》,高等教育出版社,1998
[11] 史新福,金玉,馮萍,《32位微型計算機原理接口技術(shù)及其應(yīng)用》,西北工業(yè)大學(xué)出版社,2000

 

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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