一种基于串口的MCU与SoC核间通信装置及方法与流程
本发明属于数字信息传输领域,具体地说,本发明涉及一种基于串口的mcu与soc核间通信装置及方法,用于解决现有核间通信方案中硬件复杂度高、软件开销大、实时性不足的问题。
背景技术:
1、在现有的微控制处理器单元mcu与片上系统单元soc核间通信方案中,传统方法多采用共享内存、双端口ram或专用硬件邮箱等并行总线接口实现数据交换。这类方案需要设计复杂的硬件布线、地址映射逻辑以及总线仲裁机制,增加了芯片内部互连结构与外围驱动电路的设计难度。并行接口对信号完整性和时序同步有严格要求,在物理距离较长或电磁干扰较强的环境中,必须额外增加信号调理、电平转换或隔离器件,导致系统硬件成本显著上升。同时,共享内存方案还需解决缓存一致性问题,通常需要硬件辅助的缓存一致性协议或软件显式刷新操作,进一步提升了硬件实现复杂度。因此,现有基于并行总线的核间通信方案在低成本、低功耗的嵌入式设备中难以广泛采用,其硬件开销成为制约系统集成度的主要因素之一。
2、在软件协议层面,为保障微控制处理器单元mcu与片上系统单元soc之间通信的可靠性,现有技术往往依赖完整的实时操作系统协议栈,例如在rtos中移植轻量级tcp/ip协议栈或实现多层握手机制。这些方案需要在通信过程中频繁进行任务上下文切换、动态内存分配与释放、数据缓冲区拷贝以及多任务同步操作,导致软件运行时的内存占用和cpu负载显著增加。对于资源受限的物联网终端或工业控制节点,有限的ram和闪存空间难以承载完整的协议栈代码,而过高的处理器占用率会挤占用户应用程序的执行时间,降低系统整体效率。此外,复杂的协议交互逻辑增加了代码编写、调试与维护的难度,开发者需要处理各种异常状态和边界条件,延长了产品开发周期。因此,现有核间通信软件方案存在协议栈臃肿、运行开销大、不适合轻量级嵌入式应用的明显缺陷。
3、在实时响应能力方面,传统核间通信方法存在明显不足。一种常见做法是采用轮询方式不断检查数据接收标志,这种方式虽然实现简单,但无论有无数据都会持续占用cpu周期,造成处理器资源浪费和功耗增加,尤其在低数据率场景下效率极低。另一种做法是使用中断触发数据接收,但多数现有方案仅采用简单的中断服务例程,缺乏有效的超时重传机制和差错校验机制。当物理串行链路上出现数据错误、帧丢失或噪声干扰时,发送端无法及时获知接收状态,接收端也难以恢复错误数据,容易导致通信阻塞或数据不一致。对于需要确定性延迟响应的实时控制场景,例如电机驱动、传感器数据采集与处理,上述缺陷会使得系统无法在规定的时间窗口内完成指令传输与状态反馈,从而影响整个系统对紧急事件的快速处理能力。工业控制和智能设备领域对通信的实时性和可靠性有较高要求,而现有核间通信方案在这一点上仍难以满足实际应用需求。
技术实现思路
1、本发明旨在克服现有技术的不足,提供一种基于串口的mcu与soc核间通信装置及方法,用于解决现有核间通信方案中硬件复杂度高、软件开销大、实时性不足的问题。
2、为了实现上述目的,本发明采取的技术方案为:一种基于串口的mcu与soc核间通信装置,包括微控制处理器单元mcu、串行通信接口单元sci、片上系统单元soc;微控制处理器单元mcu与串行通信接口单元sci连接;串行通信接口单元sci与片上系统单元soc连接。
3、微控制处理器单元mcu传输数据至串行通信接口单元sci;串行通信接口单元sci接收微控制处理器单元mcu的数据,并传输至片上系统单元soc;片上系统单元soc接收串行通信接口单元sci的数据;片上系统单元soc传输数据至串行通信接口单元sci;串行通信接口单元sci接收片上系统单元soc的数据,并传输至微控制处理器单元mcu;微控制处理器单元mcu接收串行通信接口单元sci的数据。
4、串行通信接口单元sci与微控制处理器单元mcu和片上系统单元soc进行物理连接;串行通信接口单元sci为异步串行接口uart。
5、微控制处理器单元mcu与片上系统单元soc内部部署有核间通信协议栈;协议栈包括物理层、数据链路层和应用层;应用层协议定义了一种结构化通信帧格式。结构化通信帧格式包括两种包类型,分别是协议包和数据包。
6、协议包格式在通信协议中对一次数据分为六个域;六个域分别为帧起始符sof、命令/响应码域、数据长度域、数据载荷域、校验和域、帧结束符eof。
7、数据包格式在通信协议中对一次数据分为三个域;三个域分别为标志域、长度、载荷。
8、通信协议栈,采用通用输入输出接口gpio的电平设置方案来实现总线占用情况的通知。
9、数据包在数据包满或者数据包有待发数据,且等待时间溢出时,发送数据。
10、微控制处理器单元mcu与片上系统单元soc核间通信装置设有异常监控措施;异常监控措施包括监控数据包的传输率、监控总线发送带宽、监控总线接收带宽。
11、一种基于串口的mcu与soc核间通信装置的方法,方法包括以下步骤:
12、s1:发送端根据待传输信息数据,按照应用层通信帧格式封装成完整帧,通过串口数据链路层与物理层发送;
13、s2:接收端通过串口物理层与数据链路层接收数据,通过搜索帧起始符进行帧同步,完整接收一帧后,根据帧格式解析各域,并利用校验和域进行差错校验;
14、s3:接收端根据解析出的命令或响应码域,执行相应操作,若为命令帧且需要应答,则按照相同帧格式构造响应帧并返回至发送端;
15、s4:发送端在发送帧后启动超时计时器,若在设定时间内未收到有效响应帧,则进行重发,达到最大重试次数后上报通信失败;
16、s5:接收端在校验和验证失败或帧格式错误时,直接丢弃该帧,并可选择发送否定应答。
17、本发明的技术效果为:硬件成本降低:采用标准串口替代并行总线或共享内存,省去复杂布线、地址仲裁及信号调理器件,大幅降低硬件复杂度和集成成本;软件开销减少:设计轻量级应用层协议,无需依赖rtos协议栈,减少上下文切换和内存拷贝,降低cpu负载与代码维护难度;实时性与可靠性提升:结合中断驱动与轮询的数据处理方式,配合超时重传和差错校验,避免轮询浪费cpu或中断缺乏错误恢复的问题,实现确定性低延迟通信,满足工业控制等实时场景需求。
1.一种基于串口的mcu与soc核间通信装置,其特征在于:包括微控制处理器单元(mcu)、串行通信接口单元(sci)、片上系统单元(soc);所述微控制处理器单元(mcu)与串行通信接口单元(sci)连接;所述串行通信接口单元(sci)与片上系统单元(soc)连接。
2.如权利要求1所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述微控制处理器单元(mcu)传输数据至串行通信接口单元(sci);所述串行通信接口单元(sci)接收微控制处理器单元(mcu)的数据,并传输至片上系统单元(soc);所述片上系统单元(soc)接收串行通信接口单元(sci)的数据;所述片上系统单元(soc)传输数据至串行通信接口单元(sci);所述串行通信接口单元(sci)接收片上系统单元(soc)的数据,并传输至微控制处理器单元(mcu);所述微控制处理器单元(mcu)接收串行通信接口单元(sci)的数据。
3.如权利要求1所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述串行通信接口单元(sci)与微控制处理器单元(mcu)和片上系统单元(soc)进行物理连接;所述串行通信接口单元(sci)为异步串行接口(uart)。
4.如权利要求1所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述微控制处理器单元(mcu)与片上系统单元(soc)内部部署有核间通信协议栈;所述协议栈包括物理层、数据链路层和应用层;所述应用层协议定义了一种结构化通信帧格式。所述结构化通信帧格式包括两种包类型,分别是协议包和数据包。
5.如权利要求4所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述协议包格式在通信协议中对一次数据分为六个域;所述六个域分别为帧起始符(sof)、命令/响应码域、数据长度域、数据载荷域、校验和域、帧结束符(eof)。
6.如权利要求4所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述数据包格式在通信协议中对一次数据分为三个域;所述三个域分别为标志域、长度、载荷。
7.如权利要求4所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述通信协议栈,采用通用输入输出接口(gpio)的电平设置方案来实现总线占用情况的通知。
8.如权利要求4所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述数据包在数据包满或者数据包有待发数据,且等待时间溢出时,发送数据。
9.如权利要求1所述的一种基于串口的mcu与soc核间通信装置,其特征在于:所述微控制处理器单元(mcu)与片上系统单元(soc)核间通信装置设有异常监控措施;所述异常监控措施包括监控数据包的传输率、监控总线发送带宽、监控总线接收带宽。
10.一种基于权利1-9任一项所述的串口的mcu与soc核间通信装置的方法,其特征在于:所述方法包括以下步骤:
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com