嵌入式通信软件设计.pptx
《嵌入式通信软件设计.pptx》由会员分享,可在线阅读,更多相关《嵌入式通信软件设计.pptx(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式通信软件设计嵌入式通信软件设计2 21.1 软件构件类型广义地划分,通信系统有两类软件构件:(1)协议软件(应用软件)(2)系统软件协议软件实现协议规范;而系统软件(含基础软件)通常包括一个实时操作系统和管理硬件的基础软件。第1页/共36页3 31.1.1 协议软件协议软件实现协议规范中详细规定的协议。规范由一些国际标准化组织制定,如ISO、IEEE、ITU-T等。协议实现通常基于状态事件机,也叫状态机。状态机是协议实现的核心,其形式通常为一状态事件表,记录一系列规则来指出在某一事件下应执行的动作。第2页/共36页4 41.1.2 基础软件和系统软件基础软件包括缓冲区管理、动态内存管理、
2、定时器管理、资源管理、模块间的通信,其他软件模块的监视、硬件模块的状态管理等。系统软件包括实时操作系统和设备驱动程序等第3页/共36页5 51.2 软件设计考虑硬件体系结构硬件体系结构RTOSRTOS是否选定是否选定需要什么样的性能需要什么样的性能需要实现那些协议需要实现那些协议实现时要使用哪些全局数据结构和表实现时要使用哪些全局数据结构和表需要什么样的缓冲区管理和定时器管需要什么样的缓冲区管理和定时器管理理告警、统计处理机制告警、统计处理机制系统测试方法系统测试方法第4页/共36页6 6第2章 通信软件结构模型2.1 通信软件结构模型2.2 系统块与功能块关系模型第5页/共36页7 7Fla
3、sh控制器SCC定时器网卡控制器硬件平台Flash驱动网卡驱动BSPVXWORKS内核(WIND)系统软件文件系统I/O系统VXWORKS函数库MUXTCP/IP协议栈扩展内存管理缓冲区管理定时器管理资源管理ICCP基础软件协议软件(应用软件)功能块1功能块3功能块N功能块2环境系统块2.1 通信系统软件结构模型第6页/共36页8 82.2 系统块与功能块关系模型系统块由多个功能块组成系统块由多个功能块组成 。在这些功能块。在这些功能块里,只有一块功能块与环境交互,它收集里,只有一块功能块与环境交互,它收集环境中发生的事件,把它们转换成可以处环境中发生的事件,把它们转换成可以处理的消息,发给相
4、应的进程。同时,它还理的消息,发给相应的进程。同时,它还接收各功能块中进程发往环境的消息,把接收各功能块中进程发往环境的消息,把它们转换成硬件可以执行的动作或操作系它们转换成硬件可以执行的动作或操作系统的系统调用。统的系统调用。功能块1功能块2功能块3功能块4功能块5功能块6通道系统环境系统通道通道通道通道通道通道通道通道第7页/共36页9 9第3章 通信系统协议软件实现3.1 状态机3.2 协议数据单元处理3.3 协议接口3.4 协议软件数据结构3.5 配置与控制3.6 系统启动3.7 小结第8页/共36页10103.1 状态机协议是通信系统功能的核心,而协议实现的核心是状态机。协议有些是有
5、状态的,有些是无状态的。如IP转发是无状态的,其转发动作的执行不依赖以前的行为或数据包。而7号信令系统中的TUP协议是有状态的,它呼叫流程是和以前的行为或数据包密切相关的。第9页/共36页1111有状态的协议使用称为状态机(FSM)的结构在状态S2出现事件E4(关机)动作:给对方发送断开消息,终止定时器下一状态:断开状态状态S1断开状态在状态S1出现事件E1(初始化)动作:给对方发送启动消息,启动定时器下一状态:连接状态在状态S2出现事件E3(定时器时间到),动作:处理定时器下一状态:连接状态状态S2连接状态在状态S2出现事件E2(协议消息)动作:处理协议消息下一状态:连接状态第10页/共36
6、页12123.2 协议数据单元处理PDUPDU预处理预处理 主要包括包文法检查及校验和验证等工作。主要包括包文法检查及校验和验证等工作。给状态机的事件给状态机的事件预处理完成确定包的类型,并将适当的事件传给状预处理完成确定包的类型,并将适当的事件传给状态机,状态机完成数据包的解析,将协议数据转换态机,状态机完成数据包的解析,将协议数据转换为编程数据,状态机根据消息类型及消息携带的具为编程数据,状态机根据消息类型及消息携带的具体参数执行下一步动作。体参数执行下一步动作。PDUPDU传输传输 状态机完成相应动作后将产生的结果以消息的形式,状态机完成相应动作后将产生的结果以消息的形式,结合具体所需参
7、数,利用结合具体所需参数,利用PDUPDU组包功能,将编程数组包功能,将编程数据转化为协议数据,发送到线路上,传送给对方。据转化为协议数据,发送到线路上,传送给对方。因此,概括地讲,协议数据单元处理就是因此,概括地讲,协议数据单元处理就是PDUPDU的校验、组包及解包过程,该步骤直接的校验、组包及解包过程,该步骤直接影响状态机的执行。影响状态机的执行。第11页/共36页13133.3 3.3 协议接口协议接口协议任务并非孤立存在或执行,需协议任务并非孤立存在或执行,需要和系统环境中的其他成分接口和要和系统环境中的其他成分接口和交互包括:交互包括:实时操作系统存储管理缓冲区管理时间管理事件管理进
8、程间通信驱动程序接口配置与控制第12页/共36页1414 3.4 协议软件数据结构 3.4.1 3.4.1 表表表主要有四类:表主要有四类:(1 1)配置)配置-用于设置操作参数和边界的读用于设置操作参数和边界的读/写或只读。例如,口令就是配置参数。写或只读。例如,口令就是配置参数。(2 2)控制)控制-用于改变通信软件模块的读用于改变通信软件模块的读/写信息。例如,开启或关断协议,主备用写信息。例如,开启或关断协议,主备用切换标志设置等就是控制。切换标志设置等就是控制。(3 3)状态)状态-详细反映当前操作状态的只读详细反映当前操作状态的只读信息。例如,信息。例如,HDLCHDLC链路的运行
9、状态就是状链路的运行状态就是状态变量。态变量。(4 4)统计)统计-模块记数或监视到的只读信息。模块记数或监视到的只读信息。例如,对一个对模块接收或发送的报文数例如,对一个对模块接收或发送的报文数记数的变量就是统计变量。记数的变量就是统计变量。第13页/共36页15153.4.2 3.4.2 其它的数据结构其它的数据结构进程控制块进程控制块 记录协议模块中各进程状态,参数等信息的数据结构。记录协议模块中各进程状态,参数等信息的数据结构。接口控制块接口控制块 记录模块或进程间通信端口状态及信息的数据结构。记录模块或进程间通信端口状态及信息的数据结构。第14页/共36页16163.4.3 3.4.
10、3 实现实现 在协议软件中使用的数据结构表、在协议软件中使用的数据结构表、进程控制块、接口控制块,通常使用进程控制块、接口控制块,通常使用数组、链表、树结构等方式实现。数组、链表、树结构等方式实现。为了能够快速、有效地访问数据为了能够快速、有效地访问数据结构,主要根据不同对象设计不同的结构,主要根据不同对象设计不同的HASHHASH算法直接定位的方式实现。算法直接定位的方式实现。第15页/共36页17173.5 配置与控制协议的配置与控制是指协议的管理协议的配置与控制是指协议的管理开启和关断协议开启和关断协议开启和关断特定端口的协议开启和关断特定端口的协议特定接口的编址特定接口的编址设定最大帧
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 通信 软件设计
限制150内