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