数据处理方法技术

技术编号:17396549 阅读:46 留言:0更新日期:2018-03-04 22:23
一种电子数据处理设备,包括:处理器(1);串行接口,其包括用于输入数据(16)的连接及用于输出数据(18)的连接;用以控制串行接口的硬件串行接口控制器(6);以及用以接收输入数据的接收缓冲器(22)。处理器被设置为自动地读取被写入接收缓冲器的数据。该设备被设置为使得处理器可向串行接口控制器指示无法接受数据。控制器被设置为通过从输出串行连接发送拒绝消息以响应于输入数据以及防止输入数据被放置于接收缓冲器中。

Data processing method

An electronic data processing device includes a processor (1); serial interface, which includes an input data (16) and the connection for data output (18) connected by hardware; serial interface controller to control the serial interface (6); and to receive buffer for receiving input data (22). The processor is set to automatically read the data that is written to the receiving buffer. The device is set up to allow the processor to indicate unacceptable data to the serial interface controller. The controller is set to send a rejection message from the output serial connection to respond to the input data and prevent the input data from being placed in the receiving buffer.

【技术实现步骤摘要】
【国外来华专利技术】数据处理方法
本专利技术涉及一种数据处理方法。
技术介绍
许多现代电子系统,特别是嵌入式系统,为了允许不同设备根据需要共享数据需要具有一种通信方法。串行通信允许包括经由通信信道一次发送及接收一比特的事务(亦即,从一个设备传送数据至另一个设备)。有许多不同的串行通信协议及规范在不同情境中使用以满足不同设计参数及限制。一种此类协议为串行外围接口(SPI)总线,为一种首先由摩托罗拉(Motorola)设计的协议,其在嵌入式系统行业中成为实际的标准。SPI在主设备与一或多个从设备之间提供串行通信、全双工通信。用于处理串行数据的电子设备通常使用移位寄存器来实现,该移位寄存器在每个时钟周期同时地时钟输入新数据并时钟输出旧数据。重要的是,在任何特定的事务开始之前提取所有现存数据并加载所有新数据到该移位寄存器内以防止损坏数据的传送。在许多此类设备中,CPU被赋予确保不会发生此状况的责任。用于所有事务的串行通信协议的共同特征是要通过主设备而启动,且由于从设备对数据流没有控制权,所以它们不可避免地被强加一有限时间限制,用于在所有输入数据永远丢失之前将其读取至该移位寄存器。若该移位寄存器在该主设备启动另一事务之前没有实时更新,则从设备将有可能发送损坏数据。一种可能的解决方案是试图使用高优先级中断以防止主设备在不合适的时间启动事务(将导致数据损坏)。然而,当在嵌入式系统CPU内有其他高优先级任务时,此解决方案并非总是可行。
技术实现思路
当考虑第一方面时,本专利技术提供一种电子数据处理设备,包括:处理器;串行接口,其包括用于输入数据的连接及用于输出数据的连接;用以控制串行接口的硬件串行接口控制器;以及用以接收输入数据的接收缓冲器,其中处理器被设置成自动地读取被写入至接收缓冲器的数据;其中所述设备被设置成使得处理器可向串行接口控制器指示无法接受数据,所述控制器被设置成随后通过从输出串行连接发送拒绝消息来响应于输入数据以及防止输入数据被放置于接收缓冲器中。因此本领域技术人员将可领会,依据本专利技术,该设备可向发送数据给它的另外的设备提供其无法接受该数据的指示,而非将该数据丢失或损坏。在一些协议中,每个设备可被认为是“平等的”;然而,在其他协议中主从等级可能比较合适。在一些实施例中,该设备为从设备。在一些实施例中,该从设备被设置成使得拒绝消息被发送至主设备。这种设置为从设备(其通常对数据流没有控制权)提供对输入数据的一些控制权。尽管从设备可能无法阻止主设备向其发送任何额外的数据,但却可至少向主设备提供任何额外数据将会被舍弃的指示。反过来,这允许主设备在稍后时间重新发送该数据。本专利技术在许多不同的串行通信协议中皆有应用。在一些实施例中,串行接口为串行外围接口(SPI)总线。如上所述,SPI为实际的标准且特别地适合于本文所述的数据处理设备。在一些实施例中,该设备包括SPI从设备。缓冲器可使用存储设备上固定存储器位置实体地以硬件实现,或可利用存储设备上的指向存储器位置的指示器虚拟地以软件实现。缓冲器通常基于先进先出(FIFO)而操作,藉此缓冲器以数据输入的顺序输出数据。在一些实施例中,接收缓冲器包括移位寄存器。移位寄存器提供实施FIFO缓冲器的有效方式,其中在每个时钟周期时钟输入新数据以及时钟输出最旧的数据。本领域技术人员将可了解术语“时钟输入”与“时钟输出”是指移位寄存器接收上升或下降沿(取决于配置)并分别输入或输出数据,其中所有存在的数据相应地沿着缓存器内部“移位”。所有缓冲器都限于(通过实体存储空间或通过软件限制)其在任一时间可存储的特定数据量。在一些实施例中,该设备包括最大接收限制。在一些另外的实施例中,该设备被设置成如果所接收的数据量超过该最大接收限制则产生溢出事件。这可允许该设备舍弃导致溢出事件的输入数据。在一些实施例中,该设备包括接收计数器。该接收计数器允许该设备监控在之前事务中写入至接收缓冲器的数据量。由于该设备可能事先不知道其要接收的数据量,所以接收计数器可例如使得CPU追踪已经接收了多少字节。除了接收数据,该设备也可以能够发送数据。因此在一些实施例中,该设备包括用于发送数据的发送缓冲器。在一些实施例中,接收缓冲器与发送缓冲器不同。具有用于发送与接收数据的单独的缓冲器,使得该设备同时执行此二个操作。如上所述,对可在缓冲器中保持的数据的量存在限制。在一些实施例中,该设备包括最大发送限制。在一些另外的实施例中,该设备被设置成在该设备被强制发送多于该最大传送限制的数据时产生过度读取(overread)事件。在一些实施例中,该设备被设置成在该事件中发送过度读取字符。这指示该设备已被强制发送多于其在缓冲器中实际拥有的数据。在一些实施例中,该设备包括发送计数器。该发送计数器允许该设备监控在先前事务中从发送缓冲器读取的数据量。由于该设备可能不具有其要发送的数据量的现有技术常识,该发送计数器可,例如允许CPU追踪已经从发送缓冲器读取了多少字节。拒绝消息可用于警告其他设备不要传送任何另外的数据,或重新发送可能已丢失或损坏的数据。在一些实施例中,该设备还被设置成使得串行接口可产生接收缓冲器满标记。这有利地意味着处理器在接收数据时不需要主动地监控串行接口。虽然上文所述的实施例涉及设置有引入连接和输出连接的设备,但在一些实施例中串行接口包括多个用于输入数据的连接。此外或可替选地,串行接口包括多个用于输出数据的连接。这允许本专利技术的实施例可用于诸如双SPI与四SPI的多线通信接口。这些设置提供多重平行串行连接,使得更多串行数据可在给定时间段内发送,增加了系统的比特率。附图说明现将参照附图仅通过示例的形式描述本专利技术某些实施例,其中:图1示出了根据本专利技术实施例的电子数据处理设备的框图;图2示出了与如图1相同实施例相关联的一组典型务的时序图;以及图3示出了根据本专利技术另一实施例的电子数据处理设备的框图。具体实施方式图1示出根据本专利技术实施例的电子数据处理设备的框图。在此实施例中,该设备包括SPI从设备2,其系连接至随机存取存储器(RAM)4。SPI从设备2包括信号量(semaphore)6;收发机8;直接存储器存取(DMA)模块10;以及两个单极双投开关13、14,其可实体上使用多工器实现。该设备2也包括多个一般用途输入/输出(GPIO)插脚,其中四个被示出并布置如下:芯片选择12;主输出从输入(MOSI)—或串行数据输入16;主输入从输出(MISO)—或串行数据输出18;以及串行时钟20。存储器4包含接收缓冲器22以及发送缓冲器24。DMA模块10被连接为对缓冲器22、24直接存取并可使用接收指示器26与发送指示器28分别寻址具体存储器位置。信号量6为相当于软件信号量的硬件且通过经由控制线15切换两个开关13、14之状态通过来控制对缓冲器22、24的存取。在一个状态下,开关13、14将数据输入插脚及数据输出插脚16、18连接至DMA模块10,其进而允许数据在插脚16、18与接收和发送缓冲器22、24之间分别通过。在另一状态下,与数据输出插脚18相关联的开关14连接至默认字符30,而与数据输入插脚16相关联的开关13连接至空白端子32。信号量6取获取信号34及释放信号36作为输入。在CPU1可安全地更新接收指示器和发送指示器26、28之前,其首先必须“获取”信本文档来自技高网...
数据处理方法

【技术保护点】
一种电子数据处理设备,包括:处理器;串行接口,所述串行接口包括用于输入数据的连接及用于输出数据的连接;硬件串行接口控制器,用以控制所述串行接口;以及用以接收输入数据的接收缓冲器,其中所述处理器被设置为自动地读取被写入所述接收缓冲器的数据;其中所述设备被设置成使得所述处理器能够向所述串行接口控制器指示无法接受数据,所述控制器被配置成然后通过从所述输出串行连接发送拒绝消息以响应于输入数据以及防止输入数据被放置于所述接收缓冲器中。

【技术特征摘要】
【国外来华专利技术】2015.06.16 GB 1510552.11.一种电子数据处理设备,包括:处理器;串行接口,所述串行接口包括用于输入数据的连接及用于输出数据的连接;硬件串行接口控制器,用以控制所述串行接口;以及用以接收输入数据的接收缓冲器,其中所述处理器被设置为自动地读取被写入所述接收缓冲器的数据;其中所述设备被设置成使得所述处理器能够向所述串行接口控制器指示无法接受数据,所述控制器被配置成然后通过从所述输出串行连接发送拒绝消息以响应于输入数据以及防止输入数据被放置于所述接收缓冲器中。2.根据权利要求1所述的设备,其中所述设备为从设备。3.根据权利要求2所述的设备,其中所述从设备被设置成使得所述拒绝消息被发送至主设备。4.根据权利要求1-3中任一项所述的设备,其中所述串行接口是串行外围接口(SPI)总线。5.根据权利要求4所述的设备,其中所述设备包括串行外围接口(SPI)从设备。6.根据权利要求1-5中任一项所述的设备,其中所述接收缓冲器包括移位寄存器。7.根据权利要求1至6中任一项所述的设备,其中所述设备包括最大接收限制。...

【专利技术属性】
技术研发人员:琼·欧莱·鲁斯汀
申请(专利权)人:北欧半导体公司
类型:发明
国别省市:挪威,NO

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1