ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:1.14MB ,
资源ID:3739605      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3739605.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于dPMR标准的数字对讲机软件系统设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于dPMR标准的数字对讲机软件系统设计.docx

1、基于dPMR标准的数字对讲机软件系统设计基于dPMR标准的数字对讲机软件系统设计作者: 黄科军、孙陟、陈维明、胡红钱、崔洪州日期: Jan. 20111. 文档历史版本号日期修改的原因修改人0.12010.12.12Draft黄科军0.22011.02.09格式整理、重新组织、增加了开发阶段的描述和软件设计框图陈维明0.32011.02.214.4人机界面雏形定义。6.3.3人机界面LCD相关接口函数。胡红钱0.42011.03.07增加/更新6.1.2任务及其信息交互 6.3.1主程序流程6.4 呼叫控制状态机孙陟2. 文档目的此文档为基于dPMR标准的数字对讲机软件系统设计。基于dPMR的

2、数字对讲机开发将分三个阶段(见3.2节),本设计主要考虑第一阶段。其它阶段的设计将单独形成设计文档。本文档包括将要实现的功能描述、人机界面设计和软件的详细设计等。3. 背景描述3.1 dPMR简介dPMR是ETSI推出的基于频分复用(FDMA)技术,RF载波带宽6.25KHz的窄带数字公众无线对讲机标准。标准号 ETSI TS 102 490,目前的版本是V1.6.1(2010年8月)。dPMR标准规定了三种工作模式:其中TS102 490规定的是一个端到端(peer-to-peer)的直接互连网络(模式1)。除此之外,dPMR另有两种增强模式:带中继模式(模式2)及带管理功能的中继模式(模式

3、3),不在本文档讨论范围内。符合这个文档标准的无线电设备应该在物理层和数据链路层能够不同的厂家设备互相通信。文档描述了设备提供的两层功能(服务和设施)。为了互操作性,定义的一个基本级别的服务和设施(ISF),简化的模式,所有的无线电设备无需任何设置或编程即可互相操作。同时也定义了一个高级服务和设施级别(CSF)通过重新编程能够提供更高级的功能。如果制造商宣布符合CSF对讲机“标准用户接口”,则人机接口(MMI)也必须符合附录A的相关要求。(见相关标准文件)3.2 基于dPMR的数字对讲机开发的三个阶段数字无线对讲机开发实行分阶段进行,第一阶段采用现成ASIC芯片实现基带信号处理,协议实现;第二

4、阶段采用4FSK的Modem芯片来做基带信号处理,由微处理器来实现数字对讲机协议及呼叫控制;第三阶段将会开发完整的算法,包括4FSK的调整解调算法,数字对讲机协议及呼叫控制,语音编解码算法等。目前在开发的是第一阶段和第二阶段产品,其中ASIC芯片采用CMX7141芯片,芯片内部包括4FSK的调制解调功能,dPMR的协议,语音编解码器接口控制等功能,语音编解码器采用CMX618芯片;ASIC芯片可以换成CMX7041芯片,这是一个4FSK的调制解调器,数字对讲机的协议自主开发,在微处理器上运行。射频部分电路采用分离元器件设计。第一阶段方案(基于CMX7141+CMX618):第二阶段方案:4FS

5、K Modem +ARM版第三阶段方案:DSP版C-Bus I/F4. 对讲机外观、界面设计和人机操作4.1 对讲机外观对讲机外观图及各功能键简单描述。(参考HYT资料) 表一PTT键(发射按键) 发射与接收的转换键;发射时,按此键,并对着麦克风讲话;接收时,松开此键。 SK1键 SK1 键,可编程按键。 SK2键 SK2 键,可编程按键。 LCD显示屏 用于显示对讲机的各种工作状态。 功能键盘 l 退出键:用于返回上一级菜单; l 上移键 l 下移键 l 菜单/选择确认键:用于激活菜单模式,进入菜单后用此键选择菜单内的各项。 图一4.2 界面设计 屏幕显示 图二 表二 LED指示灯灯指示状态

6、及提示音如下: 对讲机状态 LED 指示 发射 红灯亮 接收 绿灯亮 低电压报警 红灯闪 发起呼叫后 橙灯亮 接收呼叫后 橙灯慢闪 扫描指示 绿灯闪 键盘 图三 表二表三4.3 人机界面操作描述(以后逐步添加完善)- 细化和完善 (胡红钱)通话功能人机接口 (按键输入定义,界面)根据本版数字对讲机的LCD配置,可以显示128*32个点,其界面定义如下:图 从上到下:前十一行:界面提示图标第十二行:空行第十三行、第十四行:文本显示框第十五行到第三十行:十六行的文本显示区(两行文本)第三十一、三十二行:文本显示框从左到右: 共有九个显示图标位置,全部位于前十一行显示,每个图标占用12列。本版对讲机

7、共有17种状态图表,显示区域最多可以显示9个图标,部分图标根据优先级共享区域显示,其定义如下图。表 本版对讲机共有两行的文本显示区域,位于第15行30行,第3列126列,每行可以显示15个标准ASCII字符,两行可以显示30个字符。各种状态下的各个不同状态界面(等消息定义完成后再定)短信功能人机接口 (输入法,界面)功能配置界面(通过上位机软件或人机接口配置)电话功能(主叫呼叫、接听来电、通话状态、通话结束) 主叫呼叫 (相关操作和显示定义)在空闲(Idle)界面,用户可以通过按数字键(0-9)来拨号(拨号规则可以参见协议附录),系统显示正在呼叫界面。系统显示呼叫界面并向网络发送呼叫信号,等待

8、连接成功消息,接到连接成功消息后呼叫界面关闭,系统进入通话状态,显示通话界面。在通话界面启动后开始对通话进行计时,双方通话开始。 系统在呼叫过程中下列按键处于休眠状态的,OK键、左软键、右软键、拨号键、上下选择键,系统不响应按键事件。在呼叫过程中按取消键系统停止呼叫并返回到空闲(Idle)状态。 接听来电 (相关操作和显示定义)对讲机接收到从对方电台发来的来电消息后,提取主叫的电话号码ID。显示来电信息,来电界面为主叫的号码。在LCD屏幕中央弹出一个提示框,提示框包括主叫姓名或电话号码?。系统在来电状态下播放来电铃声,等待用户接听。如果按接听键,按挂机键挂断,在接听过程中按挂断键系统返回到空闲

9、(Idle)状态。 通话保持 (相关操作和显示定义)系统处于通话状态后,显示通话中界面。在通话状态中按键处于休眠状态,按OK键、左软键、右软键、拨号键、上下选择键,系统不响应按键事件。用户可以按挂断键系统进入空闲(idle)状态。 通话结束 (相关操作和显示定义)系统接收到通话结束拆线命令后,挂断电话显示已经挂机、关闭通话界面、进入空闲(Idle)界面。 短信功能: (相关操作和显示定义) 短信发送流程如果对讲机B收到A所发短信建立请求,对讲机B向A发送短信ACK,发送信令后B等待短信接收。移动台A收到短信ACK后,进行短信发送。对讲机A在时限范围内未收到对方ACK,提示短信发送失败,返回待机

10、状念。 收到短信后,提示短信铃声,屏幕显示来电ID号,通过确认键,上下键翻页阅读。短信长度,行数,存储条数,存储地址(需要定义)。发送短信,先输入短信,点击确认键发送,成功显示发送成功,没有成功显示发送失败。 短信暂时不显示中文。发送完成后存入flash地址中。 电话本 电话本存储呼叫、通话记录电话本软件设计中应实现的功能包括:1. 新增记录2. 查看编辑记录3. 删除单条记录4. 删除全部记录 配置功能 可以通过上位机软件实现全部功能,也可在人机界面中实现部分功能。扫描,静噪调整,电量指示,低电量报警, 繁忙锁定,发射限时,省电模式,步进频率,功率选择,可编程按键.(详见需求分析)通过上位机

11、软件实现。扫描:顺序信道扫描,优先信道扫描,逐个跳转到设定的信道停留一定时间,检测issi信号强度。静噪调整:设定issi的阈值电量指示:通过A/D读取,显示5. 开发环境 5.1. 硬件平台和开发装置 DX32实验板(ARM处理器STM32F103) J-LINK v75.2. 软件开发环境 C语言 Realview MDK 3.80 uC/OS uC/GUI 其它?6. 软件设计 6.1. 系统架构 6.1.1系统框图系统软件大致分为操作系统和驱动、呼叫控制和状态机、监控和调试、人机界面等。6.1.2任务及其信息交互 (孙陟)包图:Biz 模块:包括主要的 业务逻辑Display 模块:

12、显示UI抽象层,包含UI相关的逻辑,并调用具体的LCD驱动接口UserInput模块: 用户输入抽象层,包含用户输入相关逻辑,并接受输入的键值NetInput模块:网络抽象层,接受来自网络的数据进入。NetOutput模块: 网络抽象层,发送数据到网络,与底层模块(如CMX)交互Storage模块: 存储数据到FLASHRF模块: 负责与RF接口交互任务组件交互图:系统初始化后,主要起3个任务:Store task: 存储任务,负责把config内存数据保存到FLASH.NetSender task:负责发送网络数据,可能有阻塞延时操作Main task: 主任务,负责监控并处理消息队列(ms

13、g queue)数据,然后经过逻辑处理,分别刷新UI,通过网络层发送数据,更新状态,更新config并通知存储任务保存数据到FLASH。用户的输入(KEY,PTT),网络接收数据(CMX)通过事件(中断)放入main task的消息队列类图:Biz: 业务逻辑主模块。State: 存储当前状态Session: 存储与某一会话相关的数据,如状态,主叫号码,被叫号码,等SessionMgr: 负责管理各个session。NetInput: 通知Biz有来自网络层(如CMX)的信令到来。NetData: 负责解析收到的网络数据,打包需要发送的数据NetOutput: 负责发送数据,依赖于具体的底层模

14、块,如cmx,dpmr,socket.Display: 负责UI的逻辑。LCD: 在LCD上显示UI的具体实现。UserInput: 通知Biz有来自用户的输入(如按键,PTT)到来。UserInputData: 负责解析收到的用户输入的数据RFInput: 通知Biz有来自RF的信号到来RFOutput: 写数据到RFDataCache: 内部数据,包括configStorge: 负责存储数据到FLASH6.2. 接口定义 6.2.1驱动接口的定义 射频控制部分 (1) void RFpowercontrl(void)功能:D/A设置对讲机发射功率 具体参数等待测量结果(2) void Rx

15、filter(void) 功能:D/A 调整调谐滤波器的中心频率 具体参数等待测量结果(3) issi(void)功能:A/D 信号强度检测 返回结果,指示电压的转换值(4) void SetFirstLO (u32 LocalOsc) 功能:设置第一本振(5) void SetSecondLO(void) 功能:设置第二本振(固定45.1M)(6) void Txfrequency(u32 freq) 功能: 设置发射频率设置(7) void RFcontrlinit(void)功能:射频部分初始化,初始化射频模块设置接收状态,接收频率 设备驱动 (1)Lcd相关驱动 参见液晶生产商给的资料

16、void lcdcommand(uchar com) 写命令参数函数void lcdDataWrite(uchar data) 写数据函数void initialize(void)初始化LCDvoid setstartline(uchar startline)设置显示位置void clearscr() 清屏void DisplayPic(uchar page,uchar column,uchar *picku) 显示子函数(2)flash存储器相关驱动 参见开发板中资料 void FLASH_SPI_Config(void) 初始化串行FLASH的SPI接口SPIByte(u8 byte) 读

17、写SPI总线void SSTCmd1(u8 cmd) 写一个SST命令/写一个命令后一个数据/写一个命令后再写3个数据SSTCmdb1b(u8 cmd)写一个SST命令,返回1字节数据/写1个命令字,3个地址字,返回多个字节void SST25WREN(void) 允许写功能void SST25WRDI(void) 检测忙void SST25WPEN(void) 允许软件写保护void SST25WriteEn(void) 先消除保护位,再允许写位u16 SST25ReadID(void) 读取SST的IDvoid SST25ChipErase(void) 刷除CHIPvoid SST25Se

18、ctorErase(u32 addr) 刷扇区void SST25ByteProgram(u32 addr,u8 byte) 写一个字节void SST25Write(u32 addr,u8* p_data,u32 no) 写多个字节void SST25Read(u32 addr,u8* p_data,u32 no) 高速读 对于后续带5的芯片,可调用此函数读void SST25ReadL(u32 addr,u8* p_data,u32 no) 低速读(3)AD(void)功能:A/D 信号强度检测 返回结果电压值的转换值(4)READIO(void)功能:读取当前信道编号 返回结果当前信道号

19、(5)矩阵键盘相关驱动void CountingKey(void)功能:时间标志的计算,主要用于消抖,保持的判断void ManageKey(HALKEY_TYPE key)功能:硬件扫描按键,并置位各个标志注意事项:参数为键IO端口读出的值(6)内部资源的相关驱动定时器,串口控制器,GPIO,SPI控制器,A/D,D/A相关驱动 详见开发板(7)Cbus相关驱动: 见CML网站提供的资料Void wr_byte(unsigned char byte)Void wr1(unsigned char address,unsigned char databyte)Void wr2(unsigned

20、char address,unsigned char databyte)Unsigned char rd_byte(void)Void rd1(unsigned char address)Void rd2(unsigned char address) CMX618配置cmx7141内部集成了cmx618的控制器对cmx618的操作仅需要配置cmx7141的相关寄器就可以控制cmx618,对于cmx7041需要通过Cbus接口控制cmx618Viod cmx618init(viod)功能:618初始化,设置编码速率,前向纠错FEC,输入输出增益调整,亚音频设置Viod cmx618decode(

21、viod)功能:618开始解码,配置寄存器启动cmx618,参见数字发送脚本 CMX7141配置 (待细化) - 黄科军tx_burst_voice_forever2.cbs :数字发送 Tx dPMR prbs.pesrx_dpmr2.cbs : 数字接收ATB010synth_RX_09375.pes : 模拟发射锁相环配置446.09375MHZATB010synth_TX_09375.pes : 模拟接收锁相环配置446.09375MHZRx_Analogue.pes : 模拟发射Tx_analogue.pes : 模拟接收6.2.1呼叫控制层与数据链路层的接口定义? - 崔博士、陈维

22、明To be added.6.3. 各个任务模块 6.3.1主程序流程 (孙陟)上电初始化读取flash配置信息初始化IO , 定时器初始化Cmx618; 编码速率,前向纠错FEC,输入输出增益调整,亚音频设置初始化LCD; 开机界面显示射频部分初始化; 初始发射功率,接收状态模拟开关选择:PWM方式输入启动人机界面和状态机任务。其它?系统启动流程:主任务流程:主任务监控消息队列,当新的消息到来,判断是何种消息,key input, cmx input, from RF? 对收到的数据进行解析,得到更多的具体信息,如呼叫号码,输入键值等。然后把解析后的数据放入主逻辑流程,做如下事情:- 定位当

23、前数据所属session,更新session相关的数据,包括状态。- 根据新的状态,来决定对UI,NET,RF等子模块的调用逻辑。- 被调用各子模块根据输入参数,执行具体的与子模块相关的逻辑。- 各个模块执行完毕后,主任务重新进入等待新消息状态。6.4. (孙陟) 呼叫控制状态机(FSM)单呼组呼短信短信群发:对讲机上电及初始化后的进入下列几种状态(从打开电源开机到关机的下列状态转换)状态装换的描述待添加。 呼叫流程图6.3.3人机界面任务 (胡红钱) LCD初始化函数: LcdInit(void) 驱动相关函数: void LcdCmd(u8 cmd) 命令发送函数 void LcdDat(

24、u8 dat) 数据发送函数 设置相关函数: void LcdOnOff(u8 onoff) 开关LCD背光灯void LcdSetXP(u8 x,u8 page) 起始页和页内列地址设置void SetStartLine(u8 xline) 起始行设置 高层函数: void LCDjiemian(void) 开机界面函数void LcdFill(u8 dat) 屏幕填充函数void LcdChar8(char chr) 字符显示函数? 主要的数据结构 任务的主流程图 与其它任务的信息交互 (多个任务的情况)6.3.4其它任务? (TBD) 主要的数据结构 任务的主流程图 与其它任务的信息交互 (多个任务的情况)7. 测试相关设计 (TBD) 测试模块或测试工具的设计? 特殊的信息输出或记录? 测试接口预留?8. 集成测试或单元测试用例 (TBD) 集成测试用例? 子系统单元测试用例? 功能模块单元测试用例? 9. 参考文献列出所参考的或详细内容所在的文档.10. 缩略语GUI Graphical User Interface11. 致谢描述相关的人员对文档的贡献,并致谢意。END OF DOCUMENT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1