Download presentation
Presentation is loading. Please wait.
1
手机软件架构和底层软件介绍
2
培训内容提要 手机软件体系架构介绍 底层软件介绍:OS、GKI、PS 手机软件开发流程介绍
3
手机底层软件开发里程碑 ZTE GSM/GPRS手机协议软件开发里程碑 1999.06 GSM协议软件开发项目正式启动;
GSM协议软件在京通过FTA测试; 启动GPRS 协议软件开发项目; 电路交换数据业务打通数据电话; GPRS协议软件打通数据电话; GPRS完成FTA测试; GPRS商用版本推出(GPRS协议栈是国内第一家和唯一一家自主研发的GPRS协议软件。) …...
4
手机软件体系架构介绍 手机系统结构 手机软件体系结构 软件通用架构
5
手机系统结构 模拟基带 数字基带 天线 语音 AD/ DA 射频 AD/ DA GMSK 调制器 GSM 声音合成 信道编解码器
交织/解交织 加密/解密 Burst形成 解调器 均衡器 射频 收&发 MIC Receiver LCD显示 电源管理 部分Layer 1协议 键盘 协议栈&MMI FLASH SRAM 蜂鸣器 背光 数据 接口 SIM卡
6
GSM系统逻辑结构简图
7
GSM/GPRS系统逻辑结构简图 Gi Gn Gb Gc C E Gp Gs
GPRS的功能实现基本上以软件升级为主,只增加两种新的网络实体:服务GPRS支持节点SGSN(Serving GPRS Support Node)和网关GPRS支持节点GGSN(Gateway GPRS Support Node)。为支持GPRS业务,GSM网络共新增9个以“G”字打头的GPRS接口,13个新协议。 D Gi Gn Gb Gc C E Gp Gs Signalling and Data Transfer Interface Signalling Interface MSC/VLR TE MT BSS PDN R Um Gr A HLR Other PLMN SGSN GGSN Gd SM-SC SMS-GMSC SMS-IWMSC
8
手机软件系统简要结构图 User MMI and Applications (FL/BL) Protocols Stack L2/L3
Layer 1 MMI and Applications (FL/BL) Protocols Stack L2/L3 (include GSM Signalling Protocols / Data & GPRS Protocols) User Network Hardware External Devices GKI RTOS Driver
9
GSM/CSD/GPRS协议软件架构
10
应用层软件结构 AL = FL + BL + GIM
11
GSM体系协议实体分层结构 GSM系统各接口采用的分层协议结构是符合开放系统互连(OSI)参考模型的。分层的目的是允许隔离各组信令协议功能,按连续的独立层描述协议功能,优点是任何一个功能块的扩充和修改具有独立性、灵活性,有利于新业务、新技术的引入和未来发展。
12
GPRS体系所有协议分层结构(1) MS U BSS SGSN G IP/X.25 IP/X.25 GMM GMM SMS SNDCP
LLC LLC Relay RLC RLC BSSGP BSSGP Network MAC MAC Network Service Service Frame GSM RF GSM RF Frame Relay Relay MS U BSS SGSN G m b
13
GPRS体系所有协议分层结构(2)
14
软件通用架构
15
底层软件介绍 实时操作系统(RTOS)基本概念介绍 操作系统封装层(GKI)介绍 协议软件(PS)各模块功能介绍 协议软件业务流程举例
16
RTOS 实时系统:指时间因素非常关键的软件应用系统。 实时操作系统: 任务(Task):
一般而言,实时系统中实时性的获得是通过将程序分成多个逻辑上独立的任务(或进程),而每个任务的行为都预先可知。这些任务的运行生存周期都很短,这样就可以让出处理器时间给其他任务运行。 实时操作系统: 是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。 任务(Task): 软件系统的基本单位,软件由一到多个任务组成。任务是一个C功能调用(运行过程一直不退出)。 任务按照优先级次序被操作系统调度。
17
RTOS 任务的三种基本状态:运行态、就绪态、挂起状态。 任务控制权切换 :任何时候只有一个任务处于运行态 RTOS基本功能
主动释放:激活其他高优先级任务(或HISR) 任务调度:等待资源或者引起就绪的信号 被动释放:中断(引起高优先级任务就绪而被抢占) RTOS基本功能 任务管理:初始化、终止、调度、时间片 任务通信:邮箱、队列、管道 任务同步:信号量、事件 内存管理:分配、释放、碎片回收(定长/动态内存片) 定时器管理: 中断管理
18
RTOS的结构 tasks 内存管理 任务 管理 调度 时间 管理 MCU 任务 通信 任务 同步 中断管理
19
X 为什么要采用GKI Portability Common Design Philosophy Test Facilities
Target Real Time Operating System GSM Handset Software Generic Kernel Interface X Test Facilities Portability Common Design Philosophy Test Facilities Easier Code Integration
20
GKI的优点 便于移植和提高重用性(上层开发与具体OS分离) 简化了OS的复杂性(对上层只提供了少量的接口函数)
Task Kernel Interface Software (GKI modules) Target Kernel e.g. Nucleus Plus KiSendSignal KiSendIntSignal KiReceiveSignal KiRequestMemory KiCreateSignal KiReallocMemory KiDestroySignal KiGetRelativeTime KiStartTimer KiTick KiStopTimer KiMaximumSleep KiAllocMemory KiEnqueue KiFreeMemory KiDequeue KiSignalLength KiOnqueue KiCreateIntSignal KiFlushQueue Generic Kernel Interface Target Kernel Interface Kernel Specific Calls 便于移植和提高重用性(上层开发与具体OS分离) 简化了OS的复杂性(对上层只提供了少量的接口函数) 简化了任务间的接口关系(采用信号传输机制)
21
GKI 提供的功能 任务通信:信号的创建、发送、接收、销毁 内存管理:定长内存块的分配、释放、重分配
Task Communication Software Timers Memory Management Test and Logging Facilities GKI Services A B C 任务通信:信号的创建、发送、接收、销毁 内存管理:定长内存块的分配、释放、重分配 软时钟:启动、停止定时器;发送超时信号; 内部队列管理:缓存信号、信号优先级机制 测试跟踪:跟踪应用程序任务同步之间的消息,提供记录,脚本等功能。 已经封装的RTOS: HIOS、AMX、REX、Nucleus+
22
GKI—任务通信 KiCreateSignal(…) KiSendSignal(…) KiReceiveSignal(…)
KiDestroySignal(…) KiCreateIntSignal(…) KiSendIntSignal(…)
23
GKI—定时器 KiStartTimer(…) KiStopTimer(…) KiGetRelativeTime(…)
24
GKI—内部队列 KiEnqueue(…) KiDequeue(…) KiOnqueue(…) KiFlushQueue(…)
25
协议栈模块介绍(GSM为例) PS = Layer1 + Layer2 + Layer Layer3 = RR + MM + CM
26
协议栈模块功能介绍 数据链路层L2(LAPDm) 可提供多个LAPDm连接(复用); 支持各种帧类型的辨别; 支持L3消息透明传输;
RR L2 L1 DL-UNIT DATA-REQUEST/ INDICATION DL-DATA-REQUEST/ INDICATION DL-ESTABLISH-REQUEST/ INDICATION/ CONFIRM DL-RELEASE-REQUEST/ INDICATION/ CONFIRM DL-SUSPEND-REQUEST/ CONFIRM DL-RESUME-REQUEST/ CONFIRM DL-RECONNECT-REQUEST/ CONFIRM DL-RANDOM ACCESS-REQUEST/ CONFIRM PH-DATA-REQUEST/ INDICATION PH-RANDOM ACCESS-REQUEST/ CONFIRM PH-CONNECT-INDICATION PH-READY-TO-SEND-INDICATION PH-EMPTY-FRAME-REQUEST MDL-ERROR-INDICATION MDL-RELEASE-REQUEST 可提供多个LAPDm连接(复用); 支持各种帧类型的辨别; 支持L3消息透明传输; 顺序控制,保持帧次序; 支持格式和操作错误检测; 通知L3处理不可恢复差错; 流量控制;
27
协议栈模块功能介绍 无线资源管理模块(RR) 进行小区选择; 监视邻近小区; 功率测量报告; 建立移动台和网络端连接;
执行立即指派和指派拒绝; 控制信道加密; 控制小区广播数据的接收; 执行不同的小区切换;
28
协议栈模块功能介绍 GSM网络和固定网络的主要区别: 切换目的: 切换准则: 动态分配通路资源(信道) 切换
救援切换(rescue handover) 边缘切换(confinement handover) 业务量切换(traffice handover) 切换准则: 发射功率静态数据 移动台测量数据(接收电平,下行传输质量) BTS测量数据(上行传输质量,接收电平,定时提前) 业务量考虑,小区容量和负荷
29
协议栈模块功能介绍 移动性管理 模块(MM) 正常位置更新功能; 周期性位置更新功能; IMSI 附着和分离功能; TMSI管理;
鉴权功能; 提供与SIM卡接口; 为CM层提供连接服务; 将L3消息传送给相应实体; 将PLMN消息传送给AL层;
30
协议栈模块功能介绍 建立、维护和释放呼叫 执行呼叫保持机制 执行呼叫等待机制 传送和接收DTMF消息 传送呼叫相关附加业务
呼叫控制 (CC) 建立、维护和释放呼叫 执行呼叫保持机制 执行呼叫等待机制 传送和接收DTMF消息 传送呼叫相关附加业务 接收呼叫相关附加业务 执行呼叫中修改 处理呼叫重建.
31
协议栈模块功能介绍 短消息业务 (SMS) 向网络发送短消息(MO) 从网络接收短消息(MT) 超时时向网络重传数据 向网络传送确认消息
建立短消息连接 保持短消息连接 释放短消息连接
32
协议栈模块功能介绍 附加业务 (SS) 呼叫前转类业务; 呼叫限制类业务; 号码显示类业务; 呼叫等待和呼叫保持; 闭合用户群CUG;
会议电话; 收费业务; 不定结构补充业务数据;
33
协议栈模块功能介绍 小区广播 (CB) 接收小区广播消息; 连接CB数据构成完整消息; 过滤AL不需要的CB消息;
过滤同一消息的重复传输; 非连续接收模式;
34
协议栈模块功能介绍 SIM卡管理 存储功能:
对SIM卡内信息进行读、写、删除操作。信息主要包括:ADN、短消息、优选PLMN表、禁止PLMN表、LAI、频率表、IMSI、TMSI、密码参数ki等。 保密功能: 用户鉴别;无线路径加密; 用户身份保护;
35
协议栈模块功能介绍 STK模块是指SIM APPLICATION TOOLKIT软件工具包,分别与SIM MANAGER,BL层和FL层之间有接口。 STK提供了一种机制,允许存在于SIM卡中的应用程序能够与任何支持该应用机制的移动台交互。 UIM/UTK PIM/PTK? Profile:ME通过该机制告诉SIM卡自身所支持的业务 Proactive SIM:STK支持一系列可能的菜单选项,菜单选项机制用来把用户选择的菜单项传送给SIM卡。SIM卡能够发起操作,由ME执行。 由STK进行呼叫/短消息/附加业务控制,SIM卡能够允许、阻塞或修改该操作。
36
协议栈模块功能介绍 测试接口(TIM) TIM模块负责控制在GSM技术规范11.10中规定的性能测试功能,处理DAI、TCH Loopback和从网络端收到的EMMI空中接口消息。
37
常见流程示例—开机流程 开机 位置登记 进入空闲模式 锁频(BCCH) 同步(SCH) 扫描BA列表,为切换做准备。 开机登记 周期性登记
驻扎(PACH/AGCH)
38
常见流程示例—主叫 E M X S C H HLR PSTN/ISDN BS VLR MSC BS BS 移动用户出局呼叫流程 3 3 6
1 6 E 6 M 2 2 X MSC BS S 3 C 3 5 H 4 4 BS 移动用户出局呼叫流程
39
常见流程示例—被叫
40
移动台呼叫建立信令流程简介 (um口,主叫为例)
CALL ESTABLISH(TCH) 移动台呼叫建立信令流程简介 (um口,主叫为例) CC CALL SETUP CC CALL PROCEEDING ALERTING CALL CONNECT Identification Authentication ciphering mode setting LAU MM CONNECTION REQ CONNECT ACKNOWLEDGE MM CM SERVICE REQUEST MM RR CONNECTION REQ CM SERVICE ACCEPT RR RR CHANNEL REQ (RACH) IMMIEDIATE ASSIGNMENT (AGCH) SABM(SDCCH) UA(SDCCH)
41
呼叫建立信令(成功流程)信号流图
42
手机软件开发流程介绍 手机软件开发调试简介 手机产品开发流程介绍 手机软件开发流程介绍
43
手机开发的一般用户过程 源代码通过编译汇编和连接过程生成目标平台的专用格式:可执行的COFF文件。 将目标文件下载到目标板的FLASH当中
采用适当的手段获得外部输入信号和软件输出消息,使用调试工具调试代码和反复更改
44
手机协议软件调试平台示意图 CRT_WORKSTATION通过网线和CRTC02测试仪相连接来进行GPRS相关的测试项目的管理操作
符合IEEE1149标准的JTAG(Joint Test Action Group)标准测试接口及相应的控制器,从而不但能控制和观察多处理器系统中每一个处理器的运行,测试每一块芯片,还可以用这个接口来装入程序。 CRTC02信令测试仪 用于将预先设定的测试项有序的组织起来,模拟基站来和来向手机提供测试信号。并可以从监视器当中来观察响应的消息记录。 Csample目标评估平台 通过RS232连接到PC,由PC机器控制在线仿真的调试
45
手机协议软件调试方法(1)
46
手机协议软件调试方法(2) Target Testing Integration Testing
Simulation Regression Testing (single task) Split System Testing
47
产品开发流程-阶段划分 产品开发主要阶段: 项目论证阶段 系统设计阶段(系统方案、系统设计) 工程研制阶段(详细设计、系统联调) 试生产阶段
生产阶段(小批量、批量)
48
编写可行性研究报告、制定研制任务书(草案)
产品开发流程-项目论证 下达可行性研究任务书 项目论证阶段 调研 项目可行性评审 项目撤销 进入系统设计阶段 下达研制任务书 撤销 编写可行性研究报告、制定研制任务书(草案) 技术分析 进度分析 经济分析 市场分析 重新研究 审批 批准 风险分析
49
产品开发流程-系统设计 通过 项目论证阶段 根据研制任务书 进行系统需求分析
系统的总体方案设计,功能指标、可信性指标分配,生产性工艺设计和各项工程的综合 确定功能分配基线,文件归档 通过 不通过 系统方案评审 进行系统、分系统的详细方案设计,软件模块设计,确定各单元的输入、输出和关键技术等 系统设计评审 进入工程研制阶段
50
进行系统的功能、技术指标测试和可靠性试验
产品开发流程-工程研制 详细设计评审 进行系统的功能、技术指标测试和可靠性试验 样机评审 功能详细设计 工艺结构 详细设计 不通过 可信性详细设计 生产及测试设备准备和制作 系统制造及调试 通过 提交设计和测试文件 审核文件及存档 进入试生产阶段 系统设计阶段
51
产品开发流程-试生产 工程研制阶段 分析技术情况,进行样机检测,制订初步工艺流程 返回工程研制阶段,进行设计更改 否 检测通过? 是
进行产品功能、指标检测,可靠性鉴定试验,试生产总结 设计定型评审 不通过 通过 设计文件归档,产品设计定型 返回工程研制阶段,进行设计更改 否 检测通过? 进行试生产,开实验局 是 工程研制阶段 进入小批量阶段
52
产品开发流程-生产阶段 分析生产工序能力,拟制产品生产管理文件 完善各工序的作业指导书 进行小批量生产 例行试验和小批量生产总结 不通过
完善设备和工装 完善检验 工序文件 生产定型评审 批准产品基线,产品生产定型 进入正式批量生产 试生产阶段
53
软件开发流程 需求分析阶段 总体设计阶段 详细设计阶段 系统测试阶段 系统维护阶段
54
软件开发流程 A 制定软件项目计划 根据软件需求进行工作量估算,制定软件项目计划,必要时进行评审,并在此后的过程中对该计划进行跟踪或调整。
软件系统总体设计 (根据软件需求设计软件总体框架、模块划分、模块间的接口等) 软件总体设计方案评审? 软件模块概要设计 (对单个模块进行总体概要设计,包括模块的总体框架、状态机制、信号流程等) 软件模块概要设计评审? 总体设计阶段 软件项目计划评审? 需求分析 (根据系统对软件的要求,进一步细化软件需求) 软件需求评审? 建立需求基线 对需求文档化、建立需求基线,纳入配置管理,并在此后的开发过程中对需求进行跟踪和管理。 需求分析阶段 开始 A
55
软件开发流程 A 详细设计阶段 根据概要设计结果调整软件项目计划,评审后建立基线 第一阶段:详细设计,编码,单模块调试,系统联调,版本基线化
基本功能稳定? 第二阶段:详细设计,编码,单模块调试,系统联调,版本基线化 进入测试部 根据测试人员向故障库提交的故障进行修改,定期提交测试版本 第n阶段:详细设计,编码,单模块调试,系统联调,版本基线化 系统测试阶段
56
结束语 苦练基本功,掌握核心技术,攀登移动通信技术高峰。
Similar presentations