freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于rs485接口的數(shù)據(jù)傳輸電路設(shè)計(編輯修改稿)

2024-10-04 10:07 本頁面
 

【文章內(nèi)容簡介】 時, R 仍為低電平, CPU 認為此時無起始位,直到出現(xiàn)第一個下降沿, CPU才開始接收第一個數(shù)據(jù),這將導(dǎo)致接收錯誤。由接收方式轉(zhuǎn)入發(fā)送方式后,D變化前,若 A與 B之間為低電壓,發(fā)送第一個數(shù)據(jù)起始位時, A與 B之間仍為低電壓, A、B引腳無起始位,同樣會導(dǎo)致發(fā)送錯誤??朔@種后果的方案是:主機連續(xù)發(fā)送兩個同步字,同步字要包含多次邊沿變化 (如 55H , 0AAH),并發(fā)送兩次 (第一次可能接收錯誤而忽略 ) ,接收端收到同步字后,就可以傳送數(shù)據(jù)了,從而保證正確通信。 為了 更可靠地工作,在 RS485總線狀態(tài)切換時需要適當(dāng)延時,再進行數(shù)據(jù)的收發(fā)。具體的做法是在數(shù)據(jù)發(fā)送狀態(tài)下,先將控制端置“ 1”,延時 ms左右的時間,再發(fā)送有效的數(shù)據(jù),數(shù)據(jù)發(fā)送結(jié)束后,再延時 ms,將控制端置“ 0”。這樣的處理會使總線在狀態(tài)切換時,有一個穩(wěn)定的工作過程。 單片機通信節(jié)點的程序基本上可以分為 6個主要部分,分別為預(yù)定義部分、初始化部分、主程序部分、設(shè)備狀態(tài)檢測部分、幀接收部分和幀發(fā)送部分。預(yù)定義部分主要定義了通信中使用的握手信號,用于保存設(shè)備信息的緩沖區(qū)和保存本節(jié)點設(shè)備號的變量。設(shè)備狀 態(tài)檢測部分應(yīng)能在程序初始化后,當(dāng)硬件發(fā)生故障時,作出相應(yīng)的反應(yīng)。主程序部分應(yīng)能接收命令幀,并根據(jù)命令的內(nèi)容作出相應(yīng)的回應(yīng)。為縮短篇幅,這里僅給出主程序部分的代碼。如下所示: /* 主程序流程 */ while(1) { //主循環(huán) if(recv_cmd(amp。type)==0) //發(fā)生幀錯誤或幀地址與本機 //地址不符,丟棄當(dāng)前幀后返回 continue。 switch(type) { case __ACTIVE_: //主 機詢問從機是否存在 send_data(__OK_, 0,dbuf)。//發(fā)送應(yīng)答信息 break。 case __GETDATA_: len = strlen(dbuf)。 send_data(__STATUS_, len,dbuf)。//發(fā)送狀態(tài)信息 break。 default: break。 //命令類型錯誤,丟棄當(dāng)前幀后返回 } } 結(jié)論 RS485由于使用了差分電平傳輸 信號,傳輸距離比 RS232更長,最多可以達到 3000 m,因此很適合工業(yè)環(huán)境下的應(yīng)用。但與 CAN總線等更為先進的現(xiàn)場工業(yè)總線相比,其處理錯誤 基于 RS485 接口的數(shù)據(jù)傳輸電路設(shè)計 (2020) 7 的能力還稍顯遜色,所以在軟件部分還需要進行特別的設(shè)計,以避免數(shù)據(jù)錯誤等情況發(fā)生。另外,系統(tǒng)的數(shù)據(jù)冗余量較大,對于速度要求高的應(yīng)用場所不適宜用 RS485 總線。雖然RS485 總線存在一些缺點,但由于它的線路設(shè)計簡單、價格低廉、控制方便,只要處理好細節(jié),在某些工程應(yīng)用中仍然能發(fā)揮良好的作用??傊?,解決可靠性的關(guān)鍵在于工程開始施工前就要全盤考慮可采取的措施,這樣才能從根本 上解決問題,而不要等到工程后期再去亡羊補牢。 基于 RS485 接口的數(shù)據(jù)傳輸電路設(shè)計 (2020) 6 二、 硬件設(shè)計 RS485 RS- 485 標(biāo)準(zhǔn)接口是單片機系統(tǒng)種常用的一種串行總線之一。 RS485 通信方式 RS485 標(biāo)準(zhǔn)是由 EIA(電子工業(yè)協(xié)會 )和 TIA(通訊工業(yè)協(xié)會 )共同制訂和開發(fā)的。 RS485 作為一種多點差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范 ,已成為業(yè)界最廣泛應(yīng)用的標(biāo)準(zhǔn)通信接口之一。理論上 ,RS485 標(biāo)準(zhǔn)最多接入 32個設(shè)備 (受芯片驅(qū)動能力的影響 ),可以工作在半雙工或全雙工模式下 ,最大傳輸距離約為 1219 米 ,最大傳輸速率約為 10Mbps[1]。然而通常 RS485 網(wǎng)絡(luò)采用平衡雙絞線作為傳輸媒體 ,平衡雙絞線的長度與傳輸速率成反比 ,只有在 20Kbps 的傳輸速率下 ,才可能達到最大傳輸距離。一般 15 米長的雙絞線最大傳輸速率僅為 1Mbps。不過對于速率要求不是很高的控制系統(tǒng)來說已經(jīng)足夠了。 RS485 采用平衡發(fā)送和差分接收方式來實現(xiàn)通信:在發(fā)送端 TXD 將串行口的 TTL電平信號轉(zhuǎn)換成差分信號 A、 B 兩路輸出,經(jīng)傳輸后在接收端將差分信號還原成TTL電平信號。兩條傳輸線通常使用雙絞線,又是差分傳輸,因此有極強的抗共模干擾的能力,接收靈敏度也相當(dāng)高。同時,最大傳輸速率和最 大傳輸距離也大大提高。如果以 10Kbps 速率傳輸數(shù)據(jù)時傳輸距離可達 12m,而用 100Kbps 時傳輸距離可達 。如果降低波特率,傳輸距離還可進一步提高。另外 RS485實現(xiàn)了多點互連,最多可達 256 臺驅(qū)動器和 256臺接收器,非常便于多器件的連接。不僅可以實現(xiàn)半雙工通信,而且可以實現(xiàn)全雙工通信。 多機通原理 在多機通信中,每臺從機均分配有一個從機地址,主機與從機之間進行串行通信時,通常是主機先呼叫某從機地址,喚醒被叫從機后,主、從兩機之間進行數(shù)據(jù)交換。而未被呼叫的從機則繼續(xù)進行各自的工 作。可是,如果在主機與某被呼叫從機進行數(shù)據(jù)交換過程中,其他從機如果不采取相應(yīng)的數(shù)據(jù)識別技術(shù),則這些從機就會因為串行通信線上有數(shù)據(jù)傳輸而時時被打斷,影響正常的工作。利用單片機的串口工作方式 方式 3 可以很好解決上述問題。在多機通信過程中,從機首先要解決的是如何識別主機發(fā)送的是地址信息還是數(shù)據(jù)信息。當(dāng)發(fā)送的是地址信息時,各從機都響應(yīng)串口中斷,接收主機下發(fā)的一幀地址數(shù)據(jù)。而當(dāng)主機發(fā)送數(shù)據(jù)幀時,無關(guān)從機可不響應(yīng)串口中斷。解決的方法是:當(dāng)主機發(fā)送一幀地址信息時,應(yīng)保持這幀數(shù)據(jù)的第 9 位為 1(即 TB8=1)。從機按照工作 方式 2或工作方式 3 運行時,將串口寄存器 SCON 中的控制位 SM2 置為 1,當(dāng)所接收的一幀數(shù)據(jù)的第 9位為 1,所有從機都產(chǎn)生串口中斷,接收這一幀地址數(shù)據(jù)并與各自的 基于 RS485 接口的數(shù)據(jù)傳輸電路設(shè)計 (2020) 7 從機地址進行比較,以判斷主機是否要與本機通信。接收到的地址數(shù)據(jù)與從機地址相等達到為被呼叫從機,該從機將串口控制寄存器 SCON 中的控制位 SM2 清為0,去接收主機發(fā)送來的數(shù)據(jù)幀(數(shù)據(jù)幀的第 9 位為 0),此時不管接收到的第 9位數(shù)據(jù)是否為 1或 0,都要產(chǎn)生串口中斷,這就保證了主機與被呼叫從機間的正常數(shù)據(jù)通信。數(shù)據(jù)通信結(jié)束后,該從機又重新將串行口控制寄存器 SCON 中的控制位 SM2 置為 1,為下一次與主機進行通信做好準(zhǔn)備。其他從機則一直在 SM2=1下繼續(xù)自己的工作,不會因為主、從機之間的數(shù)據(jù)通信而被打斷。 多機通信的實現(xiàn),主要靠主、從機正確地設(shè)置與判斷多機通信控制位 SM2 和發(fā)送或接收的第 9位數(shù)據(jù)( TB8 或 RB8)。當(dāng)主機給從機發(fā)送信息時,要根據(jù)發(fā)送信息的性質(zhì)來設(shè)置 TB8,發(fā)送地址信號時,設(shè)置 TB8=1;發(fā)送數(shù)據(jù)或命令時,設(shè)置 TB8=0。當(dāng)從機的 SM2為 1時,該從機只接收地址幀( RB8 位為 1),對數(shù)據(jù)幀( RB8 位為0)將不予理睬。而當(dāng) SM2 為 0 時,該從機接收所有發(fā)送來的信息。多 機通信過程如下: 使所有從機的 SM2置 1,處于只接收地址幀的狀態(tài)(即從機復(fù)位); 主機發(fā)送一地址幀信息,其中包含 8位地址,第 9位為地址、數(shù)據(jù)標(biāo)志位,第 9位置 1表示發(fā)送的是地址; 從機接收到地址幀后,各自中斷 CPU,把接收到的地址與本地址作比較; 地址相符的從機,使 SM2 清零以接收主機隨后發(fā)來的所有信息,對于地址不相符的從機,仍保持 SM2=1 狀態(tài),對主機隨后發(fā)送的數(shù)據(jù)不予理睬,直到主機發(fā)送來新的地址幀; 主機發(fā)送數(shù)據(jù)或控制信息給被尋址的從機; 被尋址的從機,因 SM2=0,可以接收主機發(fā)送過來的所有數(shù)據(jù),當(dāng)從機 接收數(shù)據(jù)結(jié)束時,置位 SM2,返回接收地址幀狀態(tài)(復(fù)位狀態(tài)); 當(dāng)主機改為與另外從機聯(lián)系時,可再發(fā)地址幀尋址其從機,而先前被尋址過的從機恢復(fù) SM2=1。 基于 RS485 接口的數(shù)據(jù)傳輸電路設(shè)計 (2020) 7 單片機通信功能 單片機 計算機與外界的信息交換稱為通信,常用的通信方式有兩種:并行通信和串行通信。 51 單片機用 4 個接口與外界進行數(shù)據(jù)輸入與數(shù)據(jù)輸出就是并行通信,并行通信的特點是傳輸信號的速度快,但所用的信號線較多,成本高,傳輸?shù)木嚯x較近。串行通信的特點是只用兩條信號線(一條信號線,再加一條地線作為信號回路)即可完成通信,成本低,傳輸?shù)木嚯x較遠。 51 單片機的串行接口是一個全雙工的接口,它可以作為 UART(通用異步接受和發(fā)送器)用,也可以作為同步移位寄存器用。 51 單片機串行接口的結(jié)構(gòu)如下: ( 1)數(shù)據(jù)緩沖器( SBUF) 接受或發(fā)送的數(shù)據(jù)都要先送到 SBUF 緩存。有兩個,一個緩存,另一個接受,用同一直接地址 99H,發(fā)送時用指令將數(shù)據(jù)送到 SBUF即可啟動發(fā)送;接收時用指令將 SBUF 中接收到的數(shù)據(jù)取出。 ( 2)串行控制寄存器( PCON) SCON 用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0,SM1:串行接口工作方式選擇位,這兩位組合成 00, 01, 10, 11 對應(yīng)于工作方式 0、 3。串行接口工作方式特點見下表 SM0
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1