嵌入式串口同步帧数方法解析及学好嵌入式技术的方法
嵌入式串口同步帧数方法解析
串口通信是日前单片机和DSP等嵌入式系统之间,以及嵌入式系统与PC机或无线模块之间的一种非常重要且普遍使用的通信方式。在嵌入式系统的硬件结构中,通常只有一个8位或16位的CPU,不仅要完成主流程的工作,同时还要处理随时发生的各种中断,因而嵌入式系统中的串口通信程序设计与PC机有很大的不同。若嵌入式系统中.中断服务子程序在系统运行过程中占用了较多的时间,就有可能在中断眼务子程序正运行时,又产生一个同类型或其他类型的中断,从而造成主程序得不到执行或后续中断数据丢失。所以,嵌入式系统中的串口通信虽然看似简单,但其中仍有许多问题值得研究,例如串口通信过程中的帧同步问题。本文针对该问题给出了逐次比较、基于FIFO队列和基于状态机的3种帧同步方法。通过测试、分析和比较得出,基于有限状态机的方法是嵌入式系统串口通信中很有效的帧同步方法,同时也是一种很不错的串口通信程序设计结构。
1串口通信的数据帧结构
现代工业控制,往往需要由多个独立的控制模块来共同完成。它们之间通过串口通信完成复杂的控制过程,必须在通信过程中加入必要的通信协议,以提高系统的可靠性和稳定性;而要完成特定的通信协议,就得有一定的同步机制。下面介绍一下简化的串口通信数据帧结构,以便分析说明嵌入式系统串口通信过程中的帧同步方法。
假定串口发送的数据帧结构为:
其中:包头用于同步,一般是一个或多个ASCII字符,本文中假定数据帧同步头有2字节(0xAA、0x55);包长表示数据包中除去包头和包长的字节数,一般用约定好的几个字节表示;类型为通信协议里规定的命令类型;数据为应发送的主要信息;校验通常采用单字节“异或”的方法。
其中:包头用于同步,一般是一个或多个ASCII字符,本文中假定数据帧同步头有2字节(0xAA、0x55);包长表示数据包中除去包头和包长的字节数,一般用约定好的几个字节表示;类型为通信协议里规定的命令类型;数据为应发送的主要信息;校验通常采用单字节“异或”的方法。
2串口通信中的帧同步方法
2.1逐次比较的帧同步方法
首先等待串口数据,将接收到的第1个字节数据与约定好的包头信息的第1个字节进行比较。如果不正确,则等待新字节,直到接收的数据与包头信息的第1个字节相同。第1个字节比较正确以后,将收到的第2个字节与包头信息的第2个字节进行比较。如果仍然正确,则说明串口接收已经同步,可以开始接收数据帧中的数据部分;否则,重新开始同步过程。其程序流程如图1所示。
其中:包头用于同步,一般是一个或多个ASCII字符,本文中假定数据帧同步头有2字节(0xAA、0x55);包长表示数据包中除去包头和包长的字节数,一般用约定好的几个字节表示;类型为通信协议里规定的命令类型;数据为应发送的主要信息;校验通常采用单字节“异或”的方法。
此种方法代码量小,编程简单,一般用于在主程序中以非中断方式接收串口数据、实时性很差、数据帧较短的场合。但是,在串口速度过快且包头字节数比较多的情况下,串口实现同步花费的时间很长或很难实现同步。例如,串口接收到序列Ox0OOxAA0xAA0x55…,当遇到第一个“0xAA”时,该方法认为第1个字节正确开始比较第2个同步头。第2个字节仍是“0xAA”而不是“0x55”,所以必须等待新的字节重新开始比较第1个同步头。而紧随其后的是“0x55”,因而,此时包头的第1个字节也没有同步上。事实上,“0x00OxAA”是干扰字节,“0xAA0x55”才是通信协议中的同步头。
怎样学好嵌入式技术?
随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个方面,表现出很强的投资价值。从国际范围来看,作为数字化电子信息产品核心的嵌入式系统目前其硬件和软件开发工具市场已经突破2000亿美元,嵌入式系统带来的全球工业年产值更是达到了一万亿美元,随着全球经济的持续增长以及信息化的加速发展,嵌入式系统市场必将进一步增长。
根据中国物联网校企联盟的建议,学习嵌入式系统的必备条件与学习方法如下:
1、C开发经验
条件:Linux
方法:主要是掌握ANSIC编程(不包括gtk,qt等图形可视化开发)
2、网络、操作系统、体系结构
条件:Linux,各种书,算法、例程。
方法:通过C编程实现简单的网络等知识的算法和过程。
3、嵌入式系统概念
条件:各个嵌入式网站,讨论组,书籍
方法:少提问,多留给自己思考的空间。
4、嵌入式开发实践
条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。
方法:一个是基于MCU/MDSP的嵌入式系统开发,另一个是像PalmOS,WinCE,uC/OSII等RTOS下的应用软件开发。第一个是针对硬件开发而言的,而第二个则是针对软件开发而言的。
5、硬件开发
条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。
方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。
- 节能荧光灯照明标准值
- 居住建筑照明标准值 房间或场所 参考平面及其高度 照度标准值(Lx) Ra 起居室 一
- 01-02 关注:130
- 电源线你是否都了解他们的使用方法?
- 面对如此众多的花样繁多的带插头的电源线你是否都了解他们的使用方法,是不是只是随便找个插座就插上了呢?其实这就是电器隐患啊。在众
- 01-02 关注:141
- 施工用电安全距离与外电防护
- 一、用电管理:
⒈临时用电必须按“《施工现场临时用电安全技术规范》JGJ46-88”编制用电施工组织设计制定安全用电技术措
- 01-02 关注:135
- 施工现场必须采用“三相五线制”供电
- 施工现场必须采用“三相五线制”供电,井必须符合下列要求:
l.由中性点直接接地的专用变压器供电的施工现场,必须采用T
- 01-02 关注:241
- 电表箱装饰画的特点
- 电表箱装饰画,也叫做配电箱装饰画、电闸盒装饰画、电源开关装饰画等多个名字,这些都是根据其使用功能来命名的,电表箱装饰画的主要作
- 01-02 关注:135
- 电器装置的四个装设原则
- 施工现场离不开用电,工程设备、施工机具、现场照明、电气安装等,都需要电能的支持。随着建设工程项目的科技含量和智能化的加强,施工
- 01-02 关注:290
- 家用电器的漏电保护须知
- 在当前的生活当中,家用电器的选择是越来越多,像电热水器,电磁炉,微波炉等等,无论是哪一种家用电器,在漏电保护上要做到全面保障,
- 01-02 关注:123
- 电气工作人员必须熟悉施工用电
- 1. 电气工作人员必须熟悉施工用电安全技术规程,必须具备必要的技术理论知识和实际操作技能,并经考试合格,方可持证上岗工作。
- 01-02 关注:138