51單片機(jī)的RS-485/422多機(jī)通信方案
武漢波仕電子公司 向媛
8051單片機(jī)的串行通信里可以支持多處理器通信,本文討論的就是這方面的技巧。不過若連接的對(duì)象是PC機(jī)時(shí),(9600bps,n,8,1)反而是較常用的通信格式,所以本文介紹的是要實(shí)現(xiàn)多個(gè)8051單片機(jī)與PC機(jī)的連接實(shí)例,因?yàn)?/span>PC機(jī)身我們身邊較常用且較方便**外部設(shè)備,當(dāng)然你也可以用兩塊8051單片機(jī)做串口通信實(shí)驗(yàn)。
8051單片機(jī)串行傳輸模式2和模式3可以做多處理器通信,其中的重點(diǎn)正在SCON寄存器的SM2位和TB8及RB8位上,這幾位就決定了多處理器通信的**。至于波特率的問題,只要發(fā)送與接收的雙方一致即可。圖1 是一個(gè)典型的多處理器通信的連接示意圖。
多處理器通信與RS-232的一對(duì)一通信的較大的差異就是多了一個(gè)地址傳輸碼。一對(duì)一通信時(shí),我送數(shù)據(jù)就輪到你接收,而你送數(shù)據(jù)時(shí)就換成為我接收,完全沒有商量的余地。但是多處理器通信時(shí),主CPU發(fā)出的信息如何正確地傳到某個(gè)從CPU呢?針對(duì)這個(gè)問題,在多處理器系統(tǒng)中每一個(gè)從CPU都有其特定的編號(hào)(也有人稱為ID),在數(shù)據(jù)傳輸**個(gè)從CPU都處于待命的狀態(tài),當(dāng)主CPU*到某個(gè)特定的從CPU時(shí),改從CPU才開始接收或發(fā)送數(shù)據(jù),而這項(xiàng)*特定從CPU的操作,實(shí)際上就是送出地址ID值,每個(gè)從CPU上的程序收到地址后,會(huì)先判斷一下是否叫到要啟動(dòng),若屬實(shí)則開始執(zhí)行啟動(dòng)的所有程序。接下來我們用一步一步說明的方式,詳細(xì)介紹多處理器通信額程序。
在多處理器通信中我們一直提到“地址傳送”,在串行通信時(shí),我們?nèi)绾稳ケ鎰e地址值(Adress)和數(shù)據(jù)(Data)呢?這正是8051串行模式2和模式3的魅力所在。當(dāng)8051工作在以上兩個(gè)模式時(shí),除了數(shù)據(jù)占8位外,傳輸時(shí)多了一個(gè)TB8位,接收時(shí)則多了一個(gè)RB8位。在多處理器通信時(shí),當(dāng)TB8=1代表正傳輸一個(gè)地址值,該地址值有8位寬,所以理論上可以連接256個(gè)CPU在同一個(gè)系統(tǒng)中。TB=0代表正在傳輸一個(gè)數(shù)據(jù)值,在此串行傳輸線上,每筆串行數(shù)據(jù)共有11個(gè)位,但其中以*10個(gè)位的狀態(tài)來區(qū)分地址或數(shù)據(jù),接收端可以依此格式立刻判斷出其中的差異來。
在從CPU上通常以串行中斷的方式來對(duì)待進(jìn)來的數(shù)據(jù),若把SCON寄存器的SM2位設(shè)置成為1時(shí),即允許8051的串行接口做多處理器的地址判斷,在這個(gè)模式下:
CPU只在接收地址值(其RB8=1)時(shí)才產(chǎn)生中斷要求。
在串行中斷的服務(wù)程序上,只要由SBUF內(nèi)讀回地址值,再做一個(gè)判斷是否被調(diào)用。若YES時(shí)則跳去執(zhí)行程序設(shè)置的操作,若NO時(shí)則不做任何操作,隨即結(jié)束此中斷服務(wù)程序回主程序,被*到的從CPU先設(shè)置成為SM2,然后開始發(fā)送或者接收數(shù)據(jù),而其他的從CPU并未啟動(dòng)傳輸,所以此瞬間仍然是一對(duì)一的通信,當(dāng)主CPU在較初的發(fā)送地址階段卻是一對(duì)多的通信。圖1的連接方式是否可以用RS-232呢?答案是否定的。
當(dāng)主CPU傳送數(shù)據(jù)給各從CPU時(shí),如果只有發(fā)送其他都是接收的情況下是可以使用RS-232的構(gòu)架,可是當(dāng)主CPU欲收數(shù)據(jù)而其中只有一個(gè)從CPU發(fā)送時(shí),會(huì)造成數(shù)據(jù)電平?jīng)_突,使得主CPU無法由RXD腳上得到正確值。因此,在實(shí)際應(yīng)用上改采用另外一種傳輸規(guī)格RS-422,這種傳輸方式只有傳輸?shù)挠布喜煌眩浖系拇型ㄐ懦绦蚨?做任何修改。波仕電子的H485C型號(hào)的轉(zhuǎn)換器可以實(shí)現(xiàn)單片機(jī)TTL電平的串口與RS-422之間的相互轉(zhuǎn)換。RS-422的傳輸線有4條(T+、T—、R+、R—),其連接方式如圖2。注意波仕電子的H485C轉(zhuǎn)換器還具有將PC機(jī)的RS-232轉(zhuǎn)換為RS-422/485的功能,所以如果上位機(jī)的接口上計(jì)算機(jī)的RS-232口,也一樣可以用H485C。
另外一種常用的多處理器傳輸?shù)慕涌谏?span>RS-485接口,只要2根線就可以將多個(gè)CPU連接在一起,這種做法使得數(shù)據(jù)共享的可能性大為提高,請(qǐng)看圖3的RS-485連線圖。波仕電子的H485C型號(hào)的轉(zhuǎn)換器還可以實(shí)現(xiàn)單片機(jī)TTL電平的串口與RS-422之間的相互轉(zhuǎn)換,。當(dāng)多處理器以RS-422接口連接時(shí),一定有一個(gè)主CPU和多個(gè)從CPU,若想作從CPU之間的數(shù)據(jù)傳輸時(shí),所傳輸?shù)穆窂绞菑?/span>CPU到主CPU ,然后由主CPU再送給另外一個(gè)從CPU。若采用圖3的RS-485構(gòu)架時(shí),只要傳輸線空閑,任意兩個(gè)CPU,無論主從,都可以相互傳輸數(shù)據(jù),完全沒有主從之分。若以此構(gòu)架再做發(fā)展時(shí),就形成了現(xiàn)在我們常用的ARCNET或ETHERNET的LAN網(wǎng)絡(luò)了。
為什么要將8051的串行口抓換為RS-485呢?首先可以方便地實(shí)現(xiàn)多機(jī)通信。另外通信距離也有TTL的幾米延長(zhǎng)到了1200米!雖然波仕的H485C也可以將PC機(jī)的RS-232口轉(zhuǎn)換為RS-485或者RS-422,但是現(xiàn)在許多新的計(jì)算機(jī)都已經(jīng)沒有了RS-232串行口,且操作系統(tǒng)都是WINDOWS。那么就需要加USB到RS-485的轉(zhuǎn)換器。由于USB的驅(qū)動(dòng)程序幾乎都是WINDOWS版的,所以你只能夠在WINDOWS下與從單片機(jī)進(jìn)行通信。波仕的USB1485型號(hào)的轉(zhuǎn)換器提供了USB與RS-485或者RS-422的轉(zhuǎn)換。
詳細(xì)參數(shù)請(qǐng)到www.查看。咨詢訂購(gòu)電話:027-59708940/51518046 15102729700向小姐 QQ咨詢訂購(gòu):2360190989 MSN:bosicomcn@live.cn
詞條
詞條說明
? ? RS-485多主機(jī)通信的組網(wǎng)方式?? ?________??武漢波仕電子有限公司 向媛 傳統(tǒng)的RS-485組網(wǎng)方式只允許一個(gè)主機(jī)(上位機(jī)),但是在許多情況下要求有多臺(tái)RS-485主機(jī)進(jìn)行組網(wǎng)。本文以波仕電子的產(chǎn)品為例介紹兩種RS-485多主機(jī)通信產(chǎn)品及其組網(wǎng)方式----采用RS-485共享器和采用RS-485交換機(jī)。采用
? ? ? ? ? ? ? ? ?波仕推出XP免驅(qū)的USB串口轉(zhuǎn)換器 ????? ????? 為了滿足用戶在Windows?XP用戶免驅(qū)的USB串口轉(zhuǎn)換器的需求,武漢波仕電子特別**推出紀(jì)念版XP免
以太網(wǎng)串口轉(zhuǎn)換器進(jìn)入千兆時(shí)代
??????????????????????? ?以太網(wǎng)串口轉(zhuǎn)換器進(jìn)入千兆時(shí)代 ??????&nb
串口地址轉(zhuǎn)換的純軟件實(shí)現(xiàn)
????串口多機(jī)通信,就是RS-232/RS-485多機(jī)通信,要求通信的下位機(jī)必須帶地址。通信時(shí)由上位機(jī)先發(fā)送某個(gè)下位機(jī)的地址,位于同一個(gè)網(wǎng)絡(luò)中的所有下位機(jī)都同時(shí)讀取這個(gè)地址的值,然后與自己的地址進(jìn)行比較,如果地址相同則接收后面的數(shù)據(jù),如果地址不同則不讀取后面的數(shù)據(jù)。某些情況下,下位機(jī)也可以主動(dòng)向上位機(jī)發(fā)送數(shù)據(jù),但是必須按照預(yù)先設(shè)置的格式在數(shù)據(jù)**加上下位
公司名: 武漢波仕卡科技有限公司
聯(lián)系人: 向小姐
電 話: 18995634129
手 機(jī): 15102729700
微 信: 15102729700
地 址: 湖北武漢洪山區(qū)洪山區(qū)關(guān)東科技園
郵 編: 430074
網(wǎng) 址: bosicomcn.cn.b2b168.com
供應(yīng)USB232GH4--高速光隔微型USB/串口轉(zhuǎn)換器
供應(yīng)G422HA--高速光隔RS-232/RS-422 轉(zhuǎn)換器
供應(yīng)U4485C--四倍驅(qū)動(dòng)波士 RS-232/RS-485/RS-422 轉(zhuǎn)換器
供應(yīng)ETH232WG--實(shí)現(xiàn)MODBUS TCP與RTU/ASCII轉(zhuǎn)換
供應(yīng)OPT12HUB--1擴(kuò)2路串口光纖集線器
供應(yīng)OPT485-9--**小型RS-232/485/422/光纖轉(zhuǎn)換器
供應(yīng)OPT232TL--RS-232/TTL/光纖轉(zhuǎn)換器
供應(yīng)BS232HC9---全信號(hào) RS-232 高速光電隔離器
公司名: 武漢波仕卡科技有限公司
聯(lián)系人: 向小姐
手 機(jī): 15102729700
電 話: 18995634129
地 址: 湖北武漢洪山區(qū)洪山區(qū)關(guān)東科技園
郵 編: 430074
網(wǎng) 址: bosicomcn.cn.b2b168.com
¥1350.00
¥1400.00
¥1.00
¥360.00
BAUER電源轉(zhuǎn)換器 SR-A-G-230-004
¥2006.00