MVB帧收发模块设计.docx_第1页
MVB帧收发模块设计.docx_第2页
MVB帧收发模块设计.docx_第3页
MVB帧收发模块设计.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

mvb 帧收发模块设计研究开 发魏耀南,林品,唐允宝(华东交通大学 电气与电子工程学院,江西 南昌 330013)作者简介:魏耀南( 1 9 8 7 - ) ,男,硕士研究生,研究方向 为交通信息工程及控制。 摘 要 :介绍了多功能车辆总线(mvb)及其总线控制器,着重分析了收发模块的功能。在此基础上,将帧的收发模块划分为基本的功能单元,以 quartus 软件作为开发平台,采用verilog 硬件 描述语言进行编程,成功地建立了收发模块 ip 核。关键词:多功能车辆总线;收发模块;主帧;从帧;状态机;仿真中图分类号:tn393;u292.9文献标识码 :a文章编号:1000-128x(2010)03-0026-04design of transceiver module for mvb framewei yao-nan,lin pin,tang yun-bao(school of electrical and electric engineering, east china jiaotong university,nanchang, jiangxi 330013, china)abstract: this paper introduced mvb and its bus controller and analysed the function of transceiver module in emphasis. the transceiver module was divided into several basic functional units. using quartus software development platform, the ip core oftransceiver module was successfully established by adopting verilog hardware description language for programming.key words: mvb; transceiver module; master frame; slave frame; state machine; simulation0引言列车通信网络由多功能车辆总线mvb 和绞线式列 车总线wtb组成。其中,mvb来源于安达公司的micas 总线,主要用于将同一车辆或者不同车辆中的标准设 备连到列车通信网络上,它为车厢内资源的共享和设 备之间的控制提供了可靠的通道。为了符合列车通信 网络标准并能方便地实现设备之间的互连,各个与 mvb 相连的设备都必须具有统一的网络接口,mvb 控 制器作为m vb 总线上的核心处理器,独立于物理层和 功能设备,为总线上的各个设备提供通信接口 2 。根据 功能上的差异,可以将 m v b 控制器划分为收发模块、 主控模块和通信存储器等。目前,m v b 控制器的开发正处于逐步发展与不断 的更新换代中,国外a b b 公司和西门子公司已经制造 出了m vb 控制器的专用芯片。国内的列车通信网络是 在技术引进和二次开发的基础上发展起来的,由于国 外对mvb 关键技术的垄断,尤其是对mvb 控制器技术 的垄断,在一定程度上给m vb 在国内机车上的应用推广带来较大的阻力 3 。针对这一问题,本文采用硬件描述语言设计出了m vb 控制器中的收发模块,再集成后 续工作中需要完成的主控模块和通信存储器等,便能 实现总线控制器的功能。1mvb 帧m vb 传输 2 种类型的帧:由总线主发送的主帧和 从设备响应主帧而发送的从帧,其结构如图1 所示。主 帧以9 位的主起始分界符开始,后为16 位的数据和8 位 校验序列,最后以终止分界符标识结束;从帧以9 位的 从起始分界符开始,然后是16、32、64、128、256 位的数 据,如果数据部分小于或者等于 6 4 位,那么在所有数 据后面附上8 位的校验序列,如果数据部分大于6 4 位, 则每 6 4 位数据后面有一个 8 位的校验序列,最后为终 止分界符。帧在 m v b 总线上以曼彻斯特码的形式传 输。主帧数据部分的前4 位为f-code(功能码),决定了 响应它的从帧中数据的类型和长度,从帧长度具体如 表1 所示。收稿日期:2 0 0 9 - 1 1 - 2 6 ;收修改稿日期:2 0 1 0 - 0 3 - 2 7第 3 期魏耀南,林品,唐允宝:m v b 帧收发模块设计符通过移位寄存器以串行的形式发送出去,其端口定义如图 3 所示。由于经曼彻斯特编码单元编码后的分 界符包括非数据符 n h 和 n l ,所以本单 元采用3 mhz 的时钟 作为工作时钟,在每 个工作时钟内输出 半位。未编码前的分 界序列拆分为半位 (a )主帧结构图 3分界符生成单元(b )从帧结构图 1 m v b 帧结构的形式如下:主起始分界符:10(起始位),11,00,01,11,00,01,01,01。 从起始分界符:10(起始位),10,10,10,00,11,10,00,11。终止分界符:0 0 或者0 0 , 1 1 (由传输介质决 定)。2.2 校验序列生成单元为了保证数据传输的可靠性,m vb 标准规定在帧 数据的后面需要附上校验序列,该校验序列由 7 位的 c r c 校验码和一个偶校验位组成。在本设计中选择串 行的计算方法来计算 c r c 校验码,发生电路由一组移 位寄存器和异或单元组成,生成多项式为:g(x) = x7 + x6 + x5 + x2 + 1校验序列生成单元检测到使能信号后,根据输入 的数据生成7 位的crc 校验码,通过把数据位和crc 校验码的位间进行异或计算得到一个偶校验位并将其放在 crc 校验码的后面,构成8 位 的校验序列。当发送信号有 效时,将校验序列取反发送 到曼彻斯特编码单元。其模 块示意图如图 4 所示。表1 功能码与从帧数据长度的关系2发送模块设计发送模块可以划分为发送控制单元、分界符生成 单元、校验序列生成单元和曼彻斯特编码单元等,如 图2 所示,主要功能是通过发送控制单元输出控制信号 将发送缓存器中待发送的数据组装成帧并发送出去。 各单元具体工作流程为:分界符生成单元根据帧的类 型把对应的起始分界符送往曼彻斯特编码单元,紧接 着并串转换单元将从发送缓存器中读出的并行数据转 换成串行形式,同时发送给曼彻斯特编码单元和校验 序列生成单元,校验序列生成单元根据接收到的串行 数据生成校验序列后发送到曼彻斯特编码单元,最后 为帧附上终止分界符。c r c 校验码的计算程序部分如下:e=sdata_inreg_crc7; reg_crc7=ereg_crc6; reg_crc6=reg_crc5e; reg_crc5=reg_crc4; reg_crc4=reg_crc3; reg_crc3=reg_crc2e; reg_crc2=reg_crc1; reg_crc1=e;2.3 发送控制单元发送控制单元是发送模块的核心部分,它决定了 分界符生成单元、并串转换单元、校验序列生成单元 何时向曼彻斯特编码单元发送数据,并且在某一时刻 只能有一个单元可以发送数据。本设计采用有限状态机的方式来实现发送控制单 27 图 4校验序列生成单元图 2发送模块结构图i e c 6 1 3 7 5 规定,帧在 m v b 总线上的传输速率为1.5 mbps,因此本设计采用24 mhz 的系统时钟,发送控 制单元对其进行8 分频和16 分频,产生频率为3 mhz 时 钟clk_8div 和1.5 mhz 时钟clk_16div 作为部分单元的工 作时钟。2.1 分界符生成单元分界符生成单元用于输出主起始分界符、从起始 分界符和终止分界符,它按照控制信号将对应的分界f-code从帧数据长度 / 位f-code从帧数据长度 / 位01 613 226 431 2 842 5 681 691 61 22 5 61 31 61 41 61 51 6图 6发送控制单元机车电传动2 0 1 0 年元。该状态机包含 9 个状态,为了方便状态机的实现,特设置了 h d _ j u m p 、d a t a _ j u m p 、c s _ j u m p 、 ed_jump 4 个状态作为过渡状态,用于控制信号的转 换,其状态之间的转换如图 5 所示。彻斯特码进行解码,一方面把接收到的串行数据转换成并行数据保存到接收缓存器中,供上层调用;另一 方面把串行数据输入到与发送模块相同的校验序列计 算电路中去,计算出校验序列并与接收到的校验序列 进行比较,将结果报告给上层。图 7接收模块结构图3.1 起始位检测单元起始位检测单元功能主要分为 2 部分:一是检测 总线的状态,总线在空闲时处于高阻状态,当检测到 下降沿时,即可判断一帧的开始,为了消除亚稳态,起 始位检测单元将帧经同步操作后送入到分界符检测单 元和解码单元并发出接收使能信号;二是产生解码时 钟,曼彻斯特码中包含时钟信息,起始位检测单元根 据该信息通过计数器的方式产生解码单元所需的工作 时钟。3.2 接收控制单元帧的接收过程与发送过程基本相同,接收控制单 元根据计数器的值来判断当前正在解码的位是属于分 界符部分、数据部分还是属于校验序列部分,并输出相 应的控制信号将数据和校验序列存入对应的缓存器。 本单元也是通过有限状态机的方式实现,如图 8 所示。图 5发送控制单元状态转换图系统复位或者上一帧发送完毕都会进入 i d l e 状态 ,等待命令 ; 如果发送使能信号有效则转到 h d _ j u m p 和 h d _ s e n d 状态,启动计数时钟为 c l k _ 8 d i v 的计数器开始发送起始分界符,当计数达到18 时状态机转到data_jump 和data_send 状态; 在此状态下,启动计数时钟为 c l k _ 1 6 d i v 的计数器发 送数据,每发送 16 位数据,变量 word_counter 加 1,通 过该变量的值判断下一状态的转向;在 c s _ j u m p 和 c s _ s e n d 状态下,将校验序列生成单元计算出的校 验序列发送到曼彻斯特编码单元,如果 f r a m e _ l e n g t h( 应发送的帧数据字数) 的值与 w o r d _ c o u n t e r 的值相 等,则进入终止分界符生成状态,否则继续发送数据 及其校验序列。最后的ed_jump 和 ed_send 状态为 帧添加终止分界符。图 8接收控制单元状态转换图hd_rec:起始分界符接收状态采用计数器来计算 已接收到的起始分界符的半位数,接收完毕后判断该 帧的类型并将对应的输出端置位。data_rec:数据接收状态根据帧的类型得出帧 数据的长度并以此控制数据的接收。若为主帧,接收1 6 位后转到校验序列接收状态;若为从帧,则根据最3接收模块设计接收模块可以划分为起始位检测单元、曼彻斯特 解码单元、串并转换单元、校验序列检测单元和接收 控制单元等,如图7 所示。接收模块对总线上传输的曼 28 第 3 期魏耀南,林 品,唐允宝:m v b 帧收发模块设计新接收到的主帧的功能码计算该帧的数据长度。cs_rec:在该状态下,控制接收校验序列并将其 与重新生成的校验序列进行对比,若两者相异,则报 校验错误。ed_rec:数据和校验序列接收完毕后,剩下的应 该为终止分界符,若在终止分界符接收状态下,接收 到的电平序列与终止分界符不相符,则报帧长度错误。数据部分和校验序列部分由数据符0 和1 组成,每 一位的曼彻斯特码前后半位电平相异,但是由于信号 在传输过程中受到延时、干扰等影响,会产生错误,因 此在解码过程中,对每一位的1/4 和3/4 位置采样并进行对比,当发现电平相同时,报告错误给上层。( a ) 主帧发送仿真图( b ) 主帧接收仿真图图 9仿真结果5结语本文根据mvb 总线底层协议阐述了收发模块的功 能,采用自顶向下的设计方法将收发模块分解成各个 基本单元并具体描述和实现了各单元的功能。最后, 通过仿真验证整个系统的正确性。该收发模块的成功 实现将有利于推动 m v b 总线在国内机车上的应用。4 收发模块的测试仿真测试方案是通过发送和接收一个数据部分为 0x3050 的主帧来验证设计的正确性,仿真结果如图9 所 示。在图9(a)中,当send_frame 信号有效时,发送控制 单元开始控制各个单元依次输出数据,经过曼彻斯特 编码单元编码后,f r a m e_ o u t 引脚输出的便是主帧,它 由9 位主起始分界符、16 位数据、8 位校验序列和终止分 界符构成。图 9(b )所示的为主帧接收仿真,当检测到 起始位时,起始位检测单元发出frame_start 信号,解码 单元开始对起始分界符部分解码并判断帧的类型,本 例中接收到的为主帧,所以将master_frame 置位。主帧 数据部分被解码后,经过串并转换单元后变为并行数 据op(0x3050 的ascii 码)。由此看出,该设计能正确地 实现帧的收发功能。参考文献:1 iec61375,part 1:train communication networks.2 刘海新,谢维达. m v b 网络接口单元的应用研究j . 工业 控制计算机,2002,15(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论