SFP+双MCU光收发模块升级的设计与实现_第1页
SFP+双MCU光收发模块升级的设计与实现_第2页
SFP+双MCU光收发模块升级的设计与实现_第3页
SFP+双MCU光收发模块升级的设计与实现_第4页
SFP+双MCU光收发模块升级的设计与实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、【Word版本下载可任意编辑】 SFP+双MCU光收发模块升级的设计与实现 导读:本文基于ADuC7023a的硬件平台和Keil4的软件平台,设计了一种SFP+双MCU光收发模块嵌入式系统升级的方案,并具体实现了SFP+波长可调谐光模块双MCU系统的更新。这对双MCU的光模块的升级具有一定的实用价值,并对今后出现的多MCU嵌入式系统的升级具有一定的参考意义。 随着光通信的日益发展,光通信的发展已经取得了惊人的成就。Alcatel-Lucent在20*年光通信会议(OFC20*)上宣布他们成功将单根光纤传输数据率提高到25.6 Tbit/s,创造了一项新世界纪录。因此,如今的光通信已经不仅仅要解

2、决大容量传输和宽带接入的问题,更关键的是实现光层的智能化和节点的光交换,从而建立起动态高效、扩展灵活、经济可靠的光网络,以满足信息传输的要求。 1 双MCU的嵌入式系统升级的整体设计 SFP+波长可调谐光模块主要由3个部分组成:光发射部分、光接收部分和控制部分,控制部分分别由MCU1和MCU2共同协作完成。本系统采用ADuC7023作为MCU控制模块,运行稳定可靠,实现了波长可调。其中,MCU1主要控制模块正常稳定发光,而MCU2主要用于实现波长切换。以下便设计了一种更新此嵌入式系统的升级方案,具体的整体框架如图1所示。 图1 升级系统的整体架构 1)通信协议上位机:主要通过GUI(Graph

3、ical UserInterface)下发Hex文件,通过串口发送给板。 2)板:接收到串口发送的数据之后开展判断,如果是给MCU1程序则板将接收到的数据封装为满足AN806_I2C Download Protocol for ADulC70 xxBCPZxxI Models协议的帧构造,并按照此协议的要求更新MCU1;如果是给MCU2程序,则板将收到的数据直接通过I2C(InterIntegrated Circuit)转发给MCU1。 3)MCU1:MCU1作为光模块的主机,MCU2作为从机。当给MCU2程序时,MCU1将接收到的数据封装为满足AN806_I2C Download Proto

4、col for ADulC70 xxBCPZxxI Models协议的帧构造,并按照此协议的要求更新MCU2;否则,MCU1执行自身的程序,控制整个模块的正常运行。 2 双MCU嵌入式系统升级的实现 双MCU嵌入式系统升级的实现可分为以下几个部分:实现串口数据收集,实现数据的封装以及按照协议实现系统的更新。 2.1 串口数据收集实现 上位机(GUI)将Hex文件一行一行地发送给板,通过协议转换模块对数据封装后通过协议更新需要升级的系统。而串口每次只能发送一个ASCII码字符给板。板接收到数据后将每2个ASCII码合并为1个相应的十六进制数据,从而实现数据的收集。 2.2 数据封装的实现 数据的

5、封装可根据具体的更新哪块MCU分别在板(更新MCU1)或MCU1(更新MCU2)中完成。由于数据封装前是Hex的帧构造,无法满足协议的要求,所以在更新系统之前必须对数据开展封装,使其满足协议的要求。下面将介绍具体的实现方式。 1)Hex文件的帧构造如图2所示。 图2 Hex文件的帧构造 (1)起始符:固定为“:”用于记录一帧数据的开始。 (2)数据字节数:后面的2个字符说明记录的长度。一般情况为0 x10,说明这一帧中传送的有效数据位16 byte。 (3)地址位:4个字符说明调入的起始地址。 (4)数据类型:2个字符说明记录的类型。以下为具体的字符对应的不同的数据类型: 0:数据记录。 l:

6、记录文件结束。 2:扩展地址记录。 3:开始段地址记录。 4:扩展线性地址记录。 5:开始线性地址记录。 (5)数据:说明有效的数据。 (6)校验和:的2位说明校验和检查,它加上前面所有的数据为0。 2)协议规定的数据帧构造如图3所示。 图3发送数据的帧构造 (1)起始ID:0 x07和0 x0E是两个固定的有效值。 (2)数据字节数:表示数据帧中传输的数据,从Datal开始算起。值为5,值为255。 (3)数据1 CMD,如下表1所示。 表1 命令功能 (4)数据2一数据5(Address:h,u,m,1):该地址字段包含一个32位地址h,u,m,l,其中h中包含有效位(MSB),l中包含有

7、效位(LSB)。 (5)数据x(x=6255):用户代码是按字节的,数据字节字段多为250个数据字节。数据必须是扩展Hex 16字节记录格式的数据串,而且在传输到加载器之前作为上面数据表格的一部分由主机重新编译。 (6)校验和:校验和的计算方法为所有数据的和取余。 3)帧构造封装的实现 协议转换模块将收到的每2个ASCII码转化为1个对应的十六进制,并存放于特定的缓存中。当协议转换模块收到回车换行后就会开始帧构造的封装工作。按照协议规定,为数据参加Start ID;帧构造中的No.of Data Bytes的值为Hex文件中数据的个数加5(其中主要参加了CMD Byte以及4 byte的地址)

8、;Datal则是命令Byte可根据协议要求写入适当的命令,在更新系统时应使用写命令W(0 x57);Data2一Data5为Hex文件中指定的地址;Data x对应Hex文件中的数据部分;Checksum则为0 x00减去从BytelByte x 的所有数据的和。从而实现对数据的封装。 2.3 模块更新的实现 AN806一I2C Download Protocol是一种广泛使用的ADuC70 xxBCPZxxI模块的协议。依照协议的具体规定设计和实现了双MCU模块的升级,具体的模块更新流程如图4所示。 图4模块更新流程 1)运行微转换器加载器 为了防止I2C意外,I2C模式进人前提是在复位器件

9、串行保持低电平、同时Flash/EE存储器Oxl4地址单元的内容为0 xFFFFFFFF。因此,用户代码必须有一个内置机制用来擦除第0页(Flash地址0 x0到0 x200)和复位器件。该机制允许进入模式对器件重新编译。 在理想情况下,为了能够在数据重编程时出现掉电故障或出现其他错误时重新进入模式,Flash地址单元Oxl4应该编程。 在基于MCU的嵌入式系统中,程序的存储区与数据的存储区是一致的,有时只是为了更新程序而又希望可以保存原有的数据,此时往往选择只擦除程序部分。因此,在执行擦除命令时要首先确定是否需要保存数据部分,防止误操作。 2)启动协议 一旦加载器进入模式,加载器从机器件地址

10、为0 x04,因此,每次向加载器发送数据,主机必须以字节0 x04(I2c写地址)开始,每次从加载器读取命令应答请求以字节0 x05(I2C读地址)开始。加载器的个数据包的数据必须为退格符(BS=0 x08)以启动该协议。 在收到退格符后,加载器发送如下24 byte ID数据包: 15 byte=产品标示符 3 byte=硬件和固件的版本号 4 byte=保存 2 byte=换行和回车 3)加载器接收数据 为了防止在重新编程过程中出现的异常故障使得MCU无法再次进入模式,所以Flash地址单元0 x14应该编程。从Hex文件的帧构造中可以发现0 x14在第2行Hex中,也就是说第2行Hex文

11、件应该在其他数据传完之后再写入。由于程序的起始点在第1行,所以Hex文件的第1行和第2行应该放在写入。协议转换器发送数据的具体软件流程如图5所示。 图5 协议转换器发送数据的具体软件流程图 其中,若加载器为MCU1则协议转换器为板,即数据的封装在板中完成;若加载器为MCU2则协议转换器为MCU2,即数据的封装在MCU1中完成,此时板只起转发的作用。 4)加载器接收远程执行命令 一旦主机将所有的数据包发送到加载器,主机可以发送一个包以指示加载器开始执行代码。具体的软件流程如图6所示。 图6协议转换器重启加载器的软件流程图 其中有2种不同的远程运行方式:软件复位(h,u,m,l=0 x1)和跳转至

12、用户代码(h,u,m,l=0 x0)。一般情况下,会选择软件复位,因为软件复位可以重置所有外设。然而在串行接口接地和地址0 x80014被清零的情况下,有必要采用一个跳转直接到用户代码。如果采用软件复位,则发送的数据包的帧构造如下表2所示。 表2 软件复位的帧构造 2.4 实验结果 图7是使用本设计方案升级SFP+双MCU嵌入式系统的测试结果,测试结果显示MCU2在更新之前的版本号为v101,升级之后的版本号为v102。这说明本设计方案是可行可靠的。 图7测试结果 3 结束语 如今,大多数光通信依旧使用传统的基于固定波长光模块的光源,尤其是目前被广泛使用的10 Gbit/s光模块都使用的这种固定波长激光器,这对光模块的利用存在极大的局限性,而目前这种缺陷已经渐渐地显露出来。为了提高模块的利用率、降低网络建设的成本、减小管理的复杂性、提高网络的灵活性,SFP+波长可调谐的光模块应运而生。此可调谐光模块的实现是基于DBR可调谐半导体激光器实现的。它可以在整个C

温馨提示

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

评论

0/150

提交评论