当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]嵌入式串口同步帧数方法解析串口通信是日前单片机和DSP等嵌入式系统之间,以及嵌入式系统与PC机或无线模块之间的一种非常重要且普遍使用的通信方式。在嵌入式系统的硬件结构

嵌入式串口同步帧数方法解析

串口通信是日前单片机和DSP等嵌入式系统之间,以及嵌入式系统与PC机或无线模块之间的一种非常重要且普遍使用的通信方式。在嵌入式系统的硬件结构中,通常只有一个8位或16位的CPU,不仅要完成主流程的工作,同时还要处理随时发生的各种中断,因而嵌入式系统中的串口通信程序设计与PC机有很大的不同。若嵌入式系统中.中断服务子程序在系统运行过程中占用了较多的时间,就有可能在中断眼务子程序正运行时,又产生一个同类型或其他类型的中断,从而造成主程序得不到执行或后续中断数据丢失。所以,嵌入式系统中的串口通信虽然看似简单,但其中仍有许多问题值得研究,例如串口通信过程中的帧同步问题。本文针对该问题给出了逐次比较、基于FIFO队列和基于状态机的3种帧同步方法。通过测试、分析和比较得出,基于有限状态机的方法是嵌入式系统串口通信中很有效的帧同步方法,同时也是一种很不错的串口通信程序设计结构。

 


1 串口通信的数据帧结构

现代工业控制,往往需要由多个独立的控制模块来共同完成。它们之间通过串口通信完成复杂的控制过程,必须在通信过程中加入必要的通信协议,以提高系统的可靠性和稳定性;而要完成特定的通信协议,就得有一定的同步机制。下面介绍一下简化的串口通信数据帧结构,以便分析说明嵌入式系统串口通信过程中的帧同步方法。

假定串口发送的数据帧结构为:

 

其中:包头用于同步,一般是一个或多个ASCII字符,本文中假定数据帧同步头有2字节(0xAA、0x55);包长表示数据包中除去包头和包长的字节数,一般用约定好的几个字节表示;类型为通信协议里规定的命令类型;数据为应发送的主要信息;校验通常采用单字节“异或”的方法。

2 串口通信中的帧同步方法

2.1 逐次比较的帧同步方法

首先等待串口数据,将接收到的第1个字节数据与约定好的包头信息的第1个字节进行比较。如果不正确,则等待新字节,直到接收的数据与包头信息的第1个字节相同。第1个字节比较正确以后,将收到的第2个字节与包头信息的第2个字节进行比较。如果仍然正确,则说明串口接收已经同步,可以开始接收数据帧中的数据部分;否则,重新开始同步过程。其程序流程如图1所示。

 


此种方法代码量小,编程简单,一般用于在主程序中以非中断方式接收串口数据、实时性很差、数据帧较短的场合。但是,在串口速度过快且包头字节数比较多的情况下,串口实现同步花费的时间很长或很难实现同步。例如,串口接收到序列Ox0O OxAA0xAA 0x55…,当遇到第一个“0xAA”时,该方法认为第1个字节正确开始比较第2个同步头。第2个字节仍是“0xAA”而不是“0x55”,所以必须等待新的字节重新开始比较第1个同步头。而紧随其后的是“0x55”,因而,此时包头的第1个字节也没有同步上。事实上,“0x00 OxAA”是干扰字节,“0xAA 0x55”才是通信协议中的同步头。

怎样学好嵌入式技术?

随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个方面,表现出很强的投资价值。从国际范围来看,作为数字化电子信息产品核心的嵌入式系统目前其硬件和软件开发工具市场已经突破2000亿美元,嵌入式系统带来的全球工业年产值更是达到了一万亿美元,随着全球经济的持续增长以及信息化的加速发展,嵌入式系统市场必将进一步增长。

根据中国物联网校企联盟的建议,学习嵌入式系统的必备条件与学习方法如下:

 


1、C开发经验

条件:Linux

方法:主要是掌握ANSI C编程(不包括gtk,qt等图形可视化开发)

2、网络、操作系统、体系结构

条件:Linux,各种书,算法、例程。

方法:通过C编程实现简单的网络等知识的算法和过程。

3、嵌入式系统概念

条件:各个嵌入式网站,讨论组,书籍

方法:少提问,多留给自己思考的空间。

4、嵌入式开发实践

条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。

方法:一个是基于MCU/MDSP的嵌入式系统开发,另一个是像Palm OS,WinCE,uC/OS II等RTOS下的应用软件开发。第一个是针对硬件开发而言的,而第二个则是针对软件开发而言的。

 


5、硬件开发

条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。

方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着信息技术的飞速发展,芯片作为现代电子设备的核心部件,其制作工艺流程的精密与复杂程度日益提高。芯片的制作,不仅仅是一系列技术操作的集合,更是一场探索微观世界的工艺之旅。本文将带领读者走进芯片制作的世界,揭示其大致工艺流...

关键字: 芯片 半导体

tda2030功放芯片将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: tda2030 功放 芯片

本轮融资资金将用于已规模化供货的7纳米车规级芯片“龍鹰一号”的进一步量产和供货、基于“龍鹰一号”的高端智能座舱及舱行泊一体方案的市场推广,以及全场景高阶智驾新品AD1000的测试验证和市场导入。

关键字: 芯擎科技 芯片

3月26日,四维图新旗下杰发科技与国际第三方独立检测、检验和认证机构德国莱茵TÜV集团(以下简称TÜV莱茵)在上海举办颁证仪式,杰发科技宣布AC7840x系列车规级MCU芯片已成功通过ISO 26262 ASIL B功能...

关键字: 芯片 MCU 智能座舱

以下内容中,小编将对lm393芯片的相关内容进行着重介绍和阐述,希望本文能帮您增进对lm393芯片的了解,和小编一起来看看吧。

关键字: lm393 芯片

业内消息,近日被视为华为芯片“奠基人”的原海思总裁徐文伟近日在朋友圈宣布正式退休。徐文伟发文表示,自己在 33 年内,见证了一个伟大企业的发展和壮大。

关键字: 华为 芯片 海思 徐文伟

通过与北美J-Squared Technologies、南美Macnica DHW以及日本NEXTY Electronics三家企业深化合作,Hailo实现了迅速成长,并逐步拓宽了其全球商业版图。

关键字: 人工智能 处理器 芯片

近日外媒引述消息人士报道称,中国推出采购需求标准,或意味着中国将禁止政府电脑使用英特尔和超微半导体(AMD)CPU(处理器)芯片,截止目前英特尔和AMD尚未就此消息做出回应。

关键字: 英特尔 AMD 芯片

美国总统拜登日前宣布,随着美国政府加大力度将芯片制造片转移到本土,英特尔已经通过《芯片法案》获得高达85亿美元的资助。此外,该公司可以通过这一法案获得额外的110亿美元贷款。

关键字: 英特尔 芯片 半导体

近年来,全球范围内出现了芯片短缺的现象,对多个行业造成了显著影响。从汽车制造到电子设备生产,从通信领域到航空航天,几乎所有涉及芯片的行业都感受到了供应紧张的压力。那么,为何会出现芯片短缺的情况?本文将从多个角度深入剖析这...

关键字: 芯片 半导体
关闭
关闭