欢迎来到天天文库
浏览记录
ID:27499902
大小:158.50 KB
页数:11页
时间:2018-12-04
《SFP+波长可调谐光模块双MCU嵌入式系统实现方案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SFP+波长可调谐光模块双MCU嵌入式系统实现方案 本文基于ADuC7023a的硬件平台和Keil4的软件平台,设计了一种SFP+双MCU光收发模块嵌入式系统升级的方案,并具体实现了SFP+波长可调谐光模块双MCU系统的更新。这对双MCU的光模块的升级具有一定的实用价值,并对今后出现的多MCU嵌入式系统的升级具有一定的参考意义。 随着全球光通信的日益发展,光通信的发展已经取得了惊人的成就。Alcatel-Lucent在2007年光通信会议(OFC2007)上宣布他们成功将单根光纤传输数据率提高到25.6Tbit/s,创造了一项新世界纪录。因此,如今的
2、光通信已经不仅仅要解决大容量传输和宽带接入的问题,更关键的是实现光层的智能化和节点的光交换,从而建立起动态高效、扩展灵活、经济可靠的光网络,以满足信息传输的要求。 1双MCU的嵌入式系统升级的整体设计 SFP+波长可调谐光模块主要由3个部分组成:光发射部分、光接收部分和控制部分,控制部分分别由MCU1和MCU2共同协作完成。本系统采用ADuC7023作为MCU控制模块,运行稳定可靠,实现了波长可调。其中,MCU1主要控制模块正常稳定发光,而MCU2主要用于实现波长切换。以下便设计了一种更新此嵌入式系统的升级方案,具体的整体框架如图1所示。 图1
3、升级系统的整体架构 1)通信协议上位机:主要通过GUI(GraphicalUserInterface)下发Hex文件,通过串口发送给下载板。 2)下载板:接收到串口发送的数据之后进行判断,如果是给MCU1下载程序则下载板将接收到的数据封装为满足AN806_I2CDownloadProtocolforADulC70xxBCPZxxIModels下载协议的帧结构,并按照此协议的要求更新MCU1;如果是给MCU2下载程序,则下载板将收到的数据直接通过I2C(Inter—IntegratedCircuit)转发给MCU1。 3)MCU1:MCU1作为光模块
4、的主机,MCU2作为从机。当给MCU2下载程序时,MCU1将接收到的数据封装为满足AN806_I2CDownloadProtocolforADulC70xxBCPZxxIModels下载协议的帧结构,并按照此协议的要求更新MCU2;否则,MCU1执行自身的程序,控制整个模块的正常运行。 2双MCU嵌入式系统升级的实现 双MCU嵌入式系统升级的实现可分为以下几个部分:实现串口数据收集,实现数据的封装以及按照下载协议实现系统的更新。 2.1串口数据收集实现 上位机(GUI)将Hex文件一行一行地发送给下载板,通过协议转换模块对数据封装后通过下载协议更
5、新需要升级的系统。而串口每次只能发送一个ASCII码字符给下载板。下载板接收到数据后将每2个ASCII码合并为1个相应的十六进制数据,从而实现数据的收集。 2.2数据封装的实现 数据的封装可根据具体的更新哪块MCU分别在下载板(更新MCU1)或MCU1(更新MCU2)中完成。由于数据封装前是Hex的帧结构,无法满足下载协议的要求,所以在更新系统之前必须对数据进行封装,使其满足协议的要求。下面将介绍具体的实现方式。 1)Hex文件的帧结构如图2所示。 图2Hex文件的帧结构 (1)起始符:固定为“:”用于记录一帧数据的开始。 (2)数据字节数:
6、后面的2个字符表明记录的长度。一般情况为0x10,表明这一帧中传送的有效数据位16byte。 (3)地址位:4个字符表明调入的起始地址。 (4)数据类型:2个字符表明记录的类型。以下为具体的字符对应的不同的数据类型: 0:数据记录。 l:记录文件结束。 2:扩展地址记录。 3:开始段地址记录。 4:扩展线性地址记录。 5:开始线性地址记录。 (5)数据:表明有效的数据。 (6)校验和:最后的2位表明校验和检查,它加上前面所有的数据为0。 2)下载协议规定的数据帧结构如图3所示。 图3发送数据的帧结构 (1)起始ID:0x07
7、和0x0E是两个固定的有效值。 (2)数据字节数:表示数据帧中传输的数据,从Datal开始算起。最小值为5,最大值为255。 (3)数据1CMD,如表1所示。 表1命令功能 (4)数据2一数据5(Address:h,u,m,1):该地址字段包含一个32位地址h,u,m,l,其中h中包含最高有效位(MSB),l中包含最低有效位(LSB)。 (5)数据x(x=6~255):用户代码是按字节下载的,数据字节字段最多为250个数据字节。数据必须是扩展Hex16字节记录格式的数据串,而且在传输到加载器之前作为上面数据表格的一部分由主机重新编译。 (
8、6)校验和:校验和的计算方法为所有数据的和取余。 3)帧结构封装的实现 协议
此文档下载收益归作者所有