收藏 分享(赏)

双MCU间数据通信的高效性和可靠性研究_向小华.pdf

上传人:哎呦****中 文档编号:2737321 上传时间:2023-10-13 格式:PDF 页数:4 大小:1.21MB
下载 相关 举报
双MCU间数据通信的高效性和可靠性研究_向小华.pdf_第1页
第1页 / 共4页
双MCU间数据通信的高效性和可靠性研究_向小华.pdf_第2页
第2页 / 共4页
双MCU间数据通信的高效性和可靠性研究_向小华.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、5 4 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 双MC U间数据通信的高效性和可靠性研究向小华,叶源,陈洋,童伟,柳文杰(无锡华普微电子有限公司 汽车电子部,武汉 4 3 0 2 0 0)摘要:在单片机应用中,常用的通信协议有C AN通信、I2C、UA R T、S P I、L i n等方式,尤其是单片机与单片机、单片机与外设模块之间的通信都需要通信协议实现信息交换和资源共享。本文以S P I通信为例,阐述双MC U间的通信高效性和稳定

2、性,当前设计S P I传输速率为1 M b/s,经过测试验证,在高低温环境(-4 08 0)下能保持误码率为0,适用于汽车电子或家用电子产品。关键词:MC U;同步通信;S P I;主设备;从设备中图分类号:T P 3 1 文献标识码:AR e s e a r c h o n E f f i c i e n c y a n d R e l i a b i l i t y o f D a t a C o m m u n i c a t i o n B e t w e e n D u a l M C UX i a n g X i a o h u a,Y e Y u a n,C h e n Y a

3、n g,T o n g W e i,L i u W e n j i e(A u t o m o t i v e E l e c t r o n i c s D e p a r t m e n t,W u x i H u a p u M i c r o e l e c t r o n i c s C o.,L t d.,W u h a n 4 3 0 2 0 0,C h i n a)A b s t r a c t:I n t h e a p p l i c a t i o n o f s i n g l e c h i p m i c r o c o m p u t e r,t h e c o

4、mm o n c o mm u n i c a t i o n p r o t o c o l s i n c l u d e C AN c o mm u n i c a t i o n,I2C,UA R T,S P I,L i n,e t c.E s p e c i a l l y,c o mm u n i c a t i o n p r o t o c o l s a r e r e q u i r e d t o r e a l i z e i n f o r m a t i o n e x c h a n g e a n d r e s o u r c e s h a r i n g

5、b e t w e e n s i n g l e c h i p m i c r o c o m p u t e r a n d s i n g l e c h i p m i c r o c o m p u t e r,a n d b e t w e e n s i n g l e c h i p m i c r o c o m p u t e r a n d p e r i p h e r a l m o d u l e s.T h i s p a p e r t a k e s S P I c o mm u n i c a t i o n a s a n e x a m p l e t

6、 o i l l u s t r a t e t h e e f f i c i e n c y a n d s t a b i l i t y o f c o mm u n i c a t i o n b e t w e e n t w o MC U s.T h e c u r r e n t d e-s i g n S P I t r a n s m i s s i o n r a t e i s 1 M b/s,a n d t h e t e s t r e s u l t s s h o w t h a t t h e b i t e r r o r r a t e c a n b e

7、 k e p t a t 0 u n d e r h i g h a n d l o w t e m p e r a t u r e e n v i r o n m e n t s(-4 0 t o 8 0).I t c a n b e u s e d i n a u t o m o t i v e e l e c t r o n i c s o r h o u s e h o l d e l e c t r o n i c p r o d u c t s.K e y w o r d s:MC U;s y n c h r o n o u s c o mm u n i c a t i o n;S

8、 P I;m a s t e r d e v i c e;s l a v e d e v i c e0 引 言本项目采用中科芯C K S 3 2 F 4 0 7作为主设备,芯旺微K F 3 2 A 1 5 1作为从设备进行设计1-3。主MC U采用周期性发送数据方式,从MC U根据主MC U的C S信号进行数据接 收 预 处 理,为 数 据 同 步 收 发 做 准 备。为 了 降 低MC U处理负荷,主、从设备数据的接收和发送分别通过DMA(D i r e c t M e m o r y A c c e s s)进行数据搬移4。在数据通信协议中设计类似看门狗的处理逻辑,确保主设备监控从设备数据

9、实时更新5。在数据域末尾增加校验字节,增强数据使用的可靠性,根据看门狗逻辑或数据校验策略,主设备对从设备进行通信异常监控,连续出现若干次通信异常时,主、从通信模块进行初始化,重新启动双MC U间通信。1 系统设计根据系统工作原理图对主、从设备芯片的S P I模式以及通信参数进行对应配置。系统框图如图1所示。图1 系统框图主从设备通信的原则主要有:主设备发送的字节长度要大于从设备发送的字节长度,因为数据通信的时钟由主设备产生6-8。主设备开始数据通信时,从设备需要通过发送空中断来触发数据通信,否则,如果从设备采用接收1字节中断之后触发DMA发送,会导致主设备接收缓冲区第一个字节为D u mm y

10、(因为从设备在主设备发送第一个字节时无法同时向总线发送数据),不能做到严格意义上的数据同步,主设备在数据处理时需要丢弃第一个D u mm y字节。因此,从设备采用发送空中断触发DMA搬移就可以做到完全同步9-1 0。敬请登录网站在线投稿(t o u g a o.m e s n e t.c o m.c n)2 0 2 3年第4期 5 5 S P I通信特性参数如表1所列。表1 S P I通信特性参数项目参数属性单位传送方式时钟同步通信速度1 0 0 0 0 0 0b/s通信周期1 0m s数据长度8位数据方向L S B F I R S T数据取入按照同步用时钟信号的低高电平进行采样发送字节数1

11、0 0字节接收字节数8 0字节1.1 通信时序C K S 3 2配置为主模式,数据通信由主设备发起,当主设备准备开始通信时,需要将C S片选信号从默认高电平拉低,之后开启定时器T I M 1,同时对主设备的S P I模块以及绑定的DMA通道进行配置。在此期间,从设备启动后,将C S对应的p o r t配置为外部中断(下降沿触发),当检测到主设备准备开始通信的信号(C S信号由高到低)后,从设备开始配置S P I模块以及DMA模块,确保二者在即将进行数据通信前发送/接收功能都已就绪。T I M 1结束之后,主设备开始发送数据,从设备开始接收数据,并且向S P I总线上同步发送给主设备数据。主设备

12、发送完成后,启动定时器T I M 2,待DMA数据传输完成,T I M 2时间结束,此 时 主 设 备 拉 高C S信 号,之 后 启 动 定 时 器T I M 3,在此过程中,主从设备都开始对接收的数据进行校验等操作,待T I M 3时间结束,整个数据传输过程结束。根据MC U处理器性能,T I M 1、T I M 2和T I M 3参数配置如表2所列。表2 T I M 1、T I M 2和T I M 3参数配置项目参数属性单位T I M 18 0 0sT I M 22 0 0sT I M 31.5m s具体通信时序如图2所示,DMA数 据 搬 移 如 图3所示。图2 通信时序图1.2 通信

13、状态机根据双MC U间通信的时序逻辑,在软件设计方面需考虑状态机进行各状态的管理,系统启动之后,主设备MC U通信进入初始化状态,初始化S P I和DMA模块之后,将通信设置为允许通信状态,通信正式启动前,进入定时器T I M 1的等待状态,待从设备准备就绪,主设备开启通信,触发DMA进行发送和同步接收处理,直到DMA发送完成进入DMA发送完成处理状态,同时触发T I M 2定时器,等待DMA搬移完成,再进入T I M 3,此时进行数据校验判定,同时复制数据到目标b u f f e r中供应用模块使用,此时通信进入完成状态。若系统在处理某些特殊请求,则需要关闭MC U间通信,此时需要进入通信强

14、制停止状态。具体状态机如图4所示。5 6 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 图3 D M A数据搬移图4 主M C U通信状态机同样,从设备在系统启动之后,先进入通信初始化状态,之后进入通信等待状态,用于处理上次接收的数据或者进入通信预处理。待主设备将C S信号从高电平设置为低电平,从设备会产生C S下降沿中断,开启MC U间通信,直到主设备将C S信号从低电平设置为高电平,此时从设备会产生C S上升沿中断,表示数据通信已完成,

15、之后进行数据校验,并根据校验结果决定是否采纳接收的数据,最后将状态机设置为通信完成状态。具体状态机如图5所示。1.3 通信异常处理在双MC U通信过程中,可能会出现一些异常情况导致双MC U间通信失败,例如S P I通信链路的硬线信号(S I N、S OUT或C L K引脚)和V C C或者G N D短接等故图5 从M C U通信状态机障,或者从设备MC U启动失败等,此时,MC U主设备需要具备检测通信异常的能力,并采取自恢复措施。当主MC U通信完成后,若检测C h e c k s u m不正确,则会进行错误计数,若检测正确,则该计数器就清理,若持续5 0 0 m s检测C h e c k

16、 s u m都错误,则对S P I通信模块进行初始化操作,双MC U间 通 信 的 硬 件 信 号 短 路 都 会 造 成 此 异 常。MC U内部控制器(S P I、T i m e r或DMA模块)也可能出现异常,则根据MC U内部控制器的状态寄存器标志进行异常的恢复处理(一般采取模块内部控制器初始化)。主设备为了监控从设备通信实时状态,会在通信数据中增加W a t c h D o g字节(简称W d t B y t e,会实时变化)来监控从设备返回的数据是否进行实时更新。若检测到此数据一直保持不变,则会触发错误计数器计数直至达到门限,从而对主设备和从设备都进行初始化操作,尝试恢复通信。数据格式定义如图6所示。图6 M C U间通信数据定义2 测试结果及分析根据系统设计的原理,结合硬件板卡,对双 6 0 6 0 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 由表2可知,当多个运动目标识别率达到9 5%以上时,车辆运动速度不一致导致

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 专业资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2