蜜臀AV人妻国产精品建身房_综合久久国产九一剧情麻豆_无码国产精品一区二区免费I6_成人爽A毛片免费啪啪

深圳市研越科技有限公司

專業(yè)研發(fā)生產(chǎn)嵌入式工控機(jī),工業(yè)平板電腦,工業(yè)主板,工業(yè)電源

咨詢服務(wù)熱線:

0755-86180076(服務(wù)熱線)
137-1403-0236(方案咨詢黃經(jīng)理)
您現(xiàn)在所在位置:首頁(yè)  ?  新聞中心  ?  公司新聞

工控機(jī)與單片機(jī)主從分布式控制系統(tǒng)串行通信

發(fā)布時(shí)間:2019/11/25   點(diǎn)擊量:12783

硬件接口設(shè)計(jì)本文所述控制系統(tǒng)由工控機(jī)和多臺(tái)AT89C2051單片機(jī)組成,主從機(jī)之間數(shù)據(jù)傳輸采用異步串行通訊方式。由于工控機(jī)的串行通訊口是RS―232C接口,其邏輯電平對(duì)地是對(duì)稱的,與AT89C2051單片機(jī)串行口輸出的TTL電平不同,因此要保證兩者之間可靠地進(jìn)行數(shù)據(jù)傳輸,應(yīng)在通訊線路中接電平轉(zhuǎn)換器,常用的電平轉(zhuǎn)換芯片有ICL232、MAX232芯片等。本文采用MAX232電平轉(zhuǎn)換芯片。

  多個(gè)單片機(jī)pc機(jī)通信電路2軟件設(shè)計(jì)2.1AT89C2051單片機(jī)多機(jī)通訊功能AT89C2051單片機(jī)串行口具有:串行發(fā)送緩沖器/接收緩沖器(SBUF),串行口控制寄存器(SCON),特殊功能寄存器(PCON)。通過(guò)設(shè)置SCON可以有4種工作方式,其中工作方式2、3適用于多機(jī)通訊。AT89C2051單片機(jī)的串行通信方式3是波特率可變的9位為數(shù)據(jù)異步通信方式,也是目前多機(jī)通訊中應(yīng)用最多的方式。在此方,AT89C2051傳送一巾貞信息共11位:1位起始位,8位數(shù)據(jù)位,1位可程序控制為“1”或“0”的第9位數(shù)據(jù)和1位停止位,其中的第9位數(shù)據(jù)可作奇偶校驗(yàn)位,也可作“地址幀”和“數(shù)據(jù)幀”的識(shí)別標(biāo)志位。

  工控機(jī)通訊功能工控機(jī)配有串行異步通訊端口(COM1端口地址為3f8H,CM2端口地址為2f8H),接口板上的通用異步接收/發(fā)送器(UART),是一片8250或一片結(jié)構(gòu)、編程方法與8250相同的芯片,內(nèi)部有10個(gè)寄存器。PC機(jī)串行通訊程序設(shè)計(jì),程序員只要應(yīng)用輸入/輸出命令對(duì)UART內(nèi)的寄存器進(jìn)行輸入/輸出操作,從而設(shè)定串行通訊的波特率、數(shù)據(jù)傳送格式、是否允許中斷、發(fā)送或接收數(shù)據(jù)等。

  種新的多機(jī)通訊方法在常規(guī)的多機(jī)通訊方法中,奇偶校驗(yàn)位已用作發(fā)送地址碼(通道號(hào))或數(shù)據(jù)的特征位,而數(shù)據(jù)通信的校核則采用累加和校驗(yàn)方法。采用這種方法不但軟件開(kāi)銷和進(jìn)行通信的數(shù)據(jù)量增加了,而且實(shí)時(shí)性也受到影2.3.1通信的基本原理上位機(jī)發(fā)送數(shù)據(jù)給下位機(jī),下位機(jī)要產(chǎn)生接收中斷必須同時(shí)符合兩個(gè)條件。

  數(shù)據(jù)為5 2―直置為“0”,并使+,清零,則不論第9位數(shù)據(jù)(+9 8)為何值,下位機(jī)均可產(chǎn)生串行接收中斷,這樣第9位就可作為差錯(cuò)檢測(cè)的奇偶校驗(yàn)位了。如上位機(jī)與某下位機(jī)通信時(shí),先發(fā)送地址碼,待握手成功后再發(fā)送數(shù)據(jù)命令,此時(shí)該下位機(jī)的FLAG被置為“1”,相當(dāng)于該機(jī)的“口袋”已打開(kāi),上位機(jī)不斷從該下位機(jī)中取數(shù)據(jù),取完無(wú)誤后發(fā)出一命令使該下位機(jī)中的FLAG復(fù)原為“0”,實(shí)現(xiàn)“關(guān)口袋”。

  下位機(jī)向上位機(jī)發(fā)送數(shù)據(jù)時(shí),先發(fā)送要傳送數(shù)據(jù)的長(zhǎng)度,然后才開(kāi)始發(fā)送有效數(shù)據(jù)。

  約定00H為取數(shù)命令,0FFH為復(fù)位命令,通信采用偶校驗(yàn),波特率設(shè)為2400b/s.上面給出PC機(jī)主函數(shù)的流程圖,如所示。PC機(jī)通信程序采用VC++6.0語(yǔ)言編寫。下位單片機(jī)的通信模塊,包括主程序和中斷服務(wù)程序,其程序流程圖分別如和所示。何實(shí)現(xiàn)上位機(jī)與相應(yīng)發(fā)送地址相符的下位機(jī)之間一對(duì)一通信呢,可采用軟件方法。具體方法如下:在下位機(jī)程序中設(shè)立一個(gè)標(biāo)志變量FLAG,初始化時(shí)FLAG置為“0”,當(dāng)上位機(jī)發(fā)送數(shù)據(jù)時(shí),各下位機(jī)均會(huì)產(chǎn)生接收中斷,中斷服務(wù)程序先判斷本機(jī)FLAG的值。若FLAG為“0”,則把接收的數(shù)據(jù)與本機(jī)地址比較,如果一致,則置FLAG為6“,并發(fā)回本機(jī)地址碼作為應(yīng)答,否則馬上跳出中斷服務(wù)程序;如果FLAG是”1“,說(shuō)明上位機(jī)發(fā)送來(lái)的是控制命令,則轉(zhuǎn)相應(yīng)命令處理程序,最后才跳出中斷服務(wù)程序,返回主程序。上位機(jī)與該下位機(jī)通信完畢后,再令該下位機(jī)的FLAG為”0“。如果握手失敗,則上位機(jī)發(fā)送復(fù)位命令給下位機(jī),然后重新開(kāi)始握手,三次都不成功則轉(zhuǎn)出錯(cuò)處理。

  工控機(jī)軟件實(shí)現(xiàn)方法及可靠性措施①對(duì)各下位機(jī)進(jìn)行編號(hào),并將其作為該機(jī)地址碼。

 結(jié)束語(yǔ)本文只概述了一種分布式控制系統(tǒng)串行接口方法,但各機(jī)之間的通訊接口方法較多,如:串口的直接連接(距離較近時(shí))、通過(guò)調(diào)制解調(diào)器連接等。在軟件編程方面,從機(jī)直接用單片機(jī)的匯編語(yǔ)言編寫;而工控機(jī)的通訊子程序模塊,同樣可以采用多種語(yǔ)言實(shí)現(xiàn)。因此,在具體的系統(tǒng)設(shè)計(jì)時(shí),可根據(jù)實(shí)際情況,選擇其中的一種方法,并在編程時(shí)考慮錯(cuò)誤檢測(cè)和糾錯(cuò)技術(shù),就能完成可靠的通訊。


布尔津县| 旺苍县| 天祝| 泸定县| 东山县| 石棉县| 金秀| 桦南县| 邵阳县| 高州市| 沙雅县| 鲜城| 平安县| 嘉义县| 新龙县| 巴塘县| 鹤壁市| 明水县| 延长县| 上林县| 留坝县| 红安县| 额尔古纳市| 石狮市| 崇文区| 韶关市| 彩票| 远安县| 木里| 多伦县| 龙川县| 金塔县| 四平市| 闵行区| 洪江市| 马公市| 白河县| 天柱县| 博乐市| 巴里| 田林县|