當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]  0引言  PC機(jī)與單片機(jī)組成的主從系統(tǒng)很常見,在很多領(lǐng)域中都得到了應(yīng)用。在這些系統(tǒng)中,PC機(jī)與單片機(jī)之間一般采用串行通信方式,按照一定的格式,進(jìn)行數(shù)據(jù)、指令的交換

  0引言

  PC機(jī)與單片機(jī)組成的主從系統(tǒng)很常見,在很多領(lǐng)域中都得到了應(yīng)用。在這些系統(tǒng)中,PC機(jī)與單片機(jī)之間一般采用串行通信方式,按照一定的格式,進(jìn)行數(shù)據(jù)、指令的交換,完成PC機(jī)對(duì)單片機(jī)的控制、數(shù)據(jù)前送,或者單片機(jī)上數(shù)據(jù)、狀態(tài)等信息的回送。

  當(dāng)單片機(jī)數(shù)量較多時(shí),比較容易實(shí)現(xiàn)PC機(jī)對(duì)所有單片機(jī)的控制。一般在這種情況下,采用廣播的方式。

  所有單片機(jī)都掛在一條串行數(shù)據(jù)總線上,只需對(duì)單片機(jī)進(jìn)行地址編碼,PC機(jī)將地址數(shù)據(jù)和控制報(bào)文進(jìn)行廣播,單片機(jī)接收廣播數(shù)據(jù)后進(jìn)行地址比對(duì),篩選出所需的數(shù)據(jù),完成相應(yīng)的數(shù)據(jù)傳送。

  如果PC機(jī)要對(duì)單片機(jī)多機(jī)進(jìn)行廣播,并回傳所有單片機(jī)的信息,即單片機(jī)還要發(fā)送數(shù)據(jù)至PC機(jī),再加上單片機(jī)數(shù)量較多(大于100個(gè)單片機(jī)),則要實(shí)現(xiàn)PC機(jī)與單片機(jī)多機(jī)的互相通信,難度是比較大的。

  本文提出了一種切實(shí)可行的方法,通過(guò)實(shí)際電路搭建和調(diào)試,實(shí)現(xiàn)了PC機(jī)與單片機(jī)多機(jī)的互相通信,達(dá)到了預(yù)定的目標(biāo),使該系統(tǒng)具有如下功能:

  (1)PC機(jī)可以對(duì)所有100多個(gè)單片機(jī)進(jìn)行控制,根據(jù)需要,發(fā)送不同控制字到達(dá)每個(gè)單片機(jī);

  (2)PC機(jī)對(duì)單片機(jī)的狀態(tài)修改是隨機(jī)的、沒(méi)有規(guī)律的;

  (3)所有單片機(jī)將自身的一些狀態(tài)信息按照順序回傳至PC機(jī)。

  1互通信的幾種實(shí)現(xiàn)方法

  PC機(jī)至多個(gè)單片機(jī)的廣播比較簡(jiǎn)單,難度較大的是多個(gè)單片機(jī)發(fā)送數(shù)據(jù)至PC機(jī)。由于100多個(gè)單片機(jī)均掛在一個(gè)數(shù)據(jù)總線上,系統(tǒng)設(shè)計(jì)的難點(diǎn)就在于數(shù)據(jù)總線控制權(quán)的傳遞,絕對(duì)不能出現(xiàn)有2個(gè)或者2個(gè)以上設(shè)備同時(shí)向總線上發(fā)送數(shù)據(jù)。系統(tǒng)設(shè)計(jì)之初,考慮了兩種總線控制方式有接力式和點(diǎn)名式:

  (1)接力式總線控制方式

  這種控制方式的基本思路是:初始化后,所有單片機(jī)在接收完P(guān)C機(jī)數(shù)據(jù)后,處于串行接收狀態(tài),不占用總線控制權(quán)。PC機(jī)發(fā)出回送開始指令,第1個(gè)單片機(jī)響應(yīng)該指令,并立即占有總線控制權(quán),向總線上的PC機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)發(fā)送完成后,緊接著第1個(gè)單片機(jī)發(fā)送控制指令,通知第2個(gè)單片機(jī),同時(shí)第1個(gè)單片機(jī)退出總線控制權(quán),處于接收狀態(tài);第2個(gè)單片機(jī)接收到第1個(gè)單片機(jī)的開始指令后,和前面第1個(gè)單片機(jī)一樣,開始向總線上發(fā)送數(shù)據(jù),并在結(jié)束傳送之后通知第3個(gè)單片機(jī),如此這般,不斷接力傳輸,輪流控制總線,直至最后一個(gè)單片機(jī)完成數(shù)據(jù)傳送。在單片機(jī)控制總線,進(jìn)行回傳的過(guò)程中,如果要通過(guò)PC機(jī)向某個(gè)或者某些單片機(jī)傳送數(shù)據(jù)時(shí),PC機(jī)軟件會(huì)自動(dòng)將這些數(shù)據(jù)存儲(chǔ)下來(lái),等到最后一個(gè)單片機(jī)接收向PC機(jī)送數(shù)據(jù)之后,PC機(jī)再占用數(shù)據(jù)總線,開始向單片機(jī)傳送數(shù)據(jù)。

  (2)點(diǎn)名式總線控制方式

  該控制方式與接力式控制方式大體相同,不同的是這種控制方式需要等待PC機(jī)點(diǎn)名指令。系統(tǒng)初始化后,單片機(jī)接收PC機(jī)指令、數(shù)據(jù)之后,PC機(jī)發(fā)送點(diǎn)名指令,讓第1個(gè)單片機(jī)開始傳送數(shù)據(jù),第1個(gè)單片機(jī)接收該指令后,立即占用總線,開始傳送數(shù)據(jù),傳送結(jié)束后,發(fā)送結(jié)束指令至PC機(jī),PC機(jī)在接收該結(jié)束指令后,立即占用總線,再發(fā)送點(diǎn)名指令,讓第2個(gè)單片機(jī)開始傳送數(shù)據(jù),如此不斷動(dòng)作,直至最后一個(gè)單片機(jī)結(jié)束傳送。

  在單片機(jī)傳送數(shù)據(jù)時(shí),如果PC機(jī)要送數(shù)據(jù)至單片機(jī),可以在接收完某個(gè)單片機(jī)數(shù)據(jù)之后,暫停發(fā)送點(diǎn)名指令,直接發(fā)送數(shù)據(jù)至某個(gè)或者某些單片機(jī)。待數(shù)據(jù)發(fā)送完成后,繼續(xù)接上原先的中斷的點(diǎn)名順序號(hào),繼續(xù)向后點(diǎn)名、傳送數(shù)據(jù)。綜合考慮這兩種總線控制方式,不難發(fā)現(xiàn),由于沒(méi)有來(lái)回傳遞點(diǎn)名的指令時(shí)間開銷,接力式的傳輸效率會(huì)略高于點(diǎn)名式,所以,一開始還是采用了接力式的控制方式。

  但是在進(jìn)行大的系統(tǒng)聯(lián)調(diào)時(shí),問(wèn)題出現(xiàn)了。由于接力式脫離PC機(jī)的過(guò)程干預(yù),一旦出現(xiàn)某個(gè)單片機(jī)程序跑飛、死機(jī)時(shí),整個(gè)程序就沒(méi)法進(jìn)行下去,一直處于等待狀態(tài),整個(gè)系統(tǒng)就癱瘓了。調(diào)試過(guò)程中出現(xiàn)過(guò)好幾次死機(jī)的情況。最后,不得不回頭修改總體方案,采用點(diǎn)名式的控制方式。如果中間某個(gè)單片機(jī)出現(xiàn)異常,沒(méi)有按照預(yù)定的程序回傳數(shù)據(jù),則PC機(jī)就可以判斷該單片機(jī)死機(jī),在經(jīng)歷過(guò)一段等待時(shí)間后,自行跳過(guò)該單片機(jī),點(diǎn)名下一個(gè)單片機(jī),繼續(xù)后續(xù)的回傳和程序。如果該故障單片機(jī)還在占用總線,影響下一個(gè)單片機(jī)的工作,則對(duì)單片機(jī)公用的復(fù)位端發(fā)送一個(gè)整體復(fù)位信號(hào),讓所有單片機(jī)復(fù)位。經(jīng)過(guò)重新調(diào)整方案后,經(jīng)過(guò)長(zhǎng)時(shí)間運(yùn)行,均沒(méi)有出現(xiàn)整機(jī)死機(jī)的狀況,總體運(yùn)行情況良好。另外,這種控制方式還有其他兩種控制方式所不具有的優(yōu)勢(shì):

  可以隨時(shí)打斷回傳,幾乎實(shí)時(shí)發(fā)送新的指令到某個(gè)或者某些單片機(jī)上,該功能是非常實(shí)用的。

  2系統(tǒng)的硬件構(gòu)成

  根據(jù)系統(tǒng)的總體要求,構(gòu)建了如圖1所示的硬件平臺(tái)。

  整個(gè)系統(tǒng)采用RS485總線結(jié)構(gòu),RS485為差分平衡數(shù)字通信方式,具有較強(qiáng)的抗干擾能力,廣泛應(yīng)用于遠(yuǎn)距離數(shù)字通信。RS485和RS422A總線最大的區(qū)別是RS485可以單工雙向傳輸,而RS422A只能單向傳輸數(shù)據(jù),在本系統(tǒng)由于存在大量單片機(jī),如果使用RS422A,電纜會(huì)增加一倍。另外,由于標(biāo)準(zhǔn)的RS485鏈路只可以連接32個(gè)設(shè)備,故每個(gè)轉(zhuǎn)換器上要增加驅(qū)動(dòng)器。目前PC機(jī)上已經(jīng)很難找到串口了,故PC機(jī)與RS485總線之間采用PL2303芯片進(jìn)行橋接。PL2303為Prolific公司產(chǎn)品,可以很方便地將USB接口轉(zhuǎn)換成標(biāo)準(zhǔn)RS232電平,用戶根本不用關(guān)心復(fù)雜的USB協(xié)議和規(guī)范,在PC端的軟件編程中,只需像標(biāo)準(zhǔn)com口一樣使用USB口,因?yàn)镻rolific公司提供的驅(qū)動(dòng)中,已經(jīng)將該USB口模擬成了一個(gè)標(biāo)準(zhǔn)的com口了。該芯片最高速度可以達(dá)到115200b/s,極大地方便了普通串行通信與PC機(jī)的連通。復(fù)位監(jiān)視與讀寫轉(zhuǎn)換電路也是一個(gè)單片機(jī),不過(guò)該單片機(jī)只完成兩個(gè)功能。一個(gè)是就是接收RS485總線前的PC機(jī)TXD(RS232端的TXD)發(fā)出信號(hào),一旦出現(xiàn)PC機(jī)發(fā)出的全局復(fù)位串行代碼后,立即產(chǎn)生一個(gè)全局復(fù)位信號(hào),將所有單片機(jī)進(jìn)行復(fù)位。該功能就是為了防止某個(gè)單片機(jī)出現(xiàn)故障,一直意外占用總線,導(dǎo)致整個(gè)系統(tǒng)癱瘓。

  

[!--empirenews.page--]

 

  為了實(shí)現(xiàn)RS485的半雙工通信,必須有一個(gè)方向切換控制信號(hào),如圖2所示。在單片機(jī)端,這個(gè)控制信號(hào)很容易獲得,引出一個(gè)I/O腳,即可在單片機(jī)程序中控制該信號(hào)的切換;但是PC機(jī)端的RS485的切換就相對(duì)比較麻煩,這也是復(fù)位監(jiān)視與讀寫轉(zhuǎn)換電路完成的另外一個(gè)重要功能:讀寫轉(zhuǎn)換。如果PC機(jī)要占用RS485總線,則發(fā)送一個(gè)特定的串行碼,該專用單片機(jī)接收并響應(yīng)該串行碼,切換RS485控制器,開始占用485總線并發(fā)送數(shù)據(jù),如果PC機(jī)結(jié)束發(fā)送數(shù)據(jù),則要同時(shí)發(fā)送一個(gè)特定的串行碼,通知該專用單片機(jī),進(jìn)行相應(yīng)的RS485切換。單片機(jī)及其附屬電路組成了相關(guān)的功能電路。

  

 

  主單片機(jī)采用了Silicon公司的8051F020型增強(qiáng)型單片機(jī)。該單片機(jī)最大的優(yōu)勢(shì)是內(nèi)部集成的模擬電路功能較為強(qiáng)大、單片機(jī)運(yùn)行速度快、程序編寫-燒寫-仿真較為方便。

  3系統(tǒng)的軟件構(gòu)成

  軟件分為3個(gè)部分:PC機(jī)上位機(jī)程序、單片機(jī)通用程序和專用單片機(jī)程序。專用單片機(jī)的程序運(yùn)行在復(fù)位監(jiān)視與讀寫轉(zhuǎn)換電路中,該程序較為簡(jiǎn)單,就是在上電后,一直按照約定的波特率和數(shù)據(jù)格式接收PC機(jī)送出的串行數(shù)據(jù),若得到的數(shù)據(jù)符合約定的復(fù)位格式,則送出復(fù)位信號(hào);若接收到的數(shù)據(jù)符合總線切換的格式,則送出相應(yīng)的切換信號(hào)。PC機(jī)上位機(jī)程序比較復(fù)雜,可以根據(jù)用戶的實(shí)際需要,編寫相關(guān)的應(yīng)用程序。在本文中,采用Delphi編寫了應(yīng)用程序,實(shí)現(xiàn)了對(duì)單片機(jī)群的參數(shù)設(shè)置、狀態(tài)調(diào)整、信息反饋和系統(tǒng)控制。

  單片機(jī)通用程序分別運(yùn)行在100多個(gè)單片機(jī)上,是實(shí)現(xiàn)系統(tǒng)功能的基礎(chǔ)。圖3為單片機(jī)程序流程圖。

  

 

  單片機(jī)初始化后,接收PC機(jī)送來(lái)的初始指令,然后開始運(yùn)行主程序,執(zhí)行單片機(jī)的主功能。同時(shí)開放串行接收中斷,一旦接收到PC機(jī)發(fā)來(lái)的指令,就進(jìn)行對(duì)比判斷,如果是PC機(jī)對(duì)自己的點(diǎn)名,則響應(yīng)PC機(jī)的回送指令,開始占用總線,向PC機(jī)傳送數(shù)據(jù),結(jié)束后向PC機(jī)發(fā)送結(jié)束狀態(tài)字,結(jié)束占用總線,回到主程序,同時(shí)等待接收串行數(shù)據(jù)。

  4結(jié)語(yǔ)

  經(jīng)過(guò)大量試驗(yàn),課題組應(yīng)用點(diǎn)名式總線控制方式,成功解決了PC機(jī)與大量單片機(jī)的雙向互通問(wèn)題,實(shí)現(xiàn)了100多個(gè)單片機(jī)與主控PC機(jī)之間的互通信,達(dá)到了設(shè)計(jì)要求。電路經(jīng)過(guò)長(zhǎng)時(shí)間運(yùn)行,實(shí)際情況表明,該系統(tǒng)運(yùn)行穩(wěn)定、控制靈活、可靠性高,采用的點(diǎn)名式總線控制方式具有很好的實(shí)用價(jià)值。

本站聲明: 本文章由作者或相關(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)閉