嵌入式通信软件设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程控制块 记录协议模块中各进程状态,参数
等信息的数据结构。 接口控制块
记录模块或进程间通信端口状态及 信息的数据结构。
嵌入式通信软件设计
16
3.4.3 实现
在协议软件中使用的数据结构表、 进程控制块、接口控制块,通常使用 数组、链表、树结构等方式实现。
为了能够快速、有效地访问数据 结构,主要根据不同对象设计不同的 HASH算法直接定位的方式实现。
写信息。例如,开启或关断协议,主备用切 换标志设置等就是控制。 (3)状态-----详细反映当前操作状态的只读 信息。例如,HDLC链路的运行状态就是状态 变量。 (4)统计-----模块记数或监视到的只读信息。 例如,对一个对模块接收或发送的报文数记 数的变量就是统计变量。
嵌入式通信软件设计
15
3.4.2 其它的数据结构
功能块1
通道
功能块2
系统 功能块3
环境
通道
通道 通道
通道
通道
功能块4
功能块5
功能块6
通道
通道
嵌入式通信软件设计
系统通道
9
第3章 通信系统协议软件实现
3.1 状态机 3.2 协议数据单元处理 3.3 协议接口 3.4 协议软件数据结构 3.5 配置与控制 3.6 系统启动 3.7 小结
嵌入式通信软件设计
或低层注册 (7)需要时创建和启动其它的协议任务 (8)在无限循环中等待
实时操作系统
存储管理
缓冲区管理
时间管理
事件管理
进程间通信
驱动程序接口
配置与控制
嵌入式通信软件设计
14
3.4 协议软件数据结构
3.4.1 表
表主要有四类: (1)配置-----用于设置操作参数和边界的读
/写或只读。例如,口令就是配置参数。 (2)控制-----用于改变通信软件模块的读/
嵌入式通信软件设计
第1章 嵌入式通信软件组成
1.1 嵌入式通信软件构件类型 1.2 嵌入式通信软件设计考虑
嵌入式通信软件设计
2
1.1 软件构件类型
广义地划分,通信系统有两类 软件构件:
(1)协议软件(应用软件)
(2)系统软件
协议软件实现协议规范;而系 统软件(含基础软件)通常包括 一个实时操作系统和管理硬件的 基础软件。
4
1.1.2 基础软件和系统软件
基础软件包括缓冲区管理、动态 内存管理、定时器管理、资源管 理、模块间的通信,其他软件模 块的监视、硬件模块的状态管理 等。
系统软件包括实时操作系统和设 备驱动程序等
嵌入式通信软件设计
5
1.2 软件设计考虑
硬件体系结构 RTOS是否选定 需要什么样的性能 需要实现那些协议 实现时要使用哪些全局数据结构和表 需要什么样的缓冲区管理和定时器管
下一状态:连接状态
下一状态: 连接状态
嵌入式通信软件设计
12
3.2 协议数据单元处理
PDU预处理
主要包括包文法检查及校验和验证等工作。
给状态机的事件
预处理完成确定包的类型,并将适当的事件传给状态 机,状态机完成数据包的解析,将协议数据转换为编 程数据,状态机根据消息类型及消息携带的具体参数 执行下一步动作。
嵌入式通信软件设计
3
1.1.1 协议软件
协议软件实现协议规范中详细规 定的协议。规范由一些国际标准 化组织制定,如ISO、IEEE、 ITU-T等。
协议实现通常基于状态事件机, 也叫状态机。状态机是协议实现 的核心,其形式通常为一状态事 件表,记录一系列规则来指出在 某一事件下应执行的动作。
嵌入式通信软件设计
理 告警、统计处理机制 系统测试方法
嵌入式通信软件设计
6
第2章 通信软件结构模型
2.1 通信软件结构模型 2.2 系统块与功能块关系模型
嵌入式通信软件设计
7Fra Baidu bibliotek
2.1 通信系统软件结构模型
系统块
协议软件(应用软件)
功能块1
功能块2
功能块3
基础软件 缓冲区管理 定时器管理 资源管理
扩展内存管理
10
3.1 状态机
协议是通信系统功能的核心,而 协议实现的核心是状态机。
协议有些是有状态的,有些是无 状态的。如IP转发是无状态的, 其转发动作的执行不依赖以前的 行为或数据包。而7号信令系统 中的TUP协议是有状态的,它呼 叫流程是和以前的行为或数据包 密切相关的。
嵌入式通信软件设计
11
有状态的协议使用称为状态机 (FSM)的结构
系统软件 I/O系统
VXWORKS函数库
功能块N ICCP
TCP/IP协议栈
环境
文件系统 Flash驱动
VXWORKS内核(WIND)
BSP
MUX 网卡驱动
硬件平台
Flash控制器
SCC
嵌入式通信软件设计
定时器
网卡控制器
8
2.2 系统块与功能块关系模型
系统块由多个功能块组成 。在这些功能块 里,只有一块功能块与环境交互,它收集环 境中发生的事件,把它们转换成可以处理的 消息,发给相应的进程。同时,它还接收各 功能块中进程发往环境的消息,把它们转换 成硬件可以执行的动作或操作系统的系统调 用。
状态S1 断开状态
在状态S2出现事件E4(关机)
动作:给对方发送断开消息, 终止定时器
下一状态: 断开状态
在状态S2出现事件E3(定时 器时间到),动作:处理定 时器
下一状态: 连接状态
状态S2 连接状态
在状态S1出现事件E1(初始化)
动作:给对方发送启动消息,启动 定时器
在状态S2出现事件E2(协议消 息)动作:处理协议消息
嵌入式通信软件设计
17
3.5 配置与控制
协议的配置与控制是指协议的管理
开启和关断协议 开启和关断特定端口的协议 特定接口的编址 设定最大帧尺寸 协议消息超时管理 对等实体的超时处理 鉴别安全信息 流量参数管理 封装信息
嵌入式通信软件设计
18
3.6 系统启动
(1)对各种表的大小参数进行初始化 (2)为动态数据结构和状态表分配内存 (3)状态表变量初始化 (4)缓冲区和定时器接口初始化 (5)从本地源读入配置,并对配置初始化 (6)高层和低层接口初始化,包括向高层和/
PDU传输
状态机完成相应动作后将产生的结果以消息的形式, 结合具体所需参数,利用PDU组包功能,将编程数据 转化为协议数据,发送到线路上,传送给对方。
因此,概括地讲,协议数据单元处理就是 PDU的校验、组包及解包过程,该步骤直接 影响状态机的执行。
嵌入式通信软件设计
13
3.3 协议接口
协议任务并非孤立存在或执行,需要和系统环 境中的其他成分接口和交互包括:
等信息的数据结构。 接口控制块
记录模块或进程间通信端口状态及 信息的数据结构。
嵌入式通信软件设计
16
3.4.3 实现
在协议软件中使用的数据结构表、 进程控制块、接口控制块,通常使用 数组、链表、树结构等方式实现。
为了能够快速、有效地访问数据 结构,主要根据不同对象设计不同的 HASH算法直接定位的方式实现。
写信息。例如,开启或关断协议,主备用切 换标志设置等就是控制。 (3)状态-----详细反映当前操作状态的只读 信息。例如,HDLC链路的运行状态就是状态 变量。 (4)统计-----模块记数或监视到的只读信息。 例如,对一个对模块接收或发送的报文数记 数的变量就是统计变量。
嵌入式通信软件设计
15
3.4.2 其它的数据结构
功能块1
通道
功能块2
系统 功能块3
环境
通道
通道 通道
通道
通道
功能块4
功能块5
功能块6
通道
通道
嵌入式通信软件设计
系统通道
9
第3章 通信系统协议软件实现
3.1 状态机 3.2 协议数据单元处理 3.3 协议接口 3.4 协议软件数据结构 3.5 配置与控制 3.6 系统启动 3.7 小结
嵌入式通信软件设计
或低层注册 (7)需要时创建和启动其它的协议任务 (8)在无限循环中等待
实时操作系统
存储管理
缓冲区管理
时间管理
事件管理
进程间通信
驱动程序接口
配置与控制
嵌入式通信软件设计
14
3.4 协议软件数据结构
3.4.1 表
表主要有四类: (1)配置-----用于设置操作参数和边界的读
/写或只读。例如,口令就是配置参数。 (2)控制-----用于改变通信软件模块的读/
嵌入式通信软件设计
第1章 嵌入式通信软件组成
1.1 嵌入式通信软件构件类型 1.2 嵌入式通信软件设计考虑
嵌入式通信软件设计
2
1.1 软件构件类型
广义地划分,通信系统有两类 软件构件:
(1)协议软件(应用软件)
(2)系统软件
协议软件实现协议规范;而系 统软件(含基础软件)通常包括 一个实时操作系统和管理硬件的 基础软件。
4
1.1.2 基础软件和系统软件
基础软件包括缓冲区管理、动态 内存管理、定时器管理、资源管 理、模块间的通信,其他软件模 块的监视、硬件模块的状态管理 等。
系统软件包括实时操作系统和设 备驱动程序等
嵌入式通信软件设计
5
1.2 软件设计考虑
硬件体系结构 RTOS是否选定 需要什么样的性能 需要实现那些协议 实现时要使用哪些全局数据结构和表 需要什么样的缓冲区管理和定时器管
下一状态:连接状态
下一状态: 连接状态
嵌入式通信软件设计
12
3.2 协议数据单元处理
PDU预处理
主要包括包文法检查及校验和验证等工作。
给状态机的事件
预处理完成确定包的类型,并将适当的事件传给状态 机,状态机完成数据包的解析,将协议数据转换为编 程数据,状态机根据消息类型及消息携带的具体参数 执行下一步动作。
嵌入式通信软件设计
3
1.1.1 协议软件
协议软件实现协议规范中详细规 定的协议。规范由一些国际标准 化组织制定,如ISO、IEEE、 ITU-T等。
协议实现通常基于状态事件机, 也叫状态机。状态机是协议实现 的核心,其形式通常为一状态事 件表,记录一系列规则来指出在 某一事件下应执行的动作。
嵌入式通信软件设计
理 告警、统计处理机制 系统测试方法
嵌入式通信软件设计
6
第2章 通信软件结构模型
2.1 通信软件结构模型 2.2 系统块与功能块关系模型
嵌入式通信软件设计
7Fra Baidu bibliotek
2.1 通信系统软件结构模型
系统块
协议软件(应用软件)
功能块1
功能块2
功能块3
基础软件 缓冲区管理 定时器管理 资源管理
扩展内存管理
10
3.1 状态机
协议是通信系统功能的核心,而 协议实现的核心是状态机。
协议有些是有状态的,有些是无 状态的。如IP转发是无状态的, 其转发动作的执行不依赖以前的 行为或数据包。而7号信令系统 中的TUP协议是有状态的,它呼 叫流程是和以前的行为或数据包 密切相关的。
嵌入式通信软件设计
11
有状态的协议使用称为状态机 (FSM)的结构
系统软件 I/O系统
VXWORKS函数库
功能块N ICCP
TCP/IP协议栈
环境
文件系统 Flash驱动
VXWORKS内核(WIND)
BSP
MUX 网卡驱动
硬件平台
Flash控制器
SCC
嵌入式通信软件设计
定时器
网卡控制器
8
2.2 系统块与功能块关系模型
系统块由多个功能块组成 。在这些功能块 里,只有一块功能块与环境交互,它收集环 境中发生的事件,把它们转换成可以处理的 消息,发给相应的进程。同时,它还接收各 功能块中进程发往环境的消息,把它们转换 成硬件可以执行的动作或操作系统的系统调 用。
状态S1 断开状态
在状态S2出现事件E4(关机)
动作:给对方发送断开消息, 终止定时器
下一状态: 断开状态
在状态S2出现事件E3(定时 器时间到),动作:处理定 时器
下一状态: 连接状态
状态S2 连接状态
在状态S1出现事件E1(初始化)
动作:给对方发送启动消息,启动 定时器
在状态S2出现事件E2(协议消 息)动作:处理协议消息
嵌入式通信软件设计
17
3.5 配置与控制
协议的配置与控制是指协议的管理
开启和关断协议 开启和关断特定端口的协议 特定接口的编址 设定最大帧尺寸 协议消息超时管理 对等实体的超时处理 鉴别安全信息 流量参数管理 封装信息
嵌入式通信软件设计
18
3.6 系统启动
(1)对各种表的大小参数进行初始化 (2)为动态数据结构和状态表分配内存 (3)状态表变量初始化 (4)缓冲区和定时器接口初始化 (5)从本地源读入配置,并对配置初始化 (6)高层和低层接口初始化,包括向高层和/
PDU传输
状态机完成相应动作后将产生的结果以消息的形式, 结合具体所需参数,利用PDU组包功能,将编程数据 转化为协议数据,发送到线路上,传送给对方。
因此,概括地讲,协议数据单元处理就是 PDU的校验、组包及解包过程,该步骤直接 影响状态机的执行。
嵌入式通信软件设计
13
3.3 协议接口
协议任务并非孤立存在或执行,需要和系统环 境中的其他成分接口和交互包括: