下载  >  开发技术  >  其它  > 论文研究-DSRC协议数据链路层的研究与实现 .pdf

论文研究-DSRC协议数据链路层的研究与实现 .pdf 评分

DSRC协议数据链路层的研究与实现,田奇峰,,DSRC专用短程通信协议是智能运输系统(ITS)领域内用于车路间高速无线通信的重要基础通信协议。本文分析了DSRC通信系统及其协议栈结构��
国科技论文在线 http://www.paper.edu.cn 的协议进程,其逻辑链烙控制操作包括两和类型。 类型1操作LC1):规定一个具有最小协议复杂度的不确认无连接方式的服务。在上层 提供了基本数据恢复和顺序功能时使用此类型操作。该数据传输服务提供一组方法,使数据 链路用户实体可采取不确认的方式交换LSDU,而无需在数据链路层上建立连接,也不需要 任何流控制和差错恢复功能。该数据传输可以是点对点、组搔或广播。 类型3採作①LC3):规定一个确认无连接方式的数据单元交换服务,它允许一个站点在 传送数据的同时又凊求回传数据。该数据单元交换服务提供一组方法,使数据链路用户实体 可以在不建立数据链路连接的情况下交换LSDU,并在LLC」层进行确认。该数据交换是点 对点的。详情及服务原语见参考文献 状态机 LPDU( LLC Protocol Data Unit是指MAC子层从LLC子层接收到的或投递给LLC子层的 逻辑链路控制协议数据单元,它由控制域和信息域组成。控制域由一个人位位组构成,根 据第5比特来区分ACn命令和Acn响应。信息域由N(0≤N≤120)个八位位组构成。上层传递的 SDU就包含在其中。控制域控制着PDU的收发及什么时候该产生响应。其编码规则如表1 所小。在控制域中,还有三个参数对协议通信起着相当重要的作用,它们是:发送序列状态 变量(SI)、接收序列状态变量RD和接收成败状态变量V(RB) 表LPDU控訇域编码 76543210 命令及响应类型 000P0011 UI命令(类型1) 011P011 A(0命令(类型3) 111POIlI ACI命令(类型3) 011F0l11 ACO响应(类型3) 111F0111 ACl响应(类型3) 状态机 LLCl信息传送通过发送P比特置0的U命令PDU实现。MAC控制域的C/R比特用 」确定PDU是否包含命令。第二层的LLC无需对接收到的Ul命令PDU进行确认,因此 LLC1的状态转换图比较简单,它只包含个 READDY状态。LC1状态转换图如图2所示 在 READY状态下,SAP可以接收或发送LLC1类型的命令PDU。当MAC子层向LLC 子层传递一个包含U命令PDU的 M-MAC, indication原语,则产生传递给数据链路层用户 个包含LSDU的DI- UNITDATA indication原语。该LSDU等于接收到的命令PDU的信 息域。当数据链路用户传递一个 DL-UNITDATA. rcqucst原语给LLC子层,则发送一个包含 UI命令PDU的 M-MAC request原语给MAC子层。 Rey Ul Unidata in READY Send ul Unidata Rcq 图2LLC1组件状态装换图 国科技论文在线 http://www.paper.edu.cn 状态机 LLC3分为发送组件和接收组件。LLC3接收组件负责接收远端LLC的ACn命令并返 回正确的ACn响应,所有的状态信息包含在状态变量中,其状态转换图结构和图2中的LLC1 相似,这里不再作介绍。LLC3、发送组件相对LLC1来说,较为复杂,状态有三种:IDLE 状态下可以处珄来白数据链峰层用户的请求,发送一个新的命令PDU; WAIT A和 WAIT R 状态下,组件只能从远端LLC接收响应或在超吋的情况下进行重发。 WAIT A状态用于期 望收到不带数据的确认响应情况,wAIR状态用于期望收到携带数据的应答响应情况。事 件有6种,动作有9种,其状态转换如表3所示。图中的参数N3(本设计中规定为N3=3)表 示最大的重传次数。 事件描述: 1)DATA_ ACK REQUEST:数据链路层用户传递一个 DL-DATA-ACK request原语给 LLC 2) REPLY REQUEST:数据链路层用户传递一个 DL-REPLY request原语给LLC 3) RECEiVE ACn rsP( SQR, R, LSDU:MAC子层传递给LLC子层一个包含ACO或 AC1响应PDU的M- MAC indication原语,其中的响应序列比特SQR(LLC控制域码字的第 8比特)对AC0响应为0,对AC响应为L。该事件存在以下参数值 SQR=V(S):响应序列比特与发送组件的v(S状态变量相等。 SQR<V(Sn):响应序列比特与发送组作的V(SD状态变量不相等。 R=OK:已接收的响应PDU状态子域的RRRR部分显示为“OK”状态(指示包含一个 LSD) R<>OK:己接收的响应PDU状态子域的RRRR部分显小为除“OK”外的其他状态(指 示不包含一个LSDU 4) ACK TIMER EXPIRED:与发送组件相关(该定吋器对应特定的专用链路地址)的 确认定时器超时。 5) RETRY COUNT<N3:发送组件的重传次数小于逻辑链路参数N3。 6) RETRY COUNT>=N3:发送组件的重发次数大于或等于逻辑链路参数N3 2LLC3发送组件状态转换表 当前状态 事件 动作 下一状态 IDLE RECEIVE ACO rsp 无 IDLE DATA ACK REQUEST Actionl: action3: Actiong WAIT A REPLY REQUEST Action: action 3: Action g WAIT R WAIT_A RECEIVE_ACn_ RSP(SQR>V(SD), ActionS(STATUS-STATUS_SUBFIELD);IDLE R<OK) Action 4: Action 7 Action 8 RECEIVE_ACn RSP(SQR V(SI), ActionS(STATUS-=PE); IDLE R=OK) Action4 Action 7 Action 8 RECEIVE_ACn_RSP(SQR-V(SD))T WAIT A ACK TIMER EXPIRED Action 2: Action 3: Action 9 WAIT A RETRY COUNT<N3 ACK TIMER EXPIRED Action5(STATUS=UNSUCCESSFUL); Actio IDLE RETRY COUNT>=N3 n8 WAIT R RECEIVE ACn RSP(SQRV(SI), Action6(STATUS= STATUS SUBFIELD IDLE R>OK) LSDU=NULL: Action4: Action7: Action 8 RECEIVE_ ACn RSP(SQR<V(SI), Action6(STATUS-STATUS_SUBFIELD,LSIDLE 国科技论文在线 http://www.paper.edu.cn R=OK) DU=GIVEN LSDU): Action4, 7, 8 RECEIVE_ ACn RSP(SQR-V(SD))E WAIT R ACK TIMER EXPIRED Action 2: Action 3: Action g WAIT R RETRY COUNT<N3 ACK TIMER EXPIRED Action6(STATUS IDLE RETRY COUNT>=N3 UNSUCCESSFUL); Action8 动作描述: Actionl: send ACn CMD(SQC,P),传递一个包含AC0或AC1命令PDU的 M-MAC request原语给MAC子层。本动作存在下列参数值 SQC=V(S)将命令序列比特(LC控制域码字的第8比特)置成与该发送组件V(S状 态变量相等的值。如果V(SI状态变量不存在,创建个值为0的Ⅴ(SI〕;否则就使用当前值。 -P=0:响应的P比特置0 =1:响应的P比特置1。 Action2: RE-SEND OLD CMD,传递一个最近刚由该发送组件发送的包含ACn命令 PDU的 M-MAC request原话给MAC子层 Action3: START ACK TIMER,启动发送组件的确认定时器。 Action4: CANCEL-ACK TIMER,取消发送组件的确认定时器。 Action5:DATA_ ACK STATUS INDICATION( STATUS)传递给数据链路层用户一个 DL-DATA- ACK-STATUS indication原语。木动作存在以卜参数值: STATUS= UNSUCCESSFUL,状态参数被置成确认接收失败。 STATUS= STATUS SUBFIELD,状态参数根据接收的响应PDU的返回状态米设置。 Action6: REPLY STATUS INDICATION( STATUS,LSDU)传递给数据链路层用户一个 DI- REPLY STATUSindication原语。本动作存在以下参数值: STATUS= UNSUCCESSFUL,状态参数被置为确认接收失败。 STATUS= STATUS SUBFIELD,状态参数根据接收的响应PDU的返回状态来设置。 STATUS=PE,状态参数设置成PE状态(协议错误) LSDU=NULL,数据参数为空 LSDU=GⅠ VEN LSDU,相关 M-MAC indication原语给出的数据参数包含LSDU。 action7:V(SD)=1-V(S1),将发送组件的vS)状态变量取反 Action8: RETRY COUNT=0,发送组件的重发计数器置0。 Action9: RETRY COUNT= RETRY COUNTI1,发送组件的重发计数器值加1。 数据链路层的具体实现 DSRC协议数据链路层的实现主要包括MAC子层模块的实现和LLC子层模块的实现。 为了保证协议的实时性和代码效率,木文使用C语言实现。 国科技论文在线 http://www.paper.edu.cn Lpdu Lpdu M Mac request M Mac indication GctCrc16 sCrc 16Good bit stunt bit remove scnd framc rcccivc tramc 物理层 BUFFER 图3MAC子层流程图 子层的实现 MAC子层的主要功能和服务原语如3.1节所述,MAC子层实现以此为基础,其流程图 如图3所示。LLC子层的LPDU通过 M Mac request函数进入MAC子层,经过给LPDU 加上MAC地址、MAC控制域、计算CRC校验、位填充和添加起始结束标记生成第二层帧。 由于本实现不涉及物理层,但为了便于测试,于是通过malc申请了一个 BUFFER,将生 成的帧通过 send frame函数发送到该 BUFFER。然后通过 receive frame去轮询该 BUFFER, 如果有一个帧,则将该帧取出,经过去除起始结束标记及填充的零、CRC检验、去除MAC 地址及控制域,生成一个LPDU,通过 M Mac indication原语以消息的形式将该LPDU投 递到LLC子层的传输控制消息队列。 子层的实现 LLC子层负责调用相应的炎型1或类型3操作的请求原语把应用层传下来的LSDU封 装成LPDU,并通过MAC子层提供的服务把它们发送出去。同样地,LLC子层也负责接收 MAC子层传上来的LPDU,并分析起其控制域,以决定调用相应的类型1或类型3操作的 indication原语,投递给应用层。 为了实现LLC了层的状态机,本文使用了 Linux下的多线程库和 POSIX消息队列库, 定时器使用 setitimer与信号和条件交量两种方法实现。整个数据链路层的系统图如图4所示。 TCT为传输控制线稈,分别负责从应用昃和MAC子层接收LSDU和LPDU,然后根据其消息 类型将其转发给LLC1T线程、LLC3sT线程、LLC3rT线程;LLC1T为类型1操作线程 负责类型1命令的发送与接收;LLC3sT为类型3操作发送线程,负责类型3命令的发送和 其发送状态向应用层的报告;LLC3rT为类型3操作接收线程,负责命令的接收与投递及 其响应的生成。每个线程有一个以M结尾的消息队列,并且每个线程只能操作自己的消息 队列,然后棖据接收到得消息去驱动3.3节中的状态机。箭头线表示消息的流动方向。蓝色 箭头虚线为从上层或下层接收的主要消息流。红色箭头粗实线为传输控制线程转发到其他三 国科技论文在线 http://www.paper.edu.cn 个线程的消息流。 应用层消息队列 传输控制 TC千 TC M LLCBr T LLC1千 LLC&S T lLC3r m LLCI M llCs M M Mac request M Mac indication 物理层 BUFFER 图4链路层系统结构图 LLC了层各消息队列中的消息数据结构如下: f struct byte lid4; /*mac addr=link identifier*/ b /1-11的每个整数代表LLC子层的一条服务原语* byte lpdu[122] /lpdu or lsu byte Message length*/ byte flag: /*0 means Isdu; 1 means lpdu"/ byte c r; /*0 mcans command 1 mcans responsc*/ s 测试结果 由」木人没有涉及物理层的工作以及实验室的条件的限制,DSRC协议的链峰层无法在 貞实的环境中进行验证。但是为了测试结果的正确性,本文采用如下方式进行测试:模拟从 应用层消息队列获得数据,调用LLC子层的服务原语,再调用MAC子层的服务原语把数 据传到物理层,物理层是通过一个 BUFFER模拟的,让后再进行相反的过程。测试环境为 嵌入式 Linux和 Freescale的基于 PowerPC的ADS512101评佔板程序测试结果如图5所示 有三帧数据,分别是:0x7a58b3n2c039c5e487abf741、0x7a58b3f2c067bf7a485e9c 4141和0x7a58b32c0f7fsee87acf5411,其中MAC地址域和MAC控制域内容相同 不同的是LPDU,主要原因是为了测试类型1操作和类犁3操作。两个冒号左边的是函数名 国科技论文在线 http://www.paper.edu.cn 主要是为了定位数据流动情况。因为类型1操作和类型3操作是可以并发进行的,所以第2 行和第3行对应于头两帧,由于MAC子层的操作是可重入的,所以第一帧先被处理,第6 行显示了该帧为类型1命令帧,第7行为第二帧的真实内容,第8和第9行说明接收线程接 收到了一个类型3命令帧,第10至第12行为对该命令帧的确认帧,第13行是向应用层报 告该命令帧的发送情况,第14行为第三帧经过位填充后的显示內容,第15、16和17行显 示接收到了该命令帧,第18行是对该帧的确认帧,最后三行表明收到该命令帧的发送情况 报告和它请求的LSDU的不可获得 Irooteqftian dsrc #./nL Mlac_Request: stu T fedor Lagged frane 15 bytes: /e /a= bs eg b0 1 ce 2t 24 3d 5f 5d0=T 8e M ac Request: stuffed& lagged frane =15 bytes: 7e 7a 58 b3 e9 6033 df 5e 92 17 a7 0 50 5f 86 receive frame Nlu nher cf bytes after removing 0& flag =13 7a 58 b3 f2 c0 3 9c 5e 48 7a bf 741 MMacIndlcat10n:: opPosite side Tac acdr: 7a58r3 2, a command rame, lpdu conntent: 3 gc 5e 48 7a DT llcl thread : type 1 rame con tent: 9c 52 48 7a b receive frame : Nu mEer cf bytes after removing 00 flag-13 7a 58 b3 f2 c0 67 bf 7a 48 e 9c 41 41 DL Data Ack indication eceive a T-AP)U, opPosite lid is7a58b3-2, content: bf 7a 48 5e 9c M_Mac_ Request: 5tu ffed&flagged frane -12 bytes: 7e 7a 58 b3 e9 70 7- 39 f5 df 80 ag=9:7a58br2e473t7 M Mac Indication:: opPosite side Tac acdr: 7a58E3-2, a es ponse frame, Lpdu conr tent: e7 40 DL Data Ack 5 ATUs ind- cation : receive a status report cppos1e l:d 157a8b3T2, status 15 4 eceive frame Nu mter cf bytes after removing 8& flag =13, er ab dd r 59 ea 82 2r co M_Mac_Indication: opposite side rac acdr: 7a50 3-2, a command rame, lpdu conntent: t7 ff 5e e0 7a cr 54-1 a 58 b3 f2 c 0=64+:计9d+-121b9:后9813403509 eceive frame :: Nu mber cf bytes after removing 0 o flag=9 : 7a s0 b= f2 e0 77 30 a9 9d M M8c IndicaLiul:: oopusiLe side lac acdr: 7a58E3 2,d'es punse fI dnle, lpdu Cunlr LenL: 77 30 DL RepLy SIAlUs indica=lcn:: receive a -AFDU, cPpos1-e lId 1s/a58b3t2, Res ponse LsbU never submi tted, stats 15 30 图5系统测试结果图 结论 本文对国标DSRC协议的数据链路层做了总体的分析、设计和实现。虽然由于此协议 与硬件密切相关及条件的限制,作者没有在真正的实际环境中测试,但经过在评估板上的模 拟测试,所得结果完全正确,具有较好的性能,且满足时间精度要求,为以后相关领域的研 究和其他扩展应用提供了重要的实践基础。 参考文献 ]GBT20851-2007.电子收费专用短程通信[S].北京:中国国家标准化管理委员会,2007 [2]宋茂强.通信软件没计基础[M.北京:北京邮电人学出版社,208 3] IEEE Std 802.2-1998 Edition (R2003). Part 2: Logical Link Control[S]. New York: IEEE, 2003 [4]陈凌旭,DSRC协议效据链路层硏究与部分实现[D].成都:西南交通人学,2005 [ 5]W.Richard Stevens. APUEIM. New York: Addison Wesley, 2005 [6W. Richard Stevens. UNIX Network Programming V2, Second Edition[M]. New York: PHPTR, 2000 Tian Qifeng School of computer Science and Technology, BeiJing University of Posts and Telecommunications. Bci.Jing(100876) DSRC is a basic communication protocol used for wireless communication between vehicle and road in the ITS. This paper analyzes dsrc protocol stack and dsrc communication system, states main functions and service types of data link layer with LLC sublayer as a key point, presents the FSM of LLC, and gives a implementation of data link layer based on PowerPc processor and embedded Linux operating system, which lays the foundation for the development of application layer of dsrC protocol, research of ITs field and other extended application MAC: LLC: DSRC: ITS: Linux

...展开详情
所需积分/C币:9 上传时间:2019-08-17 资源大小:413KB
举报 举报 收藏 收藏 (1)
分享 分享
论文研究-高通量DNA测序数据的多任务并行压缩算法.pdf

研究采用任务并行的方法,对FastQ格式文件的压缩程序DSRC(DNA sequence reads compression)进行了加速。这一任务并行算法将DSRC分为数据读入和数据压缩两个独立的任务,而后将数据压缩的统计过程进一步细分为title行数据统计和其他数据统计两个独立任务。研究结合CPU多线程、GPU、MIC(many integrated core),针对title行数据设计了高并行度的统计算法,实现title行数据的并行统计。在维持原有压缩比的情况下,本研究得到的最大压缩通量可以达到144 MBps,最大加速比可达三倍。结果表明,多任务并行的方法可以有效地加速DSRC,而协处理

立即下载
ModbusTCP/RTU网关设计

基于UIP协议栈,实现MODBUS联网,可参考本文档资料,有MODBUS协议介绍

立即下载
html+css+js制作的一个动态的新年贺卡

该代码是http://blog.csdn.net/qq_29656961/article/details/78155792博客里面的代码,代码里面有要用到的图片资源和音乐资源。

立即下载
iCopy解码软件v1.0.1.7.exe

解ic,id,hid卡密码破解ic,id,hid卡密码破解ic,id,hid破解ic,id,hid卡破解ic,id,hid卡密码密码卡密码破解ic,id,hid卡...

立即下载
分布式服务框架原理与实践(高清完整版)

第1章应用架构演进1 1.1传统垂直应用架构2 1.1.1垂直应用架构介绍2 1.1.2垂直应用架构面临的挑战4 1.2RPC架构6 1.2.1RPC框架原理6 1.2.2最简单的RPC框架实现8 1.2.3业界主流RPC框架14 1.2.4RPC框架面临的挑战17 1.3SOA服务化架构18 1.3.1面向服务设计的原则18 1.3.2服务治理19 1.4微服务架构21 1.4.1什么是微服务21 1.4.2微服务架构对比SOA22 1.5总结23 第2章分布式服务框架入门25 2.1分布式服务框架诞生背景26 2.1.1应用从集中式走向分布式.26?

立即下载
Camtasia 9安装及破解方法绝对有效

附件中注册方法亲测有效,加以整理与大家共享。 由于附件大于60m传不上去,另附Camtasia 9百度云下载地址。免费自取 链接:http://pan.baidu.com/s/1kVABnhH 密码:xees

立即下载
电磁场与电磁波第四版谢处方 PDF

电磁场与电磁波第四版谢处方 (清晰版),做天线设计的可以作为参考。

立即下载
压缩包爆破解密工具(7z、rar、zip)

压缩包内包含三个工具,分别可以用来爆破解密7z压缩包、rar压缩包和zip压缩包。

立即下载
source insight 4.0.0087 注册机序列号Patched(2017/10/17)

最新的sourceinsight4.0.0087和谐license及和谐文件。真正的4087版本,使用附件中的license文件,替换sourceinsight4.exe

立即下载
Java项目经验汇总(简历项目素材)

Java项目经验汇总(简历项目素材)

立即下载
支付宝转账demo-实现提现功能

支付宝单笔转账,实现提现功能,自己用到,所以分享给大家,希望可以帮到大家。(内有demo实例,望大家多多提意见)

立即下载
算法第四版 高清完整中文版PDF

《算法 第4版 》是Sedgewick之巨著 与高德纳TAOCP一脉相承 是算法领域经典的参考书 涵盖所有程序员必须掌握的50种算法 全面介绍了关于算法和数据结构的必备知识 并特别针对排序 搜索 图处理和字符串处理进行了论述 第4版具体给出了每位程序员应知应会的50个算法 提供了实际代码 而且这些Java代码实现采用了模块化的编程风格 读者可以方便地加以改造

立即下载
计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的修复方案

计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的修复方案

立即下载
最新的微信小程序源码

最新的微信小程序源码70多个很多行业都有加后台

立即下载
http://pan.baidu.com/s/1jIykf2I

视频剪贴工具Bigasoft_Tota_Video_Converter.rar用于图像的剪贴合并

立即下载
LostCraft_安徽信息工程学院大一学弟学妹专用

LostCraft为安徽信息工程学院大一下学期课程内原有代码,,由于一些学弟学妹们懒得去敲,我就照着书本把它敲了下来,亲测通过。如果下载后运行不了,自己百度去吧!!!

立即下载
XMind 8彻底破解版

XMind 彻底破解可用, XMind破解 XMind破解 XMind破解 XMind破解 XMind破解

立即下载