嵌入式串口同步幀數(shù)方法解析,怎樣學(xué)好嵌入式技術(shù)?
發(fā)布時(shí)間:2017-06-20 責(zé)任編輯:susan
【導(dǎo)讀】本文給出逐次比較、基于FIFO隊(duì)列和基于狀態(tài)機(jī)的3種幀同步方法。通過測(cè)試、分析和比較得出,基于有限狀態(tài)機(jī)的方法是嵌入式系統(tǒng)串口通信中很有效的幀同步方法,同時(shí)也是一種很不錯(cuò)的串口通信程序設(shè)計(jì)結(jié)構(gòu)。
嵌入式串口同步幀數(shù)方法解析
串口通信是日前單片機(jī)和DSP等嵌入式系統(tǒng)之間,以及嵌入式系統(tǒng)與PC機(jī)或無線模塊之間的一種非常重要且普遍使用的通信方式。在嵌入式系統(tǒng)的硬件結(jié)構(gòu)中,通常只有一個(gè)8位或16位的CPU,不僅要完成主流程的工作,同時(shí)還要處理隨時(shí)發(fā)生的各種中斷,因而嵌入式系統(tǒng)中的串口通信程序設(shè)計(jì)與PC機(jī)有很大的不同。若嵌入式系統(tǒng)中.中斷服務(wù)子程序在系統(tǒng)運(yùn)行過程中占用了較多的時(shí)間,就有可能在中斷眼務(wù)子程序正運(yùn)行時(shí),又產(chǎn)生一個(gè)同類型或其他類型的中斷,從而造成主程序得不到執(zhí)行或后續(xù)中斷數(shù)據(jù)丟失。所以,嵌入式系統(tǒng)中的串口通信雖然看似簡(jiǎn)單,但其中仍有許多問題值得研究,例如串口通信過程中的幀同步問題。本文針對(duì)該問題給出了逐次比較、基于FIFO隊(duì)列和基于狀態(tài)機(jī)的3種幀同步方法。通過測(cè)試、分析和比較得出,基于有限狀態(tài)機(jī)的方法是嵌入式系統(tǒng)串口通信中很有效的幀同步方法,同時(shí)也是一種很不錯(cuò)的串口通信程序設(shè)計(jì)結(jié)構(gòu)。
1.串口通信的數(shù)據(jù)幀結(jié)構(gòu)
現(xiàn)代工業(yè)控制,往往需要由多個(gè)獨(dú)立的控制模塊來共同完成。它們之間通過串口通信完成復(fù)雜的控制過程,必須在通信過程中加入必要的通信協(xié)議,以提高系統(tǒng)的可靠性和穩(wěn)定性;而要完成特定的通信協(xié)議,就得有一定的同步機(jī)制。下面介紹一下簡(jiǎn)化的串口通信數(shù)據(jù)幀結(jié)構(gòu),以便分析說明嵌入式系統(tǒng)串口通信過程中的幀同步方法。
假定串口發(fā)送的數(shù)據(jù)幀結(jié)構(gòu)為:
其中:包頭用于同步,一般是一個(gè)或多個(gè)ASCII字符,本文中假定數(shù)據(jù)幀同步頭有2字節(jié)(0xAA、0x55);包長(zhǎng)表示數(shù)據(jù)包中除去包頭和包長(zhǎng)的字節(jié)數(shù),一般用約定好的幾個(gè)字節(jié)表示;類型為通信協(xié)議里規(guī)定的命令類型;數(shù)據(jù)為應(yīng)發(fā)送的主要信息;校驗(yàn)通常采用單字節(jié)“異或”的方法。
2.串口通信中的幀同步方法
2.1 逐次比較的幀同步方法
首先等待串口數(shù)據(jù),將接收到的第1個(gè)字節(jié)數(shù)據(jù)與約定好的包頭信息的第1個(gè)字節(jié)進(jìn)行比較。如果不正確,則等待新字節(jié),直到接收的數(shù)據(jù)與包頭信息的第1個(gè)字節(jié)相同。第1個(gè)字節(jié)比較正確以后,將收到的第2個(gè)字節(jié)與包頭信息的第2個(gè)字節(jié)進(jìn)行比較。如果仍然正確,則說明串口接收已經(jīng)同步,可以開始接收數(shù)據(jù)幀中的數(shù)據(jù)部分;否則,重新開始同步過程。其程序流程如圖1所示。
此種方法代碼量小,編程簡(jiǎn)單,一般用于在主程序中以非中斷方式接收串口數(shù)據(jù)、實(shí)時(shí)性很差、數(shù)據(jù)幀較短的場(chǎng)合。但是,在串口速度過快且包頭字節(jié)數(shù)比較多的情況下,串口實(shí)現(xiàn)同步花費(fèi)的時(shí)間很長(zhǎng)或很難實(shí)現(xiàn)同步。例如,串口接收到序列Ox0O OxAA0xAA 0x55…,當(dāng)遇到第一個(gè)“0xAA”時(shí),該方法認(rèn)為第1個(gè)字節(jié)正確開始比較第2個(gè)同步頭。第2個(gè)字節(jié)仍是“0xAA”而不是“0x55”,所以必須等待新的字節(jié)重新開始比較第1個(gè)同步頭。而緊隨其后的是“0x55”,因而,此時(shí)包頭的第1個(gè)字節(jié)也沒有同步上。事實(shí)上,“0x00 OxAA”是干擾字節(jié),“0xAA 0x55”才是通信協(xié)議中的同步頭。
怎樣學(xué)好嵌入式技術(shù)?
隨著現(xiàn)代社會(huì)信息化進(jìn)程的加快,嵌入式系統(tǒng)被廣泛的地應(yīng)用于軍事、家用、工業(yè)、商業(yè)、辦公、醫(yī)療等社會(huì)各個(gè)方面,表現(xiàn)出很強(qiáng)的投資價(jià)值。從國(guó)際范圍來看,作為數(shù)字化電子信息產(chǎn)品核心的嵌入式系統(tǒng)目前其硬件和軟件開發(fā)工具市場(chǎng)已經(jīng)突破2000億美元,嵌入式系統(tǒng)帶來的全球工業(yè)年產(chǎn)值更是達(dá)到了一萬億美元,隨著全球經(jīng)濟(jì)的持續(xù)增長(zhǎng)以及信息化的加速發(fā)展,嵌入式系統(tǒng)市場(chǎng)必將進(jìn)一步增長(zhǎng)。
根據(jù)中國(guó)物聯(lián)網(wǎng)校企聯(lián)盟的建議,學(xué)習(xí)嵌入式系統(tǒng)的必備條件與學(xué)習(xí)方法如下:
1、C開發(fā)經(jīng)驗(yàn)
條件:Linux
方法:主要是掌握ANSI C編程(不包括gtk,qt等圖形可視化開發(fā))
2、網(wǎng)絡(luò)、操作系統(tǒng)、體系結(jié)構(gòu)
條件:Linux,各種書,算法、例程。
方法:通過C編程實(shí)現(xiàn)簡(jiǎn)單的網(wǎng)絡(luò)等知識(shí)的算法和過程。
3、嵌入式系統(tǒng)概念
條件:各個(gè)嵌入式網(wǎng)站,討論組,書籍
方法:少提問,多留給自己思考的空間。
4、嵌入式開發(fā)實(shí)踐
條件:各種嵌入式系統(tǒng)開發(fā)工具的demo版,包括編譯器,仿真器。
方法:一個(gè)是基于MCU/MDSP的嵌入式系統(tǒng)開發(fā),另一個(gè)是像Palm OS,WinCE,uC/OS II等RTOS下的應(yīng)用軟件開發(fā)。第一個(gè)是針對(duì)硬件開發(fā)而言的,而第二個(gè)則是針對(duì)軟件開發(fā)而言的。
5、硬件開發(fā)
條件:各種嵌入式芯片、存儲(chǔ)器等電路器件,protel99等電路設(shè)計(jì)軟件,電路板制作。
方法:這時(shí)候該有開發(fā)條件了,最起碼是51系列,這個(gè)比較方便。電路的設(shè)計(jì)內(nèi)容較多,不過看起來嚇人,實(shí)際上比軟件要簡(jiǎn)單的多。只要下功夫,實(shí)踐會(huì)告訴你一切。
特別推薦
- 兆易創(chuàng)新GD32F30x STL軟件測(cè)試庫獲得德國(guó)萊茵TüV IEC 61508功能安全認(rèn)證
- 芯科科技第三代無線開發(fā)平臺(tái)引領(lǐng)物聯(lián)網(wǎng)發(fā)展
- MSO 4B 示波器為工程師帶來更多臺(tái)式功率分析工具
- 艾為電子推出新一代高線性度GNSS低噪聲放大器——AW15745DNR
- 瑞薩發(fā)布四通道主站IC和傳感器信號(hào)調(diào)節(jié)器, 以推動(dòng)不斷增長(zhǎng)的IO-Link市場(chǎng)
- e絡(luò)盟現(xiàn)貨供應(yīng) Abracon 新推出的 AOTA 系列微型鑄型電感器
- 加賀富儀艾電子推出支持Wi-Fi 6和藍(lán)牙的無線局域網(wǎng)/藍(lán)牙組合模塊
技術(shù)文章更多>>
- 一文掌握UV LED在空凈消殺領(lǐng)域的主要應(yīng)用
- 聚焦汽車智能化與電動(dòng)化︱AUTO TECH 2025 華南展11月,已全面啟動(dòng),邀您共精彩!
- 【“源”察秋毫系列】 Keithley在碳納米管森林涂層纖維復(fù)合材料的應(yīng)用
- 數(shù)字驅(qū)動(dòng)工業(yè),智能賦能制造 AMTS & AHTE SOUTH CHINA 2024同期會(huì)議全公開!
- 團(tuán)體觀展招募!104CEF開啟組團(tuán)觀眾通道,解鎖更多禮遇
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
車載以太網(wǎng)
車載娛樂
充電
充電電池
充電器
充電樁
觸控屏
觸控顯示
觸摸開關(guān)
傳感技術(shù)
傳感器
傳感器模塊
船型開關(guān)
串聯(lián)電阻公式
創(chuàng)智成
磁傳感器
磁環(huán)電感
磁敏三極管
磁性存儲(chǔ)器
磁性元件
磁珠電感
存儲(chǔ)器
大功率管
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容