[发明专利]一种基于MCU的串口通信方法和系统有效
申请号: | 201711488533.9 | 申请日: | 2017-12-30 |
公开(公告)号: | CN108153687B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 潘晓亮 | 申请(专利权)人: | 深圳市科陆电子科技股份有限公司 |
主分类号: | G06F13/24 | 分类号: | G06F13/24;G06F13/42 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 唐致明 |
地址: | 518000 广东省深圳市光明新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mcu 串口 通信 方法 系统 | ||
本发明公开了一种基于MCU的串口通信方法,该方法包括并行的收发控制步骤和中断响应步骤;其中,收发控制步骤包括:获取数据状态标志值;根据对数据状态标志值是否为应答完成的判断执行操作,包括:当数据状态标志值为应答完成时,获取数据;当数据状态标志值不为应答完成时,间隔预设的时间间隔,返回获取数据状态标志值的步骤;中断响应步骤包括:根据检测到MCU的接收中断信号,将数据状态标志值更新为应答完成。此外,还公开了一种基于MCU的串口通信系统。上述基于MCU的串口通信方法和系统提高了MCU与外接设备之间数据交互的效率。
技术领域
本发明涉及数据通信,尤其涉及一种基于MCU的串口通信方法和系统。
背景技术
通常在MCU与外接设备的通信过程中,MCU扮演主机模式,外接设备扮演从机模式。MCU向外接设备发送指令数据,外接设备在接到该指令数据后,将经过一系列处理得到的运算结果作为应答数据返回给MCU,因而,从MCU开始请求数据到获取数据需要一定的数据交互时间。某些情形下,MCU与外接设备之间还会引入其他电路结构,这些其他电路结构的引入会导致数据传输的延时,从而进一步增加数据交互时间。
例如,在电能表应用场景下,当外接设备为计量芯片时,由于计量芯片直接与强电设施(如市电220V)连接,一般行业规范上都要求MCU与计量芯片之间必须电气隔离,如采用光耦隔离电路。参见图1是电能表中MCU与计量芯片的电气连接原理图,图2是单相电能表通信应用的一个实例,其中,S1表示MCU请求数据阶段,S2表示计量芯片应答阶段,CMD表示MCU向计量芯片发送的请求指令数据,T1表示CMD数据的传输时间,T2表示MCU发送完指令数据之后计量芯片开始数据应答的时间间隔,T3表示计量芯片应答数据的传输时间,DATA1~DATA4表示计量芯片应答的相关测量数据(即MCU期望得到的数据),CHKSUM表示DATA1~DATA4的计算和,供于MCU验证计量芯片应答数据的正确性,可看出MCU与计量芯片之间一个正常的数据交互时间大约需要14ms。
另外,由于一般MCU程序执行机制只具备单线程执行机制,一旦某个功能子程序运行时间过长都会影响其他功能子程序的运行。假如MCU与外接设备在一个主函数中数据交互次数过多,则不利于主函数中其他功能子程序的运行,降低整个主函数的运行效率。
发明内容
为了解决上述技术问题,本发明的目的是提供一种基于MCU的串口通信方法,包括并行的收发控制步骤和中断响应步骤;其中,收发控制步骤包括:
获取数据状态标志值;
根据对数据状态标志值是否为应答完成的判断执行操作,包括:
当数据状态标志值为应答完成时,获取数据;
当数据状态标志值不为应答完成时,间隔预设的时间间隔,返回获取数据状态标志值的步骤;
中断响应步骤包括:
根据检测到MCU的接收中断信号,将数据状态标志值更新为应答完成。
进一步地,数据状态标志值的取值还包括发送请求;相应地,收发控制步骤包括:
获取数据状态标志值;
根据对数据状态标志值是否为发送请求或应答完成的判断执行操作,包括:
当数据状态标志值为发送请求时,触发MCU的发送中断信号;
当数据状态标志值为应答完成时,获取数据,且在获取数据完成时将数据状态标志值更新为发送请求;
当数据状态标志值不为发送请求或应答完成时,间隔预设的时间间隔,返回获取数据状态标志值的步骤。
进一步地,中断响应步骤根据对检测到的中断信号的判断执行操作,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市科陆电子科技股份有限公司,未经深圳市科陆电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711488533.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多接口CPU模块
- 下一篇:串行隔离通信方法及系统