已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MSP430多处理器之间的通信方式及协议日期:2006-10-17来源:单片机及嵌入式系统应用 作者:中国石油大学 崔凤新 廖明燕 郑金吾字体:大 中 小 摘 要:MSP430的功能已经非常强大,其片内外设丰富,适合众多的场合使用;但是在大型复杂的场合或者实时性要求较高的场合,使用一个处理器处理所有的业务,总是显得有些不足。引入多处理器协作工作的模式,可提高系统的实时性、可靠性和适用性;利用MSP430固有的特点,选择UART模式,采用ModBus的通信协议,可进行不同处理器之间的数据交换。关键词:多处理器 UART M0dBus MSP430 在单片机系统中,多处理器是指多个相同类型或者不同类型的单片机协作处理同一个系统的不同工作。它们之间必须具备一定的数据交换和协作处理能力,共同完成一个系统化的工作。不同处理器之间可以采用数据交换方式、并行总线方式、串行总线方式进行通信。其中,数据交换方式又可以称为共享内存交换方式;串行总线方式又可以分为单总线方式、集成电路之间的通信方式和UART方式。1 MSP430多处理器 MSP430是一款超低功耗的混合信号控制器,具有1 6位RISC结构,有着丰富的片内外设,主要包括有看门狗、定时器、比较器、硬件乘法器、液晶驱动器、ADC、I0端口、串口(USART)等等,还集成有64 KB的FlasE-ROM和2 KB的RAM。其功能强大,应用场合广泛。但是在大型复杂的场合或者实时性要求较高的场合,使用一个处理器处理所有的业务,总是显得有些不足。引入多个MsP430处理器协作工作的模式,可以提高系统的实时性、可靠性和适用性。 在多数场合,MSP430无须为每个处理器扩展FlashROM,也无须扩展RAM,采用共享内存的数据交换方式组成多处理器系统并非最佳选择。此外,MSP430包括有两个串口(USART),在MSP430的应用中,可以把两组串行端口中的一个供外部通信使用,另一个串行端口供内部通信使用。采用串行总线中的串行通信方式组成多处理器系统是比较理想的选择。2 技术要点2.1 MSP430多处理器组成 MSP430具有两个串行端口(USART),可以使用其中的一个作为多处理器之间的通信端口。由于串行通信的架构限制,MSP430采用UART串行通信模式组成的多处理器系统,必须建立一个主处理器和若干从处理器。主处理器的TXD端与所有从处理器的RXD端相连,所有从处理器的TXD端与主处理器的RXD端相连。MSP43O多处理器拓扑结构如图1所示。 在这个结构中,主处理器通过TXD端发送出指令报文,传输到从处理器的RXD接收端;从处理器对指令报文进行解包并且对这个指令报文进行响应。从处理器的响应报文通过TXD发送到主处理器的RXD接收端,主处理器获取响应报文确认指令是否被正确执行。从这个结构上看,主处理器可以与任何从处理器进行通信,任何从处理器也可以和主处理器进行通信,但是从处理器与从处理器之间却不可以进行直接的通信。2.2 多处理器系统串行通信协议 在多处理器系统的串行通信方式中,可以有若干种通信协议进行选择,如ModBus、Brooks、工业总线协议等等。在此,可以选择业界通用的MocBus通信协议作为处理器与处理器之间的通信协议。2.3 ModBus通信协议 Modbus协议支持传统的RS232、RS422、RS485和以太网设备。ModBus协议包括ASCII、RTU、TCP等报文格式,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。ModBtls的ASCII、RTU协议规定了消息和数据的结构、命令和就答的方式,数据通信采用MasterSlave方式。Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Mastez端,以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。2.4 ModBus在多处理器系统中的报文格式 由于是一个主服务器对应多个从处理器的系统,处理器与处理器之间的报文传输必须明确标注目标地址和源地址,以免不相干的处理器之间进行误导操作。除此以外,为了提高主处理器的处理能力,同时避免不同处理器存在报文相应速度差,以及不同指令任务之间存在处理量差异的问题,必须采用异步通信模式进行通信。要满足异步通信模式,必须在报文中对每次的通信操作加注请求报文的16位标示(可以称之为句柄),同时对这些句柄进行记录。2.4.1 数据读取请求报文格式 源地址:主处理器地址。 目标地址:指令目的地地址(从处理器)。 句柄:指令请求标示号。 功能代码:操作指令代码。 起始地址:读取从处理器数据寄存器的起始地址。 字节数:操作所涉及的寄存器字。 校验码:CRC校验码或者LRC校验码。2.4.2 数据读取应答报文格式 源地址:从处理器地址。 目标地址:主处理器地址。 句柄:指令请求标示号。 功能代码:操作指令代码。 数据字节数:操作所涉及的寄存器字节数。 数据1至数据n:数据。 校验码:CRC校验码或者LRC校验码。 其中,应答报文中的目标地址等价于请求报文中的源地址,应答报文中的源地址等价于请求报文中的目标地址。2.5 校验码 在ModBus中,通用的校验方式是ASCII协议方式采用LRC校验方式,RTU协议方式采用CRC校验方式。2.5.1 LRC校验 LRC校验比较简单。它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它的C代码:BYTE GetCheckCode(const char*pSendBuf,Int nEnd) 获得校验码BYTE byLrc=O。char pBuf4;int nData=0for(i=1;iend;i+=2)i初始为1,避开“开始标记”冒号每两个需要发送的ASCII码转化为一个十六进制数pBufO=pSendBufi;pBu=pSendBuf;pBuf2=、O;sscanf(pBuf,”x”,& nData);bvLrc+=nData;byhc=byLrc;byLrc+;return byLrc;2.5.2 CRC校验 CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节和当前寄存器中的值进行处理。仅每个字符中的8位数据对CRC有效,起始位和停止位以及奇偶校验位均无效。 CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测。如果LSB为1,寄存器单独和预置的值“或”一下;如果LSB为O,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相“或”。最终寄存器中的值,是消息中所有字节都执行之后的CRC值。 CRC添加到消息中时,低字节先加入,然后高字节加入。下面是它的C代码:WORD GetCheckCode(const char*pSendBuf,int nEnd) 获得校验码WORD wCrc=WORD(0xFFFF);for(int i=O;inEnd;i+)wCrc=WoRD(BYTE(pSendBufi);for(Intj=O;j=l;wCrc一OxA00l:elsewCrc=1;retIlrIl wCrc:3 报文示范 ModBus包含ASCII和RTU两种报文格式。RTU报文较短,但是没有边界定义;ASCII报文较长,但是边界明了。在多处理器通信之中,由于通信距离很短,干扰较小,因此可以选择较高的通信速率。通信速率提高了,报文长度较长对通信的影响不大,因此可以选择ASCII报文格式进行通信。 ModBus的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60966-2-8:2025 RLV EN Radio frequency and coaxial cable assemblies - Part 2-8: Detail specification for cable assemblies for radio and TV receivers - Frequency range up
- 【正版授权】 IEC 61196-1-114:2025 RLV EN Coaxial communication cables - Part 1-114: Electrical test methods - Test for inductance
- 标准版收款合同范本
- 公司母婴护理协议书
- 河北邯郸市社会公益项目建设管理中心招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 果场转让协议书范本
- 江苏盐城射阳县农业水利投资开发集团限公司招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 校园垃圾运输协议书
- 兼职合同协议书模板
- 分房分地协议书范本
- 南京市建筑工程施工图BIM智能审查数据标准技术导则
- 医院物业管理服务方案投标文件(技术方案)
- 统战工作宣传课件
- 广西南宁市天桃实验校2026届中考语文全真模拟试卷含解析
- 就业帮扶车间培训课件
- 制药工程导论课件第六章
- 泌尿外科发展简史
- 中医推拿按摩对膝关节病的疗效
- 中国老年患者术后谵妄防治专家共识
- 终身教育视野下人工智能赋能特殊职业教育的实践与探索
- 杭州市建德市公安局集中招聘警务辅助人员考试真题2024
评论
0/150
提交评论