CN1088033A - 在寄存器型无线设备间传送可变长度消息的方法和装置 - Google Patents
在寄存器型无线设备间传送可变长度消息的方法和装置 Download PDFInfo
- Publication number
- CN1088033A CN1088033A CN93106229A CN93106229A CN1088033A CN 1088033 A CN1088033 A CN 1088033A CN 93106229 A CN93106229 A CN 93106229A CN 93106229 A CN93106229 A CN 93106229A CN 1088033 A CN1088033 A CN 1088033A
- Authority
- CN
- China
- Prior art keywords
- information
- packets
- addressable
- message
- length
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004891 communication Methods 0.000 claims abstract description 85
- 230000008859 change Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 18
- 238000000151 deposition Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 12
- 230000007547 defect Effects 0.000 claims description 6
- 230000000153 supplemental effect Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000001427 coherent effect Effects 0.000 claims 3
- 230000014509 gene expression Effects 0.000 description 21
- 230000015654 memory Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 2
- 235000012364 Peperomia pellucida Nutrition 0.000 description 2
- 240000007711 Peperomia pellucida Species 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Transceivers (AREA)
- Time-Division Multiplex Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
一种无线系统(100)包括多个要寻址的处理器
(150,180和200)。通信链路(230)互连这些可寻址
的处理器(150,180和200)。可寻址的处理器之间
的通信是经过第一和第二通信规程进行的。第一通
信规程包括多个固定长度的信息包,第二通信规程包
括多个可变长度的信息包。
Description
一般地讲本发明涉及通信设备,具体地讲涉及具有多个部分的通信设备。
对本发明的需求起因于寄存器型的无线设备之间高速通信的问题。现行寄存器型的无线设备使用包括固定长度信息组的通信规程互相通信。随着元件技术的进步,现在无线通信设备可以使用以前手持或移动无线应用不可能的容量的存储器元件。特别是,现在电可擦除的可编程只读存储器(EEPROM)和快速存储器(Flash memories)可以得到,其容量可以存储通信设备的操作系统。在无线设备使用寄存器型的规程编程的设备中,使用目前适用的固定长度消息规程需要大量的时间。该时间需要是由于如目前适用的固定长度消息需要的巨大开销所致。这些固定长度消息规程在美国专利4637022和4684941中叙述。为了显著地减少该无线设备的编程时间,希望有一种改进的寄存器型的系统和一种在寄存器型的元件之间通信的方法,它会克服现有技术的缺陷。
公开一种包括多个可寻址的处理器装置和一个通信装置的无线系统。该通信装置包括用于互连可寻址处理器装置的一系列通信链路。该无线系统还包括第一和第二通信规程。第一通信规程包括多个固定长度信息组,用于通过输送到或来自于可寻址处理器装置的参数数据、第二通信规程包括多个可变长度信息组,用于以可选择的速度通过输送到或来自于可寻址处理器装置的参数数据。因此,通过传送来自或到达可寻址处理器装置的参数数据可以分别确定或改变可寻址处理器装置的工作状态。
图1是根据本发明的寄存器型的通信系统的方框图。
图2表示根据本发明的编程子系统的非常简化的方框图。
图3表示根据本发明用于改变通信规程的一种方法的流程图。
图4表示根据本发明用于改变通信波特率的一种方法的流程图。
图5,6和7表示根据本发明进入串行总线扩展规程(SBEP)方式的一种方法的定时图。
图8,9和10表示根据本发明从SBEP方式退出的定时图。
图11表示根据本发明在该规程中使用的样值消息。
图12和13表示根据本发明的广播情况。
图14表示根据本发明的SBEP应答。
图15和16表示根据本发明的再试时间图。
图17表示根据本发明的证实时间图。
图18表示根据本发明的否定证实时间图。
图19表示根据本发明的复位广播时间图。
图20,21和22表示根据本发明具有好的写应答的第一存储编程总线事务处理。
图23,24和25表示根据本发明具有好和坏写应答的第二存储编程总线事务处理。
参见图1,表示一个无线通信设备100,根据本发明它具一组确定的可寻址的部分。这个图表示将现在和未来系统选择方案及具有公共链路的命令/控制子系统综合到一个结构统一的双向移动或手持无线系统的概念性结构。
表示了三个部分,一个控制部分150,一个外部任选部分180和一个无线部分200。这些部分提供本发明的寄存器型的可寻址处理器装置。由于就它们的互相通信而论它们可被看成为寄存器,所以这些部分被看成寄存器型的处理器。那么这些部分的内容可用于规定无线设备100要执行的操作。设备100和/或部分150,180和200的虚似状态可以通过传送到达和来自多个部分的信息分别确定或改变。根据本发明这个通信是经过一条串行总线230进行的。这个基本结构给无线系统100提供了在单个无线系统中具有多个不同的无线设备,功能,特性和增强的能力而无需要的冗余。
每个部分包括一个微处理器单元(MU)和一个或多个包含存储元件的寄存器。控制部分150包括一个控制MPU158,一个显示器152,一个键盘156和一个存储元件154。键盘156包括数字、字母数字、功能键或特征启动键如按键通话(PTT)的任何组合。所示的外部任选部件包括一个MPU182。如需要可以给这个部分加上其它的寄存器。无线部分200包括一个接收器204,一个MU206和几个存储元件208,210和212。这些存储元件经过总线214接到MPU206,该总线214包括控制、地址和数据线。MPU158,182和206最好是可寻址的,以便在部分150,180和200之间通信系统100提供一对一的通信。
为了操作部分150,180和200中的任何存储元件的内容,已经规定了一组操作码(op code)。这些指令用于数据传送和系统控制。这些操作码包括复位,读,写(修改),比特置位,比特清除,确认(ACK)和否定确认(NAK)。这些操作码经过串行总线230进行发送以使得数据相对于任何部分中的任何寻址的寄存器被写入,读出,修改或测试。
各个部分的功能由在串行总线230上传送的消息的内容控制。这些消息可以是单个指令或类似的原始功能(宏功能)的组合。这个特点给一个部分提供响应新“命令”,而不要实际地执行新命令操作码的能力。这使原始指令组能保持稳定,促进外围设备180的向上的兼容性。
无线MPU206直接与接收器204和一个选择的发射机接口,并执行与特定接收器有关的许多低级任务。这些任务可包括用于产生工作频率的合成器控制,发送功率电平控制,音频静噪,信道扫描,接收/发送和发关/接收顺序定时,亚声频信令产生和检测(PL/DL码),硬件诊断,等。
无线MPU206还提供到串行总线230的接口,在该总线每个相关任务可用来控制MPU158或其它MPU182。这些任务包括存储器询问,编程指令,显示消息处理,键盘消息处理,等。
控制MPU158提供到无线系统100的人的接口加到所有部分180和200的命令。其功能包括显示器152的控制,给用户显示在串行总线230上接收的或本地产生的数据和状态信息。MPU158还从键盘156接收数据和控制信息,并且选择地将它们发送到显示器152或总线230,由其它部分MPU进一步处理。
任何的和所有的无线系统100的独特参数如频率信息,单元ID码,PL/DPL码,方式链接,扫描表,等等都由无线处理器206提供给所有的系统外围设备。它提供系统100的数据库和经过总线230传送这个信息供其它MPU监视。由驻留在无线MPU206的PL/DPL驱动器提供一个例子。PL和DPL的全部可能码组可以在EEPROM208或ROM212中被硬编码。EEPROM208和ROM212的这个数据库可从串行总线230接入要求该信息的其它MPU。
模拟控制功能,诸如音量和静噪可以以数方或模拟形式从键盘156控制。代表这些控制功能的模拟信号可以经过直接信号线从键盘156直接接到无线设备200。另一种方法,模拟信号可以用控制MPU158中的模数变换器(DAC)变换为数字形式,然后在串行总线230送室无线设备200。显示器152由控制MPU158控制并经过总线230由系统100中的其它MPU接入,用于状态与监视目的以及键盘输入反馈。
外部任选的MU182提供对任选的180的支持和无线系统100的扩展。主要的通信功能诸如无线和控制单元编程,数字话音存储,电话信令,多频和单频中继等等是可由外部任选部分180支持的功能的所有例子。
串行总线230提供无线系统100中的所有MPU158,182和206的实际接口。它包括一个3线链路(信号,占线和地线)和可以总线连接到其它的内部或外部的未示出的部分,在外部使用时,电缆可以是对绞线对,屏蔽音频线或光纤。链路也可以在远地通过红外线,超声波或射频进行耦合。特别的应用可以加在这些要求中。例如在移动无线应用中,信号线可以分为平衡的信号+/信号-线,通常也称为总线+/总线-线,以形成用于抑制噪声的互补信号。信号线是双向的线路,实际的串行数据在双向线路上发送和接收。在SB9600方式中,双向的占线线用于指示何时在该信号线上有数据。它指示传输的开始和结束何时发生,而且还用于指示NAK。在优选的实施例中,所有的部分,内部的或外部的都接入该信号线,而占线线使用“线或”结构。
串行总线230可以在系统100的MPU158,182和206中或任何MPU与外部MPPU之间存在着通信需求的任何时候使用。在SB9600方式中,MPU之间的通信是在双向串行总线230上使用以每秒9600比特发送的串行数据发生。该结构一般是足够可以预见的许多不同应用。接入系统中的各个处理器是通过双向数据线和双向占线线使用类似于CSMA/CD(具有碰撞检测的载波检测多址联接)技术达到的,CSMA/CD技术是在计算机局域网中经常使用的,本技术领域中公知的。
在串行总线230上进行的通信使用两个规程。开始时使用各个部分都理解的SB9600固定长度规程。第二规程串行总线扩展规程(SBEP)可由两个MPU使用一次。在希望使用SBEP规程时,消息是使用SN9600规程从始发的MPU(主)发送到接收的MPU(目标)要求改变为SBEP方式。这个信息是通过固定长度信息包发送的。接收单元着手注意固定长度信息包的指令。在优选的实施例中,这个信息包请求该接收单元转换到第二工作方式SBEP。一旦处于这个方式,可变长度消息可以以各种波特率传送,大大地加快了各部分之间的通信。规程转换以及SBEP规程的其它特点将在后面说明。
为了更好地理解本发明,这里概要地说明SB9600规程的特点。这个规程不能与在后面详细讨论的SBEP规程相混淆。
设备接入总线首先检查看是否占线线是待用的(也称为“空闲)。如果它不空闲,则在再试之前该设备必须等待一个期间。如果它是空闲的,它必须立即使占线工作,在总线线上发送,然后释放占线线。
在建立SB9600时的基本构成信息块是8比特数据字节。具有开始和停止比特的该数据字节(总共10比特)称为一个“数据包”。这些数据包连在一起构成单个“消息”。典型地消息包括:
操作码包,
地址包,
数据(变元(argument))包,
和CRC(循环冗余码)包。
系统100中允许的两类消息是请求和广播。请求用于从系统的其它处理器获得信息。广播或者是对特定请求(要求广播或应答)的响应或者是自发地产生的和发送到系统中的所有设备(未要求的广播),如在按动一个按钮时。
在串行总线230中的占线线是双向线,它主要用于指示在总线上何时有消息。在消息可在该总线上发送之前,想要发送的设备首先必须检查看占线线是否工作。如果它不工作,该设备使占线线工作并发送该消息。如果一个设备希望对其传输响应,则在接收应答的第一字节或计时器到时之后,必须释放占线线。如果不期望响应,则在送出消息的最后的包之后必须释放占线线。占线线还用于构成和测试NAK。
在一个消息有CRC差错或者如果出现包间延迟扰乱的情况时,接收设备必须立即使占线线工作。在该广播发送之后,原发射机将释放,然后该占线线取样看它是否仍然保持工作,指示该消息没有被正确地接收。如果占线线仍然保持工作,那么该消息被否定确认而原发射机可能再发送该消息。应该注意,在再发送期间占线线不改变状态(总是工作的)。一旦收到一个有效的消息,所有随后的消息应忽略直到占线线改变状态为止。
出现差错是由于外部噪声源,碰撞或系统的不恰当的使用。在数据传输中的差错是通过CRC,定时扰乱或检测碰撞来检测的。碰撞的检测是通过在始发设备的MPU监视发送的信息实现的。在出现这种差错时,发送一个否定确认(NAK)。一个NAK包括使占线线在接着一个广播期间“NAK期间”工作。在这个时间间隔仅出现一个有效的占线表示至少一个侦听者检测到一个差错。NAK使得任何广播被再发送。
如果噪声恶化该总线或者如果在完全相同的时间两个或多个MPU控制该总线,那么接收的CRC将不是所希望的那个CRC。在发送的时候,每个包必须在1个包时间内(包间迟延)跟着前一个包。如果出现“包间迟延扰乱”,接收机必须立即NAK。任何时间出现包间迟延扰乱时,必须忽略接收的消息,而且该接收机重新初始化以接收新消息。
系统中的每个任选设备控制头和无线设备已给它分配一个组和设备地址。两个方案不能具有相同的设备地址和组。在需要识别一个特定的设备时,设备地址与消息一起发送出去。
参见图2,编程器195经过串行总线230连接到无线设备100。根据本发明,无线设备200可以使用编程器195和SBEPP规程进行编程。根据本发明示出无线设备200经过串行总线230接到编程器195。编程器195连接到作为外部任选设备180的无线设备200。在这个实施例中,编程器195作为主机操作,因为它以信息包的形式产生编程的消息。另一方面,无线设备200起着目标设备的作用,因为它接收和执行由编程器195发出的编程命令。
在编程无线设备200中,编程器195使用SB9600规程,第一和固定波特率通信规程请求通信规程变化。换句话说,无线设备200正处于空闲,期望从工作在总线230上的任何部分接收SB9600信息。无线设备200给编程器195确认规程改变请求的接收。利用这个确认,编程器195和无线设备200都转换到SBEP方式,第二和可变长度通信规程。编程器195和无线设备200都处于SBEP方式时,开始编程。从编程器195传送的编程信息是包括子包的信息包。这些子包包括可变长度的操作码子包,可变长度消息长度子包,数据子包,地址,检错子包,等。这种信号交换和编程的更详细的描述通过参看描述至SBEP方式的入口的图3和图4的流程图进行的描述。
现在参见图3,示出编程器195用于进行成功的倒换和按SBEP通信的过程流程图。无线设备200的编程使用流程图600的通信部分。此外,这个编程导致无线设备200虚状态的改变。从开始方框601,主机经过方框602发送请求倒换到SBEP方式的SB9600消息。无线设备200利用不否定确认该信息来确认这个SB9600消息的接收。这个确认(没有NAK)表示无线设备200通过方框604接收一个无差错的消息,方框604的输出连接到方框606,在方框606编程器195启动占线线。这条占线线用于通知其它设备当编程器195与无线设备200通信时离开串行总线230。借助于占线线启动,主机在方框614发送SBEP消息。
从方框614,条件方框616确定从编程器195来的SBEP消息中是否收到任何差错。否定输出表示:从编程器195发送的、由无线设备200有差错地接收的消息耦合到方框618,在方框618无线设备200给编程器195发回一个SBEP否定确认消息(NAK)表示在接收的消息中检测到一些差错。这个否定确认是一个SBEP NAK,它是如在SBEP方式中传送的任何其它消息一样的数据字节。差错的检测可以通过本技术领域公知的几种可用的方法的任一种方法实现。在优选的实施例中,在传送检验和的包的场合使用检验和的差错检测,其它的差错检测技术如循环冗余检验(CRC)包可以相等或更好的差错检测性能代替检验和的包。作为方框618工作的一部分,NAK试验的次数增加一。接着,经由方框620和621NAK从目标设备发送到主机的次数被监视,当在无线设备200和编程器195之间的链路中存在重大问题实现方框620和621以限制试验的次数,在消息被传送时这个问题恶化该消息。这个问题在串行总线中可能是一个实际的问题或者是在链路上遭受的噪声,二者都产生重复的差错。试验次数是根据特定系统的特性选择的。在优选的实施例中,在指示具有差错的高试验次数标志出现以前容许试验三次。高的差错数产生条件方框621的肯定(YES)输出,该方框连接到方框610,在方框610主机释放占线线并终止SBEP方式。这时必须从主机发送一个新的改变请求以重新开始从SB9600转换到SBEP方式。
条件方框616的YES输出输送到方框624,在此框确认(ACK)从无线设备发送到编程器195。应该懂得,在这时或在方框614之前的任何时间试验次数设置在0。连接方框616和624的通路包括一个清除试验次数的方框(未画出)。一旦已发回该ACK,无线设备200将经过方框626进行由SBEP消息请求的操作。在编程的特定情况下,无线设备200继续进行到从编程器195接收编程消息并将它们存储在RAM210和EEPROM208中。
方框626接到条件方框628,对编程器195的要求进行判定。根据传送到无线设备200的消息种类,可期望一个新的应答。一般地讲,在由主机已发送一个请求时要求一个应答。但是,广播不要求应答。关于各种消息类型的详细情况将在下面叙述。条件方框628确定传送的消息是否要求来自无线设备200的响应。YES输出耦合到方框630,在此无线设备200给编程器195送回一个应答。从这个方框,该操作接到条件方框608,在此进行判定是否所有的主机请求都已送达。方框608的YES输出耦合到方框610,主机195释放占线线以指示SBEP方式的终止。方框612接着将该主机和目标设备返回到SB9600方式。条件方框608否定(NO)输出耦合方框614。
虽然在编程无线设备200时该无线设备可能不必以特定的信息包响应该主机,但是从本发明的其它方面看应该懂得:编程器195可能确实要求自无线设备200的信息。一种这样的应用是由编程器195发出的读命令,它要求在无线系统100的任一部分中的存储器部分传送回给它。在这种情况下,可以看到无线设备200继续进行将它的存储器的内容传送回到编程器195,一旦一个应答已发回给编程器195时,操作返回到条件方框608以确定从主机来的最后的请求是否已送达。条件方框608的NO输出也耦合回条件方框608。
流程图600的一个重要方面是在编程器195和无线设备200之间来回发送的消息可具有可变长度,因而每个消息可包括从编程器195来的一个完整的请求或从无线设备200来的一个完整的响应。相对于目前应用的系统这是重要的,在目前应用的系统中来回传送固定长度消息导致在通信规程的显著开销。与目前应用的方案相比,由SBEP规程提供的可变长度的优点使一个无线通信设备在很短的时间期间内被编程。本发明的另一个好处是:这时无线通信设备可以引导方式有效地编程。
参见图4和流程图500,示出了根据本发明改变用于无线系统100的寄存器型元件之间的通信规程中的波特率的一种方法。从开始方框501,经过方框502,主机发送转换到一个新的波特率的SBEP消息。可以看到,方框502假设主机已要求转换到SBEP方式而且编程器195和无线设备200已经转换到这个工作方式。一旦波特率转换消息已发送,条件方框504确定该无线设备是否无差错地收到该波特率改变的请求。表示发现了差错的NO输出耦合到方框508,在此以旧的波特率将否定确认(NAK)从该无线设备发送到主机。方框508的输出经过监视试验次数的方框506耦合回方框502。方框506监视试验次数,以便检测在通信链路230中无偶而发生的差错。条件方框504的YES输出耦合到方框510,在此以旧的波特率确认(ACK)发回给主机,而且在该无线设备中波特率改变为请求的新波特率。方框510的输出耦合到条件方框512,在此对由主机接收的ACK的条件提问题。条件方框512的YES输出耦合到方框514,在此主机转换到新的波特率。条件方框512的NO输出耦合到另一个条件方框518,在此监视计时器。这个条件方框询问该计时器的期满时间。指示该计时器已期满的YES输出耦合回方框502,在此该主机发送第二请求以改变波特率。NO输出表示分配给主机接收确认的时间没有期满,因而方框516使主机检查该确认。方框516的输出返回到询问ACK的接收的条件方框512。
从流程图500可以看到,二个元件之间的通信波特率可被改变而不要任何硬件的交互作用。在优选的实施例中,由于编程无线系统100的各部分要求传送大量的数据,所以需要高的波特率。应该懂得,这个波特率改变程序不限于编程,而且它可用于任何数据的传送。
本发明的重要好处是以快速EEPROM的可用性实现的。利用这些存储元件的可用性,在电可擦除存储器中存储固件不再是达不到的而是容易实现的。但是,利用现有的通信规程,编程大的存储元件即256千字节器件的时间将过大而且不是有效的。此外,可用的规程如SB9600以它们固定地址字段限制地址的范围。本发明实现的好处是:SBEP规程的波特率没有强加限制,因而经过串行总线编程存储器件的速度可以大大地改善。此外,由于由SBEP提供的寻址能力的增强,高达16兆字节以及更高字节的设备可以用这个新规程编程。使用可变长度消息,存储器编程时间可预计减少10倍。这主要是利用具有以小的开销发送大量的数据的好处,极有效地提供该规程来实现的。本发明的另一个好处是在使用串行总线时更新无线设备的显示。当使用这个规程时,使用可变长度消息和可变化的波特率,它可以再次实现,在显示器上显示信息的效率可以大大改善。
在优选的实施例中,SBEP用于在串行总线的任选设备之间或在一个外部计算机和无线设备或其任选设备的主处理器之间获得高的数据传送率。预定用于串行总线的节点之间或者从主机到连接的或没有连接的任选设备的一对一的通信。该消息包括请求,广播,应答,确认(ACK)和否定确认(NAK)。请求要求一个要连接的目标设备,而广播不要求。应答仅仅响应一个要求而发送。
SNEPP通过允许一个特定的设备来选择使用哪个波特率而取得高通过量。优选的实施例支持高达38.4千波特的速率。很清楚,利用较快的平台(platform)可以实现较高速率。该规程本身按照SCI字节时间规定大多数定时。另外对高通过量有影响的是SBEP消息中的可变字节计数和单个字节的确认。
一般地讲和在优选的实施例中,SBEP是一个暂时串行总线“方式”。下面称为主机的SBEP的始发器将SB9600消息发送到由组/地址识别的总线上的一个节点。由组/地址定为目标的节点即无线设备200。在下面称为目标,经过这个SBEPREQ(SBEP请求)消息被要求执行SBEP。该目标可以不存在,在这种情况下主机将继续,正如没有SB9600NAK那样。在这种情况期间,只有广播消息有意义。除了能够从SB9600进入SBEP规程之外,它可以经过引导方式直接进入。换句话说,该目标可以在串行总线上利用SBEP消息使它的内部处理器能再编程它的固件器件(快速或UVEPROM)。由于该目标制造的时候固件器件可能是空白的,与写作该处理器的引导方式的算法有关的这个规程将允许该无线设备的处理器将固件写入到它的程序空白器件(program space device)。
为了说明SBEP规程的性能的详细情况,参见几个定时与流程图。这些图是要帮助理解包括从SB9600转换到SBEP的SBEP规程包括从SB9600转换到SBEP的一些特性。应清楚地懂得,这些图代表特定的优选实施例而不构成对本发明的限定。
图5表示进入SBEP方式的定时与流程图。当在该目标中的处理器具有在其EEROM中的固件时,它将以SB9600方式工作。为了转换到SBE方式,有一个SB9600操作码,它将通知该目标主机要开始SBEP操作。该主机发送SBEPREQ SN9600总线消息710。在这个请求之后占线线被释放706,检查从该目标来的NAK。如果出现NAK,则主机再试,NAK的出现是在时间期间706的低电位状态时由一个暂时高电位识别的。再试后面是NAK,使得不允许进入SBEP方式。如果没有产生SB9600NAK,那么主机必须使“占线”线再次有效(730)并进行发送SBEP消息712。在看到SBEPREQ操作码之后所有的其它总线任选设备都保持静止,而且只要占线线保持有效(730)SBEP可继续。如果该目标不存在,将继续进入SBEP,如同它存在一样。
在连接目标时一旦进入SBEP,它(目标)一准备好就必须以SBE波特率进行确认(ACK)。主机应等待SBEP波特率等待这个ACK5SCI字节的时间,而如果在5SCI字节时间之后没有看到ACK时,则该目标可能不存在。一个SCI字节时间通常定义为以操作波特率传送一字节(8比特)的数据加上一个开始和一个停止比特所需要的时间量。这个初始的ACK用于告诉主机它可以立即而不是等待5SCI字节时间发送消息。如果该目标迟于ACK而且主机进行发送请求或广播,那么将可能有一个碰撞。在这种碰撞出现而且在总线上有一个目标时,该目标将NAK该请求或广播。由于该目标没有收到完全的消息,该主机负责再试。
如果该目标没有开始的的固件,如在新的无线设备的情况,那么在发出SBEPREQ710之后,主机不能期望该目标处于SBEP方式。SBEPREQ710必须仍然发出,使得其它总线任选设备知道SBEP要在总线上出现。由于该目标是不可达到的,只有与该目标通信的装置使该目标处于引导方式并给它下装引导码。在优选的实施例中,微处理器单元300是MC68HC11微处理器。这个处理器必须是以MODA/B线低电位复位的结果,以便加电引导方式。在目标复位时保证MODA/B是低电位是主机的责任。为了该情况产生在选地无线设备结构可允许通过请求的线外部控制。
图6表示在目标没有固件时进入SBEP。换句话说,这个图说明使处理器处于引导方式必须的事件。由于不能通过串行总线通知该目标复位,所以复位脉冲802不能通过使用SB9600消息或SBEP消息产生。在工厂的环境中,复位脉冲802通过从该目标自动地除去电源足够长的时间期间感应产生以引起复位。但是,在该场中,这个复位脉冲802必须通过操作再编程设备的人以人工方法执行。在正常的环境下,在操作者必须人工地使该目标复位时,在该场中它们可能是很少的情况。
注意:下装引导码的规程取决于该处理器和它的时钟速度。对于下装的信息读者可参见MC68HC11参考手册。
所考虑的进入SBEP的最后一情况是当该目标具有经过SB9600通信的固件时,但是它必须被置于引导方式。这是在该目标的固件被改进的情况。这个进入过程在图7中说明。由于目标中的处理器具有在它的ROM中的固件,它将工作在SB9600方式。为了转换到SBEP方式,主机将发送一个SBEPREQ SB9600总线消息710,而且如果该目标接收它并且不产生SB9600NAK,则主机必须使“占线”有效(730)。在看到SBEPREQ操作码之后,所有其它总线任选设备保持静止,只要占线线保持有效SBEP可继续。如果目标不存在,进入SBEP将继续进行,如同它存在一样。RESETREQ(复位请求)操作码从主机发送以指示该目标应产生它自己的复位脉冲,产生引导方式。
在连接该目标时一旦进入SBEP,它(该目标)一准备好就必须以SBEP波特率进行ACK。主机应以SBEP波特率对这个ACK等待5SCI字节的时间,而如果在5SCI字节时间之后没有看到ACK用于告诉主机它可以立即而不是等待5SCI字节时间才发送消息。如果该目标迟于ACK而且主机进行发送请求或广播,那么可能有一个碰撞。在这种碰撞出现时,在总线上有一个目标,该目标将NAK该请求或广播。由于该目标没有收到完全的消息主机负责按要求再试。
现在参见图8,9和10,从SBEPP方式退出是用于对三种不同的工作方式进行说明的。当从SB9600进入SBEP而该目标没有处于引导方式时,从SBEP退出可通过释放占线线1002达到。一旦占线释放,该目标处理器必须返回到SB9600。这在图8中示出。所有其它总线任选设备都观察占线变为高电位而且在SB9600方式中再激活它们自己。
另一个方案,如图9所示,主机通过给目标发出复位一广播消息1106可以从SBEP中除去该目标。复位-广播消息1106使该目标通过复位,从而加电工作着的正常SB9600总线规程。在占线线上脉冲1102表示正常的“接通电源”占线状态,这状态由目标处理器产生。这个脉冲的上升边缘开始加电SB9600方式的目标。在总线复位线上的脉冲1104是由该目标处理器产生的正常的“接通电流”型复位。
另一个可选择的方案,如图10所示,如果该目标处于引导方式使它的固件被编程,则SBEP复位-广播消息1106必须发送到该目标,而且原来允许它进入引导方式的条件必须除去(MODA/B置低电位)。占线也必须释放。如果该目标使固件去执行,那么它将运行SB9600方式。脉冲1202代表在该目标处理器中由于捕捉超时(Cop time out)产生的复位脉冲。如虚线1204所示的,该目标再次以SB9600方式加电。
SBEP消息的格式是非常灵活的,该消息可以从一字节开始直到216+4字节长度内变化。实际地讲,最大的消息长度是由该目标中的RAM可用的数量限定的。
消息的第一字节总是确定后面跟着什么。表1说明第一字节的可能性和它如何影响后续字节的含义。
表1 SBEP消息的第一字节
SBEP消息的第一字节是在每半字节基础上考虑的。即,第一半字节或最高有效半字节(msn)包含操作码信息,而第二半字节或最低有效半字节(lsn)包含有关随后的字节数的信息。因此,如果lsn是$O,随后没有更多的字节,所有的具有$O为最低有效半字节的初始字节都是一个字节的消息。ACK和NAK是一字节的消息而且没有检验和。
第一字节的lsn可取从$O和$F的值。当lsn是$O-$E时它代表在特定的消息中随后的字节数。当它是$F时,它表示随后两个附加的扩充长度字节,而且它们包含该消息的长度。
第一字节的msn是操作码。它可取从$O到$F的值。当它是$O-SE时,它是操作码。如果它是$F,那么随后有一个附加的字节即扩充的操作码。
组合3在msn中包含$F,表示随后有一个附加的操作码字节。扩充的操作码不是lsn中计数的一部分,因为根据msn是$F的事实知道有扩充的操作码。
总是有一个检验和作为消息的最后字节,它包含在第一字节的lsn中或在一或更大的扩充长度中的一个计数。检验和计算如下:
检验和=$FF-((消息中所有字节的和)模256)
图11表示一些可能具有SBEP消息格式的各种长度的取样消息,显示这些取样消息是使读者更好地理解SBEP规程使用的消息。示出单字节消息902包括表示希望的可变长度操作码(op code)的第一半字节9022。第二半字节表示包括检验和字节的随后的字节数,如果有的话。可变长度操作码可以是从码组中选择的一个或多个码,这些码组包括复位操作码,读操作码,写操作码,比特置位操作码,比特清除操作码,确认操作码和否定确认操作码。
在这个图中表示了几个多字节消息以提供这个消息格式提供的不同可能性的宽范围。多字节消息904包括由第一字节代表的一个操作码和一个字节计数。第二字节是检验和字节9042,它是用于差错检测的目的。注意,第二半字节中的字节计数的内容是示单个字节在第一字节后面。多字节消息906包括一个数据部分9062。数据部分9062包括在这消息中的单个字节。计数半字节表示随后是包括检验和的两个数据字节。类似地,消息908包括四个数据字节,如字节计数所指示的。
消息910包括一个扩充的操作码9102。扩充的操作码的存在是由第一半字节中的$F表示的。这个$F表示在计数半字节之后的第一字节是一个扩充的操作码。在执行以前在SB9600规程不可能的许多功能中这是有益的。消息912包括在第二半字节中的一个$F,表示使用一个扩充的字节计数8122。这个扩充字节计数用在这样的情况:即数据字节的数量超过单个半字节提供的十三。利用两个可用的计数字节,总数为64千字减一的数据可以立即传递。本领域的普通技术人员懂得,为了扩充单个消息的长度,数据传送可以通过给该计数指定更多的字节进一步扩充。在第一和第二半字节中$F的组合表示随后是一个扩充操作码和一个扩充的字节计数。这是由消息914表示的。而消息916表示另一个组合,其中一个扩充操作码与一起使用。最后,消息918表示一个扩充的操作码跟着一个检验和。
消息902和916分别是没有检验和的单字节和多字节消息。这些消息在优选的实施例中用于否定或肯定确认。这再次要减少在使用检验和遇到的消息开销。
在优选的实施例中,SBEP规程依赖于总是有一个主机和一个目标的概念。主机被规定为SBEP的起始器,即,初始发送SB9600SBEPREQ消息的设备。对于SBEP的整个对话期间,仅仅有一个主机。该目标是其地址在初始的SB9600 SBEPREQ消息中的设备。该目标可能响应主机的广播只产生ACK,NAK,和响应主机的请求产生ACK,NAK或应答。在SBEP对话期间(整个时间占线保持低电位),主机保持控制而且必须启动任何消息。该目标保持“从属”而且只响应由主机发送的消息。无线设备可以是主机或SBEP对话的目标。主机消息根据要求哪一类的确认被分为两类。它们是广播和请求。目标消息是ACK,NAK和应答。下面逐个讨论。
参见图12和13,示出了根据本发明的SBEP广播的两个例子的定时图。正如前面说明的,广播是从主机发送的没有特定的目标信息的消息。广播是从主机的始发的而且不要求ACK或NAK,但是如果它存在的话将接收一个。在无线设备始发SBEP时,它们被用作一个主机以通知外界在无线设备中出现的事件。由于一个目标可接或可不接,对于广播来说不要求ACK或NAK。始发广播的主机必须知道ACK/BAK是任选的。
对于广播,不需要连接该目标已把SBEP设计得工作在半双工,无硬件信号交换的环境,因此在它的差错恢复中不是如它应该那样的健全(robust)。设计该规程使得在数据写入目标时,对在该目标中的设备下装波特率或程序时间是对通过量的限制因素。
如果有一个连接的目标,它必须ACK或NAK一个广播。如果该目标ACK了,那么若主机希望,它可发送另一个消息。图12表示在由该目标发回一个ACK时的情况。如果该目标NAK了,则有该广播有通过的肯定证实,所以主机必须再试多达四次,直到看到ACK或看到ACK/NAK为止(在该目标通过再试移动一半距离时的情况)。
参见图13,如果没有连接的目标,那么主机决不会看见ACK或NAK。由于在发送第一广播1502之后,主机不知道是否有连接的目标,它必须等待10SCI字节时间看在总线上是否出现ACK或NAK。如果在10SCI字节时间(1054)看不见任何东西,则可假定没有接目标,并进行发送另一个广播1506。显然,在认识了没有连接目标之后,主机决不发送请求。如果它发送请求,则它将通过一个再试予列而且决看不到ACK/NAK或应答。如果该目标确实ACK一个广播,这是它必须做的所有的事。
请求是由主机始发的并要求一个ACK或NAK。如主机什么也没有看到,它必得出结论没有连接目标,而且请求不再有意义。这是目标通过SBEP对话移动一半距离的情况。请求总是要求其类的应答。在该ACK之后它们从该目标被发送到主机。在看到最后请求的应答时才允许主机发送另一个请求或广播。
对所看到任何消息(广播或请求)由目标发送ACK或NAK。理接收到正确的消息检验和时,ACK可由目标立即发送。ACK用于告诉主机该消息(广播或请求)已由该目标正确地收到,和主机不应再试。ACK只是从目标发送到主机,不会从主机发送到目标。在图14,15和16中分别表示当目标已确认,否定确认或不发送任何响应时的情况的ACK或NAK。
在目标收到检验和之后,ACK必须在10SCI字节时间窗口内发送。典型地,主机能够几乎是立即发送这个ACK。在目标收到恶化的消息时NAK由目标发送到主机。坏的检验和或不正确的字节计数使该目标发觉一个坏的检验和并建立去发送NAK。由于总线是双向的,NAK不能像ACK那样立即发送,这是因为即使该目标已经决定即将进行NAK(正如计数字节恶化的情况),该总线可能忙于发送更多的字节。
在总线已空闲以后的5SCI字节时间必须发送NAK。即,主机可继续发送消息,但是该目标必须等待直到总线空闲5SCI字节时间为止。这种情况示于图15中。NAK必须在从最后字节经过10SCI字节时间之前发送。要求这个时间极限(1702)使得主机知道何时再试。一旦目标发送NAK,主机就必须再试(1704)直到四次。如果主机继续看到NAK,它应推断出实际媒体噪声太强而不能进行通信。
有一个可能性:目标发回一个ACK或NAK给主机,但是在它到主机的路上时在总线上恶化了。在这种情况下,主机应推断出该目标没有正确地接收最后的消息,并再试最后的消息,见图16。这个再试1704只出现在最后消息的检验和发送之后的10SCI字节时间之后,图16中的1702。在主机发送一个广播(它不要求ACK或NAK)的情况中,而且在检验和之后的10SCI字节时间窗口中的行上有低频干扰,则主机将认为有一个连接的目标而且其ACK或NAK是不可靠的。在这种情况下,主机必须重试广播直到在10SCI字节时间窗口中它得到ACK/NAK或什么也没有为止。注意存在这样的可能性:在主机要再试最后的请求时,该目标进行发送应答1802。在这种情况下将有碰撞。主机必须识别出所希望的应答是不可靠的并重发最后的请求。
再次参见图14,可以看到响应于请求并且仅在ACK发送之后应答1602由该目标发送给主机,如果应答是在回到主机的途中被恶化了,主机不给该目标发回ACK/NAK。在这种情况下,主机必须再发送最后的请求。如果该请求中的操作码不是由目标支持,则目标必须无声(still)ACK(由于ACK仅表示消息走向该目标)。
为了总线定时正确地工作,在它在传送消息时主机决不应暂停大于5SCI字节时间。如果主机暂停长于5SCI字节时间,该目标对NAK是空闲的,因为它将出现好象主机停止中流(midstream)通过消息。在应答期间,在字节之间该目标不能暂停超过5SCI字节时间。
为了增加规程的通过量,SBEP消息的波特率可以改变。初始的SBEPREQ SB9600消息包含表示随后的SBEP消息的波特率是多少的比特。主机必须事先知道该目标支持的波特率是多少并使用它们中的一个波特率。在优选的实施例中,一旦在SBEP方式时,对于SBEP的对话波特率是相同的而且保持不变。其它的实施例可能包括操作码,在仍然在SBEP方式时用于改变波特率。
在引导方式,波特率的选择可用不同方法进行。在主机文件中有包含引导码的标题。在引导方式期间指示SBEP所用的波特率。主机负责查看在这社论扣的信息以便设定它的波特率。
参见图17,示出的ACK消息是一字节的消息,它专用于告诉主机该消息连同正确检验和1904由目标收到了。在主机接收ACK时,它不必再试。在目标收到校正消息之后的10SCI字节时间内必须发送ACK。ACK窗口1902规定这个时间限定。在这个时间期间内没有发送ACK将告诉主机该目标没有收到,而允许主机再试。
参见图18,示出NAK的定时图。NAK消息用于告诉主机该目标不正确地接收了前面的消息。不正确地接收的消息可能是由于不正确的检验和2006产生的,消息中字节太少或消息中字节太多。NAK不能立即返回到主机。如2002所示的,在发送NAK之前,目标必须等待总线是空闲的5SCI字节时间长。如2004所示的,在总线已空闲5SCI字节时间之后的5SCI字节时间之内必须发送NAK。
参见图19,示出根据本发明的复位-广播定时图。复位-广播消息1106用于告诉该目标使它自己复位(2104)。作为该消息的结果,目标应完成一个硬件复位。目标处理器使自己复位的一种方法是停止更新COP计时器。这个消息用于进入引导方式,或退出SBEP。目标应是在给主机发回ACK的100ms内的复位的结果。为了使主机在总线上的通知其它节点,目标将被复位,在复位前目标至少必须等待30ms。这个时间窗口以2102表示出。
在优选的实施例中,SBEP规程可处理很多请求。其中一些请求包括:读数据请求,检验和请求,状态请求,擦除快速请求(ERASE-FLASH-REQ),写数据请求和配置请求。下面简要叙述每个请求消息。
读数据请求消息用于请求目标从一个特定的地址发出一数据块的数据。这个地址包含在消息的地址字节中。必须返回的字节的计数包含在BYTE-CNT(字节计数)中。字节计数是必须返回的实际的数据字节数,其中S00意味着返回零字节,而SFF意味着返回255字节。该消息包含读数据请求消息要求的数据。读数据应答消息是一个隐含的准备应答(READY-REPLY)。
检验和请求消息命令目标在这样的地址开始执地检验和操作:该地址是包含在消息地址字节中用于在计数字节中包含有字节的计数。有两个计数字节,它们表明多少字节必须相加。和被定义为在所规定的地址的直接和,并且舍去溢出该结果允许的16比特的任何比特。这个消息将用在一个快速的或EEPROM编程对话结束时以保证该部分具有正确地编程的所有位置。在检验和应答消息中该结构被返回。这个消息与检验和一起由目标返回给主机,它是从检验和请求规定的地址中得到的。检验和包含在两字节中。计算检验和的方法在检验和请求消息的叙述中说明。
配置请求消息用于在SBEP期间询问目标其内部缓冲器的容量。由这个操作码返回的值是经过配置应答消息的。如果主机不知道目标可接收的最大的消息长度时,它必须发出这消息。配置应答消息包含三个附加的字节。附加字节的前两字节包含代表该目标能接收的最大消息长度的计数。
状态请求消息用于询问目标的状态。为了响应,目标发送一个包含地址字段的状态应答消息,以便告诉主机:在写或擦除过程期间进入哪个地址。这时该状态是不用的并根据要求在每个无线设备的基础上确定。
擦除快速请求消息只能在目标处于导方式时使用并包含一个快速EEPROM。当收到这个消息时目标必须擦除它的快速存储器部分。如果目标不是处于引导方式时这个消息被发送给目标,那么目标应发送未支持操作响应答并忽略该消息。
当擦除过程结束时(该过程可用几秒时间),目标必须返回一个“良好的写入应答”。这是通知主机它可继续。如果目标不能完全地擦除快速存储器,则“坏的写入应答”必须与擦除算法失败的地址一起返回。
在擦除快速请求消息之前这个消息必须给予具有快速存储器件的目标,该快速存储器件要求在擦除之前将整个部分被编程为零。但是,如果该部分已经知道被擦除,如当该部分知道是空白的,它是任选的。当调零过程结束时(该过程可能用几秒时间),目标必须返回一个“良好写入应答”。包含在良好写入应答中的地址是不重要的。这是通过主机它可继续。如果目标不能完全地给快速存储器调零,“坏写入应答”必须与编程为零失败的地址一起被返回。
写数据请求用于使目标写入它的一个存储器件。这可以是RAM,EEPROM(内部或外部的)或快速EEPROM。在优选的实施例中有两种类型的写数据请求总线事务处理可用,单和双缓冲器的目标。图20,21和22表示这些事务处理的定时图。这些是具有良好写入应答的存储器编程总线事务处理。
为了在写数据时取得到目标的最大可能的通过量,将SBEP规程设计得允许目标实现双缓冲。即,当它在给存储器件编程最后的消息时,目标能够经过串行总线接收消息。对于双缓冲,目标必须设置两个RAM缓冲器,其中的一个缓冲器编程该器件,而另一个缓冲器同时接收新消息。
主机不在意目标是否实现双缓冲。但是,主机总是保持跟踪哪个写数据请求消息得到良好的写入应答(GWR)或坏的写入应答(BWR)。主机的责任是再试没有获得一文GWR的那些消息。
由于SBEP规程要求在它可发送另一个消息之前来自主机的每个消息接收某类应答,所以允许目标发回具有所有SFF地址的(GWR),通知主机发送另一个消息,但是没有给出关于第一消息是否对该器件实际上正确地编程。这时主机必须认识到目标正在执行双缓冲的实现过程,而且进行发送另一个消息。一旦目标完成了编程第一消息时,则对前一消息而不是刚接收的消息给主机一个GWR或BWR。实现上,包含在该应答中的地址总是接收的倒数第二消息。主机必须是灵活的,足以认识到包含在该应答中的地址不必是发送的最后消息的地址。在最后的写数据请求发送给目标以后,可能还有一个在目标中排除的更好的GWR或更坏的BWR。主机必须发送具有零字节计数的另一个写数据请求,触发目标发出最后的良好的或坏的写应答。
当目标发出写数据请求消息时,直到了超时时才允许除了写数据请求消息之外的其它消息。即,除非写消息的超时期限已到了,主机可不发送后接读数据请求的写数据请求。这个规则以及除非后接一个ACK而不发送GWR或BWR的规则防止GWR或BWR消息与在目标否定确认时写数据请求的再试之间的碰撞。
写数据请求消息的超时是被编程的每个数据字节20ms加上另外的安全时间50ms。即,如果写数据请求消息中有10个数据字节,则除了写数据请求外,在主机接收写数据请求消息的最后ACK的250ms内,主机可不发送另一个消息。
参见图20,注意,在单个缓冲器目标中,每个GWR相应于最后的写数据请求。
参见图21,注意,在目标编程第一消息时接收第二写数据请求,增加了通过量。这是可能的,因为主机看到了标有星号的“空”GWR。波特率或编程时间,无论哪一个是较慢的就是在目标中编程一个器件的限制因素。
在优选的实施例中,响应上面提到的请求而支持很多应答。其中一些应答包括:GWR,BWR,(好的写,差的写)UNSUPPORTE-OP CODE-REPLY,CONEIGURATION-REPLY,CHECKSUM-REPLY(未支持的操作码应答,配置应答,检验和应答),READ-DATA-REPLY STATUS-REPLY(读数据应答和状态应答)。
GWR用于告诉主机写数据请求消息被成功地编程入指定的存储器件中。GWR消息只能接一个ACK。即,如果来自主机的最后消息被否定确认时,那么在发送GWR之前目标必须等待直到主机成功的到达目标,即写数据请求被确认GWR包括包含在其数据被正确地写入存储器的写数据请求消息中的地址,响应写数据请求它被发送出,但是如在写数据请求的讨论中所指出的,该地址可能不是最后的写数据请求消息的地址。具有所有的SFF的地址字段的良好写入消息用于告诉主机发送另一个消息。无论何时主机收到GWR,它可立即发送另一个消息。
BWR消息用于告诉主机:目标将包含在写数据请求消息中的数据编程到指定的存储器件是不成功的。BWR消息只能接一个ACK。即,如果从主机来的最后消息是否定确认的,那么在发送BWR之前,目标必须等待直到主机成功到达目标为止,即,写数据请求消息是确认的。
BWR包括包含在其数据不写入存储器的写数据请求消息中的地址。响应写数据请求它被发送,但是如在写数据请求的讨论中所指出的,该地址可能不是最后的写数据请求消息的地址。
无论何时主机接收到BWR,它可立即发送另一个消息。图23,24和25说明存在坏的写入时的总线传输。这些图表示根据本发明具有好的和坏的应答的存储器编程总线传输情况。
正如已说明的,由于要求执持该规程的码小到足以装入微处理器引导RAM中,所以实现SBEP规程相当简单。由于能够与处于引导方式的、与快速EEPROM器件组合的无线设备通信,所以这时我们甚至不要打开无线设备就能够改变用户的无线设备软件。换句话说,利用适合的引导技术,无线设备可以使用内部微处理器的引导方式开始,然后使用高效率的规程以所希望的程序编程。
简单地讲它已公开了本发明的重要方面是根据波特率改变请求从一个规程转换到另一个规程的能力。这是通过发送第一规程中的消息来选择哪个任选设备应转换并告诉所有的其它任选设备都暂停总线操作。使用占线线并在第二规程进行所有活动期间保持在工作状态,以便消息所有部分离开该总线。一旦SBEP消息完成了,占线线被释放而且所有的任选设备都恢复为SB9600。SBEP规程工作在双向串行数据总线的能力减少了要求连接的数量。这在设备不是互相靠近的而且要求长的电缆的应用中是很需要的。
SBEP规程的好处是它的自适应能力,使得波特率或者编程时间变成通信速度的限制因素。这是非常有价值的,因为写波特率增加而编程时间减少时这个规程可保持一样。本发明的另一个好处是它以一种结构格式处理可变长度消息的能力。
虽然优选的实施例的叙述集中在两个特定规程SB9600和SBEP,应清楚地懂得,本发明的原理可由其它规程共享。特定实施例的说明在于理解本发明而不应构成对本发明的限定。
Claims (23)
1、一种无线系统,包括:
多个可寻址的处理器装置;
一个通信装置,包括用于互连可寻址的处理器装置的串行通信链路;
第一通信规程,包括用于传送到达或来自可寻址处理器装置的参数数据的多个信息包,第一通信规程还包括用于改变通信规程的第一信息包;
第二通信规程,包括用于以可选择的速度传送到达或来自可寻址处理器装置的多个信息包,第二通信规程还包括具有可变长度的第二信息包;
因而可寻址处理器装置的工作状态可以分别由来自或到达可寻址处理器装置的通信参数数据确定或改变。
2、根据权利要求1的无线系统,其中信息包包括:
一个可变长度的操作码;
一个可变长度的消息长度数据包;
任选数据;和
任选差错检测数据。
3、根据权利要求1的无线系统,其中第二通信规程至少包括第一通信规程的一个信息包。
4、根据权利要求2的无线系统,其中信息包还包括一个地址。
5、根据权利要求1的无线系统,其中可变的操作码包括从由复位操作码、读操作码、写操作码、比特置位操作码、比特清除操作码、确认操作码和否定确认操作码组成的码组中选择的一个或多个码。
6、根据权利要求1的无线系统,其中任选差错检测包括一个循环冗余检验包。
7、根据权利要求1的无线电系统,其中任选差错检测数据包括一个检验和包。
8、一种寄存器型的无线设备,包括:
多个寄存器型的处理器装置;
用于耦合和提供在多个寄存器的处理器装置之间通信的串行通信链路;
一个固定波特率的通信规程,用于传送到达或来自多个寄存器型处理器装置的参数数据,该通信规程包括以可选择的波特率在第一和第二寄存器型的处理器装置之间建立通信的一个信息包,该信息包还包括:
用于在第一和第二寄存器型的处理器装置之间改变通信规程的信息;
用于防止其它的寄存器型处理器装置与在第一和第二寄存器型处理器装置之间的通信相干扰的任选的信息;
一个可选择的波特率通信规程,用于利用串行通信链路发送到达或来自第一和第二寄存器型处理器装置的信息,可选择的波特率通信规程包括:
一个可变长度的操作码,它选自由复位操作码、读操作码、写操作码、比特置位操作码、比特清除操作码、确认操作码、否定确认操作码组成的码组中;和
一个可变长度的长度识别码;
因而多个寄存器型处理器装置的虚状态可以分别由传送到达和来自寄存器型的处理器装置的信息来确定的或改变。
9、在具有多个可寻直的寄存器装置的一个无线通信设备中,在多个可寻址的寄存器装置之间通信的一种方法,包括步骤:
在第一可寻直的寄存器装置中产生一个固定长度的信息包,该信息包至少具有一个规程转换操作码、一个地址和一个差错检测码;
在串行通信链路上使用一个固定波波率通信规程,将固定长度信息包发送到第二可寻址的寄存器装置;
在第二可寻址寄存器装置,从串行通信链路接收该固定长度的信息包;
响应该固定长度信息包的接收,在第一和第二可寻址寄存器装置将该通信规程转换到可选择波特率的通信规程;和
使用可选择波特率的通信规程,在第一和第二可寻址寄存器装置之间传送可变长度的信息包。
10、根据权利要求9的方法,进一步包括在第一和第二可寻址的寄存器装置之间传送信号的交换信息的步骤。
11、根据权利要求10的方法,其中传送信号交换信息的步骤包括第一可寻址寄存器装置选择地等待来自第二可寻址寄存器的一个就绪消息的步骤。
12、根据权利要求9的方法,进一步包括第一可寻址寄存器装置维持一条信息交换线以防止其它可寻址寄存器装置与在第一和第二可寻址寄存器装置之间的通信相干扰的步骤。
13、根据权利要求9的方法,进一步包括第二可寻址寄存器装置肯定确认该固定长度信息包无差错地收到的步骤。
14、根据权利要求13的方法,其中确认步骤包括不维持一条信号交换线以报告该固定长度信息包无差错地收到的步骤。
15、根据权利要求9的方法,进一步包括第二可寻址寄存器装置否定确认该固定长度信息包无差错地收到的步骤。
16、根据权利要求15的方法,进一步包括第一可寻址寄存器装置,在串行通信链路上使用该固定波特率的通信规程将该固定长度信息包再发送给第二可寻址寄存器装置的步骤。
17、根据权利要求15的方法,进一步包括第一可寻址寄存器装置维持信息交换线以防止其它的可寻址寄存器装置与在第一和第二可寻址寄存器装置之间的通信相干扰的步骤。
18、根据权利要求15的方法,其中否定确认的步骤包括维持一条信号交换线以报告该固定长度信息包无差错地收到的步骤。
19、在具有多个可寻址的寄存器装置的一个无线通信设中,在多个可寻址的寄存器装置之间进行通信的一种方法,包括步骤:
在第一寄存器装置中,产生具有波特率改变信息和一个差错检测码的一个可变长度信息包;
过串行通信链路,使用第一波特率通信规程将可变长度信息包发送到第二寄存器装置;
在第二寄存器装置,从串行通信链路接收可变长度的信息包;
响应该波特率改变信息的接收,将在第一和第二寄存器的装置的波特率转换为第二波特率;和
使用第二波特率,在第一和第二可寻址寄存器装置之间传送可变长度的信息包。
20、在具有多个可寻址元件的一个无线通信设备中,使用多个方式在多个可寻址设备之间进行通信的一种方法,该方法包括步骤:
在第一可寻址元件中,产生使用第一方式的第一信息包,该第一方式至少具有第一操作码、一个地址和一个固定长度的变元(argument);
经过串行通信链路将第一信息包串行地发送到第二可寻址的元件;
在第二可寻址的元件串行地接收从串行通信链路来的第一信息包;
在第一和第二可寻址的元件转换到第二方式;
在第一可寻址的元件中,使用第二方式产生一个第二信息包,该第二方式包至少具有一个第二操作码和一个可变长度的变元;
经过串行通信链路将第二信息包串行地发送到第二可寻址的元件;
在第二可寻址的元件串行地接收从串行通信链路来的第二信息包;和
在第二可寻址的元件执行由第二操作码指定的操作。
21、根据权利要求20的方法,进一步包括在第一可寻址的元件启动一条硬件占线线,以防止其它的可寻址的元件在第一和第二可寻址元件之间通信的干扰。
22、一种使用编程设备编程无线通信设备的方法,包括步骤:
在编程设备中产生一个固定长度的信息包,该信息包至少具有一个规程转换操作码和一个差错检测码;
经过串行通信链路,使用固定波特率的通信规程将固定长度的信息包发送到无线通信设备;
在无线通信设备接收从串行通信链路来的固定长度的信息包;
响应固定长度的信息包,在该编程设备和无线通信设备转换到一个可变长度和可选择波特率的通信规程;
使用第二通信规程,将从编程设备来的编程信息发送到该无线通信设备;和
使用该编程设备发送的可变长度的信息包编程该无线通信设备。
23、一种使用编程设备无线通信设备的方法,包括步骤:
在该编程设备中产生第一信息包,该信息包至少具有一个规程转换操作码和一个差错检测码;
经过串行通信链路,使用具有第一波特率的第一通信规程将第一信息包发送到该无线通信设备;
在该无线通信设备,接收从该串行通信链路来的第一信息包;
响应第一信息包,在编程设备和无线通信设备转换到第二通信规程;和
使用第二通信规程将从编程设备来的编程信息发送到该无线通信设备;
编程该无线通信设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88934892A | 1992-05-28 | 1992-05-28 | |
US07/889,348 | 1992-05-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1088033A true CN1088033A (zh) | 1994-06-15 |
CN1031025C CN1031025C (zh) | 1996-02-14 |
Family
ID=25394945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN93106229A Expired - Fee Related CN1031025C (zh) | 1992-05-28 | 1993-05-25 | 在寄存器型无线设备间传送可变长度消息的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5551068A (zh) |
EP (1) | EP0643885B1 (zh) |
JP (1) | JP3644685B2 (zh) |
KR (2) | KR970007986B1 (zh) |
CN (1) | CN1031025C (zh) |
DE (1) | DE69333640T2 (zh) |
FI (1) | FI945537A0 (zh) |
TW (1) | TW234228B (zh) |
WO (1) | WO1993025010A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1076571C (zh) * | 1994-06-30 | 2001-12-19 | 现代电子产业株式会社 | 选择器触排子系统结构及码分多址联接系统的数据传输方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728772A (ja) | 1993-06-25 | 1995-01-31 | Hitachi Ltd | マイクロコンピュータ |
US5638412A (en) * | 1994-06-15 | 1997-06-10 | Qualcomm Incorporated | Method for providing service and rate negotiation in a mobile communication system |
JP2848784B2 (ja) * | 1994-08-02 | 1999-01-20 | 沖電気工業株式会社 | パケット交換方式 |
JP3522882B2 (ja) * | 1995-03-22 | 2004-04-26 | 株式会社東芝 | プロトコル切換方法 |
US6275911B1 (en) * | 1996-09-20 | 2001-08-14 | Denso Corporation | Memory writing device for an electronic device |
EP0859327B1 (en) * | 1997-02-14 | 2009-07-15 | Canon Kabushiki Kaisha | Data transmission apparatus, system and method, and image processing apparatus |
SG101460A1 (en) * | 1997-02-14 | 2004-01-30 | Canon Kk | Data communication apparatus and method |
US6324592B1 (en) | 1997-02-25 | 2001-11-27 | Keystone Aerospace | Apparatus and method for a mobile computer architecture and input/output management system |
US6308062B1 (en) * | 1997-03-06 | 2001-10-23 | Ericsson Business Networks Ab | Wireless telephony system enabling access to PC based functionalities |
US6138180A (en) * | 1997-09-12 | 2000-10-24 | Symbol Technologies, Inc. | Adaptive computer peripheral for selecting a communications protocol by cycling through a plurality of given protocols |
EP1025666A1 (en) * | 1998-08-26 | 2000-08-09 | Nokia Corporation | Bidirectional arq apparatus and method |
JP2002530026A (ja) * | 1998-11-11 | 2002-09-10 | ノキア ネットワークス オサケ ユキチュア | 方向性無線通信方法及び装置 |
US6590905B1 (en) * | 1999-12-22 | 2003-07-08 | Nokia Mobile Phones Ltd. | Changing XID/PDCP parameters during connection |
US7023876B2 (en) * | 2001-07-09 | 2006-04-04 | Quantum Corporation | Point-to-point protocol |
JP2005084791A (ja) * | 2003-09-05 | 2005-03-31 | Alpine Electronics Inc | データ通信方法 |
JP5217982B2 (ja) | 2008-12-04 | 2013-06-19 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
EP2256645A1 (en) * | 2009-05-29 | 2010-12-01 | Incard SA | Method for producing at least a portion of a data visualization layout on a display of a device provided with at least a Smart Card, method for codifying a plurality of HTML instructions and corresponding system |
US8904246B2 (en) * | 2012-04-27 | 2014-12-02 | International Business Machines Corporation | Variable acknowledge rate to reduce bus contention in presence of communication errors |
US10417172B2 (en) | 2014-04-28 | 2019-09-17 | Qualcomm Incorporated | Sensors global bus |
US9734121B2 (en) | 2014-04-28 | 2017-08-15 | Qualcomm Incorporated | Sensors global bus |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4136400A (en) * | 1977-08-08 | 1979-01-23 | Rockwell International Corporation | Micro-programmable data terminal |
US4637022A (en) * | 1984-12-21 | 1987-01-13 | Motorola, Inc. | Internally register-modelled, serially-bussed radio system |
US4684941A (en) * | 1984-12-21 | 1987-08-04 | Motorola, Inc. | Method of communications between register-modelled radio devices |
US4811377A (en) * | 1987-07-31 | 1989-03-07 | Motorola, Inc. | Secure transfer of radio specific data |
DE68923457T2 (de) * | 1988-11-14 | 1996-04-11 | Datapoint Corp | Lokales netz mit mehreren dynamisch wählbaren betriebsartfähigkeiten. |
US5181201A (en) * | 1990-02-07 | 1993-01-19 | General Dynamics Land Systems Inc. | Interface chip device |
-
1993
- 1993-04-02 TW TW082102477A patent/TW234228B/zh active
- 1993-05-05 KR KR1019940704339A patent/KR970007986B1/ko active
- 1993-05-05 KR KR1019940704339A patent/KR950702076A/ko not_active IP Right Cessation
- 1993-05-05 DE DE69333640T patent/DE69333640T2/de not_active Expired - Lifetime
- 1993-05-05 WO PCT/US1993/004248 patent/WO1993025010A1/en active IP Right Grant
- 1993-05-05 JP JP50055294A patent/JP3644685B2/ja not_active Expired - Fee Related
- 1993-05-05 EP EP93911078A patent/EP0643885B1/en not_active Expired - Lifetime
- 1993-05-25 CN CN93106229A patent/CN1031025C/zh not_active Expired - Fee Related
-
1994
- 1994-05-12 US US08/241,951 patent/US5551068A/en not_active Expired - Lifetime
- 1994-11-25 FI FI945537A patent/FI945537A0/fi unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1076571C (zh) * | 1994-06-30 | 2001-12-19 | 现代电子产业株式会社 | 选择器触排子系统结构及码分多址联接系统的数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
US5551068A (en) | 1996-08-27 |
JP3644685B2 (ja) | 2005-05-11 |
WO1993025010A1 (en) | 1993-12-09 |
DE69333640D1 (de) | 2004-11-04 |
EP0643885A1 (en) | 1995-03-22 |
EP0643885A4 (en) | 2001-01-24 |
FI945537A (fi) | 1994-11-25 |
KR970007986B1 (ko) | 1997-05-19 |
KR950702076A (ko) | 1995-05-17 |
TW234228B (zh) | 1994-11-11 |
JPH07507431A (ja) | 1995-08-10 |
DE69333640T2 (de) | 2005-10-06 |
CN1031025C (zh) | 1996-02-14 |
FI945537A0 (fi) | 1994-11-25 |
EP0643885B1 (en) | 2004-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1031025C (zh) | 在寄存器型无线设备间传送可变长度消息的方法和装置 | |
CN1143486C (zh) | 简化分组头标通信的方法和系统 | |
US7461164B2 (en) | Medium access control with software -and hardware- based components in a wireless network | |
EP1841162B1 (en) | Method and system for an os virtualization-aware network interface card | |
CN1310479C (zh) | 通信控制方法和系统 | |
CN1146804C (zh) | 快速16位分离事务i/o总线 | |
CN1846371A (zh) | 用于中继器辅助通信的方法与装置 | |
CN1388670A (zh) | Usb通信控制装置,usb通信系统及usb通信控制方法 | |
JPH043701B2 (zh) | ||
CN1848719A (zh) | 分配位图存储器、产生网络实体间应答的方法及其系统 | |
US20110016190A1 (en) | Method and apparatus for realizing message service | |
US11715337B2 (en) | Controller diagnostic device and method thereof | |
CA2277560A1 (en) | Method of determining a uniform global view of the system status of a distributed computer network | |
CN1276635C (zh) | 提供用于传送数据分组的串行总线通信协议的方法 | |
CN114077562B (zh) | 一种1553b总线控制器协议处理ip核 | |
CN109714653B (zh) | 一种加快ctc oam升级效率的方法 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN1225691C (zh) | 一种程序动态加载方法 | |
EP4185014A1 (en) | Data transmission method in multi-link system, and device, system and medium | |
CN110928828B (zh) | 处理器间业务处理系统 | |
KR100977043B1 (ko) | 이동통신 시스템의 자동 재전송 요구를 이용한 데이터송수신 방법 및 장치 | |
EP0483433A1 (en) | Initialization method for the initialization of secondary stations in an information processing system | |
CN101031902A (zh) | 为移动可缩放链路(msl)结构提供额外通道 | |
CN1441366A (zh) | 过程间通信方法及其设备 | |
CN113220580B (zh) | 测试方法及装置、设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
C53 | Correction of patent of invention or patent application | ||
COR | Change of bibliographic data |
Free format text: CORRECT: PATENTEE; FROM: MOTOROLA INC. TO: MOTOROLA, INC. |
|
CP01 | Change in the name or title of a patent holder |
Patentee after: Motorola Inc. Patentee before: Motorola. Inc |
|
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |