


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于xDSL宽带网络测试系统的TL1通信协议设计与实现基于xDSL宽带网络测试系统的TL1通信协议设计与实现
基于xDSL宽带网络测试系统的TL1通信协议设计与实现
体定义数据的格式,如测试胜利tl1agent依据tl1通信协议将测得的数据结果打包成tli通信协议响应格式,发给上位机,如测试失败tliagent上报测试失败,在客户端显示对应的测试结果,和相应的表格和波形,此项测试任务完成。
对于自治消息,下位机在进行测试时不断检查系统设备状态,如风扇转速,设备温度等状态,如消失特别,则将特别状态通过tl1agent上报(函数调用),tl1agent将自治消息放入自治消息队列,并发送给上位机,完成自治消息的上报。tli协议用于承载由外接测试设备或内置测试板测试的内容,包括下发测试命令、测试模块的复位等,该协议内容可随测试内容而扩充更新。
此模块在设备层供应tli协议接口,是上位机和测摸索头之间的桥梁。不仅能够协作完成被动测试任务,还能够协作完成生产管理信息,自动上报告警信息,设备管理等功能。
3.2tl1通信协议模块的设计及实现整个模块采纳实时多任务的设计方法。对于任务之间的通信,在works中,由于整个操作系统使用一个地址空间,所以没必要对于进程之间的通信使用的信号量和消息队列有一个全局的名字。信号量允很多个任务相互协调其活动,任务间最直接的通信方式是共享各式各样的数据结构。由于works中全部任务存在于一个单一的线性地址空间,共享数据结构特别简单。在共享地址空间简化数据交换的同时,需要保证这块内存的互斥访问,works供应了很多实现共享临界区互斥访问的机制,信号量就是其中的一种。本模块使用二进制信号量,用于互斥临界区的访问和任务之间的同步。
二进制信号量可以作为资源可用于不行用的标志,当任务取一个二进制信号量时要调用semtake(),结果取决于调用时该二进制是否可用。假如可用,信号量将变得不行用,而任务连续执行,假如信号量不行用,任务被挂起到任务堵塞队列,直到该信号量可用。
当任务释放一个信号量时要调用semgive(),结果也要依靠于调用时该信号量是否可用。假如可用,本次释放信号量不起任何作用,假如信号量不行用,并且没有在等待该信号量,那么信号量变为可用;假如信号量不行用,并且有一个或多个任务在等待该信号量,那么堵塞队列中的第一个任务解除堵塞,而信号量仍不行用。
本模块中各任务在设定优先级时都设为相同的优先级,每个任务在处理一条测试命令后将调用taskdelay()函数,延时操作供应一个简洁的任务睡眠机制。taskdelayo用来移动调用任务到相同优先级就绪队列的尾部。在本模块中,通过调用taskdelay()自动将cpu让给系统中同优先级的其他任务来进行处理消息,在嵌入式软件中,除系统任务外,tl1通信协议的各任务优先级是最高的。
主控函数,将初始化参数。传输层协议tcp封装,全局变量的初始化、各功能参数设定命令、测试命令的监听、队列、消息处理函数的各任务的创建;每个任务也就是一个线程,每个线程都被编制成无限循环的程序,等待特定的输入,执行相应的任务。
对于tl1消息处理,在系统要进行测试任务之前,启动嵌入式软件,主控函数运行后,处理连接恳求线程tl1serversession首先要处理来自上位机的连接恳求,连接后,然后由tl1asynclientsession线程从上位机的读取tl1输入消息,将获得的输入消息放入接收队列,定义最大线程数为5,由线程调度进行推断线程池,依据状态来推断将要进行的调度,是创建消息处理线程还是唤醒消息处理线程,由消息解析处理线程asyntllmessagehandler对输入命令进行解析,解析后的消息出队列等待消息的发送,对输入命令进行解析,通过函数调用进行测试命令的下发,返回测试数据,将返回的测试数据进行tl1消息格式化处理,得到响应消息放入发送队列,等待出队列进行消息的发送即将响应消息返回上位机:tl1消息处理流程流程图
整个系统软件划分好模块后,考虑tl1通信协议模块与其它模块之间的接口,本模块对其它模块有两个接口,一个是与上位机(后台处理模块)之间的接口,另一个接口是与硬件驱动程序之间的接口。
与上位机之间的接口用套接口socket通信进行实现,流套接口供应了双向的、有序的、无重复并且很多据边界的数据流服务。套接口实现客户端的连接,消息的读取与发送消息。与硬件驱动程序之间的接口进行下发测试任务和读取测试后的数据,用函数调用进行下发测试任务的实现,假如测试胜利,对数据的读取是通过对于本测试任务的一个全局变量来读取,通过sprintf函数对测试后的数据进行格式化,假如测试失败,没有测试后的数据的打包过程,直接进行响应消息的格式化;假如在测试过程中有特别状况要上报时是被调用的关系,一样也使用函数调用来实现,下位机在不断的检查设备的状态,假如一旦发觉特别就调用此模块的自治消息函数,上报特别状况,tliagent接到特别消息,通过自治消息通道将消息发给客户端。模块之间的接口如图3所示。
4结束语
本系统tl1通信协议模块是基于works的多任务设计,使系统的实时性和稳定性都特别好。目前该adsl宽带网络测试系统己通过多个城市电信组织的测试,达到了系统的设计要求和性能指标。该系统不仅供应中国电信规定的公有接口,还自己定义了一套私有接口,有利于系统的功能的扩充。目前系统软件虽然完成了功能,也达到了预期的响应测试速度,但有一些设计上存在一些缺陷,如系统的时钟,并不是由mpc860系统时钟来进行掌握的,而是在开发的过程中发觉问题后改正的,由于当时硬件平台mpc860已经开发完,无法进行改进,只能由软件来自己定义一个时钟,对于嵌入式软件模块假如有需要系统时间的就要通过函数调用来完成,这样的显示的时间未必很精确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 明确目标:2024年珠宝鉴定师考试试题及答案
- 系统分析师考试前必做准备试题及答案
- 移动模架安全培训
- 职业健康知识培训教学课件
- 羽绒家纺知识培训课件
- 尿套的护理及注意事项
- 美妆知识技巧培训课件
- 高校辅导员团队管理与协调能力的考核试题及答案
- 糖尿病知识培训课件
- 服务器出租协议
- 学习课件铸牢中华民族共同体意识PPT
- 湖南省对口招生考试医卫专业十年真题(2010-2019年)
- DB32∕T 3916-2020 建筑地基基础检测规程
- 华能国际电力股份有限公司本质安全体系管理手册
- 中青剧院管理手册
- 《对话大千世界-绘画创意与实践》 第1课时 定格青春-向艺术家学创作
- CET46大学英语四六级单词EXCEL版
- 文化人类学完整版
- 2022年南通市特殊教育岗位教师招聘考试笔试试题及答案解析
- GB/T 13888-2009在开磁路中测量磁性材料矫顽力的方法
- 《刘姥姥人物形象分析》课件-部编版语文九年级上册
评论
0/150
提交评论