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

1 引言

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

2 硬件設(shè)計(jì)

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

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

2.2 中央控制單元

2.2.1時(shí)鐘電路

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

2.2.2復(fù)位電路

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

2.3 串口擴(kuò)展電路

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

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

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

2.5 中斷擴(kuò)展電路

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

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

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

2.6 輸出電路

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

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

表2-1  MAX238DIP引腳定義


 
2.7 分頻電路

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

2.8 檢測(cè)電路

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

3 軟件設(shè)計(jì)

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

3.1 8251初始化編程

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

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

對(duì)于8251(Ⅱ),收發(fā)數(shù)據(jù)的速率為2400bps,接收器、發(fā)送器的時(shí)鐘頻率為153.6KHz,所以波特率系數(shù)為異步×64,字符長(zhǎng)度為8位,無(wú)奇偶校驗(yàn)位,異步方式,一個(gè)停止位。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)提過(guò),由于8259A與89C51的接口信號(hào)不能完全兼容,因此必須對(duì)89C51輸出的控制信號(hào)進(jìn)行相應(yīng)的變換后再對(duì)8259A進(jìn)行控制。在軟件方面需要解決的問(wèn)題是:當(dāng)CPU進(jìn)入中斷響應(yīng)周期,送來(lái)第①個(gè) 應(yīng)答負(fù)脈沖時(shí),89C51不能接收8259A送來(lái)的CALL指令機(jī)器碼(兩者CALL指令機(jī)器碼不兼容),在中斷程序中將其廢掉,然后在第②、③個(gè) 應(yīng)答負(fù)脈沖期間,用2條MOVX  A,@R0指令讀出8259A中斷矢量低8位送DPL,高8位送DPH,通過(guò)DPTR,再用跳轉(zhuǎn)指令轉(zhuǎn)至中斷源對(duì)應(yīng)的中斷服務(wù)程序的入口執(zhí)行,時(shí)序圖見(jiàn)圖3-1。

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

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

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

8259A中斷后進(jìn)入中斷程序清單如下:

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

3.3 主程序

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


        圖3-3  主程序流程圖

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

4結(jié)束語(yǔ)

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

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

 

本站聲明: 本文章由作者或相關(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工具的開發(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ì)開幕式在貴陽(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)閉