基于RS485單片機多機串行通信的電子開關的設計-設計應用_第1頁
基于RS485單片機多機串行通信的電子開關的設計-設計應用_第2頁
基于RS485單片機多機串行通信的電子開關的設計-設計應用_第3頁
基于RS485單片機多機串行通信的電子開關的設計-設計應用_第4頁
基于RS485單片機多機串行通信的電子開關的設計-設計應用_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯基于RS485單片機多機串行通信的電子開關的設計-設計應用引言

目前是通信控制領域的主流通信方式,數據通信、計算機網絡、分布式工業(yè)控制系統(tǒng)及其測控領域中,經常采用串行通信來達到信息交換的目的。多機串行通信控制網絡是物理層采用RS485通信接口所組成的多機串行通信工控設備網絡,RS485既是物理層的協(xié)議標準,也是串行通信接口的電氣標準。這種通信接口可以十分方便地將許多設備組成一個控制網絡。RS485通信方式有很多優(yōu)點,首先它的通信距離比較遠,通??梢宰龅綌蛋倜咨踔燎滓陨希疫€可以實現多點通信方式,從而可以建立一個小范圍內的局域網,因而更有實用價值。RS485采用差模信號傳輸方式,與地電平關系不大,因而它抗干擾的能力比較好,即便在信號電壓比較小的情況下也能獲得穩(wěn)定的傳輸。

1總體方案及硬件設計

該系統(tǒng)的設計要求主機能夠與從機之間進行地址確認并相互通信,從機能夠準確檢測到被測信號,主機能夠接收從機傳來的數據信號,并通過液晶顯示器和發(fā)光二極管顯示,同時采用RS485總線主從機可以實現長距離通信。主從機采用的主要芯片均為,考慮單片機性能及實際運行環(huán)境的需要,選用AT89S51單片機,串行通信網絡結構如圖1所示。

(1)主機使用主要器件:AT89S51MAX4851602LCDLEDRESISTORSCAPCRYSTAL;(2)從機使用主要器件:AT89S51MAX485RESISTORSCAPCRYSTAL主機主要功能:(1)與從機之間進行地址確認。(2)查詢從機是否有信號(從機檢測被測量時產生的相應的數據信號)發(fā)送到主機。(3)通過液晶顯示發(fā)送信號的從機地址,同時可以通過發(fā)光二極管顯示信號的級別(這里兩個發(fā)光二極管分別代表兩個行程開關的亮滅)。從機主要功能:(1)與主機之間進行地址確認。(2)檢測被測量,并將被測信號數據發(fā)送給主機。主機主要有兩大功能模塊:液晶顯示模塊用來顯示從機地址編號,所使用的器件為1602LCD,RS485串行通信模塊用來實現與從機之間的遠距離串行通信,使用MAX485芯片來實現。從機的主要功能模塊為RS485串行通信模塊用來完成與主機之間數據的發(fā)送和接收。2設計實現原理主從機均采用的是AT89S51單片機,它是一個低功耗,高性能CMOS8位單片機,片內含4KB的可反復擦寫1000次的FLASH只讀程序存儲器。單片機的XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。本電子開關設計外接12MHz晶振。主從機均使用單片機2個全雙工串行通信口外接MAX485芯片來完成與從機之間的串行通信,由串行口控制寄存器SCON設置串行口的工作方式、監(jiān)視串行口工作狀態(tài)、發(fā)送與接收的狀態(tài)控制等。P3.0/RXD為串行通信接收端,P3.1/TXD為串行通信發(fā)送端。主機端口P0.0~P0.7作為液晶顯示器的數據線,P0口上拉10kΩ電阻與1602液晶的D0~D7數據端相連,P3.7與使能端E相連,P3.6與讀/寫信號線RW相連,P3.5與寄存器選擇端RS相連。P1.0和P1.1引腳接兩個發(fā)光二極管,用來顯示從機發(fā)送信號的級別。從機P1.0和P1.1引腳分別接到行程開關和二級行程開關,用來檢測兩個開關的狀態(tài),終由從機P1.0和P1.1這兩個引腳將行程開關的狀態(tài)發(fā)送到主機,主機讀取狀態(tài)值并且顯示。主機通過輪詢的方式,當主機查詢n號從機時,與n號從機進行地址確認,并判斷n號從機是否有信號產生,如果沒有,主機將查詢n-1號從機,如果有信號產生,主機接收到信號并存儲該從機的主機編號,分別通過發(fā)光二極管和液晶顯示出來,如果n-1號從機繼續(xù)有信號產生,主機繼續(xù)接收,直到接收完畢,主機將查詢n-2號從機,如此往復。從機的個數可以在主機程序中對從機個數n值進行設定。2.1多機串行通信及通信協(xié)議電子開關的設計主要通過單片機的多機串行通信來實現。2.1.1發(fā)送器和接收器AT89S51串行口主要由發(fā)送器、接收器和串行控制寄存器組成。發(fā)送器主要由發(fā)送緩沖寄存器SBUF和發(fā)送控制器組成。接收器主要由接收緩沖寄存器SBUF,接收移位寄存器和接收控制器組成。2.1.2串行口控制寄存器串行口控制寄存器SCON用于設置串行口的工作方式、監(jiān)視串行口工作狀態(tài)、發(fā)送與接收的狀態(tài)控制等。它是一個既可字節(jié)尋址又可位尋址的特殊功能寄存器??刂萍拇嫫鱏CON的格式如下:

電子開關中單片機串行口控制寄存器SCON各位設置如下:

主機SCON設置:10011000=#98H

從機SCON設置:10110000=#0B0H

2.1.3工作方式的選擇

本電子開關單片機串行通信工作方式選擇為工作方式2,在方式2下,串行口工作在11位異步通信方式。一幀信息包含一個起始位“0”,八個數據位,一個可編程第九數據位和一個停止位“1”。其中可編程位是SCON中的TB8位,在八個數據位之后,可作奇偶校驗位或地址/數據幀的標志位使用,由使用者確定。

波特率的選擇:方式2的波特率是固定的。

若PCON中SMOD=0,速率=fosc/32

若PCON中SMOD=1,速率=fosc/64

該設計中:波特率為9600b/s。

2.1.4實現原理及流程

多機通信主要靠主、從機之間正確地設置與判斷多機通信控制位SM2和發(fā)送或接收的第9數據位(D8)。

電子開關多機串行通信的實現流程:

(1)主從機均初始化工作方式2,主機置SM2=0,允許中斷,從機置SM2=1,REN=1。

(2)主機置REN=1,TB8=1,將地址信息發(fā)送給從機,并等待是否發(fā)送完畢,從機等待主機發(fā)送地址。

(3)從機接收到地址與本機地址核對,核對正確,置SM2=0,向主機發(fā)送應答地址并等待發(fā)送完畢,主機接收之后進行地址確認,并置TB8=0。

(4)從機地址發(fā)送完畢后,接著發(fā)送信號數據并等待發(fā)送完畢。

(5)主機接收到數據將從機編號發(fā)送到液晶顯示,將信號數據發(fā)到發(fā)光二極管顯示信號級別。

2.1.5主從機之間地址確認

主從機在進行數據通信之前,首先進行地址確認,其目的就是讓主機知道哪號從機向主機發(fā)送數據。主機首先發(fā)送n號從機地址編號#0FFH,所有從機接收到主機發(fā)送的地址后與各自的地址進行核對,地址不是#OFFH的從機將繼續(xù)等待主機的呼叫,核對正確的從機向主機發(fā)送本機的應答地址,主機收到從機的應答地址后進一步做出判斷,確認是否是n號從機的地址。地址確認正確之后,主機與n號從機進行數據通信,直到數據通信完畢,主機將呼叫下一號從機。

2.1.6避免多從機與主機通信產生數據沖突

一個主機與多個從機進行串行通信的時候,如果當某一從機有數據時向主機發(fā)送,這時可能出現兩個,三個或者更多從機同時產生數據,需要同時向主機發(fā)送,這樣就會導致數據通信的沖突問題。該電子開關的設計采用主機輪詢從機的方式,從而有效避免了主從機數據通信沖突的問題,主機先呼叫n號從機,地址確認之后,是n號的從機應答并與主機進行通信,其余從機處于等待狀態(tài),主機接收n號從機數據,并判斷該從機是否繼續(xù)有數據發(fā)送,此時其他從機若有數據只能處于排隊等待中,不會對主機產生干擾,主機接收完畢后將n號從機地址減1,呼叫n-1號從機,如此反復輪詢各個從機。主機輪詢的過程是很快的,從機檢測到被測信號的時候也能得到及時的處理。如圖2所示。

2.2多RS485串行通信模塊

RS485采用平衡發(fā)送和差分接收方式來實現通信:在發(fā)送端TXD將串行口的TTL電平信號轉換成差分信號A,B兩路輸出,經傳輸后在接收端將差分信號還原成TTL電平信號。兩條傳輸線通常使用雙絞線,又是差分傳輸,因此有極強的抗共模干擾的能力,接收靈敏度也相當高。如果以10Kb/s速率傳輸數據時傳輸距離可達12m,而用100Kb/s速率傳輸數據時傳輸距離可達1.2km。如果降低波特率,傳輸距離還可進一步提高。

實現RS485串行通信只需給主機和每個從機接各接一片MAX485芯片,其接收器的輸出端RO和驅動器的輸入端DI,只需分別與單片機的RXD和TXD相連即可;和DE端分別為接收和發(fā)送的使能端,當為邏輯0時,器件處于接收狀態(tài);當DE為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可;在主機電子開關中使用單片機的P3.4引腳控制MAX485的和DE兩端,如圖3所示。

A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數據為1;當A的電平低于B端時,代表發(fā)送的數據為0。在與單片機連接時接線非常簡

A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數據為1;當A的電平低于B端時,代表發(fā)送的數據為0。在與單片機連接時接線非常簡單。只需要一個信號控制MAX485的接收和發(fā)送即可。

可靠性措施如下:

復位時,主從機都應該處于接收狀態(tài)。

控制端,DE的信號的有效脈寬應該大于發(fā)送或接收一幀信號的寬度。

同時將A和B端之間加匹配電阻,一般可選120Ω的電阻,吸收總線上的反射信號,保證正常傳輸信號干凈、無毛刺。匹配電阻的取值應與總線的特性阻抗相當。

接收和發(fā)送的使能端和DE的引腳控制在程序中的實現,主機部分程序如下:

2.3液晶顯示模塊液晶顯示模塊選用1602液晶,1602液晶顯示器以其微功耗、體積小、顯示內容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。電子開關上使用1602液晶顯示,是用來顯示發(fā)送信號數據的從機編號,某一從機檢測到信號時將會顯示:FaultMachineis:***(001號,002號,003號……)1602主要引腳定義如下:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,RS為高電平RW為低電平時可以寫入數據。E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。D0~D7為8位雙向數據線。主機接收到某一從機發(fā)來的或二級信號時,將此從機的編號發(fā)送至液晶顯示出該從機的編號。主機首先對地址編號值進行百十個位分離,然后在液晶上逐位顯示。百十個位分離程序如下:

主機RS485通信與液晶顯示電路原理圖如圖3所示。

3電子開關的功能及應用

該電子開關從功能上主要分為主機和從機電子開關兩部分。

主機主要完成數據的接收和處理,以及將終結果狀態(tài)顯示出來,從機電子關主要完成信號的檢測,同時將數據發(fā)送給主機,整個系統(tǒng)的搭建由一個主機和一個或多個從機電子開關組成,從機電子開關的數量可以根據實際情況的需要而定。

因該電子開關要應用到傳送帶位置跑偏的檢測中,從機電子開關要安裝在一個檔桿機構(如圖4,圖5所示)中,每個檔桿機構中內部都有兩個行程開關,根據所要求的信號級別,分別將它們設置為行程開關和二級行程開關,檔桿通過凸輪機構與行程開關相連,從機電子開關的兩個數據輸入線接到兩個行程開關上即可。

該電子開關主要針對大中型傳送帶傳送過程中位置跑偏的檢測而設計完成,同樣也可以應用到其他相關的設備及場合的位移量及跑偏量的檢測。在傳送帶兩側已確定位置放置從機電子開關,當傳送帶傳送過程中某處有一定量的位置跑偏,會通過檔桿觸動行程開關,產生觸發(fā)信號,并將信號傳送到從機電子開關,從機電子開關檢測到并將其發(fā)送到主機處理,主機負責顯示產生故障的從機編號及故障級別,以供工作人員了解到傳送帶何處產生跑偏,并對傳送帶做出相應調整,同理傳送帶某處產生二級跑偏量的時候,將會由從機電子開關將二級信號發(fā)給主機顯示。傳送帶上的安裝結構示意圖如圖5所示。4運行狀態(tài)及結果當1號從機所連接的行程開關檔桿機構中1級行程開關被按下時,1號從機檢測到故障信號,與主機進行地址確認之后,并向主機發(fā)送數據,此時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論