MSP430多处理器之间的通信方式及协议

发布者:VelvetSoul最新更新时间:2021-05-07 来源: eefocus关键字:MSP430  处理器  通信方式  协议 手机看文章 扫描二维码
随时随地手机看文章

在单片机系统中,多处理器是指多个相同类型或者不同类型的单片机协作处理同一个系统的不同工作。它们之间必须具备一定的数据交换和协作处理能力,共同完成一个系统化的工作。不同处理器之间可以采用数据交换方式、并行总线方式、串行总线方式进行通信。其中,数据交换方式又可以称为共享内存交换方式;串行总线方式又可以分为单总线方式、集成电路之间的通信方式和UART方式。


1 MSP430多处理器

MSP430是一款超低功耗的混合信号控制器,具有1 6位RISC结构,有着丰富的片内外设,主要包括有看门狗、定时器、比较器、硬件乘法器、液晶驱动器、ADC、I/0端口、串口(USART)等等,还集成有64 KB的Flas’E-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协议规定了消息和数据的结构、命令和就答的方式,数据通信采用Master/Slave方式。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 pBuf[4];

int nData=0

for(i=1;i{//每两个需要发送的ASCII码转化为一个十六进制数

pBuf[O]=pSendBuf[i];

pBu=pSendBuf;

pBuf[2]=、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;iwCrc^=WoRD(BYTE(pSendBuf[i]);

for(Intj=O;j<8;J++){

if(wCrc&1){

wCrc>>=l;

wCrc^一OxA00l:

}

else{

wCrc>>=1;

retIlrIl wCrc:



3 报文示范

ModBus包含ASCII和RTU两种报文格式。RTU报文较短,但是没有边界定义;ASCII报文较长,但是边界明了。在多处理器通信之中,由于通信距离很短,干扰较小,因此可以选择较高的通信速率。通信速率提高了,报文长度较长对通信的影响不大,因此可以选择ASCII报文格式进行通信。


ModBus的ASCII读取请求报文格式如下:




ModBus 的 ASCII读取请求报文格式如下:




假设主机地址01,要对从机地址02进行读取247和248地址的两个寄存器值的通信,并且本次通信为第1次通信,设定流水号为000l。


结 语

多处理器协作工作模式和通信协议,已经成功应于CNG加气机,使系统信息交换更加迅速、可靠,整个系统的性能得到了提高。


关键字:MSP430  处理器  通信方式  协议 引用地址:MSP430多处理器之间的通信方式及协议

上一篇:基于MSP430单片机的倒车雷达设计
下一篇:基于MCU的室外移动机器人组合导航定位系统

推荐阅读最新更新时间:2024-11-11 19:14

MSP430单片机1602液晶60秒计时程序
MSP430 单片机 1602液晶60秒计时程序 //************************************************************** // P3BIT5接RS)-- (BIT7接NE)-- (BIT6接RW) // P4口送数据 // // 08-6-27 //***************************************************** #include msp430x22x4.h unsigned char table = 0123456789 ; unsigned char a=0,b
[单片机]
基于IAPWS-IF97的高精度蒸汽流量仪表的研制
引言   当前多数智能仪表都采取了一定的流量补偿技术,但补偿的数学模型建立过程考虑并不十分周全,计量的准确性仍然不高。本文针对这一情况,在蒸汽流量的测量中,以传统的流量计量补偿思想为基础,利用MSP430单片机开发了以水和蒸汽热力学工业公式IAPWS-IF97为核心的计算软件包,使得在工况大范围变化时,流量计的补偿精度仍具有较大的提高。同时由于该型号单片机具有丰富的低功耗模式和强大的运算能力,不仅提高了补偿的精度,而且降低了成本。 1 蒸汽流量测量及密度补偿方法分析    差压式流量计是目前计量蒸汽流量的主要仪表,其流量依据《GB/T 2624-93流量测量节流装置,用孔板、喷嘴和文丘里管测充满圆管的流体流量》中的数学
[单片机]
基于IAPWS-IF97的高精度蒸汽流量仪表的研制
中芯国际与中芯北方重订框架协议 涉及货品供应等
电子网消息,中芯国际宣布,鉴于旧有协议即将到期,于2017年12月6日,公司与合营公司中芯北方就货品供应、提供或接受服务、资产出租、资产转移、提供技术授权或许可以及提供担保重订框架协议。协议为期3年,自2018年1月1日起至2020年12月31日止。 据悉,该框架协议截至2018年、2019年、2020年年末的年度总上限分别为25亿美元、27.5亿美元、32亿美元。 国家集成电路基金透过其全资附属鑫芯(香港)投资持有公司约15.06%股权,故其根据上市规则于发行人层面上为公司关联人士。集团及国家集成电路基金分别持有中芯北方已注册资本约51%及32%,因此,中芯北方为公司关联附属公司,为公司关联人士。 由于持续关联交易的全年上限的一
[半导体设计/制造]
苹果A11X处理器性能曝光 采用7nm工艺制程
【TechWeb报道】苹果虽然并不是以性能见长,但旗下的手机和平板却保持着很高的性能,在不同平台上的跑分成绩均名列前茅。当然由于本身系统的独特性,所以在展示结果上与其他平台处理器有一定区别。但不可否认的是苹果历代新iPhone和iPad都表现出强大的硬件实力,尤其A系列处理器非常夺目。 苹果刚刚发布的iPhone X手机采用了A11处理器,由于手机本身设计改变很大,以至于消费者都淡忘了新处理器带来的硬件性能提升,实际上A11已经凭借超高的得分横扫行业其他产品了,好在它并不会使用在苹果之外的产品上,Android厂商倒不用太担心。 有消息称,A11的优势很快就会被终结,因为苹果已经开始酝酿A11X处理器了,该处理器将会在明年
[半导体设计/制造]
示波器DALI协议触发与解码
对于广泛应用在灯光照明控制系统中的DALI协议,ZDS2022示波器为您提供了完全开放的触发与解码模块,今天来共享下在ZDS2022示波器中,如何对DALI协议进行触发与解码操作?   按下【Decode】键,将解码类型设为DALI协议,开启协议触发,在示波器前面板上的触发控制区内按下【Auto/Normal】键,将触发方式由自动设为普通,按下协议参数软键,可对总线和触发模式相关内容进行设置,由于DALI协议的传输方式主要分为两种:Forward和Backward。   图1 DALI协议触发与解码   ZDS2022示波器DALI协议触发模式包括4种类型:开始位触发(BEGIN)、包含19个 bit的Forward消息帧
[测试测量]
示波器DALI<font color='red'>协议</font>触发与解码
MSP430之解错篇
【记住】接口别忘设置! 1、设置IAR软件Tab键缩进字符个数 方法:Tools-Options-Editor-Tab Size,按习惯改后面数字. 2、Error : Undefined external LcdInit referred in main( E:MSP430 UDPDebugObjmain.r43 ) 原因:工程中有多个.c文件,但不在工程中. 解决:把.c文件加到工程里。 3、Error : Entry ReadingData in module DS1302 ( E:MSP430 ModuleDS1302DebugObjDS1302.r43 ) redefined in mod
[单片机]
中国要求美日荷澄清:芯片出口限制协议是否存在?
当地时间4月3日至4日,世界贸易组织货物贸易理事会举行会议。中国在此次会议上,对“美国、日本和荷兰之间关于芯片出口限制的协议”提出关切。 中国代表表示,对于媒体广泛曝光的这一协议,目前还没有官方信息。中国询问这三个世贸组织成员,该协议是否存在?如果存在的话,是否应该通知世贸组织成员并由世贸组织成员审查? 中国代表指出,相关成员可能清楚地意识到该协议违反了世贸组织的规则,因此故意对该协议的内容保持低调。中国认为该协议违背了世贸组织的公开透明原则,破坏了世贸组织规则的权威性和有效性,要求美国、日本和荷兰向世贸组织通报该协议和后续措施,并呼吁世贸组织加强对这些措施的监督。 据日本半导体业界团体SEMI统计,2024年面向中国大
[半导体设计/制造]
长文图解工业HART总线协议
在AIOT蓬勃发展的今天,也掀起传统工业设备IOT革新的浪潮。那么需要对工业设备进行IOT改造,除了直接开发具有IOT互联协议的新型设备,对原有总线设备的接入改造其实也是一块很大的蛋糕。因此,掌握传统工业现场设备通讯总线,也是很必要的,即便在现在或者将来传统的工业总线也不会被淘汰,这是由于这些现场总线是专为复杂的工业控制现场而设计的。今天,就来分享一下HART总线。 初始HART总线 基本信息 HART(Highway Addressable Remote Transducer)可寻址远程变送器高速通道协议,翻译起来有点绕口。HART协议是用于过程控制设备的面向事务的通信服务。HART通信设备旨在增强传统的4-20 mA模
[嵌入式]
长文图解工业HART总线<font color='red'>协议</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved