




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1串行通信的有效性措EIA-232-D的接口標準及EIA-EIA-485的端口連EIA-485的網絡連485網絡的主從式通信管理(通信協議基于485總線 通信系 4.1行通信的有設置起始、停止異步傳輸傳送一個字符的典型格式:如EIA-1位8位1位1位5678 567812波形8位數據
空閑態 連接握確認雙方已建立連接,收發準備就實軟件硬件握手線:如EIA-確接收方收 中中斷源、中斷請求信中斷服務程序、中斷矢中斷事件特征:隨中斷控制器:中 、優先級控制復雜、效率高、可輪周期控制簡單、資源浪費、可靠性不 4.1串行通差錯檢冗余數據校驗:如2次重奇偶校驗:數據位加上校驗位中的1的總數為偶數則校驗和:按字相加運CRC循環冗余校驗接收方的出錯處請求重發布出錯信不理 EIA-232-D的接口串行 口的物理層規電子工 EIA制1969年:RS-232-1987年:EIA-232-在微機 口中廣泛采內機械特性、電氣特性、功能特性、規程特性、 EIA-232-D的接口機械特標準連接DB-25、DB-插針、插結構尺 EIA-232-D的接口電氣特傳輸方式:每個信號用一根線傳輸,共用地負邏輯電邏輯“1”:-5~邏輯0”:+5~EIA-232-D的電氣連 EIA-232-D的接口標電氣特電平轉TTL電邏輯“1邏輯“0232接口與TTL器件連接–采用MAX232、MAX220傳輸特速率20Kbps內、距離15m標準波特率系列:1200、4800、9600、19200 EIA-232-D的接口標主要技術參 EIA-232-D的接口標功能特DTE:數據終端設備,如個人計算DCE:數據通信設備,如調制解調信號聯絡 DB-9連接器的引線引腳信號名符流功1載波檢表示DCE接收到載2接收數DTE3發送數DTE4數據終端DTE準備5信號信號公共6數據設備DCE7請求發DTE請求DCE將線路切換到發送8允許發DCE告訴DTE線路已接通可發送9指表示DCE與線路接通,出 規程特
EIA-232-D的接口標建立物理發起物理連接:發出DTR信物理連接就緒:接收到DSR信CD、數據傳輸請求發送數據:發出RTS信數據傳輸準備就緒:接收到CTS信數據傳TxD、RxD、物理連接清除DTR信 EIA-232-D的接口標端口的直接連無握手連接:3全握手連自握手連 EIA-232-D串行通信的實硬件設計:接與TTL器件的連接:選用接 ?+5V供2個發送24個外部電EIA-232-D串行通信的實硬件設計:接與TTL器件的連EIA-232-D串行通信的實微機串口通信的基本原理示意可編程串行 可編程中斷控制器
……
EIA-232-D串行通信的實軟件設應用串口調試助手測初始串行接口的初始化中斷控制器的初始化查詢方接收中斷服務程中斷退出程主程 4.2.2EIA-232-D串行通信的實串口調試助手簡串口配選擇端口 選擇波特選擇數據位數、停止位數、校驗方打開或關閉串收發數據編ASCII碼、二進發送方自動、手 EIA-232-D串行通信的實初始化:串行接口的初始化流程置置波特率寄存器標設置數據格式:設置數據格式:串串行接口允許接收中 4.2.2EIA-232-D串行通信的實初始化:串行接口的初始化程void{
/*writedivideregisterflag/*9600bps /*1,7,odd*/outportb(0x3fc,0x08|0x03);/*setRTS,DTR;8250INTRPToutputenableoutportb(IER, /*receiveinterruptenable} 可編程異步串行 口內部寄存器地串行口3F8---寫發送寄存器/讀接收寄存3F8---除數寄存器低字節(波特率因子3F9---除數寄存器高字3F9中斷允3FA---中斷識3FB線路控3FC---MODEM控3FD線路狀3FE---MODEM狀 線路控制寄存器數據位長D1005
01----6位10----7 81-----1.5位(數據位長為5)或2位(數據位長為6、7或奇偶校驗選擇D5D4000-----無校 001-----奇校 偶校101---奇校驗,附加位為終止位D6: 正常發
111---偶校驗,附加位為 終止正常發除數標志D7:0---正如設置數據格
1 波特率outportb(0x3fb, /*1,7,odd 波特率因子寄存器(高字節0x3F9、低字節波特率=1.8432MHz查表波特如設置波特率為outportb(0x3fb,0x80);/*設置 outportb(0x3f8,0x0C);outportb(0x3f9, MODEM控制寄存器D0(DTR):1-握手信號DTR有D1(RTS):1-握手信號RTS有D2D3(OUT2):1-8250的中斷請求信號INTRPT可以輸D4(自檢控制):1-自檢,即上述4個輸出信號分別和串D7D6D5--無如設置握手信號如設置串行接口的中斷信號允outportb(0x3fc, 中斷允許寄 中D0接收數據就
1--允許中D3MODEM狀態變D7D6D5D4--0000(未使用 4.2.2EIA-232-D串行通信的實查詢方式發送一個字符子程序N發送移位寄存器空Y發發送一個字返 EIA-232-D串行通信的實查詢方式發送一個字符子程voidsend_character(char{charstatus;{status=inportb(0x3fd)&/*waitforsendshiftregisterempty*/outportb(0x3f8,ch); /*寫發送寄存器(0x3F8) } 線路狀態寄存器D1-溢出D2-奇偶D3-幀格式D4D5-發送寄存器D6-發送移位寄存器D7-未若發送移位寄存器為
1有inportb(0x3fd)& 4.2.2EIA-232-D串行通信的實初始化:中斷控制器的初始化流程關關中清空清空串口接收寄存器、狀態寄存器 EIA-232-D串行通信的實中斷退出的流程圖關關中復位狀態寄存器復位狀態寄存器恢復恢復原中斷向開中 可編程中斷控制器8級硬件中IRQ4-異步通信COM1中斷(中斷類型號IRQ3-異步通信COM2中斷(中斷類型號獲取中斷向voidinterrupt 變量oldvect的數據類oldvect=getvect(0x0c);串口1的中斷向量暫存oldvect設置中斷向voidinterruptfar 函數asyncint()為中服務程setvect(0x0c,asyncint);串口1的中斷向量指向程序的起始地setvect(0x0c,oldvect);串口1的中斷向量設置為oldvect 中斷向 可編程中斷控制器中 寄存器0-允許中 中如允許串口1unsignedchar
ch=inportb(0x21)&0xef;outportb(0x21,ch);
/*0x21的D4為0/*0x21的D4為0中斷結束等控制寄存器其中D5為EOI位,EOI=1為中斷結束命中斷服務程序結 初始化:中斷控制器的初始化程序void{unsignedcharoldvect=getvect(0x0c);disable();inportb(0x3F8);inportb(0x3FA);
/*saveoldvector/*interruptdisableinportb(0x3FD);inportb(0x3FE);
8250接收寄ch=inportb(0x21)&outportb /*8259IRQ4interruptenablesetvect(0x0c,asyncint);
/*setnewvector/*interruptenable 工業計算機網絡與通 EIA-232-D串行通信的實中斷退出程void{outportb(0x3FA,0x00);outportb(0x3FC,
/*8250/*8250outportb(0x21,inportb(0x21)|setvect(0x0c,oldvect);}
/*8259IMR 4.2.2EIA-232-D串行通信的實中斷接收服務程序流讀入一個字符,讀入一個字符,存入接收緩沖修改修改緩沖區的數據存入指針發發8259EOI命返 4.2.2EIA-232-D串行通信的實中斷服務程 BUFFLEN100unsignedcharBuffer[BUFFLEN];unsignedint voidinterruptfarasyncint{unsignedchar
/*Readabytefrom/*saveif(buffin>=BUFFLEN) /*renewpointer /*8259EOI(中斷結束命令} 主程序流初初始化:串行通信參數、中斷控N串口接收到新數Y取出一個字符保存顯修修改緩沖區的數據取出指針 退出退出中出 頭文#include<stdio.h>#include<dos.h>
/*printf,puts,getche/*inportb,outportb,getvect,setvect,disable,enable#include#include
/*exit/*kbhit,clrsr#defineCOM1BASE#defineLCR#defineLSR#defineMCR#defineMSR#defineIER#defineIRR
全局變量 BUFFLEN100unsignedcharBuffer[BUFFLEN];unsignedintunsigned
voidvoidsend_character(charch);voidenableports(void);voidvoidinterruptfarasyncint(void);voidinterrupt(*oldvect)(void); 主程 unsignedchartem; for(;;){if(buffout!=buffin){}if(kbhit()!=0){ } 4.2.2EIA-232-D串行通信的實參考等.微機原理與 術 :電子工業楊素行等.微型計算機系統原理及應用. ,熊光明.VisualC++/TurboC串口通信編 EIA-發展歷–EIA-232存在的問出現了互不兼容的連接器–EIA-兩對差分平衡信–EIA-兩根差分連線實現多節點、遠距離的高速互物理層接口規 4.3EIA-技術參–平衡差VB的電壓是VA的電壓值取反,信號電壓為(VA––邏輯<–邏輯>EIA-485的內部電 4.4EIA-485的端口連半雙工連–廣泛采用,多個節點 條信號通–485總線收發器:如TTL信號與485信號的電平轉限流和過熱提高負載能EIA-485半雙工連EIA-485的端口連全雙工連–較少采用,信號的發送和接收各有自己的通–兩點連485驅動器 –多點連對網絡控制權進行管EIA-485的端口連EIA-232到EIA-485端口的轉–TTL到485的轉 –232到TTL的轉MAX233–方向控制信號?高電平:232端口接收數?低電平:232端口發送工業計算機網絡與通 EIA-485的端口連EIA-232到EIA-485端口的轉EIA-485的網絡連網絡的機械電氣接–應用EIA-485的現場總線有 et–節點功能:發收數據;報文識別;檢測通信錯誤網–總 、樹 、環–擴展網段的長度、擴展連接負載的數量:中繼EIA-485的網添加地–確保節點間形成電流通–接地電阻:限與接– 電電層一點接電–信 :光耦–電 :變壓器耦–大 :浮動電工業計算機網絡485網絡的主從式通信管4.6.1協–只有1個檢查報文地址并發出對主節點的從節點與從節點之間不能直接通–如:通用串行協議、Modbus–485網絡的主節點對485總線的占用進行管 485網絡的主從式通信管通用串行協–特EIA-485接口、主 技報文結–報文類周期性的報–傳遞I/O數非周期報–服務和診斷功能、不需應廣播報–從節點不需應 4.6485網絡的主從式通信管通用串行協–報文結起始標志+報文長度+地址域+數據域+校起始標志(1字節):固定為報文長度(1字節):即報文的最大長度為255字節–不包括起始標志和報文長度字節地址域(1字節–低5位(0~4位):從站地址–高3位(5~7位):報文類?標準報文、廣播報文、鏡像報文、特殊報文 4.6485網絡4.6.2串行協–報文結數據域(1~253字節–參數能碼–過程數據?主節點發出控?從節點傳校驗(1字節–校驗?每個字節按位異或運 4.6485網絡的主從式通信管4.6.3Modbus通信協–1979,Modicon公司開–特EIA-485接口、主 技報文結構簡單、通信速率可達應答、–報文格RTU式、ASCII格主節點的查詢幀、從節點的應答 4.6.3Modbus通信報文幀格ASCII模RTU模式(以4T空閑時間開始和結束 4.6.3Modbus通信ASCII和RTU傳輸模式的特性 4.6.3Modbus通信兩種模式的比ASCII模式數據量是RTU模式的兩RTU用ASCI模式的字符之間可產生長達1sLRC(縱向冗余錯誤校驗256RTU格式被廣泛采 4.6.3Modbus通信LRC生成范例 02號從機的前8個線傳送的數據內容為(ASCII碼)3AH30H32H30H31H30H30H30H30H30H30H38H46H35H0DH–LRC值計0BH以256為模,取余,仍為0BH的補碼為F5H,即為 4.6.3ModbusRTU格式報–前導標志碼、幀結束碼:4T空閑時–從節點地址域(8位):0~247(0-廣播地址–功能域(8位):常用–數據域(n個8位):報文最大長度為256個字數據說明(數據起始單元、數據數量等)+數–校驗域(16位從地址域開生成多項式 功能ReadCoil取得一組邏輯線圈的ReadInput取得一組開關輸入的ReadHoldingReadInputWriteSingle強置一個邏輯線圈的WriteSingleWriteMultiple強置一串連續邏輯線WriteMultipleModBus常用功能工業計 4.6.3Modbus通信主-從查詢- 4.6.3Modbus通信從設備的應答報–正常應答:–異常應改變功能碼(接收功能碼+0x80),并附異常–校驗錯誤:不應主設備的超時設–傳輸出 不存在的 RTU格式功能碼應用舉例--03ReadHolding RTU格式功能碼應用舉例--03ReadHolding RTU格式功能碼應用舉例--06WriteSingle RTU格式功能碼應用舉例--06WriteSingle RTU格式功能碼應用舉例--02ReadDiscrete RTU格式功能碼應用舉例--02ReadDiscrete RTU格式功能碼應用舉例--05WriteSingle 0x0000 0xFF00- RTU格式功能碼應用舉例--05WriteSingle RTU格式功能碼應用舉例--15WriteMultiple RTU格式功能碼應用舉例--15WriteMultiple 4.6.3ModbusPlus性–對介質 控制方式:主從式、令牌超時重發:兩重新接收下一信息:1.5T空閑時–中繼器、網橋連傳輸距離達1500m,可支持64個節–速率可達–報文最大字 4.6.3ModbusPlus通信協幀格–RTU格開頭碼+地址域+功能域+數據域+校驗域+結 (2) (n) –ASCII格冒號+地址域+功能域+數據域+校驗域+回車換行(1)(2) (n) 實例 溫 系實例 顯示屏系 系統結
溫 系溫 模溫度傳感溫 系硬件組232/485轉換溫度傳感器溫 模塊PC 溫 系232/485原理連接無需外接電 溫 系溫度傳感器基本特測溫范圍:-55℃硬件連接:一線式總 溫 系溫度傳感器溫度值的數據格式:每個溫度用2個字節表 溫 系溫 模塊概測溫特支持DALLAS1-wire總線數字化溫度傳感操作說端子接線、地址設置、通訊網絡、通訊協測試程 溫 系溫 模塊端子接 溫 系溫 模塊地址設8個跳線設置,斷開為0,合上為如右圖,地32+8+2+1通訊網一臺上位機可帶128個模通信參 溫 系溫 模塊通信協議:Modbus協 溫 系溫 模塊通信協例如 17號模塊全部8個溫度溫溫 模塊-通信協 網工業計溫 系測試程序界初始溫 系初始準備好一幀報準備好一幀報發送發送一幀報是否收到一 文 NYN接收報文檢查正數據數據處 溫 系上位機的子程符;中斷方式接收一個字符;CRC 準備好一幀報文:欲傳送的有效數據保存在一數組InDat[]出口:按通信協議組織數據,將InDat[]中的數據加入報頭、報尾、等,形成一幀新的報文暫存入另一數組SoData[]中。發送一幀報文:欲發送的一幀報文保存在一數組SoData[]出口:將SoData[] 溫 系上位機子程序構接收報文檢查功能:從機地址檢查、CRC校驗SiForm[]出口SiForm[]中的報文若正確,函數返回值為0;數據處理功能:按功能碼不同,對SiForm[]中的報文執行不同:校驗正確的接收報文保存在一數組SiForm[] 出口:提取溫度數據,計算溫度值,保存、顯示、傳輸溫度值或執行其它操作。 溫 系上位機子程序構是否收到一 文 :串行口接收數據以中斷方式保存在一接收緩存區SiBuf[] ;否則返回值為0典型程序分定義Si_in為串行接收緩沖區SiBuf[]定義Si_out為串行接收緩沖區SiBuf[] int{int unsignedcharif((Si_in- 21為報文長度{/*printf("\n--->>> Si_in=%dfor(i=0; if(Si_out>= }}else{ return(flag); 工業計算機網絡與
溫 系初始初始N是否收到一 文YN接收報文檢查正數據數據處組織組織回應報發送回應報 溫 系下位機主循環程 printf("\n\nwaitASKINGframe..."); if{if(!check_frame())/*幀檢查,正確則返回0 if(略…) }}if { } 溫 系下位機子程序—報文處 unsignedchar case }}
/*獲取傳感器溫度數據 顯示屏系顯示1系顯示1單單片485機? 機? 單片顯示單片顯示n 口電PC側:EIA-232與EIA-485接口轉單片機側:TTL與EIA-485接口轉通信協議:自定 顯示屏系上位機與下位機的任務劃上位機(PC機集中管理:詢檢信息處理與傳下位機(單片機顯示信自診 顯示屏系通信協通信方主從式通信通信參異步、波特率為9600bps8位數據位、1位起始位、1位停止起始標志起始標志長度(從報頭至校驗字的所有字節接收方地址(1字節發送方地址(1字節數據校驗字R通 顯示屏系通信協報文類通用問訊報文(主機–無上送數據(從機–有上送數據(例:告警)(從機顯示信息傳送報文(主機–回應顯示信息報文(從機 通信協
顯示屏系通用問訊報文(主機012接收方地址(從3發送方地址(40x01(功能碼5CRC高字6CRC低字 顯示屏系通信協通用問訊應答報文(從機)—無上送012接收方地址(主機地址3發送方地址(從機地址45CRC高字6CRC低字 顯示屏系通信協通用問訊應答報文(從機)—有上送012接收方地3發送方地012接收方地3發送方地450x01(編號6CRC高字7CRC低字顯示屏系01012接收方地3發送方地45…89CRC高字網CRC低字 絡與通顯示數據傳送(主機顯示屏系通信協顯示數據傳送應答報文(從機)—接收012接收方地3發送方地45CRC高字6CRC低字 顯示屏系通信協顯示數據傳送應答報文(從機)—接收012接收方地012接收方地3發送方地45錯誤編6CRC高字7CRC低字 顯示屏系軟件構頭文件、宏定義、全局變 、函主程子程序…子程序中斷服務 附錄 溫 系上位機程序:void
function SoData[6]=(unsignedchar)((crc&0xff00)>>8);SoDat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫考試題及答案
- 云南省保山隆陽區一中2024-2025學年高二化學第二學期期末調研試題含解析
- 云南省宣威市第十中學2025年化學高二下期末統考試題含解析
- 新疆博爾塔拉蒙古自治州第五師高級中學2025年化學高二下期末綜合測試模擬試題含解析
- 云南師大附中2024-2025學年數學高二下期末達標檢測試題含解析
- 重慶市永川區2025屆化學高二第二學期期末綜合測試模擬試題含解析
- 餐飲行業食品安全風險評估與防控合同范本
- 醫療機構床單被褥洗滌消毒承包合同
- 農村集體代養牛只收益分成合同
- 餐飲行業投資股權收購及收益分配合同
- 《糖的變化(含練習)》參考課件
- 四川省南充市2023-2024學年七年級下學期7月期末英語試題
- 中山市大涌鎮招聘公辦中小學合同制教師筆試真題2022
- 食品安全體系FSSC22000-V6版標準要求及內審員培訓教材
- DZ∕T 0272-2015 礦產資源綜合利用技術指標及其計算方法(正式版)
- 生命科學簡史智慧樹知到期末考試答案章節答案2024年中國科學技術大學
- 2024土地代耕代種協議書
- 《水電工程巖爆風險評估技術規范》(NB-T 10143-2019)
- 預防術中低體溫Pdca 課件
- 胃癌診療指南(2022年版)
- 醫院物業人員交接方案
評論
0/150
提交評論