一种控制器串口通讯协议的制作方法

文档序号:6378470阅读:409来源:国知局
专利名称:一种控制器串口通讯协议的制作方法
技术领域
本发明涉及串口通信领域,更具体地说,涉及一种用于适用于电机控制器的串口通讯协议。
背景技术
通用串行通讯系统由于其接口简单,扩展灵活 ,从而被广泛应用于各类单片机系统中,但由于单片本身的工作频率一般较低,处理速度较慢,在高速通讯的过程中,往往会出现通讯不可靠的情况,如果通讯协议过于简单,无法保证多字节数据传输以及数据的准确性。为了解决这一问题,目前所存在的串口通讯协议,通常会通过增加接收端和发送端的协议和任务的复杂度来提高稳定性,而过于复杂的通讯协议,必定要占用更多的微处理器的处理时间和存储单元,使得为了运行传统的串口通讯协议,需要选用相对高端的微处理器,或者添加用于通信的辅助微处理器,从而提升了串口通讯系统的制造成本。且在传统的通讯协议中,很难考虑到电机控制器这类产品中微处理器的特点,导致现成的协议无法适用于这类产品中的微处理器。

发明内容
本发明的目的是提供一种协议内容精简合理,采用“点对点”和“点对多”的通信拓扑模式,且可尽最大可能降低电机控制器中微处理器在通讯上的任务量,同时适用于多种通讯物理层的控制器的串口通讯协议。本发明是采取以下技术方案实现的包括如下步骤I)主机方面(A)主机准备应用层数据;( B )主机向从机发送数据;(C)主机等待从机的应答信号;若主机接收到的信号来源为非期望从机,则主机重新发送数据;若主机接收来自期望从机的应答信号时产生帧间超时或帧内超时,则主机重新发送数据;若主机接收到的来自期望从机的应答信号为“NAK”,则主机重新发送数据;若主机接收到的来自期望从机的应答信号为“ACK”,则完成一次操作;2)从机方面(a)从机接收主机发送的数据;(b)若从机忙,不处理数据,不应答,重新接收;若接收到的数据为非本机ID数据,不应答,重新接收;若从机接收本机ID数据时产生帧内超时,则清空接收缓存,重新接收;若从机接收到的本机ID数据校验错误,则发送“NAK”应答信号给主机;若从机接收到的本机ID数据校验正确,则从机处理应用层数据,并发送“ACK”应答信号给主机,完成一次操作。主机和从机间的通信具有6种工作方式,分别为实施监控,写用户参数,读用户参数,读当前故障,读历史故障,清除历史故障;其中实时监控的工作方式在从机的存储区I中完成,写用户参数和读用户参数的工作方式在从机的存储区2中完成,读当前故障的工作方式在从机的存储区3中完成,读历史故障和清除历史故障的工作方式在从机的存储区4中完成;存储区I至存储区4为相互独立的4个存储区;6种工作方式的每一种工作方式都具有步骤(A)、(B) (C)以及步骤(a)、(b)、(c)的协议流程。主机和从机在完成数据的接收前,接收到的数据会先存在接收缓存中,在完成数据的发送前,发送的数据会先存在发送缓存中。主机和从机每一次重新接收数据前会将接收缓存中的数据清空;主机和从机每一次从新发送数据时,重新发送的数据会将发送缓存中的数据覆盖。帧间超时是指主机发送一个完整的数据帧后,接收从机的应答信号大于所设定的时间;帧内超时是指主机或从机在接收某个数据帧时,接收到首尾的两个字节之间的时间间隔大于所设定的时间。
·
主机和从机之间通信的波特率为19200bps,主机和从机之间发送和接收的每一个字节前有一位起始位,字节后有终止位,故接收中断触发的最高频率为1920HZ。参数I为操作码,对应主机和从机进行串口通信的6种工作方式;参数2为操作数地址,且为偏移地址;参数3和参数4为操作数,参数5的高位为目标机ID,低位为校验状态信息,为表示从机数据校验正确的对应码或从机校验错误的对应码;参数6为校验信息,参数6为前5个参数之和,若加和后出现的溢出位,舍弃溢出位。在实施监控的工作方式中,主机向从机发送参数I至参数6 ;参数I为实施监控的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即为置O ;参数的5高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和;从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为实施监控的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;在写用户参数的工作方式中,主机向从机发送参数I至参数6 ;参数I为写用户参数的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和;从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为写用户参数的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3为操作结果,分别为操作成功或操作失败两种结果的对应编码;参数4为空,即置O ;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;在读用户参数的工作方式中,主机向从机发送参数I至参数6 ;参数I为读用户参数的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和;从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读用户参数的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;在读当前故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读当前故障的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和;
从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读当前故障的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;在读历史故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和;从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;在清历史故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码;参数2、参数3、参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和;从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码,参数3为操作结果,分别为操作成功或操作失败两种结果的对应编码;参数2和参数4为空,即置O ;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;清历史故障的工作方式中,因为参数2中所对应的偏移地址为空,故清历史故障的工作方式默认为将清历史故障的工作方式所对应的存储区4中的信息全部清除。非期望从机是指从机的ID与主机发送的数据中的参数5的高位的从机ID不符的从机;非本机ID数据是指,从机接收到的数据的参数5的高位的从机ID与其ID不符。本发明与现有技术相比具有显著的优点和有益效果,体现如下采用“点对点”和“点对多”的通信拓扑模式,协议尽最大可能降低电机控制器中微处理器在通讯上的任务量,可同时适用于多种通讯物理层,在保证通讯正常的同时,降低了电机控制器中微处理器的任务量;由于使用了统一的得到验证过的通讯协议,降低了系列产品开发的难度以及任务量,实现了通讯代码模块的重用,一定程度上增加了产品的稳定性。具体体现如下首先,在通信中,分主机和从机两方。协议仅支持“点对点”和“点对多”的通信模式,即在一个通信网络中只能有一个主机,但可以有多个从机。另外协议不支持“多对多”的通信模式。这样从一个方面简化了通讯协议。其次,考虑到电机控制器中微处理器的核心工作在于电机控制、车辆安全等,协议应尽可能少的占用从机的时间,尽可能少的中断从机的工作,中断时也应最大可能的减少中断时间。所以协议将大部分的工作放在主机部分,主机为事务发起方,从机只能应答主机,而无权发起事务。这样在满足基本应用的同时,减少了从机的工作量,也降低了协议的复杂性。且通讯时,应用层同时对数据进行范围检查,尽可能的降低了数据出错的概率。再次,为了增加协议的适用范围,协议本身对物理层并无要求,使用SCI、SPI、I2C通信都可以,它们之间只是收发功能函数的不同,其余并无区别,当然实际应用中可能以SCI为主。由于CAN网络比较特殊,其硬件本身具有CRC校验及ID项,协议仍将二者在应用层数据的组织上进行统一。


图I是本发明的主机的协议流程图;图2是本发明的从机的协议流程图。
具体实施例方式以下结合附图对本发明实施例做进一步详述,以下关于本发明的实施方式的描述只是示例性,并不是为了限制本发明的所要保护的主题,对于本发明所描述的实施例还存在的其他在权利要求保护范围内的变化,都属于本发明所需要保护的主题。 在本发明的通讯协议中,分主机和从机两方。协议仅支持“点对点”和“点对多”的通信模式,即在一个通信网络中只能有一个主机,但可以有多个从机。另外协议不支持“多对多”的通信模式。考虑到电机控制器中微处理器的核心工作在于电机控制、车辆安全等,协议应尽可能少的占用从机的时间,尽可能少的中断从机的工作,中断时也应最大可能的减少中断时间。所以协议将大部分的工作放在主机部分,主机为事务发起方,从机只能应答主机,而无权发起事务。这样在满足基本应用的同时,减少了从机的工作量,也降低了协议的复杂性。且通讯时,应用层同时对数据进行范围检查,尽可能的降低了数据出错的概率。为了增加协议的适用范围,协议本身对物理层并无要求,使用SCI、SPI、I2C通信都可以,它们之间只是收发功能函数的不同,其余并无区别。由于CAN网络比较特殊,其硬件本身具有CRC校验及ID项,协议仍将二者在应用层数据的组织上进行统一。根据图I所示,主机的协议流程包括I、主机空闲状态下开启发送数据的任务,准备应用层数据。2、主机向从机发送数据。3、主机等待从机的应答信号;若主机接收到的信号来源为非期望从机,则主机重新发送数据;若主机接收来自期望从机的应答信号时产生帧间超时或帧内超时,则主机重新发送数据;若主机接收到的来自期望从机的应答信号为“NAK”,则主机重新发送数据;若主机接收到的来自期望从机的应答信号为“ACK”,则完成一次操作;根据图2所示,从机的协议流程包括I、从机在空闲状态时接收主机发送的数据。2、若从机忙,不处理数据,不应答,重新接收;若接收到的数据为非本机ID数据,不应答,重新接收;若从机接收本机ID数据时产生帧内超时,则清空接收缓存,重新接收;若从机接收到的本机ID数据校验错误,则发送“NAK”应答信号给主机;若从机接收到的本机ID数据校验正确,则从机处理应用层数据,并发送“ACK”应答信号给主机,完成一次操作。“NAK”意为否定应答,否定应答即为数据校验错误时产生的从机对于主机的应答;“ACK”意为肯定应答,肯定应答即为数据校验正确时产生的从机对于主机的应答。主机和从机之间通信的波特率为19200bps,主机和从机之间发送和接收的每一个字节前有一位起始位,字节后有终止位,故接收中断触发的最高频率为1920HZ。主机和从机之间发送的每一帧数据包含6个字节;字节I为参数1,字节2为参数2,字节3为参数3,字节4为参数4 ;字节5参数5 ;字节6为参数6。参数I为操作码,对应主机和从机进行串口通信的6种工作方式;参数2为操作数地址,且为偏移地址;参数3和参数4为操作数,参数5的高位为目标机ID,低位为校验状态信息,为表示从机数据校验正确的对应码或从机校验错误的对应码;参数6为校验信息,参数6为前5个参数之和,若加和后出现的溢出位,舍弃溢出位。对于主机和从机的协议流程中的帧间超时是指主机发送一个完整的数据帧后,接收从机的应答信号大于所设定的时间;而帧内超时是指主机或从机在接收某个数据帧时,接收到首尾的两个字节之间的时间间隔大于所设定的时间。非期望从机是指从机的ID与主机发送的数据中的参数5的高位的从机ID不符的从机;非本机ID数据是指,从机接收到的数据的参数5的高位的从机ID与其ID不符。主机和从机在完成数据的接收前,接收到的数据会先存在接收缓存中,在完成数据的发送前,发送的数据会先存在发送缓存中。主机和从机每一次重新接收数据前会将接收缓存中的数据清空;主机和从机每一次从新发送数据时,重新发送的数据会将发送缓存中的数据覆盖。主机和从机间的通信具有6种工作方式,分别为实施监控,写用户参数,读用户参数,读当前故障,读历史故障,清除历史故障。6种工作方式的每一种工作方式都需按照图I和图2中主机和从机的协议流程进行实施。6种工作方式中,实时监控的工作方式在从机的存储区I中完成,写用户参数和读用户参数的工作方式在从机的存储区2中完成,读当前故障的工作方式在从机的存储区3中完成,读历史故障和清除历史故障的工作方式在从机的存储区4中完成;存储区I至存储区4为相互独立的4个存储区。存储区I中为系统当前工作参数信息,对应于电机控制器则为当前电机系统当前的转速,工作电流等信息;存储区2中为系统配置信息,对应于电机控制器则为电机的最高转速限制,额定工作电流、电压等信息;存储区3中为当前故障信息,对应于电机控制器则为电机系统的当前显示出的电机系统的非常态信息;存储区4中为历史故障信息,对应于电机控制器则为电机系统的过去的电机系统的非常态信息。且存储区I和存储区3所在的存储器为RAM,存储区2和存储区4所在的存储器为EEPR0M。在实施监控的工作方式中,主机向从机发送参数I至参数6 ;参数I为实施监控的·工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即为置O ;参数的5高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和。从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为实施监控的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和。因设定参数3和参数4位操作数,故实时监控的工作方式实际为在存储区I中,从机从参数2中偏移地址所确定的存储地址为起点,向后取两个字节的内容并赋予参数3、参数4,并发送至主机。在写用户参数的工作方式中,主机向从机发送参数I至参数6 ;参数I为写用户参数的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和。从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为写用户参数的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3为操作结果,分别为操作成功或操作失败两种结果的对应编码;参数4为空,即置O ;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和。因设定参数3和参数4位操作数,故写用户参数的的工作方式实际为在存储区2中,从机将从主机接收到的参数3和参数4中的两个字节的内容,写入从参数2中偏移地址所确定的存储地址为起点,向后取两个字节的存储空间。·
在读用户参数的工作方式中,主机向从机发送参数I至参数6 ;参数I为读用户参数的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和。从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读用户参数的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和。因设定参数3和参数4位操作数,故读用户参数的工作方式实际为在存储区2中,从机从参数2中偏移地址所确定的存储地址为起点,向后取两个字节的内容并赋予参数3、参数4,并发送至主机。在读当前故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读当前故障的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和。从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读当前故障的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和。因设定参数3和参数4位操作数,故读当前故障的工作方式实际为在存储区3中,从机从参数2中偏移地址所确定的存储地址为起点,向后取两个字节的内容并赋予参数3、参数4,并发送至主机。在读历史故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和。从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和。因设定参数3和参数4位操作数,故读历史故障的工作方式实际为在存储区4中,从机从参数2中偏移地址所确定的存储地址为起点,向后取两个字节的内容并赋予参数3、参数4,并发送至主机。
在清历史故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码;参数2、参数3、参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和。从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码,参数3为操作结果,分别为操作成功或操作失败两种结果的对应编码;参数2和参数4为空,即置O ;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;清历史故障的工作方式中,因为参数2中所对应的偏移地址为空,故清历史故障的工作方式默认为将清历史故障的工作方式所对应的存储区4中的信息全部清除。 对于为本发明的示范性实施例,应当理解为是本发明的权利要求书的保护范围内其中的某一种示范性示例,具有对本领域技术人员实现相应的技术方案的指导性作用,而非对本发明的限定。
权利要求
1.一种控制器串口通讯协议,其特征在于包括如下步骤 O主机方面 (A)主机准备应用层数据; (B)主机向从机发送数据; (C)主机等待从机的应答信号;若主机接收到的信号来源为非期望从机,则主机重新发送数据;若主机接收来自期望从机的应答信号时产生帧间超时或帧内超时,则主机重新发送数据;若主机接收到的来自期望从机的应答信号为“NAK”,则主机重新发送数据;若主机接收到的来自期望从机的应答信号为“ACK”,则完成一次操作; 2)从机方面 (a)从机接收主机发送的数据; (b)若从机忙,不处理数据,不应答,重新接收;若接收到的数据为非本机ID数据,不应答,重新接收;若从机接收本机ID数据时产生帧内超时,则清空接收缓存,重新接收;若从机接收到的本机ID数据校验错误,则发送“NAK”应答信号给主机;若从机接收到的本机ID数据校验正确,则从机处理应用层数据,并发送“ACK”应答信号给主机,完成一次操作。
2.根据权利要求I所述的控制器串口通讯协议,其特征在于所述主机和从机间的通信具有6种工作方式,分别为实施监控,写用户参数,读用户参数,读当前故障,读历史故障,清除历史故障;其中实时监控的工作方式在从机的存储区I中完成,写用户参数和读用户参数的工作方式在从机的存储区2中完成,读当前故障的工作方式在从机的存储区3中完成,读历史故障和清除历史故障的工作方式在从机的存储区4中完成;存储区I至存储区4为相互独立的4个存储区;6种工作方式的每一种工作方式都具有步骤(A)、(B) (C)以及步骤(a)、(b)、(c)的协议流程。
3.根据权利要求I所述的控制器串口通讯协议,其特征在于所述主机和从机在完成数据的接收前,接收到的数据会先存在接收缓存中,在完成数据的发送前,发送的数据会先存在发送缓存中。
4.根据权利要求I或权利要求3所述的控制器串口通讯协议,其特征在于主机和从机每一次重新接收数据前会将接收缓存中的数据清空;主机和从机每一次从新发送数据时,重新发送的数据会将发送缓存中的数据覆盖。
5.根据权利要求I所述的控制器串口通讯协议,其特征在于所述帧间超时是指主机发送一个完整的数据帧后,接收从机的应答信号大于所设定的时间;帧内超时是指主机或从机在接收某个数据帧时,接收到首尾的两个字节之间的时间间隔大于所设定的时间。
6.根据权利要求I所述的控制器串口通讯协议,其特征在于所述主机和从机之间发送的每一帧数据包含6个字节;字节I为参数1,字节2为参数2,字节3为参数3,字节4为参数4 ;字节5参数5 ;字节6为参数6。
7.根据权利要求I或权利要求6所述的控制器串口通讯协议,其特征在于所述主机和从机之间通信的波特率为19200bps,主机和从机之间发送和接收的每一个字节前有一位起始位,字节后有终止位,故接收中断触发的最高频率为1920HZ。
8.根据权利要求I或权利要求2或权利要求6所述的控制器串口通讯协议,其特征在于所述参数I为操作码,对应主机和从机进行串口通信的6种工作方式;参数2为操作数地址,且为偏移地址;参数3和参数4为操作数,参数5的高位为目标机ID,低位为校验状态信息,为表示数据校验正确的对应码或数据校验错误的对应码;参数6为校验信息,参数6为前5个参数之和,若加和后出现的溢出位,舍弃溢出位。
9.根据权利要求I或权利要求2或权利要求6或权利要求8所述的控制器串口通讯协议,其特征在于 在实施监控的工作方式中,主机向从机发送参数I至参数6 ;参数I为实施监控的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即为置O ;参数的5高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和; 从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为实施监控的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和; 在写用户参数的工作方式中,主机向从机发送参数I至参数6 ;参数I为写用户参数的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和; 从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为写用户参数的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3为操作结果,分别为操作成功或操作失败两种结果的对应编码;参数4为空,即置O ;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和; 在读用户参数的工作方式中,主机向从机发送参数I至参数6 ;参数I为读用户参数的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和; 从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读用户参数的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和; 在读当前故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读当前故障的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和; 从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读当前故障的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和; 在读历史故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码;参数2为操作数所在的偏移地址;参数3和参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和; 从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码,参数2为操作数所在的偏移地址;参数3和参数4为操作数;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和; 在清历史故障的工作方式中,主机向从机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码;参数2、参数3、参数4为空,即置O ;参数5的高位为从机ID,低位为空,即低位置O ;参数6为参数I至参数5之和; 从机接收到主机的数据后,向主机发送参数I至参数6 ;参数I为读历史故障的工作方式所对应的操作码,参数3为操作结果,分别为操作成功或操作失败两种结果的对应编码;参数2和参数4为空,即置O ;参数5的高位为主机ID,低位为当前的校验状态信息,为数据校验正确的对应码或数据校验错误的对应码;参数6为参数I至参数5之和;清历史故障的工作方式中,因为参数2中所对应的偏移地址为空,故清历史故障的工作方式默认为将清历史故障的工作方式所对应的存储区4中的信息全部清除。
10.根据权利要求I或权利要求6或权利要求8或权利要求9所述的控制器串口通讯协议,其特征在于所述非期望从机是指从机的ID与主机发送的数据中的参数5的高位的从机ID不符的从机;非本机ID数据是指,从机接收到的数据的参数5的高位的从机ID与其ID不符。
全文摘要
本发明公布了一种控制器串口通讯协议,包括如下步骤1、主机方面主机准备应用层数据;向从机发送数据;等待从机的应答信号;若接收到的信号来源为非期望从机,则重新发送数据;若产生帧间超时或帧内超时,则重新发送数据;若应答信号为“NAK”,则重新发送数据;若应答信号为“ACK”。2、从机方面接收主机发送的数据;若从机忙,不应答,重新接收;若接收到的数据为非本机ID数据,不应答,重新接收;若产生帧内超时,则重新接收;若数据校验出错,则发送“NAK”应答信号给主机;若校验成功,则从机处理应用层数据,并发送“ACK”。本发明旨在克服现有技术中的不足,提供一种通讯稳定,可简化微处理器的任务量的控制器串口通讯协议。
文档编号G06F13/42GK102902653SQ20121037952
公开日2013年1月30日 申请日期2012年10月9日 优先权日2012年10月9日
发明者孙彦军 申请人:天津市松正电动汽车技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1