當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]單片機結(jié)構(gòu)簡單、開發(fā)方便,能夠滿足各種應(yīng)用領(lǐng)域的需求,在工業(yè)控制及自動化裝置中得到了廣泛的應(yīng)用。它既可以單獨使用,也可以多片協(xié)同工作或作為計算機的信號預(yù)處理器,在這種情況下,通信問題就成了限制系統(tǒng)性能

單片機結(jié)構(gòu)簡單、開發(fā)方便,能夠滿足各種應(yīng)用領(lǐng)域的需求,在工業(yè)控制及自動化裝置中得到了廣泛的應(yīng)用。它既可以單獨使用,也可以多片協(xié)同工作或作為計算機的信號預(yù)處理器,在這種情況下,通信問題就成了限制系統(tǒng)性能的瓶頸。通常使用的通信方式有串行和并行兩種,串行方式硬件結(jié)構(gòu)簡單但數(shù)據(jù)傳輸速率低,不適合大批量數(shù)據(jù)的傳送;并行方式下使用最多的中斷方式,以期提高CPU效率。但中斷方式也存在不少問題,除了具體的中斷服務(wù)外,保護、恢復(fù)斷點和寄存器的內(nèi)容、查取中斷向量等也占用不少CPU時間,如果數(shù)據(jù)較長,傳送一組數(shù)據(jù)CPU會被多次中斷,大量的斷點和寄存器的保護、恢復(fù)等工作特別影響CPU 效率。為了解決這一問題,本文提出了一種新的通信方式,稱之為中斷查詢方式,并利用在系統(tǒng)可編程邏輯器件 ispLIS1016實現(xiàn)了通信接口。

1 通信原理  

中斷查詢方式的實質(zhì)是中斷方式和查詢方式的結(jié)合:通信雙方由中斷方式進入數(shù)據(jù)傳送狀態(tài),之后雙方在中斷內(nèi)利用查詢方式完成數(shù)據(jù)傳送,直至一組數(shù)據(jù)傳送完畢,各自退出中斷服務(wù)。

基于這種方式,通信接口應(yīng)具有數(shù)據(jù)鎖存、狀態(tài)控制和中斷產(chǎn)生等功能。如圖1—1所示為接口框圖,數(shù)據(jù)鎖存由鎖存器m和鎖存器s完成,分別鎖存送往主計算機和單片機的數(shù)據(jù);中斷和狀態(tài)信號由狀態(tài)控制器形成,包括中斷信號(INTm和INTs),數(shù)據(jù)鎖存器m滿(FULLm)、鎖存器s滿(FULLs),以及數(shù)據(jù)傳送完畢(ENDm和ENDs)等狀態(tài),供通信雙方查詢;通信數(shù)據(jù)和各狀態(tài)信號均通過數(shù)據(jù)總線傳送,通信雙方讀數(shù)據(jù)還是讀狀態(tài)由各自的地址譯碼器控制,通過數(shù)據(jù)選擇器選擇;數(shù)據(jù)的三態(tài)輸出由數(shù)據(jù)緩沖器實現(xiàn)。我們以計算機向單片機發(fā)送數(shù)據(jù)為例說明數(shù)據(jù)傳送過程:當(dāng)計算機將數(shù)據(jù)寫入鎖存器s時,狀態(tài)控制器產(chǎn)生一中斷請求信號INTs,并置狀態(tài)FULLs=1、ENDs=0;單片機響應(yīng)中斷后便利用查詢方式接收數(shù)據(jù),查詢狀態(tài)信息FULLs和ENDs,每次FULLs=1時讀取一個數(shù)據(jù),同時該讀信號通過狀態(tài)控制器使FULLs清0,并產(chǎn)生中斷信號INTm;由于處于發(fā)送狀態(tài),計算機進入中斷后,先檢查 FULLs,等待FULLs=0后向數(shù)據(jù)鎖存器s寫數(shù)據(jù)(僅為利用該寫信號)將ENDs置位并退出中斷,單片機查到FULLs=0但ENDs=1后停止接收數(shù)據(jù)也退出中斷,一次通信完成。

可見,利用這種方式進行數(shù)據(jù)傳送,無論數(shù)據(jù)量多大,每次數(shù)據(jù)傳送過程中CPU只響應(yīng)一次中斷,與單一的中斷方式比較,節(jié)約了CPU的中斷響應(yīng)時間,對于大批量數(shù)據(jù)的傳送,不僅效率高,而且數(shù)據(jù)量可任意改變,使用非常靈活。

2 接口功能的實現(xiàn)  

由圖1—1所示的框圖可以看出,上述中斷查詢接口不僅需要具有鎖存器和緩沖器的數(shù)據(jù)通道,還要有中斷、狀態(tài)控制及地址譯碼和數(shù)據(jù)選擇邏輯,電路是比較復(fù)雜的。但是,可編程邏輯器件和電子設(shè)計自動化工具的出現(xiàn),使得復(fù)雜電路可在單片可編程邏輯器件上實現(xiàn),不僅使設(shè)計簡化,而且使硬件設(shè)計象軟件一樣易于修改。針對前述中斷查詢接口,我們采用LATTICE的在系統(tǒng)可編程邏輯器件is-pLSI1016實現(xiàn)其功能。這樣,該接口的設(shè)計就轉(zhuǎn)化為對其電路描述文件的設(shè)計,可以采用原理圖或 HDL硬件描述語言。與原理圖比較,硬件描述語言不僅設(shè)計、閱讀和保存方便,而且易于仿真和進行邏輯綜合,更適合對復(fù)雜電路的描述。因此我們采用 ABEL-HDL硬件描述語言進行設(shè)計。

在Synario環(huán)境中,對選定的器件加入ABEL-HDL資源文件,輸入相應(yīng)的模塊名和文件名后,便可打開ABEL-HDL語言編輯窗口[2]。

利用ABEL語言進行電路設(shè)計的關(guān)鍵在于各信號的定義和相應(yīng)的邏輯描述。就前述接口而言,地址總線、數(shù)據(jù)總線、讀、寫及中斷信號均直接與通信雙方的 CPU相連,顯然應(yīng)定義為引腳(pin);而數(shù)據(jù)鎖存器及各狀態(tài)信號通過數(shù)據(jù)選擇器與數(shù)據(jù)總線相聯(lián),故為節(jié)點(node),如表2—1所示。其中,A、 D、RD、WR、Q分別表示地址線、數(shù)據(jù)線、讀、寫及數(shù)據(jù)鎖存器輸出信號,下標(biāo)m和s分別表示主計算機和單片機;表中將數(shù)據(jù)輸出定義為緩沖器(buffer)是為了直接利用ispLSI1016各I/O腳的三態(tài)輸出功能,以省去圖1—1中的數(shù)據(jù)緩沖器。另外,狀態(tài)信號FULL和END應(yīng)為具有異步清零和置位功能的寄存器,以存貯數(shù)據(jù)交換過程中相應(yīng)的狀態(tài)信息,但是在可編程邏輯器件中設(shè)計異步控制是復(fù)雜和浪費資源的,本文將它們設(shè)計為基本的RS 觸發(fā)器,故定義了相應(yīng)的反向輸出節(jié)點FUL1和EN1。

ABEL語言設(shè)計文件中各信號的邏輯關(guān)系可以多種方式給出,本設(shè)計主要采用寄存器和RS觸發(fā)器等,故以采用邏輯方程為宜。由前述接口原理可以看出,該接口的通信雙方均需3個端口:數(shù)據(jù)輸入/輸出口、狀態(tài)口及END信號置位口。設(shè)主計算機對應(yīng)的口地址為300H、308H和310H,單片機的3個口地址分別為8000H、8010H和8020H,對照圖1—1所示的框圖和接口的工作原理,電路的ABEL語言方程可以按功能塊給出。

數(shù)據(jù)鎖存器是數(shù)據(jù)可靠傳送的基礎(chǔ),對主計算機而言,向300H單元寫入數(shù)據(jù)就是將數(shù)據(jù)寫入鎖存器s中,也就是說鎖存器s的輸入信號為主計算機的數(shù)據(jù)總線,時鐘為主計算機對300H單元的寫信號,對應(yīng)的ABEL語言方程可表示為:

線和數(shù)據(jù)線的集合。為減少系統(tǒng)的片外接線,式(2—1)將鎖存器Qs的輸入定義為三態(tài)數(shù)據(jù)輸出的引腳(.pin),在保證接口功能的前提下,實現(xiàn)了在is-pLSI1016片內(nèi)Qs輸入端與數(shù)據(jù)總線的連接。

數(shù)據(jù)選擇器根據(jù)通信雙方對不同地址的讀取選擇不同信號,其ABEL語言方程為:
    Ds.oe=!RDs&((ADRs==^h8000)#(ADRs==^h8010));(2—3)
    when(ADRs==^h8000)then Ds=Qs;else when(ADRs==^h8010)then Ds=STs;            (2—4)

式中,STs=[FULLs,F(xiàn)ULLm,ENDs,ENDm,x,x,x,x,x,x,x,x,x,x,x,x],12個任意值x的引入是為了使STs與數(shù)據(jù)總線寬度匹配。由于省去了圖1—1的數(shù)據(jù)緩沖器,數(shù)據(jù)選擇器的輸出即為數(shù)據(jù)總線,故其三態(tài)控制端為單片機讀數(shù)據(jù)(8000H)和讀狀態(tài)(8010H)信號的“或”信號。

狀態(tài)信號是數(shù)據(jù)正確傳送的保證,也是通信雙方讀寫數(shù)據(jù)的依據(jù)。從時序上講,F(xiàn)ULLs的置位和清零由Qs的寫信號和讀信號觸發(fā),即FULLs由方程(2—5)和(2—6)確定:
   !FULLs=(?。ˋDRm==^h300)#WRm)&  FUL1s;(2—5)
   !FUL1s=(!(ADRs==^h8000)#RDs)&  FULLs;(2—6)
    其中FUL1s為FULLs的反相輸出端。ENDs的清零與FULLs的置位同時產(chǎn)生,但其置位必須由主計算機寫310H單元觸發(fā),故ENDs的ABEL語言方程為:
!ENDs=(!(ADRm==^h310)#WRm)&EN1s;
                                                           (2—7)
!EN1s=(?。ˋDRm==^h300)#WRm)&ENDs;  

顯然,無論是主計算機將數(shù)據(jù)寫入Qs,還是主計算機將數(shù)據(jù)從Qm中讀走,INTs都應(yīng)置位,因此INTs=FULLs+FULLm,但這樣若FULLm為零則INTs將始終為1,無法產(chǎn)生中斷。為解決這一問題,我們將INTs的方程寫為:

INTs=FULLs#?。‵ULLm#ENDm);(2—9)

使其在ENDm為零時按INTs=FULLs+FULLm運算,只要由軟件上控制,保證每次通信前雙方的狀態(tài)為:ENDs=ENDm=1,F(xiàn)ULLs=FULLm=0,即可實現(xiàn)正確的中斷和通信。顯然,利用同樣的方法不難寫出主計算機一方各信號的邏輯關(guān)系,本文不再累述。

通過以上設(shè)計,我們實現(xiàn)了主計算機與多個80C196單片機系統(tǒng)之間的數(shù)據(jù)通信,將各80C196系統(tǒng)置于主計算機的總線擴展槽中,使整個系統(tǒng)不僅通信速度快,而且性能穩(wěn)定可靠,效果良好。

[參考文獻]
[1] 劉樂善等.微型計算機接口技術(shù)原理及使用.華中理工大學(xué)出版社,1996.3
[2] 黃正瑾.在系統(tǒng)編程技術(shù)及其應(yīng)用[M].東南大學(xué)出版社,1997.8
 

本站聲明: 本文章由作者或相關(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)意到認(rèn)證的所有需求的工具,可用于創(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)閉