999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

異步串行通信協議的設計與實現

2018-11-08 02:32:28賈昊張燁崔忠政徐曌楊揚徐佳
電子制作 2018年20期
關鍵詞:單片機

賈昊,張燁,崔忠政,徐曌,楊揚,徐佳

(1.大連科技學院電氣工程學院,遼寧大連,116052;2.中國華錄松下電子信息有限公司開發中心,遼寧大連,116000)

0 引言

在單片機控制系統中,CPU和外部通信主要有兩種通信方式:并行通信和串行通信。并行通信,即數據的各位同時傳送;串行通信,即數據一位一位順序傳送。串行通信能夠節省傳輸線,特別是數據位數很多和遠距離數據傳送時,這一優點更為突出?,F在流行的高級語言一般都支持對串口的直接操作,常用的單片機也把串行通訊口作為一個標準接口集成在單片機內,串行通訊接口的開發具有開發周期短,開發簡單等特點。目前異步串行通信已廣泛用于微機之間的通信、工業控制系統中的數據采集與控制、遠程數據的傳送等方面。

1 串口通信的基本原理

串口在嵌入式系統當中是一類重要的數據通信接口,其本質功能是作為CPU和串行設備間的編碼轉換器。當數據從CPU經過串行端口發送出去時,字節數據轉換為串行的位;在接收數據時,串行的位被轉換為字節數據。應用程序要使用串口進行通信,必須在使用之前向操作系統提出資源申請要求(打開串口),通信完成后必須釋放資源(關閉串口)。

典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成:(1)地線,(2)發送數據線,(3)接收數據線。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數必須匹配:波特率是一個衡量通信速度的參數,它表示每秒鐘傳送的bit的個數;數據位是衡量通信中實際數據位的參數,當計算機發送一個信息包,標準的值是5、7和8位。如何設置取決于你的需求;停止位用于表示單個包的最后一位,典型的值為1,1.5和2位,停止位不僅僅是表示傳輸的結束,并且提供計算機校正時鐘同步的機會;奇偶校驗位是串口通信中一種簡單的檢錯方式,有四種檢錯方式—偶、奇、高和低,也可以沒有校驗位。

2 異步串行通信協議的設計

通信協議是通信雙方共同遵守的約定,這種約定還包括對同步方式、傳送速度、傳送步驟及檢糾錯方式定義等問題做出統一規定。

在控制系統中,單片機間通信一般采用異步串行通信,傳統的異步串行通信協議一般采用如圖1所示的命令格式,命令消息包括幀頭(命令碼)、數據幀、校驗幀;響應消息為ACK信號(ACK取不同的值,例如:正確響應 ACK =0x55;錯誤響應 ACK = 0xAA)。由于在串口通信中還存在很多不可靠的因素,例如由于電磁干擾造成的幀字節丟失、傳輸誤碼,以及因主從單片機處理繁忙而造成的響應延遲等。傳統的通信協議難以克服由于單片機處理繁忙而造成的響應延遲現象。如圖2所示,當主芯片發送[命令1]后,當超過響應等待時間而沒有得到ACK時,主芯片發[命令2],而此時在下一個響應等待時間內收到兩次[ACK],這時將導致主芯片做出錯誤判斷,調用并非本意的程序執行,嚴重影響系統的正常運行。因此,本文在通信協議的設計中,采用響應消息加權的方法,提高了通信的可靠性,保證系統正常運行。

圖1 通信命令格式

圖2 通信時序

本響應消息加權式通信協議,實現方式如下:通信協議采用如圖3所示的格式,命令消息和響應消息采用相同的幀格式,包括幀頭(命令碼)、數據幀、校驗幀;其中響應消息幀頭 = 命令消息幀頭的加權(RPS = CMD | 0x80 或RPS= CMD | 0xC0),主控芯片通過對響應消息的處理,識別出響應的類型。通信協議各數據位的定義如表1所示,本協議由nByte(n是由用戶自己定義的任意值正整數)構成,D1[7:6]為通信類型,D1[5:0]為指令碼,D2~Dn-1為數據位,Dn為校驗位。

表1 通信命令

程序處理過程如圖4所示,當有響應發生時,響應處理程序對響應消息幀頭進行0xC0加權處理,還原并判斷響應類型;同時經過對幀頭進行0x3F加權處理,還原出當前響應相對應的命令消息,然后調用相應的應用程序執行。例如,當主芯片發送命令消息,命令消息幀頭D1=0x02,從芯片正常接收并進行加權響應,響應消息幀頭D1=0x82,主芯片再經過加權處理判斷響應類型并還原出與之相對應的命令消息幀頭0x02。然后調用相應的程序執行,完成一次通信周期。

圖3 加權響應命令格式

圖4 響應處理流程圖

3 程序設計

通信程序在設計時充分考慮了主從單片機在通信過程中的不確定因素,因此通信協議采用加權響應式通信協議,克服主從單片機處理繁忙而造成的響應延遲;對于通信過程中的干擾而導致通信數據丟失、傳輸誤碼等現象,可以在程序設計時采用超時定時、計數重發等方法,保證通信的準確性。

軟件程序設計中,主控芯片采用芯片內部的串口2,通信波特率為9600 bit /s,8 位數據,1位停止位。其中軟件編寫要嚴格按照異步通信的時序進行,其響應處理程序流程如圖5所示。

圖5 整體軟件流程圖

4 系統的實現及應用

本協議的設計是初衷是為一款內嵌DTMB接收功能的便攜式DVD產品的操作控制芯片與DTV解碼芯片間的通信服務。由于該產品為商業性產品,因此質量是產品的生命。為保證產品質量,提高通信的可靠性,本設計在異步串行通信上采用筆者設計的響應加權式通信協議。系統通信控制實現如下:

硬件系統操作控制部由主控芯片和DTV解碼芯片構成,原理框圖如圖6所示。通過主控芯片內部串口2的收發引腳與DTV解碼芯片的收發引腳相連接。主控芯片在整個通信過程起主導作用,用于通信控制的發起與對DTV解碼芯片的響應判斷。DTV解碼芯片接收主控芯片發送的命令,解析后進行相關的動作。

圖6 原來的電路原理圖

5 結論

本協議的設計初衷是為了克服主從單片機處理繁忙而造成的響應延遲現象,同時又具有可擴展性,其中數據位的字節長度可以由用戶自行定義。

將本協議應用到DVD產品的通信控制時,經測過試,在波特率9600bit/s下可以成功通信;并且本協議能保證主控端正確識別響應類型以及還原出當前響應相對應的命令消息,保證主控芯片的做出正確的處理,從而保證整個系統的正確運行。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲高清在线天堂精品| 无码久看视频| 色欲不卡无码一区二区| 亚洲欧美另类久久久精品播放的| 亚洲午夜18| 激情综合网激情综合| 亚洲第一成年免费网站| 国产办公室秘书无码精品| 在线免费a视频| 亚洲成人精品| 在线国产欧美| 欧美乱妇高清无乱码免费| 国产精品久久久久婷婷五月| 久久人人97超碰人人澡爱香蕉| 国产日本视频91| 国产第一页亚洲| 性欧美久久| 依依成人精品无v国产| 成人在线不卡| 国产在线啪| a级毛片免费播放| 99久久精品无码专区免费| 欧美视频在线不卡| 五月激情婷婷综合| 免费看一级毛片波多结衣| 无码免费视频| 在线观看免费黄色网址| 99久久精品免费看国产电影| 免费无码AV片在线观看国产| 欧美笫一页| 噜噜噜久久| 一本综合久久| 国产免费观看av大片的网站| 成人亚洲国产| 一级做a爰片久久毛片毛片| 日韩欧美中文在线| 亚洲第一成年免费网站| 丁香婷婷在线视频| 亚洲v日韩v欧美在线观看| 精品成人免费自拍视频| 欧美日韩精品一区二区视频| 精品成人免费自拍视频| 亚洲国产精品不卡在线| 伊人色综合久久天天| 色播五月婷婷| 无码国产偷倩在线播放老年人| 亚洲色图在线观看| 国产精品视频系列专区| 91久久精品国产| 久久激情影院| 欧美在线一二区| 国产丰满成熟女性性满足视频| 毛片三级在线观看| 五月天在线网站| 精品国产一区二区三区在线观看| 国产一级毛片在线| 国产精品白浆无码流出在线看| 就去色综合| 亚洲成人高清在线观看| 国产成人精品18| 精品偷拍一区二区| 亚洲精品国产成人7777| 国产成人h在线观看网站站| 国产亚洲精品自在线| 久久96热在精品国产高清| av一区二区三区高清久久| 亚洲AV无码久久天堂| 日本午夜在线视频| 91免费国产在线观看尤物| 色婷婷亚洲综合五月| 午夜丁香婷婷| 成人在线观看不卡| 青青操国产视频| 亚洲精品午夜天堂网页| 国产欧美在线观看精品一区污| 亚洲日本韩在线观看| 午夜视频免费一区二区在线看| 亚洲欧美精品一中文字幕| 国产偷国产偷在线高清| 国产原创自拍不卡第一页| 欧美日韩成人在线观看| 99热国产在线精品99|