CN1080502C - 带有组帧错误检测的通信系统 - Google Patents
带有组帧错误检测的通信系统 Download PDFInfo
- Publication number
- CN1080502C CN1080502C CN96100015A CN96100015A CN1080502C CN 1080502 C CN1080502 C CN 1080502C CN 96100015 A CN96100015 A CN 96100015A CN 96100015 A CN96100015 A CN 96100015A CN 1080502 C CN1080502 C CN 1080502C
- Authority
- CN
- China
- Prior art keywords
- steps
- framing
- mistake
- data
- communication means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
在从动单元中发生组帧错时,出错原因被分析,并根据出错原因而使中断被禁止或起动,从而可以实现最佳数据通信。当发出中断请求时,确定该中断是否由组帧错误所引起。在肯定的确定结果时,确定组帧错误是否连续发生两次或更多次。有否定的确定结果的情况下中断是不加禁止(即被允许)的,而在肯定的确定结果时中断被禁止。
Description
本发明涉及一种通信系统,它在主动单元(例如一台检测器这样的外部单元)和从动单元(例如一台发动机控制器这样的电子控制单元)之间实现数据的发送和接收。
有这样一种已知的如图9所示的通信系统用于在主动单元和从动单元之间发送和接收数据,其中主动单元100和从动单元110-130通过通信线140和连接装置150连接起来,从动单元110-130在接收到由主动单元100经由通信线路140送出的请求信息后,就为该请求信息按从动单元110-130的优先级别顺序地经由通信线路140送出应答信息。
图9所示的系统的安排将作简单的解释。第一从动单元110含有一个CPU111,它主要用于通信,还含有一个CPU112,它主要用于控制。CPU111和一个通信I/O(输入/出)设备113相连,后者能够监测从主动单元100来的请求信息和从其它从动单元120和130来的应答信息,而CPU112则和一个控制I/O设备相连用于控制。CPU111和CPU112由数据总线115连接在一起。
CPU111包括一个能方便串行通信的串行接口(S.I.)116、一个RAM、一个ROM等。其它从动单元120和130和第一从动单元110有相同的内部安排。
请求信息和应答信息每个都由若干个1字节(至多11字节)的数据组成。每个1字节的数据有10位的长度,它包括一个低有效的起始位(S)、8个数据位(0-7)和一个高有效的停止位(P),如图10所示。
为了处理每个都由10位数据组成的请求信息和应答信息,串行接口116是专门安排成如图11所示。
按照这一安排,在串行输入终端201上收到的串入数据经过缓冲器202而由串行状态寄存器203保存。
在寄存器203检测到起始位(S)后,后继的数据位(0-7)以预定的波特率被移入串入移位寄存器204。当寄存器203检测到停止位(P)时,由10位组成的1字节数据被转移到串入数据寄存器205,并产生一个中断请求(见图12A和12B)使软件可以通过数据总线206访问串入数据。
另一方面,在串行输出方式下,输出数据由软件经数据总线206写入串出寄存器207,串行输出操作由控制器208起动。寄存器207把数据转移到串出移位寄存器209。最初,起始位(S)从串出终端211经由缓冲器210而释放出来。然后第二位(O)到停止位(P)以相同方式输出,然后中断请求被发送到软件。
对于如上所述的通信系统,通常的实践是在上述的主动单元100和从动单元110-130之间的信息交换之前进行初始化。这种初始化一般按照国际标准ISO-9141-2所述的步骤进行。下面参照图13A和13B简单地说明基于此国际标准的通信步骤。
最初,主动单元100在确认通信线路140有2毫秒或更长的空闲时间后就通过通信线路140以5bps(每秒位)的波特率送出一个初始化地址(如33H)。最高优先级的第一从动单元110确认空闲时间为W1或更长,然后就经通信线路140以由初始化地址所决定的波特率(如10.4kbps)送出同步信号(如55H)。
在发送同步信号之后,第一从动单元110确认空闲时间为W2或更长,就经通信线路140送出一个关键字1(KW1,如94H)。在发送关键字1以后第一从动单元110确认空闲时间成为W3或更长,然后通过通信线路140发送另一关键字2(KW2,如94H)。
在第一从动单元110发送KW2之后,主动单元100确认空闲时间为W4或更长,然后通过通信线路140送出KW2的反相形式(如6BH)。
在主动单元100发送KW2的反相形式后,第一从动单元110确认空闲时间为W4或更长,然后在通信线路140上送出初始地址的反相形式(如CCH)。在发送完这个反相信号后,初始化过程就完成。
其余从动单元120和130通过用它们自己的I/O设备监测在通信线路140上的信号而实现它们对主动单元100和第一从动单元110的各自的初始化过程。
上述的W1到W4是在国际标准中说明的在相应的范围内任意设定的,具体地说W1为60-300毫秒,W2为5-20毫秒,W3为0-20毫秒,W4为25-50毫秒。
在完成了初始化后,在主动单元100和从动单元110-130之间就以初始地址决定的波特率(在本例为10.4kbps)开始了请求信息和应答信息的交换(发送/接收)。这种信息交换也在符合国际标准的情况下进行。这个通信过程将参考图14A-14D作一简单的解释。
最初,主动单元100经通信线路140发出请求信息1(图14A)以请求由从动单元110-130执行某个过程,最高优先级的第一从动单元110在发送请求信息1结束后,经过一段空闲时间P2(范围在0到50毫秒间的任意时间段)之后经通信线路140为该请求信息1发送一个应答信息(图14B)。
在第一从动单元110的应答信息发送完成时,次优先级的第二从动单元120在确认经过了空闲时间P2后就发送它自己的应答信息。最后,在第二从动单元120的应答信息发送完成时,最低优先级的第三从动单元130确认经过了空闲时间P2后就发送它自己的应答信息(图14D)。
在第三从动单元130发送完应答信息时,主动单元100在确认经过了空闲时间P3(在范围为55毫秒到5秒间的任意时间段)后就发送下一个请求信息2。从动单元110-130以上面说明的同样方式顺序地发送它们自己的应答信息。
国际标准规定,如果空闲时间持续2毫秒或更长就可发送图13A的初始化地址。在图14A-14D所示的例子中,在第三从动单元130发送应答信号结束之后到主动单元100开始发送请求信息2之间的空闲时间P3将为55毫秒或更多,因此主动单元100可能在这一空闲时间内错误地发送初始地址。就是说,在以10.4kbps的高波特率交换信息期间,主动单元100可能以低至5bps的慢波特率发送初始地址。
在此情况下,每个从动单元110-130首先从CPU111的串入终端201(图11)接收初始地址的起始位(低电平),把该位转移到寄存器204和205,并起动中断过程。从动单元110-130是用于接收10.4kbps的数据并且实际上接收5bps的起始位的,在这种情况下,它将实际上重复约200次地接收一个全部为低电平位的1字节数据(图10),因此,连续地产生了约200次的中断请求。
每个约200次输入的1字节数据如图15A1所示那样全部是低电平的位,因此CPU不能够在所有中断事件(图15A2)中检测到正确的停止位(高电平),导致在所有中断事件中发生组帧错误(图15A3:停止位没有正确的电平)。
因此,如果主动单元100在以高波特率交换信息期间发送具有极低波特率的初始地址时,那么它就会使从动单元110-130发出多个中断。这样,CPU就仅执行中断过程而使基本例行程序和其它处理功能不能完成并使从动单元瘫痪。
当主动单元100在对多个从动单元初始化后与这些从动单元(例如所有从动单元110-130)有正常的数据交换(在10.4kbps)、并且如果主动单元100对从动单元之一(如第二从动单元120)初始化的话,就会发生上述问题。
为了对付这种情况,常规系统备有一个检测装置以检测组帧错误的发生,并根据基本例程和其它处理功能被阻碍的推测,在检测到发生组帧错误时,中断过程就被禁止(图15B4),如图15B1-B4所示。
但是在这种情况下会产生下列问题。
就是说,在上述通信系统用于例如陆上车辆的情况下,在主动单元100或从动单元110-130接收信息时,CPU111可能接收来自收发器的无线电波或来自点火系统的干扰,而这种干扰可能取消停止位,如相应于图15A-15D中的图16A-16D所示的那样。由从动单元接收这种信息明显地导致产生组帧错误。
这种情况下产生组帧错误的原因和相继触发中断过程的情况有很大不同,后者是如上所述的在以高波特率交换信息期间以极低波特率发送初始地址所引起的。
但是,上述传统方式在这种情况下也会根据组帧错误的产生而起作用,从而禁止中断过程,因此每个从动单元将不能从主动单元100或别的从动单元接收信息,如图16A-16D所示。
当车辆在从主动单元100或从动单元110-130接收信息期间起动时,向从动单元110-130供电的电压将因起动操作而下降,可能导致信息数据的丢失。信息的停止位可能丢失,信息的接收明显会导致产生组帧错误。
这种情况下组帧错误产生的原因也和相继触发中断过程的情况有很大不同,上述的传统方式在此情况下也会根据组帧错误的产生而起作用,从而禁止中断过程,因此每个从动单元将不能从主动单元100或别的从动单元接收信息。
本发明就是试图处理上述问题,其目的是提供一种通信系统,在出现组帧错误时它禁止中断过程,在其中,系统检查组帧错误产生的原因,并且如果组帧错误的原因是触发一系列中断过程时,则禁止中断过程以允许实施基本例程和其它处理功能。
按照本发明的一种用于一个包括一个主动单元和若干从动单元并通过通信线路进行连接的系统的通信方法,所述主动单元通过所述通信线路发出由多个一定的字节数据组成的请求信息以请求执行一定的过程,所述从动单元在检测到字节数据的停止位时起动一个中断过程以接收字节数据,或在收到请求信息的全部字节数据时通过所述通信线路发送由多个一定的字节数据形成的应答信息,
其中,所述通信方法包括以下步骤:
检测组帧错误,该错误发生于中断过程中收到的字节数据的停止位是一个不正确值的时候;
确定所述组帧错误检测步骤是否检测到频繁发生的组帧错误;和
禁止中断过程,根据所述频繁发生确定步骤所确定的所述组帧错误检测步骤已检测到频繁发生的组帧错误而禁止中断过程。
按照本发明,组帧错误检测并不是在检测到组帧错误时就立即禁止中断过程,而是根据确定检测到频繁发生组帧错误才禁止中断过程。因此,即使发生了组帧错误,也不发生对中断过程的禁止,除非组帧错误产生的原因是高频繁地产生组帧错误,例如,当出现了噪声而要消除停止位的情形,因此基于这一中断过程的固有的数据通信仍可有效地执行。如果组帧错误的原因是产生频繁的组帧错误,则将会发生中断过程禁止,在这种情况下基本例程和其它处理功能是根据优先级来执行的。
最好能确定组帧错误是否连续地检测到一定次数或更多。这样,当组帧错误连续地发生一定的次数或更多,则可以认为组帧错误的原因是连续地触发多次中断过程,因而中断过程被禁止。
最好能确定检测到组帧错误的次数相对于中断过程被初始化的次数是否达到一定的比例或更多。或者,确定检测到组帧错误的次数相对于从因组帧错误而第一次检测到组帧错误算起的时间段内的组帧错误是否达到一定的比例或更多。
从动单元最好是装在陆地车辆上的。在此情况下,尽管因噪声或车辆起动而会在从动单元内发生组帧错误,但中断过程能够被启动,基于中断过程的固有的数据通信仍能有效执行。
按照本发明的一种用于一种从动单元的通信方法,所述从动单元通过通信线路被连接到一个主动单元而形成通信系统并在检测到从所述主动单元通过所述通信线路而送来的一定字节数据的停止位时就进行工作以起动一个中断过程,从而接收该字节数据,
其中,所述通信方法包括以下步骤:
检测组帧错误,该错误发生于中断过程中收到的字节数据的停止位是一个不正确值的时候;
确定所述组帧错误检测步骤是否检测到频繁发生的组帧错误;和
禁止中断过程,根据所述频繁发生确定步骤所确定的所述组帧错误检测步骤已检测到频繁发生的组帧错误而禁止中断过程。
按照本发明,在从动单元中,在组帧错误产生的原因不会产生频繁的组帧错误的情况下则中断过程的禁止就不会发生,使基于中断过程的内在数据通信可有效地进行。在组帧错误产生的原因会连续地产生多个中断过程时,则发生禁止中断过程,使基本例程和其它处理功能根据优先级来实施。
在所附的插图中:
图1是本发明第一实施例的总体方块图;
图2是表明由第一实施例各控制器执行的初始化地址接收过程的流程图;
图3表示图2的305步的子例程;
图4是表明由第一实施例每一控制器所执行的基本例程的流程图;
图5是表明由第一实施例的各控制器所执行的串行输入中断过程的流程图;
图6A-6D是按照第一实施例在CPU按10.4kbps来接收数据时的等待期间,在接收5bps的初始化地址的情况下的信号定时图;
图7是表明本发明的第二实施例各控制器所执行的串行输入中断过程的流程图;
图8是表明本发明的第三实施例各控制器所执行的串行输入中断过程的流程图;
图9是传统通信系统的总体方块图;
图10是表明1字节数据的位格式的定时图;
图11是表明图9所示系统的串行接口116的内部安排的方块图;
图12A-12B是CPU的串入数据输入端信号的定时图;
图13A和13B是在初始化过程中主动单元和从动单元之间交换的信号的定时图;
图14A-14D是表明主动单元和从动单元之间请求信息和应答信息的发送过程的定时图;
图15A1-15A3是CPU在按10.4kbps来进行通信的期间在接收5bps的初始化地址的情况下的信号定时图,15B1-15B4是在根据检测到组帧错误而禁止中断的情况下的和图15A1-15A3相同的信号的定时图;和
图16A-16D是当出现因噪声所致的组帧错误时的信号的定时图。
本发明将参照示于附图的各实施例而说明。
示于图1到5的第一实施例用于陆上车辆的诊断系统中。
本实施例的系统包括安装在车上的作为从动单元的多个电子控制器(发动机控制器1、发送(transmission)控制器2等)和通过通信线路3和诊断连接器4连接的作为主动单元的外部连接诊断测试器5,在诊断测试器5和各个电子控制器之间的通信按1到n的关系来实现。
主动单元通过通信线路送出初始化地址,它的通信速度比发送/接收请求信息和应答信息要慢,它是由一定的字节数据形成的。电子控制器事先规定了优先级以实现1到n的数据通信,当故障诊断测试器5通过通信线路3向电子控制器发送请求信息以请求执行某些过程时,电子控制器按照优先级经通信线路3顺序地送回它们的应答信息。具体说,在本实施例中优先级是这样规定的,即发送控制器2比发动机控制器1具有更高的优先级。
假定故障诊断测试器5和车载电子控制器之间的通信是根据符合国际际准(ISO-9141-2)的协议而进行的。下面将解释发动机控制器2的结构和功能以作为车载电子控制器的一个例子。
发动机控制器包括CPU11、ROM12、RAM13、输入电路14、输出电路15、模/数变换器16和通信电路17。通信电路17是一个输入/输出缓冲电路,它驱动通信线路3。
输入电路14接收传感器信号,这主要是些脉冲信号,是由传感器21产生的用于检测发动机转速的(具体地说是曲轴角度传感器),和由传感器22产生的车辆速度信号,模数转换器16接收传感器信号,这是一些模拟信号,由安放在车辆各处的油门传感器23、空气流量计24、水温传感器25和氧传感器26等所产生。
这些信号作为检则到的值的传感器数据而存储在RAM13的数据区里,这些数据由CPU11用于计算燃料喷射量和点火时间。RAM13除了具有数据区外还有用于计数器、缓冲和标志寄存器的区域。将在后面说明。
CPU11根据事先存储在ROM12中的控制程序对存储在RAM13中的传感器数据作预定的计算,由此来确定燃油喷射值和点火时间,并确定将在后面说明的与故障诊断测试器5的通信信息的交换(即发送/接收)和由信息所规定的诊断过程。存储在ROM12中的控制程序包括一个计数程序,它为RAM13中的计数器实现以软件为基础的计数。
由CPU计算的燃油喷射值送到输出电路15,它向发动机控制装置27送出表示燃油喷射量的信号。发动机控制装置27例如是个燃油喷射阀。
CPU11包含一个串行接口(未示出),它便于实现串行通信,串行接口的内部安排如图11所示。
故障诊断测试器5和上述的电子控制器情况相同,被设置成包括CPU、ROM、RAM、通信电路等。故障诊断测试器5的诊断方式由检验员在设于故障诊断测试器5的外部表面上的操作装置5a(具体地为一键盘)上进行设定,而取决于诊断方式的请求信息则通过诊断连接器4而送往电子控制器。
故障诊断测试器5能够把对请求信息的回答信息的内容在显示设备(未示出)上通过列表或用图表显示而向检验员报告结果。
诊断连接器4经过点火开关18由电池19供给电源,从而使测试器5在和车载电子控制器进行电气连接时由诊断连接器4向故障诊断测试器5供电。
在故障诊断测试器5和电子控制器之间的信息交换之前,按上面说明而安排的车辆通信系统执行用于故障诊断测试器5和电子控制器的初始化过程。初始化过程已经结合图13而解释过,这里不再重复。
在初始化过程之后,在故障诊断测试器5和电子控制器之间进行信息交换。信息交换已结合图14解释过,此处不再重复。
下面将参考图2到图5详细说明由各电子控制器实施的初始化过程和应答信息发送过程。上面所解释的用于这些过程的计数器、缓冲器和标志寄存器在点火开关接通而使电源加到电子控制器时都被初始化到“0”。
最初,图2的中断例程以2毫秒的间隔被起动以接收由故障诊断测试器5以5bps(每位200毫秒)发送的初始地址(图13A)。例程的第300步确定是否有数据装入了后面要解释的地址数据缓冲器(1)到(10),从而确定初始地址的接收已否完成。
如果第300步检测到初始地址接收尚未完成,即地址数据缓冲器(1)到(10)中没有数据,则在305步的顺序转到图3所示的子例程以准备接收初始地址的1位数据。初始化地址接收装置用于在中断过程禁止装置已禁止中断过程后接收初始地址的位数据,初始化地址接收装置对初始化地址的全部位数据实现接收过程。具体说,第一步350使地址接收计数器CT2M增加1,下一步355则确定通信线路3是否处于高电平(H)状态。初始化地址接收装置包括采样装置,用于按一定的时序对初始地址的1位数据进行采样
如果检测到通信线路3是在高电平,下一步360把用于对检测到通信线路3为高电平的次数进行计数的计数器CBUSH增1,顺序继续到365步,否则,如检测到通信线路3为低电平,则顺序仍不变地回到365步。
365步确定计数器CT2M是否已达到100,从而确定初始地址的全部1位数据是否已经收到。在确定结果为“否”的情况下,表明1位数据的接收尚未完成,则顺序退出此例程而无变动。
否则如在肯定的确定结果时,表明所有1位数据的接收已完成,则下一步370清除计数器CT2M,从而准备接收下一个1位数据。
下一步375确定计数器CBUSH是否达到一个确定的数(在本实施例为50)。1位数据确定装置用于响应采样次数确定装置所确定的采样次数已达到计数值而根据所采样的值来确定1位数据是高电平或低电平。如果1位数据确定装置确定结果是肯定的,表明接收的是高电平1位数据,则下一步380把地址数据缓冲器(m)置成高电平“1”。然后390步消除计数器CBUSH,从而准备接收下一个1位数据,从而使顺序退出这个子例程。
另外,在1位数据确定装置确定结果为“否”的情况下,表明接收低电平的1位数据,385步把地址数据缓冲器(m)置成低电平“0”,390步清除计数器CBUSH,使顺序退出此例程。
305步的过程(图2)被重复直到初始化地址已置入全部地址数据缓冲器(1)到(10),导致300步的确定结果为肯定,然后310步的过程被执行。
310步把中断屏蔽标志置位,从而起动串入中断过程(SIN中断过程),并使标志XFRERR复位。标志XFRERR将在后面结合图5来解释,它在发生组帧错误时被置位。
每个控制器除图2和图3的过程外还有自己的基本例程,如图4所示。这个例程的400步确定初始地址是否已置于地址数据缓冲器(1)到(10)中,从而检测初始地址的接收是否已经完成。在检测到未完成时,顺序不变地退出比过程。
否则在检测到接收初始地址在400步已完成时,下一步405就通过确定发送图13中反相的初始地址是否已经完成。从而确定初始化过程是否已经全部完成。在检测到未完成时,顺序转向410步的子例程。
410步在ROM12中为在同步信号、KW1、KW2和初始地址的反相信号中要被发送的信号查找空闲时间(W1-W2)。例如,当就要发送同步信号时,410步就在ROM12中查找时间W1。
下一步415确定对空闲时间进行计数的空闲计数器是否等于或大于已在410步中取出的空闲时间。在确定的结果为肯定的情况下,则下一步420发送一个信号,顺序退出此例程,否则,如为否定的确定结果,则顺序不作变化地退出例程。空闲计数器根据一个定时器(未示出)在每个时间中断事件时(例如4毫秒中断)就把计数往上加1。
410步包括一个确定步骤,用于确定是否从故障诊断测试器5收到反相的KW2信号。
另一方面,如果405步检测到整个初始化过程的完成。则下一步425确定是否从故障诊断测试器5收到一个请求信息。
在确定没有收到请求信息的情况下,顺序不作变化而退出例程,或者,而确定收到了请求信息的情况,则顺序转向430步的子例程,从而为该请求信息产生一个应答信息。
下一步435在ROM12中查找发送这一应答信息所需的空闲时间P2(在本实施例中为24毫秒),下一步440确定空闲计数器是否大于或等于查找出的空闲时间P2。如果确定的结果是肯定的,445步发送应答信息,然后顺序退出例程。
在完成了初始化地址的接收后,每个电子控制器进入以10.4kbps串行通信的状态。串行通信在图5所示的SIN中断过程中进行,这将在下面说明。SIN中断过程是由供给CPU的一个串行输入中断所触发的。
具体地说,500步的SIN中断是在每次从故障诊断测试器5收到反相的KW2信号或1位的请求信息数据时发出的;或者是从别的电子控制器收到同步信号、KW1、KW2、反相的初始化地址信号或应答信息的1位数据时发出的。
下一步505确定这个SIN中断过程是否根据超限错误标志而由超限错误所触发的,这个超限错误标志是在发生超限时置位的。超限错误表明当图11的串入终端201收到10位的串行数据且该数据转移到寄存器204时,另一数据已经装在数据目的寄存器205内了。
如果505步确定SIN中断过程是由超限错误触发的,则顺序转向510步的子例程,从而执行发生SIN错误的过程(例如:清除串行数据缓冲器以装入SIN数据)。下一步560清除SIN中断请求标志,从而准备接受下一字节数据的SIN中断。SIN中断请求标志记录中断请求的接收,当发出中断请求时,它在硬件的基础上被置位。
在505步确定这次SIN中断过程不是由超限错误所触发的情况下,515步根据在发生组帧错误时被置位的组帧错误标志而确定这次SIN中断过程是否由组帧错误所触发。组帧错误表明停止位是不正确的值。
在515步确定SIN中断过程是由组帧错触发的情况下,520步确定标志XFRERR是否置位,从而确定组帧错是否连续地发生了两次或多次。如果确定的结果是否定的,即确定了组帧错误是第一次的出错,则535步使标志XFRERR置位,并在510步和560步的过程执行之后,顺序退出此例程。
如果520步确定的结果是肯定的,表明组帧错连续发生了两次或更多次,则525步使中断屏蔽标志复位,由此以通过阻止另一个SIN中断请求进入CPU从而禁止SIN中断过程并准备接收初始化地址。因此,图2的过程可连续地执行而不会挂起。
530步清除地址数据缓冲器(1)到(10)使得图2的300步对确定的结果成为否定的。然后执行510和560步的过程,接着顺序退出此例程。
另一方面,如果515步确定:SIN中断过程设有由组帧错误触发,则540步使XFRERR标志复位,顺序转向545步的子例程以执行把SIN数据装入串行数据缓冲的过程。最后,执行560步的过程。
在如上面所述的本实施例中,当515步检测到发生组帧错误时,520步进一步确定组帧错误是否连续发生两次或更多,525步仅在确定了组帧错误已连接地发生了两次或更多的情况下才禁止SIN中断过程。否则,540步把XFRERR标志复位以保持SIN中断过程仍被允许,这主要是根据下面的理由。
515步中得出肯定的确定结果的可能情况包括:CPU在等待接收4kbps数据的期间接收到5bps的初始化地址,还包括:CPU11接收一个被来自收发器的无线电波或来自点火系统的噪声所消除的错误的数据停止位。
在前一种情况下,连续地发生一系列的组帧错误,导致520步得出的确定结果为肯定。这样,除非SIN中断过程被禁止,否则基本例程和其它过程不再进行。因此,根据本实施例,530步禁止SIN中断过程,从而使得基本例程和其它过程根据优先级而实现。
在后一种情况下,可以相当肯定地认为,由于噪声而使停止位被消除的错误将不会连续发生两次或更多。因此,515步在下一循环中将作出否定的确定结果。根据这一设想,在本实施例中,540步把XFRERR标志复位以保持SIN中断过程被允许,从而使得根据SIN中断的固有的数据通信仍能执行。
在本实施例中,525步当CPU11处于等待接收4kbps的数据的状态期间、在收到5bps的初始化地址时就禁止SIN中断过程,就像上面情况那样。但是,在完成了初始化地址接收的时候,图2的300步使确定的结果为肯定,在其后跟随着310步的过程,这时SIN中断过程可以重新开始。
图6A-6D表明当CPU11处于等待接收10.4kbps的数据的状态期间在接收5bps初始化地址时在数据总线上的数据信号(图6A)、中断请求信号(图6B)、组帧错误信号(图6C)和中断禁止信号(图6D)的定时图。
下面本发明的第二和第三实施例将只对它们和上面所述的第一实施例不同之处作说明。
第二和第三实施例根据下面的事实(1)和(2)。
(1)在正常情况下,当在10.4kbps的串行通信期间收到5bps的初始化地址时,如上所述会连续发生组帧错误。但是,在接收初始化地址期间如出现外部噪声则这些组帧错误不可能会连续地发生。
(2)在相当程度上可以肯定,在接收初始化地址期间外部噪声的入侵的事件不会连续地发生多次。
根据这些事实(1)和(2),第二实施例设计成这样,当组帧错误发生的次数相对于触发SIN中断过程的次数达到一定的比例或更多时就禁止SIN中断过程。第三实施例则设计成这样,当组帧错误发生的次数在从发生第一次组帧错误以后的某一时间段内达到一定的比例时就禁止SIN中断过程。
换句话说,第二和第三实施例设计成这样,当组帧错误频繁地发生时,即使组帧错误的发生不是连续的,也禁止SIN中断过程。
实现第二和第三实施例的具体方法将分别结合图7和图8来说明。和第一实施例(图5)中相同的那些处理步骤用相同的参考数字来标明,它们的说明此处从略。
在图7所示的第二实施例中,在每次从故障诊断测试器5收到反相的KW2信号或1位数据的请求信息时或从别的电子控制器收到同步信号,KW1、KW2、反相的初始地址信号或1位数据的应答信号数据时,500步的SIN中断过程就被起动。
下一步501对计数器CSIN增1,这个计数器对触发SIN中断过程的次数进行计数。然后,当505步作出确定结果为肯定时,510步的过程就被执行,或者对于否定的确定结果,则顺序进行到确定步骤515。
如果515步确定的结果是肯定的,则521步对用于对发生组帧错误的次数进行计数的计数器CFRMER增1,然后510步的过程被执行。否则,如515步作出否定的确定结果,则545步的过程被执行。
下一步546确定计数器CFRMER是否变成大于或等于定的一数值(在本实施例中为3)。如确定的结果为肯定的,表明组帧错误频繁地发生,则下面的547和548步执行和图5的525步和530步相同的过程。550步和551步清除计数器CSIN和CFRMER,然后在560步的过程之后,顺序就退出此例程。
另一方面,如果在546步作出否定的确定结果,则下一步549确定计数器CSIN是否大于或等于一定的数值(在本实施例为5)。在确定结果为否定的情况下,560步的过程被执行,然后顺序退出此例程。在另一种确定结果为肯定的情况下,550、551和560步的过程被执行,然后顺序退出此例程。
如上所述,在第二实施例中,如果发生组帧错误的次数相对于触发SIN中断过程的次数达到一定的比例或更多(在本实施例中为三次组帧错误相对于五次SIN中断过程事件),则SIN中断过程被禁止,因此即使在接收初始化地址期间有外部噪声的入侵的事件中SIN中断过程仍然可被禁止。
在图8所示的第三实施例中,在每次从故障诊断测试器5接收反相的KW2信号或1位数据的请求信息数据,或者从别的电子控制器接收同步信号、KW1、KW2、反相的初始化地址信号或1位数据的应答信息数据时,500步的SIN中断过程就被起动。
如果505步的确定过程作出一个肯定的确定结果,则510步的过程被执行,或者在否定的确定结果时就执行515步的过程。如果515步作出否定的确定结果,则执行545步的过程,而对于肯定的确定结果则执行521步的过程。
在521步的过程之后,下一步522将确定计数器CFRMER是否为“1”,由此而确定组帧错误是否第一次发生。
如果522步作出一个肯定的确定结果,下一步523就清除计数器CTSIN,这个计数器对自第一次发生组帧错误后所经过的时间进行计数,然后执行510步的过程。否则,如果522步作出否定的确定结果,则顺序不作变化地进行到510步的过程。计数器CTSIN在每次定时器中断(2毫秒中断)事件时就增加计数1。
如果546步的确定作出肯定的确定结果,则由中断过程禁止装置执行547步,和548步的过程。553步和554步清除计数器CSIN和CTSIN,然后在560步的过程之后,顺序退出此例程。
另一方面,如果546步所作的确定结果是否定的,则552步确定计数器CSIN是否变得大于或等于一定的时间段(在本实施例中为20毫秒)。如果确定的结果是否定的情况,则执行560步的过程,并且顺序就退出此例程。在另外的为肯定的确定结果的情况下,则执行553、554和560步的过程,然后顺序退出此例程。
如上所述,在这一实施例中,如果组帧错误发生的次数在从第一次发生组帧错误之后的一定的时间段(20毫秒)内达到一定的比例(3次)或更多,则SIN中断过程被禁止,因而即使在接收初始化地址期间有外部噪声入侵的事件,SIN中断过程仍可被禁止。
此外,本发明可以用下列方式加以修改。
在图3的例程中,355步和360步的过程可以改变成把当前正在接收的数据装入到一个接收缓冲器(n),375步的确定步骤则改变成确定装在接收缓冲器(1)到(100)中的数据中是否有一定数量(例如50)或更多个数据是在高电平的。在这种情况下,390步清除所有的接收缓冲器(1)到(100)。
虽然第一实施例的520步根据标志XFRERR的状态来确定是否连续地发生了两次或更多次的组帧错误,另外的一种方案是提供一个计数器以便对连续发生组帧错误的次数进行计数,并只有在计数值成为某个值或更多时才禁止SIN中断过程。
在这种情况下,预定的发生次数可以置定为在车辆起动时发生的组帧错误的次数,这样尽管在车辆起动时会发生组帧错误但SIN中断仍可以保持有效,从而在SIN中断的基础上允许实施固有的数据通信。
虽然,在上述的实施例中请求信息和应答信息是由多个的1字节的数据形成的,这些数据也可由多个2字节数据、或多个4字节数据,或者甚至更长字节数据所形成。
虽然上述的实施例是一些包括以故障诊断测试器5作为主动单元并以电子控制器作为从动单元的系统,但本发明也可以用于这样的系统,其中任何一个电子控制器是主动单元而其余的电子控制器则是从动单元。
虽然上述的实施例是用于陆上车辆的通信系统,本发明也可以用于除陆上车辆以外的其它控制对象。
虽然上述的实施例是这样的通信系统,它们在主动单元和多个从动单元之间以1到n的关系实现数据通信,但本发明也可以用于这样的系统,它们在主动单元和从动单元之间以1到1的关系实现数据通信。
Claims (10)
1.一种用于一个包括一个主动单元(5)和若干从动单元(1,2)并通过通信线路(3)进行连接的系统的通信方法,所述主动单元(5)通过所述通信线路(3)发出由多个一定的字节数据组成的请求信息以请求执行一定的过程,所述从动单元(1,2)在检测到字节数据的停止位时起动一个中断过程以接收字节数据,或在收到请求信息的全部字节数据时通过所述通信线路(3)发送由多个一定的字节数据形成的应答信息,
其中,所述通信方法包括以下步骤:
检测(515)组帧错误,该错误发生于中断过程中收到的字节数据的停止位是一个不正确值的时候;
确定(520,546,549,552)所述组帧错误检测步骤(515)是否检测到频繁发生的组帧错误;和
禁止(525,547)中断过程,根据所述频繁发生确定步骤(520,546,549,552)所确定的所述组帧错误检测步骤(515)已检测到频繁发生的组帧错误而禁止中断过程。
2.按照权利要求1所述的通信方法,其特征在于,所述方法采用由一定的字节数据形成的初始化地址,并且其通信速度比发送/接收请求信息和应答信息要慢。
3.按照权利要求2所述的通信方法,其特征在于,它还包括以下步骤:
初始化地址接收(305),在所述中断过程禁止步骤已禁止中断过程后接收初始地址的位数据,在所述初始化地址接收步骤对初始化地址的全部位数据实现接收过程。
4.按照权利要求3所述的通信方法,其特征在于,在所述初始化地址接收步骤以一定的时序对初始地址的1位数据进行采样(350)并根据采样值确定该1位数据是高电平或低电平(355)。
5.按照权利要求3所述的通信方法,其特征在于,所述初始化地址接收步骤包括以下步骤:
按一定的时序对初始地址的1位数据进行采样(350);
确定采样次数(365)是否已达到一定的计数值;和
响应在所述采样次数确定步骤所确定的采样次数已达到计数值而根据所采样的值来确定1位数据是高电平(380)或低电平(385)。
6.按照权利要求3所述的通信方法,其特征在于,它还包括以下步骤:
在所述初始地址接收步骤完成了对初始地址的全部位数据的接收过程时起动(310)中断过程。
7.按照权利要求1所述的通信方法,其特征在于,所述频繁发生确定步骤包括以下步骤:
确定(520)在所述组帧错误检测步骤是否已检测到一定或更多次数的连续的组帧错误。
8.按照权利要求1所述的通信方法,其特征在于,所述频繁发生确定步骤包括以下步骤:
确定(546,549)所述组帧错误检测步骤已检测到组帧错误的次数相对于中断过程被起动的次数是否达到一定的比例或更多。
9.按照权利要求1所述的通信方法,其特征在于,所述频繁发生确定步骤包括以下步骤:
确定(552)所述组帧错误检测步骤检测到的组帧错误相对于从在所述组帧错误检测步骤中第一次检测到组帧错误起的时间段内组帧错误的次数是否达到一定的比例或更多。
10.按照权利要求1所述的通信方法,其特征在于,所述从动单元是安装在陆上车辆中的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3351095 | 1995-02-22 | ||
JP033510/95 | 1995-02-22 | ||
JP33510/95 | 1995-02-22 | ||
JP275877/95 | 1995-10-24 | ||
JP07275877A JP3099703B2 (ja) | 1995-02-22 | 1995-10-24 | 通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1136739A CN1136739A (zh) | 1996-11-27 |
CN1080502C true CN1080502C (zh) | 2002-03-06 |
Family
ID=26372215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96100015A Expired - Fee Related CN1080502C (zh) | 1995-02-22 | 1996-02-26 | 带有组帧错误检测的通信系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5790572A (zh) |
EP (1) | EP0729249B1 (zh) |
JP (1) | JP3099703B2 (zh) |
KR (1) | KR100271117B1 (zh) |
CN (1) | CN1080502C (zh) |
DE (1) | DE69621490T2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106170954A (zh) * | 2014-04-30 | 2016-11-30 | 欧姆龙株式会社 | 在分布式控制系统中将多个从动单元与主控制单元连接 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0554502U (ja) * | 1991-12-25 | 1993-07-20 | 株式会社キャッツ | ショ−ツ |
JPH0740703U (ja) * | 1993-12-22 | 1995-07-21 | グンゼ株式会社 | ショーツ |
JPH09226482A (ja) * | 1996-02-28 | 1997-09-02 | Toyota Motor Corp | 車両用通信制御装置 |
DE19742088C2 (de) * | 1997-09-24 | 1999-12-02 | Bosch Gmbh Robert | Verfahren zur Initialisierung eines an einen Diagnose-Bus angeschlossenen Steuergeräts |
GB9810512D0 (en) * | 1998-05-15 | 1998-07-15 | Sgs Thomson Microelectronics | Detecting communication errors across a chip boundary |
KR100385228B1 (ko) * | 2001-04-18 | 2003-05-27 | 삼성전자주식회사 | 불휘발성 메모리를 프로그램하는 방법 및 장치 |
JP4198089B2 (ja) * | 2004-05-21 | 2008-12-17 | 富士通マイクロエレクトロニクス株式会社 | 通信システム |
JP4677876B2 (ja) * | 2005-10-11 | 2011-04-27 | 株式会社デンソー | 車両診断装置 |
CN114024599A (zh) * | 2021-11-03 | 2022-02-08 | 上海陆根智能传感技术有限公司 | 一种信号制动转换控制模组 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4769761A (en) * | 1986-10-09 | 1988-09-06 | International Business Machines Corporation | Apparatus and method for isolating and predicting errors in a local area network |
JPH029251A (ja) * | 1988-06-27 | 1990-01-12 | Nec Corp | フレーミングエラー・ステータス回路 |
US4975847A (en) * | 1987-10-09 | 1990-12-04 | Fuji Jukogyo Kabushiki Kaisha | Diagnosis system for a motor vehicle |
US5228037A (en) * | 1990-03-27 | 1993-07-13 | Nec Corporation | Line interface for high-speed line |
JPH06296294A (ja) * | 1993-04-08 | 1994-10-21 | Nippondenso Co Ltd | 通信制御装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS627239A (ja) * | 1985-07-03 | 1987-01-14 | Nec Corp | デ−タ伝送速度設定方式 |
US4805194A (en) * | 1985-10-17 | 1989-02-14 | Ampex Corporation | Serial data communication system |
JP2636534B2 (ja) * | 1991-03-22 | 1997-07-30 | 三菱電機株式会社 | 通信システム |
-
1995
- 1995-10-24 JP JP07275877A patent/JP3099703B2/ja not_active Expired - Fee Related
-
1996
- 1996-01-31 EP EP96101372A patent/EP0729249B1/en not_active Expired - Lifetime
- 1996-01-31 DE DE69621490T patent/DE69621490T2/de not_active Expired - Lifetime
- 1996-02-05 US US08/596,464 patent/US5790572A/en not_active Expired - Lifetime
- 1996-02-22 KR KR19960004561A patent/KR100271117B1/ko not_active IP Right Cessation
- 1996-02-26 CN CN96100015A patent/CN1080502C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4769761A (en) * | 1986-10-09 | 1988-09-06 | International Business Machines Corporation | Apparatus and method for isolating and predicting errors in a local area network |
US4975847A (en) * | 1987-10-09 | 1990-12-04 | Fuji Jukogyo Kabushiki Kaisha | Diagnosis system for a motor vehicle |
JPH029251A (ja) * | 1988-06-27 | 1990-01-12 | Nec Corp | フレーミングエラー・ステータス回路 |
US5228037A (en) * | 1990-03-27 | 1993-07-13 | Nec Corporation | Line interface for high-speed line |
JPH06296294A (ja) * | 1993-04-08 | 1994-10-21 | Nippondenso Co Ltd | 通信制御装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106170954A (zh) * | 2014-04-30 | 2016-11-30 | 欧姆龙株式会社 | 在分布式控制系统中将多个从动单元与主控制单元连接 |
US10498553B2 (en) | 2014-04-30 | 2019-12-03 | Omron Corporation | Connecting a plurality of slave units to a master control unit in a distributed control system |
Also Published As
Publication number | Publication date |
---|---|
DE69621490D1 (de) | 2002-07-11 |
CN1136739A (zh) | 1996-11-27 |
JPH08293881A (ja) | 1996-11-05 |
US5790572A (en) | 1998-08-04 |
EP0729249B1 (en) | 2002-06-05 |
EP0729249A2 (en) | 1996-08-28 |
DE69621490T2 (de) | 2003-01-23 |
KR100271117B1 (en) | 2000-11-01 |
EP0729249A3 (en) | 2000-05-03 |
JP3099703B2 (ja) | 2000-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1080502C (zh) | 带有组帧错误检测的通信系统 | |
CN1082289C (zh) | 数据通信装置及方法 | |
CN1115916C (zh) | 一种呼叫重建的蜂窝电话机 | |
CN100339580C (zh) | 远方起动装置及远方起动方法 | |
CN1175690C (zh) | 控制等待模式中的移动台扫描无线电信道的方法和装置 | |
CN1326131A (zh) | 图象显示系统 | |
CN1254749C (zh) | 文档处理设备 | |
CN1184846C (zh) | 蜂窝电话位置检测系统、位置检测方法和蜂窝电话终端 | |
CN1100416C (zh) | 移动通信系统 | |
CN1839569A (zh) | 管理对随机接入通信网的接入的方法 | |
CN1288623A (zh) | 通信控制方法、通信控制装置和存储介质 | |
CN1198152C (zh) | 使用连接地震设备的单元的标准传输网络的传输方法和系统 | |
CN1788475A (zh) | 网络攻击缓解方法,网络攻击缓解设备,和网络攻击缓解程序 | |
CN1205145A (zh) | 信息包收发装置及信息包接收装置 | |
CN1498598A (zh) | 超声波诊断设备 | |
CN1874282A (zh) | 通信系统以及在这种系统中使用的计算机和设备 | |
CN1732650A (zh) | 网络终端装置、通信超负荷避免方法及程序 | |
CN101047894A (zh) | 通信方法及通信装置 | |
CN1852326A (zh) | 一种移动终端获取移动游戏的方法和装置 | |
CN1839589A (zh) | 无线lan系统、分集装置和无线lan终端 | |
CN1993949A (zh) | 信息处理系统、信息处理装置、服务器装置、信息处理方法和程序 | |
CN1110159C (zh) | 遥测遥控系统 | |
CN1173538C (zh) | 通信控制方法及使用该方法的通信数据终端装置 | |
CN1093358C (zh) | 基站确定设备 | |
CN1582599A (zh) | 无线通信设备中发送补充信道请求消息的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20020306 Termination date: 20100226 |