[发明专利]基于双环形缓冲区的微处理器高性能数据通信方法有效
申请号: | 201810569780.X | 申请日: | 2018-06-05 |
公开(公告)号: | CN108920184B | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 张恒旭;李昊 | 申请(专利权)人: | 山东大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/48 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 李圣梅 |
地址: | 250061 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 环形 缓冲区 微处理器 性能 数据通信 方法 | ||
1.基于双环形缓冲区的微处理器高性能数据通信方法,其特征是,包括:
利用初始化程序完成数据接收状态结构体初始化和数据发送状态结构体初始化;
循环执行数据接收程序和数据发送程序,数据接收程序和数据发送程序采用查询方式循环执行;
当中断源产生中断信号时,中断服务程序打断当前正在执行的数据接收程序或数据发送程序,中断服务程序执行结束后,继续执行循环检测过程;
其中,当微处理器有数据收到或数据发送时,产生中断信号,对中断源进行分类,分为数据接收中断和数据发送中断;
当微处理器接收数据时,触发接收中断程序,接收中断程序调用多字节数据写入程序,多字节数据写入程序进而多次调用单字节数据写入程序,采用数据接收状态结构体对数据接收缓冲区进行操作,将接收到的数据包按字节顺序存储至数据接收缓冲区;
当微处理器发送数据时,触发发送中断程序,发送中断程序调用多字节数据读取程序,多字节数据读取程序进而多次调用单字节数据读取程序,采用数据发送状态结构体对数据发送缓冲区进行操作,将待发送的数据包通过通信单元按字节顺序发送至其他终端设备。
2.如权利要求1所述的基于双环形缓冲区的微处理器高性能数据通信方法,其特征是,所述数据接收程序和数据发送程序中执行的子程序均包括:单字节数据读取程序,多字节数据读取程序,单字节数据写入程序,多字节数据写入程序,指针位置调整程序和用户自定义功能程序。
3.如权利要求1所述的基于双环形缓冲区的微处理器高性能数据通信方法,其特征是,初始化程序包括数据接收状态结构体初始化和数据发送状态结构体初始化两部分,初始化程序仅在微处理器上电后执行一次;
数据接收状态结构体初始化将int*top成员指向数据接收缓冲区首地址,int*end成员指向数据接收缓冲区末地址,int*pwr成员指向数据接收缓冲区首地址,int*prd成员指向数据接收缓冲区首地址;
数据发送状态结构体初始化将int*top成员指向数据发送缓冲区首地址,int*end成员指向数据发送缓冲区末地址,int*pwr成员指向数据发送缓冲区首地址,int*prd成员指向数据发送缓冲区首地址。
4.如权利要求1所述的基于双环形缓冲区的微处理器高性能数据通信方法,其特征是,数据接收程序由系统循环调用执行,每次执行该程序时,首先判断数据读取状态标号的值,之后计算当前未读取数据的长度,若状态标号等于0,则代表未找到包头,若未读取数据的长度小于包头长度,则继续循环等待;若未读取数据的长度大于等于包头长度,且包头校验正确,则置状态标号的值为1,表示已经找到包头,进行数据解析程序;若未读取数据的长度大于等于包头长度,但是包头校验错误,则丢弃本数据包,继续寻找。
5.如权利要求4所述的基于双环形缓冲区的微处理器高性能数据通信方法,其特征是,若状态标号等于1,表示包头校验正确,执行数据解析程序,数据解析程序由用户的需要进行自定义,数据解析程序的最后将状态标号的值置为2,表示数据解析程序执行完毕,若状态标号等于2,表示数据解析程序执行完毕,进行数据包尾校验程序,若数据包尾校验正确,则根据数据解析内容执行用户自定义功能程序,并重新置状态标号的值为0,重新开始新数据包的接收过程;若数据包尾校验错误,则表示该数据包不完整,有可能包含错误信息,为了数据通信的可靠性,该数据包应丢弃,不执行用户自定义功能程序,重新置状态标号的值为0,开始新数据包的读取过程。
6.如权利要求1所述的基于双环形缓冲区的微处理器高性能数据通信方法,其特征是,数据发送程序由系统循环调用执行,每次执行该程序时,循环检测是否有发送命令,当接收当发送命令且有待发送数据即int*pwr-int*prd0时:数据发送缓冲区写指针领先于数据发送缓冲区读指针,完成待发送数据包的组包过程:依次执行数据包头添加程序,数据包数据信息添加程序,数据包尾添加程序构建完整的待发送数据包,之后使能发送中断,开始数据包的顺序发送。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810569780.X/1.html,转载请声明来源钻瓜专利网。