The invention discloses a SPI communication method for realizing data transmission of dual MCUs. On the basis of traditional SPI communication four-wire system, the main MCU obtains the ACK response signal from the MCU by adding an ACK response signal line. If the ACK response signal is the correct ACK response signal, the transmission of the next SPI packet is started, otherwise, the transmission of the next SPI packet is re-transmitted. The current frame SPI packet is sent to the slave MCU; when the communication between the master MCU and the slave MCU is unstable, the master MCU sends the reset signal to the slave MCU through the additional reset signal line RST to realize the reset of the master MCU and the slave MCU; when the communication between the slave MCU is unstable, the slave MCU sends the alarm signal to the master MCU through the additional abnormal feedback signal line ABN. The alarm signal is sent to the slave MCU by the additional reset signal line RST to realize the soft reset of the master MCU and the slave MCU.
【技术实现步骤摘要】
一种实现双MCU数据传输的SPI通信方法
本专利技术涉及数据通信领域,尤其涉及一种实现双MCU数据传输的SPI通信方法。
技术介绍
机器人控制系统的主要任务是控制机器人在工作空间中的运动位置、姿态和轨迹、操作顺序及动作的时间等项。机器人的运动控制系统是机器人的重要组成部分。随着机器人产业的快速发展,分散控制方式应用的越来越普遍,这种方式实时性好,多个MCU协同工作,易于实现高速、高精度控制,扩展方便,可实现智能控制。SPI(SerialPeripheralInterface,串行外设接口)是一种全双工的高速同步通信总线,通信协议灵活,可控度高,而且很多MCU芯片支持带DMA传输方式的硬件SPI接口,使SPI通信变得更加简便,占用的资源更少,非常适用于机器人控制系统中多个MCU之间的高速通信。传统的SPI通信由一个主设备和一个从设备组成,使用四条线:串行时钟信号SCLK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和从机片选信号线CS,并没有一个有效的通信协议确保其通信的稳定性。
技术实现思路
本专利技术的目的是提供一种实现双MCU数据传输的SPI通信方法。该SPI通信方法中,增加了通过应答信号线ACK、复位信号线RST以及异常反馈信号线ABN的信号确认机制,以保证主MCU和从MCU之间的正常数据通信。为实现上述专利技术目的,本专利技术提供以下技术方案:一种实现双MCU数据传输的SPI通信方法,包括采用MOSI、MISO、SCLK以及CS四条连接线,实现主MCU与从MCU之间的通信,所述SPI通信方法还包括:主MCU通过增设的应答信号线AC ...
【技术保护点】
1.一种实现双MCU数据传输的SPI通信方法,包括采用MOSI、MISO、SCLK以及CS四条连接线,实现主MCU与从MCU之间的通信,其特征在于,所述SPI通信方法还包括:主MCU通过增设的应答信号线ACK,获取从MCU发来的ACK应答信号,若ACK应答信号为正确ACK应答信号,则启动下一帧SPI数据包的传输,若ACK应答信号为错误ACK应答信号,则重新发送当前帧SPI数据包至从MCU;当主MCU通信不稳定时,主MCU通过增设的复位信号线RST发送复位信号至从MCU,以实现对主MCU和从MCU的软复位,重新开始传输SPI数据包;当从MCU通信不稳定时,从MCU通过增设的异常反馈信号线ABN发送报警信号至主MCU后,主MCU根据接收的报警信号,经增设的复位信号线RST发送复位信号至从MCU,以实现对主MCU和从MCU的软复位,重新开始传输SPI数据包。
【技术特征摘要】
1.一种实现双MCU数据传输的SPI通信方法,包括采用MOSI、MISO、SCLK以及CS四条连接线,实现主MCU与从MCU之间的通信,其特征在于,所述SPI通信方法还包括:主MCU通过增设的应答信号线ACK,获取从MCU发来的ACK应答信号,若ACK应答信号为正确ACK应答信号,则启动下一帧SPI数据包的传输,若ACK应答信号为错误ACK应答信号,则重新发送当前帧SPI数据包至从MCU;当主MCU通信不稳定时,主MCU通过增设的复位信号线RST发送复位信号至从MCU,以实现对主MCU和从MCU的软复位,重新开始传输SPI数据包;当从MCU通信不稳定时,从MCU通过增设的异常反馈信号线ABN发送报警信号至主MCU后,主MCU根据接收的报警信号,经增设的复位信号线RST发送复位信号至从MCU,以实现对主MCU和从MCU的软复位,重新开始传输SPI数据包。2.如权利要求1所述的实现双MCU数据传输的SPI通信方法,其特征在于,所述SPI通信方法中,对于每次数据传输,从MCU对接收的SPI数据包排序并做CRC校验,若CRC校验正确,则生成正确ACK应答信号,若CRC校验错误,则生成错误ACK应答信号,然后将正确ACK应答信号或错误ACK应答信号经应答信号线ACK发送至主MCU。3.如权利要求1所述的实现双MCU数据传输的SPI通信方法,其特征在于,判断主MCU通信不稳定的过程为:每次数据传输中,主MCU对接收的SPI数据包排序并做CRC校验,若CRC校验错误,主MCU发送停止信...
【专利技术属性】
技术研发人员:宋孙浩,张驰,李荣,舒鑫东,陈庆盈,
申请(专利权)人:中国科学院宁波材料技术与工程研究所,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。