CN114372019B - 对脉冲事件进行传输的方法、装置及芯片 - Google Patents
对脉冲事件进行传输的方法、装置及芯片 Download PDFInfo
- Publication number
- CN114372019B CN114372019B CN202210277193.XA CN202210277193A CN114372019B CN 114372019 B CN114372019 B CN 114372019B CN 202210277193 A CN202210277193 A CN 202210277193A CN 114372019 B CN114372019 B CN 114372019B
- Authority
- CN
- China
- Prior art keywords
- signal
- address
- output
- address event
- serial
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Power Sources (AREA)
Abstract
本发明涉及一种对脉冲事件进行传输的方法、装置及芯片,为了提升芯片/模块间的通信效率并尽可能地降低功耗,将地址事件表达信号转换为串行地址事件表达信号,包括:基于协议,接收输入信号;将接收的输入信号进行译码,得到译码信号;将译码信号按地址进行计数与变频;根据变频后的信号产生输出信号并输出。与现有技术相比,本发明的接口系统具有多种模式,降低功耗的同时,能够过滤一些噪声或过于轻微的无效信号,提升信号质量,具有更好的可靠性和灵活性,更低的成本和功耗。本发明适用于物联网领域,尤其适合类脑芯片领域。
Description
技术领域
本发明涉及一种对脉冲事件进行传输的方法、装置及芯片,具体涉及在类脑芯片或模块间通信时,对脉冲事件进行传输的方法、装置及芯片。
背景技术
地址事件表达(Address Event Representation,AER)用于神经拟态芯片(也称为类脑芯片或神经形态芯片)之间或芯片内部模块间进行通信,额外的握手线(确认和请求)用于完成异步通信。AER协议中,事件(在本发明中也称为脉冲)通过高速数字并行总线进行传输,当前端芯片或传感器产生一个输出脉冲时,AER编码器为这个脉冲分配一个数字地址,信息通过总线路由传输到目标芯片,通过分析数字地址,前端芯片能够向目标芯片中的任何目标神经元发送一个脉冲。通过这种方式,前端芯片和目标芯片中具有相同地址的单元/模块实际上与同一脉冲相连,AER协议可以在神经元之间建立虚拟连接,利于大规模脉冲神经网络(Spiking neural network,SNN)的高效硬件实现。
此外,AER协议基于事件的特性也允许在处理芯片或接收芯片中进行非常高效的卷积操作,因此,其广泛应用于多芯片或模块的神经系统中,例如,仿生的视觉系统(visionsystems)、听觉系统(auditory systems)和机器人控制等方面。
然而,基于AER协议的处理芯片(即目标芯片或接收芯片)和传感器(即前端芯片/发送芯片)大多使用固定位并行端口作为芯片间的通信接口,受总线比特数和并行电缆支持带宽的限制,同时引脚数量和功耗巨大、灵活性低。同时,大规模系统需要更高程度的集成,因此,需要对AER协议进行改进。一些方法将AER通信转换为更高效、高速的异步串行通信,然而可靠性有待提升。
在类脑芯片或神经拟态芯片(也称为类脑芯片或神经形态芯片)的硬件实现中,处理芯片能处理的脉冲速率在一定范围内,若前端芯片获取的事件速率过快或过慢都会影响处理芯片性能,因此,在处理芯片前,需要控制处理芯片接收的事件的脉冲速率。同时,类脑芯片的超低功耗实现是工程师们的一致追求,现有的处理芯片在接收到输入脉冲信号后访问存储器需要消耗大量的功率,甚至一些噪声也会唤醒处理芯片工作。为了节省功耗,通常不处理噪声信号,并且存储器不一直在线。因此,在处理芯片前,需要区分有效事件或噪声事件,在事件密度小于一定程度或没有事件时,不传输信号至处理芯片。
发明内容
为了解决或缓解上述部分或全部技术问题,提升神经拟态芯片(也称为类脑芯片或神经形态芯片)/模块间的通信效率、可靠性和灵活性并尽可能地降低功耗,本发明是通过如下技术方案实现的:
一种对脉冲事件进行传输的方法,包括如下步骤:基于协议,接收输入信号;其中,输入信号为地址事件表达信号或串行地址表达信号;
将接收的输入信号进行译码,得到译码信号;
将译码信号按地址进行计数与变频;
根据变频后的信号产生输出信号并输出;其中,输出信号为地址事件表达信号或串行地址表达信号。具体地,对达到变频阈值地址上的脉冲进行降频,以降低输出信号的脉冲速率,或者,输出信号的脉冲速率大于达到变频阈值的地址上的脉冲速率,即进行升频。在某些实施例中,产生输出信号时不进行信号转换,直接输出,在另一些实施例中,产生输出信号时进行信号转换,比如将AER信号转换为SAER信号,或者,将SAER信号转换为AER信号。
在某类实施例中,对译码信号按地址进行计数,得到对应地址上脉冲数量的计数值;为每个地址设置变频阈值,判断脉冲计数值是否达到对应地址的变频阈值;若所述脉冲计数值达到对应地址的变频阈值,将对应地址上的脉冲进行变频。
在某类实施例中,判断处于休眠模式或工作模式;若对应地址上的脉冲计数值达到所述变频阈值,在工作模式下,控制产生输出信号并输出。
在某类实施例中,判断预设时间窗口内所述输入信号或译码信号是否达到预设条件,若达到预设条件则处于工作模式,否则处于休眠模式。
在某类实施例中,区分出休眠模式和进休眠模式的所述预设时间窗口,或/和,区分出休眠模和进休眠模式的所述预设条件;其中,出休眠模式为休眠模式转工作模式,进休眠模式为工作模式转休眠模式。
在某类实施例中,出休眠模式的所述预设时间窗口大于进休眠模式的所述预设时间窗口。
在某类实施例中,对译码信号按地址进行分裂归一化处理,将分裂归一化后的信号按地址计数与变频;所述分裂归一化处理为:根据译码信号中具有相同地址的脉冲信号在平均窗口内的平均脉冲数量产生第二阈值;在每个时钟周期,判断是否使能积分发放计数模块计数;若是,则积分发放计数模块开始计数,且当所述积分发放计数模块的计数值达到所述第二阈值,则产生一个输出脉冲并重新开始计数。
在某类实施例中,根据仲裁原则控制产生输出信号的顺序。
在某类实施例中,若所述输入信号与所述输出信号类型相同,产生所述输出信号时不进行类型转换;若所述输入信号与所述输出信号类型不同,产生所述输出信号时进行类型转换,将输入地址事件表达信号转换为输出串行地址表达信号,或者将输入串行地址事件表达信号转换为输出地址表达信号。
在某类实施例中,将输入地址事件表达信号转换为输出串行地址表达信号时,具有不止一个输出通道以输出生成的串行地址事件表达信号。
在某类实施例中,具有不止一组输入信号,每组输入信号具有独立的地址事件表达信号。
在某类实施例中,所述地址事件表达信号为异步并行传输,或/和所述串行地址表达信号为同步串行传输。
一种对脉冲事件进行传输的方法,将串行地址事件表达信号转换为地址事件表达信号,包括如下步骤:
在使能信号有效时,使用同步时钟采样串行地址事件表达信号;
在采样或接收到所述串行地址事件表达信号的第一比特,串行地址事件表达确认信号跳变;
接收完成所述串行地址事件表达信号后,无效使能信号,接着复位串行地址事件表达确认信号。
接收完成所述串行地址事件表达信号后,当存在有效请求信号时,将串行地址事件表达信号转换为地址事件表达信号;
当所述转换完成,发出地址事件表达确认信号。
在某类实施例中,所述同步时钟为外部时钟或转换系统内部时钟。
在某类实施例中,若所述同步时钟为外部时钟,在所述使能信号无效至少半个同步时钟周期后,复位串行地址事件表达确认信号;或者,若所述同步时钟为转换系统内部时钟,在所述使能信号无效后立即复位串行地址事件表达确认信号。
在某类实施例中,所述同步时钟为门控时钟。
一种对脉冲事件进行传输的接口装置,包括:输入模块,基于协议,接收输入信号;地址转换模块,用于将接收的输入信号进行译码,得到译码信号;计数与变频模块,将译码信号按地址进行计数与变频;输出模块,用于根据变频后的信号产生输出信号并输出。
在某类实施例中,计数与变频模块,包括多个控制子单元,控制子单元对译码信号按地址进行计数,得到对应地址上脉冲数量的计数值;控制子单元为每个地址设置变频阈值,判断脉冲计数值是否达到对应地址的变频阈值;若所述脉冲计数值达到对应地址的变频阈值,将对应地址上的脉冲进行变频。
在某类实施例中,所述对脉冲事件进行传输的接口装置还包括休眠状态判断模块,用于判断接口系统处于休眠模式或工作模式;若任意控制子单元的计数值达到变频阈值,在工作模式下,控制输出模块产生输出信号并输出。
在某类实施例中,区分出休眠模式和进休眠模式的所述预设时间窗口,或/和,区分出休眠模和进休眠模式的所述预设条件;其中,出休眠模式为休眠模式转工作模式,进休眠模式为工作模式转休眠模式。
在某类实施例中,出休眠模式时间窗口为100ms至10s,进休眠模式时间窗口范围为1us至10ms。
在某类实施例中,所述对脉冲事件进行传输的接口装置还包括分裂归一化模块,耦接于地址转换模块和计数与变频模块之间,所述分裂归一化模块包括多个分裂归一化子模块,对译码信号按地址进行分裂归一化处理;每个分裂归一化子模块进行如下处理:根据译码信号中具有相同地址的脉冲信号在平均窗口内的平均脉冲数量产生第二阈值;在每个时钟周期,判断是否使能积分发放计数模块计数;若是,则积分发放计数模块开始计数,且当所述积分发放计数模块的计数值达到所述第二阈值,则产生一个输出脉冲并重新开始计数。
在某类实施例中,所述对脉冲事件进行传输的接口装置还包括仲裁模块,用于根据仲裁原则控制产生输出信号的顺序。
在某类实施例中,若所述输入信号与所述输出信号类型相同,产生所述输出信号时不进行类型转换;若所述输入信号与所述输出信号类型不同,产生所述输出信号时进行类型转换。
一种芯片,所述芯片包括脉冲神经网络处理器,所述芯片使用如前任一项的对脉冲事件进行传输的方法,或者包括如前任一项所述的对脉冲事件进行传输的接口装置。
在某类实施例中,所述芯片对传感器至所述脉冲神经网络处理器之间的脉冲事件执行前述任意一项所述的对脉冲事件进行传输的方法,所述芯片包括前述任意一项所述的对脉冲事件进行传输的接口装置。
在某类实施例中,所述芯片对所述脉冲神经网络处理器与脉冲神经网络处理器之间的脉冲事件执行前述任意一项所述的对脉冲事件进行传输的方法,所述芯片包括前述任意一项所述的对脉冲事件进行传输的接口装置。
本发明的部分或全部实施例,具有如下有益技术效果:
(1)能够有效调节传输至处理芯片的事件的速率,可根据需求提升脉冲速率或者降低脉冲速率。
(2)增加休眠模式,根据时间窗口内的接收的输入信号是否达到预设条件判断接口系统具体处于哪种工作模式,进一步降低功耗。
(3)接口系统具有多种模式,模式0休眠模式,模式1通过模拟电路判断状态或/和模式2通过数字电路判断状态,降低功耗的同时,能够过滤一些噪声或过于轻微的无效信号,提升信号质量,并且多样化的判断方式,灵活性高、可扩展性强。
(4)接口系统在事件通信过程中具有通用性,可传输AER/SAER信号,还可进行信号转换,将异步并行数据转换为同步串行数据,或者将同步串行数据转换为异步并行数据。
(5)SAER数据具有同步时钟,并且时AER转SAER模块的过程中,增加valid信号标记有效位,以便了解生成的输出中何时存在有效的数据可用。
(6)SAER转AER模块中增加SAER确认信号,用以表示信息收到了,或者在接收/处理不了信息时,反馈给发送方以告诉发送方不要再发数据了,以提升传输质量。
更多的有益效果将在优选实施例中作进一步的介绍。
以上披露的技术方案/特征,旨在对具体实施方式部分中所描述的技术方案、技术特征进行概括,因而记载的范围可能不完全相同。但是该部分披露的这些新的技术方案同样属于本发明文件所公开的众多技术方案的一部分,该部分披露的技术特征与后续具体实施方式部分公开的技术特征、未在说明书中明确描述的附图中的部分内容,以相互合理组合的方式披露更多的技术方案。
本发明任意位置所披露的所有技术特征所组合出的技术方案,用于支撑对技术方案的概括、专利文件的修改、技术方案的披露。
附图说明
图1为本发明某实施例中对脉冲事件进行传输的流程图
图2为本发明某实施例中对输入信号进行地址转换的示意图;
图3为本发明某优选实施例中对脉冲事件进行传输的流程图;
图4为本发明某优选实施例中AER转SAER流程图;
图5为AER通信和SAER通信示意图;
图6为本发明某实施例中AER转SAER的模块图;
图7为本发明某实施例中AER转SAER的时序图;
图8为本发明某优选实施例中AER转SAER具有两个输出通道的示意图;
图9为本发明某优选实施例中AER转SAER具有两个输出通道的时序图;
图10为本发明某优选实施例中AER转SAER具有三个输出通道的时序图;
图11为本发明另一实施例中具有多组输入的AER转SAER的模块图;
图12为本发明另一实施例中具有多组输入的AER转SAER的时序图;
图13为本发明某实施例中SAER转AER的模块图;
图14为本发明某实施例中SAER转AER的时序图;
图15为本发明某实施例中接口系统对脉冲事件进行传输的原理图;
图16为本发明改进实施例中对输入信号进行地址转换的原理图;
图17为本发明优选实施例中的对输入信号进行地址转换的原理图;
图18为本发明接口系统的信号转换原理图。
具体实施方式
由于不能穷尽描述各种替代方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案中的要点内容进行清楚、完整地描述。对于下文未详细披露的其它的技术方案和细节,一般均属于本领域通过常规手段即可实现的技术目标或技术特征,限于篇幅,本发明不对其详细介绍。
除非是除法的含义,本发明中任意位置的“/”均表示逻辑“或”。本发明任意位置中的“第一”、“第二”等序号仅仅用于描述上的区分标记,并不暗示时间或空间上的绝对顺序,也不暗示冠以这种序号的术语与冠以其它定语的相同术语必然是不同的指代。
本发明会对各种用于组合成各种不同具体实施例的要点进行描述,这些要点将被组合至各种方法、产品中。在本发明中,即便仅在介绍方法/产品方案时所描述的要点,意味着对应的产品/方法方案也明确地包括该技术特征。
本发明中任意位置处描述存在或包括某步骤、模块、特征时,并不暗示这种存在是排它性地唯一存在,本领域技术人员完全可以根据本发明所披露的技术方案而辅以其它技术手段而获得其它实施例;基于本发明中具体实施例描述的要点,本领域技术人员完全可以对某些技术特征施加替换、删减、增加、组合、调换顺序等手段,获得一个仍遵循本发明构思的技术方案。这些未脱离本发明技术构思的方案也在本发明保护范围之内。
地址事件表达(Address Event Representation,AER):一种事件传输协议,利用握手信号,并行传输离散的事件信息,目前多用于神经拟态芯片(也称为类脑芯片或神经形态芯片)间或内部通信。事件是依据传感器感受到的信号变化产生的,例如处理视觉信号的事件相机,其像素点感受环境中光强度或亮度的变化输出像素事件,也称为脉冲事件;例如处理语音信号的声学特征提取器(Audio feature extractor),其感受环境中音频信号的变化从而输出事件。此外,传感器还可以是振动传感器、温度传感器等,可以是一维传感器、二维传感器或任意维度的传感器,本发明不限于此。
串行地址事件表达(Serial Address Event Representation,SAER):串行传输离散的事件信息,AER转SAER模块将并行和离散的脉冲事件转换成串行脉冲信息,并传输给其他模块,可以灵活配置神经元之间的连接,提高了神经网络的可扩展性。
分裂归一化(Divisive normalization,DN):用于提高前端芯片对背景噪声的鲁棒性,分裂归一化模块对地址的信号或/和背景噪声进行适当归一化,以便将变化的背景噪声降低到几乎恒定的水平(如白噪声),静止的噪声可以在下一层中由SNN正确处理和抑制。分裂归一化的主要目的之一是确保最小输出脉冲速率(也称之为背景脉冲触发率)不会因背景噪声的缓慢变化而变化。
多脉冲机制:当神经元达到阈值发放条件时,产生多脉冲(幅度上的多脉冲,而非时间顺序上的多个脉冲),在单位时间步上,输出的脉冲幅度可大于单位值,与膜电压与阈值的比值成正比,膜电压超过阈值越多,该多脉冲的幅度越大,例如,该多脉冲的幅度可等于单位幅度乘以该比值的向下取整数。使用多脉冲机制,可以提升训练速度,还能额外带来神经网络性能的提升。
本发明在拟神态领域的多芯片/模块间使用AER或SAER协议进行通信,并在接口系统中,调节脉冲的速率,以便处理芯片能够得到更优、更精确的推理结果。脉冲序列是一种信号形式,信息被编码在脉冲序列的时间序列中。
图1为本发明某实施例中对脉冲事件进行传输的流程图,包括如下步骤:
步骤S110:基于协议,接收输入信号。
输入信号可以为AER信号或SAER信号,AER信号为并行数据,SAER为串行数据,AER信号或SAER信号均包含有表示信号或脉冲(也称作事件)地址的信息。
连接图像传感器与处理器的接口系统,输入信号表示产生事件的像素地址(x坐标,y坐标),对于连接音频传感器与处理器的接口系统,输入信号表示产生事件的通道号。图像传感器可以为二维传感器,如事件相机或动态视觉传感器(DVS),声音传感器可以是一维传感器,如音频特征提取器(Audio feature extractor),当然传感器可以是三维或更多维,本发明以一维传感器或二维传感器为例,输入信号表示有事件的通道号或像素地址或通道号,即输入信号包括表示事件地址的信息。
优选地,输入信号还包括偏置、标记或表示脉冲幅度等信息,例如,输入信号格式为(事件地址,偏置)、(事件地址,幅度)等。
步骤S120:将接收的输入信号进行译码,得到译码信号。
例如,输入数据利用4位AER并行数据表示有脉冲的通道号,当AER数据为1011,即通道ch[11]有信号(或称有脉冲),将表示通道ch[11]的位置为1,其余bit为0,译码后的数据为0000 1000 0000 0000。图2为将接收的4bitAER数据转换成16通道,也可以是3 bit的AER数据转换成8通道等,具体使用几位二进制数表示通道号以及译码后数据的格式,本领域技术人员可根据实际需求进行选择,本发明对此不作限定。
同时,译码后的信号按地址存储,可利用寄存器或其他存储介质进行存储,例如,寄存器0至寄存器15按通道存储图2中对应通道ch[0]至ch[15]的数据。
译码后的数据可保留一个同步时钟周期,在这个周期里数据就被下一级模块采用,在该同步时钟周期之后的译码数据被清空。
步骤S130:将译码后的信号按地址计数与变频。
对每个地址的信号(即脉冲)进行单独计算,得到对应地址上脉冲数量的计数值后,将对应地址上的脉冲进行变频。
在某优选实施例中,对译码信号中的脉冲按地址进行计算,得到对应地址上脉冲数量的计数值;并为每个地址设置对应的阈值,判断每个地址上脉冲数量的计数值是否达到对应地址的变频阈值。
常见情况下,脉冲具有相同的持续时间和单位幅度,本发明中的脉冲不限于此,还适用于幅度可变的“多脉冲”机制。
若所述脉冲计数值达到对应地址的变频阈值,将对应地址上的脉冲进行变频;变频后的信号用于产生输出信号,其中,输出信号可以是变频后的信号,也可以变频后的信号经类型转换所得。
各地址对应的变频阈值可相同或不同,本发明对此不作限定。例如,为简化操作,各地址对应的变频阈值相同,以及为了增强灵活性,各地址对应的变频阈值可以不同。
例如,对于具有多个通道的音频特征提取器,可根据通道频率设置对应通道的变频阈值,此时,变频阈值也可称作通道阈值。例如,通道频率越高,其对应的通道阈值越小,类似地,通道频率越低,其对应的通道阈值越高。或者,通道频率越低,其对应的通道阈值越高,类似地,通道频率越高,其对应的通道阈值越低。
步骤S140:产生输出信号并输出。
若地址计数值达到地址对应的变频阈值,控制生成输出信号。具体地,在某些实施例中,对达到变频阈值地址上的脉冲进行降频,以降低输出信号的脉冲速率,或者,输出信号的脉冲速率大于达到变频阈值的地址上的脉冲速率,即进行升频。
如通道ch[3]的变频阈值为4,当表示通道号为3的输入信号或译码信号数量达到4(即ch[3]上的事件/脉冲数达到4),输出1个表示通道号为3的输出信号(即表示输出一个事件),即实现了降频,若输出6个事件,即实现了升频。
通过该步骤能够在接口系统中调整脉冲密度,对脉冲密度过大的输入脉冲或通道脉冲降频,或者对脉冲密度过小的输入脉冲或通道脉冲升频,便于后续的神经网络处理器处理,例如脉冲神经网络SNN。
在某些实施例中,产生输出信号时不进行信号转换,直接输出。在另一些实施例中,产生输出信号时进行信号转换,比如将AER信号转换为SAER信号,或者,将SAER信号转换为AER信号。
在某些实施例中,为了过滤一些噪声信号或过于轻微的无效信号并节省功耗,本发明在对脉冲事件进行传输的过程中增加了休眠模式,也称为Hib(Hibernation)模式,该模式下不产生SAER信号,即无脉冲事件输出。同时,工作模式也称为Active模式,或者激活模式,用于控制产生SAER信号。具体地,图1中脉冲事件进行变频的方法还包括:
步骤S150:判断接口系统处于休眠模式或工作模式。若所述地址上的脉冲数或能量达到变频阈值,在工作模式下,控制生成输出信号并输出。
具体地,判断预设时间窗口内输入信号或译码信号是否达到预设条件,若达到预设条件则处于工作模式,否则处于休眠模式。进一步地,可根据输入信号或译码信号中所有脉冲事件的数量或能量是否达到判断阈值,确定接口系统处于休眠模式或工作模式,如图3所示。此外,达到的标准本领域技术人员可根据实际需求设置,例如认为大于等于某值是达到预设条件,或者小于等于某值是达到预设条件等,本发明对此不作限定。
在某优选实施例中,还适用于多脉冲机制。可根据输入信号或译码信号中所有脉冲事件的数量、能量或脉冲幅度是否达到判断阈值,确定接口系统处于休眠模式或工作模式。
若时间窗口过大,降功耗效果不理想,但若时间窗口过小,会导致频繁切换模式,例如语音停顿时切换模式,由工作模式切换为休眠模式,会导致内容连贯的语音被打断。因此,时间窗口的选择是一个难题,为此,本发明进一步提出如下改进方案,区分休眠模式转工作模式H2A(Hibernation to Active)和工作模式转休眠模式A2H(Active toHibernation)的阈值或/和时间窗口。
此外,可利用数字电路或/和模拟电路判断预设时间窗口内接收的输入信号或译码信号是否达到预设条件,以确定接口系统处于休眠模式或工作模式。数字电路易实现、且可控性好一些,在一些实施例中,使用数字电路根据预设时间窗口内信号(本发明中也称脉冲)的数目进行判断。模拟电路虽然比数字电路实现复杂,但精度高、功耗低,在另一些实施例中,使用模拟电路根据信号能量来判定处于休眠模式或工作模式。同时,由于脉冲速率(单位时间产生的脉冲数)与输入信号随时间变化的瞬时功率成正比,因此,具体采用哪种方式进行判断,本发明不做具体限定。
若当前处于休眠模式,对第一时间窗口(又称为H2A时间窗口或非活动时间窗口)内的输入信号或译码信号脉冲进行计数,若计数值小于第一阈值(H2A阈值),接口系统仍然处于休眠模式,不产生输出信号。若计数值大于等于第一阈值(H2A阈值),接口系统切换为工作模式。
若对应地址上的脉冲数或能量达到变频阈值,在工作模式下,控制生成输出信号并输出。其中,输出信号与输入信号可为同类型或不同类型,若为不同类型,需进行信号转换,转换为目标类型后输出。同时,在任意两个第一时间窗口之间,将对应地址上的计数值清零或重置,需消耗一个时钟周期。
若当前处于第一工作模式,对第二时间窗口(又称为A2H时间窗口或活动时间窗口)内的输入信号或译码信号脉冲进行计数,若计数值小于第二阈值(A2H阈值),接口系统将切换进入休眠模式。若计数值大于等于第二阈值(A2H阈值),将继续处于工作模式。同时,在任意两个第二时间窗口之间,将计数值重置。
其中,第一时间窗口(H2A时间窗口)、第一阈值(H2A阈值)、第二时间窗口(A2H时间窗口)和第二阈值(A2H阈值)可配置,以适应不同的环境、输入信号速率等,具有灵活性。
进一步地,为了防止模式切换过于频繁,第二时间窗口(A2H时间窗口)应大于第一时间窗口(H2A时间窗口),例如第二时间窗口为几百毫秒至秒级别,第一时间窗口为微秒至几十毫秒级别。
进一步地,对于较长的时间窗口,在该窗口内接收脉冲的数量也会相对多一些,因此阈值的大小可与时间窗口大小呈正相关设置,例如,对应于第二时间窗口远大于第一时间窗口,第二阈值大于第一阈值。例如第二时间窗口为100ms至10s,第一时间窗口为1us至10ms,相应地设置第二阈值为16,第一阈值为10。
进一步地,为尽可能减少数据丢失,在休眠模式转工作模式时,最后一个第一时间窗口(H2A时间窗口)内的输入信号或译码信号被保存,并在第一个第二时间窗口(A2H时间窗口)开始时发出,以获取更多的关键信息。
在某些实施例中,图1中脉冲事件进行变频的方法还包括步骤S160:对译码信号按地址进行分裂归一化(Divisive Normalization,DN)处理,本文以全文方式引入分裂归一化相关技术(现有技术1:专利申请号CN202210051924.9)。其中,现有技术1中分裂归一化按通道进行,对应于更多维的前端传感器,分裂归一化按地址进行,对每个地址上的脉冲事件进行相应分裂归一化的步骤包括:接收预归一化脉冲序列;根据平均窗口内预归一化脉冲序列(本发明中译码信号中具有相同地址的脉冲序列)的平均脉冲数量产生阈值;在每个时钟周期,判断是否使能积分发放计数模块计数;若是,则积分发放计数模块开始计数,且当所述积分发放计数模块的计数值达到所述阈值,则产生一个输出脉冲并重新开始计数。更多的详细内容参见现有技术1。
进一步地,将分裂归一化后的信号按地址计数与变频。其中,按地址计数与变频操作如前文所述,此处不再赘述。
可选地,根据时间窗口内分裂归一化后的信号判断接口系统处于休眠模式或工作模式。具体地,判断预设时间窗口内所有分裂归一化后信号或输入信号或译码信号中的脉冲数或能量是否达到设定的变频阈值,若达到变频阈值则处于工作模式,否则处于休眠模式。
其中,现有技术1中提到,在每个帧周期计算输入脉冲序列的脉冲数量,利用低通滤波器获取平均窗口内所述脉冲数量的平均值,以产生阈值,此处的输入脉冲序列相当于本发明的译码信号,平均窗口、帧周期与本发明提到的H2A时间窗口、A2H时间窗口不同。
在某些实施例中,图1中脉冲事件进行变频的方法还包括步骤S170:根据仲裁原则控制生成输出信号的顺序。
由于译码后的信号保留一个周期,因此可能出现多地址同时请求生成输出信号的情况,为了进一步改善该现象,利用仲裁规则合理规划信号的输出过程,确定各个地址上事件的输出顺序,以便保证信号输出过程不会被同一个地址一直占用或者卡在某个地址。
为了节省功耗、过滤一些噪声信号等,本发明在多芯片/模块间使用同步SAER协议,利用更少的导线(引脚数量更少),表现出更好的性能,而且不限制带宽,具有更小的连接,更稳定和灵活,在节省空间的同时,不受连线物理长度的限制。同时,本发明提出了一种改进的AER转SAER方法,用于异步域和同步域之间通信,使用一个同步时钟来生成串行同步数据,当一个AER数据准备好时,接收请求并进行转换,输入的并行数据被分割成串行数据流。
图4为本发明某优选实施例中AER转SAER流程图,包括如下步骤:
基于握手协议,将AER请求信号同步至芯片的同步时钟域上,当同步后的请求信号有效时,接收输入的AER信号。将接收的AER信号进行译码,得到译码信号,将译码后的信号按地址计数与变频,生输出信号并输出,具体操作如前所述,此处不再赘述。
图5为AER通信和SAER通信示意图,其中上半部分为AER通信,包括请求信号req、确认信号ack和并行数据data,下半部分为同步SAER通信示意图,包括时钟clk、使能信号valid和串行数据sdata。将异步并行数据转换为同步串行数据过程中,需要将异步输入同步至同步时钟域上,若没有外部来的时钟,则同步时钟就是AER转SAER接口内部时钟。
进一步地,可以利用触发器对请求信号req进行同步,例如采用两拍(两个同步时钟周期)flip-flop同步法进行同步,具体利用几个同步时钟周期(如半个或一个以上)同步请求信号,本领域技术人员可根据实际需求进行设置。该步骤不仅可避免异步AER信号存在的亚稳态问题,对同步AER信号也没有什么影响。因此,本发明也可用于将同步AER信号转换为同步SAER信号。
在另一改进实施例中,生成串行数据时,利用信号“valid”标记有效位,以便接收方了解何时AER转SAER模块的输出中有有效的数据可用。
图6为AER转SAER的模块图,图7为AER转SAER的时序图,包括输入并行数据data[n-1:0](n为正整数)、异步请求信号async_req、同步请求信号sync_req、确认信号ack、同步时钟CLK、使能信号valid、门控时钟saer_clk和输出串行数据sdata。其中,请求信号、使能信号valid和确认信号ack均高电平有效,为了提高传输质量,在输入数据稳定后,异步请求信号async_req被拉高。当检测到同步后的请求信号sync_req为高时(高电平有效),按地址/通道存储输入并行数据data[n-1:0],n为正整数。
存储完成后,等待生成输出信号。当使能信号valid被拉高,开始进行转换,在门控时钟saer_clk的有效沿(下降沿)对并行数据采样,按位输出串行数据data[0]至data[n-1],串行数据输出完成后释放valid信号,并同时发送有效ack信号,在检测到有效ack信号后撤销异步请求信号async_req,然后再撤销ack信号,完成一次转换。
可选地,本发明在等待生成输出信号的过程中可执行前述对脉冲事件进行传输步骤S101至S170的部分或全部。
在某改进实施例中,为了提高数据的传输速度,AER转SAER过程中可以有多个输出通道。图8为本发明某优选实施例中AER转SAER具有两个输出通道的示意图,在每个时钟周期中,两个连续的比特被发送到输出通道Ch1和Ch2,多个输出通道中输出脉冲的顺序可根据实际需要设置,本发明对此不作限定,为了便于再次组合收到的数据,第一个输出通道的位序是1-3-5-7,第二个通道的输出的位序是2-4-6-8。
图9展示了具有两个输出通道的AER转SAER时序图,图10展示了具有三个输出通道的AER转SAER时序图,其中,CLK为同步时钟,data[n-1:0]表示输入并行数据,n为正整数,sync_req表示同步后的请求信号,ack为确认信号,valid为使能信号,sdata1为第一输出通道的串行输出,sdata2为第二输出通道的串行输出,sdata3为第三输出通道的串行输出。其中,各输出通道转换的起始时间可灵活设置,例如图10中,第三输出通道转换的起始时间早于其他通道,高比特位d[n-1]可用于触发其他操作。
在某改进实施例中,AER转SAER可具有多组输入,每组输入具有多个并行输入通道、对应的请求信号和确认信号,各组输入间具有独立性。具体地,可利用选择信号选择将哪组输入进行转换后输出,或者将多组数据合并后输出。图11为AER转SAER具有两组输入的模块图,图12为AER转SAER具有两组输入的时序图。其中,第一组输入包括第同步请求信号req1、确认信号ack1、并行数据data1[7:0],第二组输入包括同步请求信号req2、确认信号ack2、并行数据data2[15:0],sel[1:0]为选择信号,sdata1表示串行输出,valid表示使能信号,CLK表示同步时钟。本发明可利用任意数量的串行输出接口输出转换后的数据,例如不止一个输出端口sdata1至sdata3,第一组输入转换后输出sdata1,第二组输入转换后输出sdata2,或者将第一组输入和第二组输入都转换且合并后输出sdata3,本发明不以此为限。
对应于AER转SAER将异步并行数据转换为同步串行数据,本发明还涉及SAER转AER技术,用于将同步串行数据转换为异步并行或同步并行数据。
从理论上讲,在SAER数据传输的过程中不需要确认信号,因为SAER通信中接收与处理是分开的,发送方不关心接收方能不能处理,因此,现有的SAER通信基本是异步串行通信。然而,本发明从数据处理的角度,增加了SAER确认信号cready,用以表示SAER转AER模块收到了输入信息,或者在SAER转AER模块接收/处理不了输入信息时,反馈给发送方以告诉发送方不要再发数据了。
在一些实施例中,cready信号由同步时钟CLK驱动,若该同步时钟源于SAER转AER的上游模块,在valid无效后至少半个同步时钟周期复位cready信号。进一步地,在valid无效后的半个同步时钟周期复位cready信号的转换效果最佳。
图13为本发明某实施例的SAER转AER模块图,图14为本发明某实施例的SAER转AER时序图,其中,CLK表示来自外部设备的同步时钟,sdata表示串行数据,valid表示使能信号,cready表示SAER确认信号,sdata表示串行输入信号,req、ack分别为AER的请求信号、确认信号,data表示并行输出信号,data [n-1:0]n为正整数。图14中,cready在valid有效半个同步时钟CLK周期跳变,其中cready默认电平是高电平,表示处于等待状态,可用于接收一个新数据,sdata和valid都是从CLK上升沿开始转换,在CLK下降沿对sdata采样,并且若此时valid有效立即把cready拉低,即在采样到sdata的第一比特时,cready跳变。串行数据sdata接收完成,释放valid,在valid无效半个时钟CLK周期时复位即可。
在另一些实施例中,cready在valid有效至少一个同步时钟CLK周期后跳变,即在接收到sdata的第一个比特,cready跳变,并在valid无效对应同步时钟CLK周期时复位。然而该方法会引入延迟等其他问题,不如前述方法高效。
当请求信号有效时(req被拉高),开始转换,将串行输入转换为并行输出,当转换完成发出AER确认信号ack,接着拉高req信号进行释放,当检测到req信号被释放后,再释放AER确认信号ack。此处,req和ack高电平有效。此外,本发明对某信号是高电平有效或低电平有效、在时钟上升沿或下降沿跳变以及在时钟上升沿或下降沿不作限定,只需满足时序关联关系即可。
在一些改进实施例中,为了节省功耗,本发明使用门控时钟,在没有输入,即valid信号无效时,应该将同步时钟关闭,有输入时,将同步时钟打开。
在另一些实施例中,cready由接口系统内部时钟驱动,接口系统内部时钟频率高于同步时钟频率,在valid有效后立即有效cready,在valid无效后立即无效cready,不必等待一个或半个新的同步时钟周期。
图15为本发明的接口系统对脉冲事件进行传输的原理图,接口系统包括输入模块、通道转换模块、计数与变频模块和输出模块。其中,输入模块,基于协议,接收输入信号。
地址转换模块,用于将接收的输入信号进行译码,得到译码信号。同时,译码后的信号按地址存储。
计数与变频模块,按地址计算,即对每个地址上的信号(或脉冲)进行单独计算,得到地址计数值,并为每个地址设置对应的变频阈值,判断每个地址信号的计数值是否达到对应地址的变频阈值。此处,计数值可指对应地址上脉冲数的计数值,也可指对应地址上脉冲能量的计数值。
具体地,计数与变频模块包括多个控制子单元,且多个控制子单元与前端多个地址一一对应,各控制子单元用于计算和判断对应地址上的脉冲数量或能量是否达到输出条件。本发明中的脉冲不限于固定幅度的单脉冲,还适用于幅度可变的“多脉冲”机制。
输出模块,用于产生输出信号并输出。若地址计数值达到地址对应的变频阈值,控制生成输出信号。进一步地,在产生输出信号的过程中,可进行升频或降频,或者根据需求进行信号类型的转换,具体操作如前所述,此处不再赘述。
在某改进实施例中,接口系统还包括休眠状态判断模块,用于判断接口系统处于休眠模式或工作模式。具体地,判断预设时间窗口内输入信号或译码信号中的脉冲数或能量是否达到预设条件,若达到预设条件则处于工作模式,否则处于休眠模式。在某优选实施例中,还适用于多脉冲机制,根据输入信号或译码信号中所有脉冲事件的数量、能量或脉冲幅度是否达到判断阈值,确定接口系统处于休眠模式或工作模式。
若计数与变频模块中某控制子单元的计数值达到变频阈值,在工作模式下,控制生成输出信号并输出。
在某改进实施例中,接口系统还包括仲裁模块,用于根据仲裁原则控制生成输出信号的顺序,如图16所示。
例如,输出模块接收到各地址/通道的请求信号req之后,指针从最低位开始往最高位扫描,即指针从低通道到高通道扫描,若通道编号大于等于指针的通道有请求,则编号数最相邻的通道将被允许发出脉冲信号。每经过一个发送周期指针向高位位移一位,达到最高位后返回最低位,直至所有请求都处理完,指针恢复到默认值,即指向最低位。此外,还可以从高通道至低通道扫描等,本发明对此不作限定。
在某改进实施例中,接口系统还包括分裂归一化(Divisive Normalization,DN)模块,简称为DN模块,耦接于地址转换模块、计数与变频模块之间,所述分裂归一化模块包括多个分裂归一化子模块,对译码信号按地址进行分裂归一化处理。
每个分裂归一化子模块进行如下处理:根据译码信号中具有相同地址的脉冲信号在平均窗口内的平均脉冲数量产生第二阈值;在每个时钟周期,判断是否使能积分发放计数模块计数;若是,则积分发放计数模块开始计数,且当所述积分发放计数模块的计数值达到所述第二阈值,则产生一个输出脉冲并重新开始计数。
计数与变频模块中的各控制子单元计算对应地址上经归一化处理后的脉冲数量或能量,并判断分裂归一化后的脉冲数量或能量是否达到对应的地址的变频阈值,若达到,在工作模式下,控制生成输出信号。其中,现有技术1中提到“在每个帧周期计算输入脉冲序列的脉冲数量,利用低通滤波器获取平均窗口内所述脉冲数量的平均值,以产生所述第二阈值”,该步骤可以在DN模块中进行,也可以在DN模块外进行。
此外,为了进一步减少延时,休眠状态判断模块根据译码模块的输出判断接口系统处于哪种模式。
图17为本发明接口系统的某优选实施例,在有效抑制噪声信号的同时,能够显著降低功耗,并调节输出信号的脉冲速率。
综上所述,本发明接口系统的信号转换原理如图18所示,包括输入模块、信号处理模块和输出模块。输入信号可以是AER信号或SAER信号,同样地,输出信号可以是AER信号或SAER信号,信号处理模块可执行对输入信号进行变频、休眠或工作模式判断、降噪处理等部分或全部操作。
尽管已经参考本发明的具体特征和实施例描述了本发明,但是在不脱离本发明的情况下仍可以对其进行各种修改、组合、替换。本发明的保护范围旨在不限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例,并且这些方法、模块可能还被实施在相关联、相互依赖、相互配合、前/后级的一个或多个产品、方法当中。
因此,说明书和附图应简单地视为由所附权利要求限定的技术方案的部分实施例的介绍,因而应根据最大合理解释原则对所附权利要求解读,并旨在尽可能涵盖本发明公开范围内的所有修改、变化、组合或等同物,同时还应避免不合常理的解读方式。
为了实现更好的技术效果或出于某些应用的需求,本领域技术人员可能在本发明的基础之上,对技术方案做出进一步的改进。然而,即便该部分改进/设计具有创造性或/和进步性,只要依赖本发明的技术构思,覆盖了权利要求所限定的技术特征,该技术方案同样应落入本发明的保护范围之内。
所附的权利要求中所提及的若干技术特征可能存在替代的技术特征,或者对某些技术流程的顺序、物质组织顺序可以重组。本领域普通技术人员知晓本发明后,容易想到该些替换手段,或者改变技术流程的顺序、物质组织顺序,然后采用了基本相同的手段,解决基本相同的技术问题,达到基本相同的技术效果,因此即便权利要求中明确限定了上述手段或/和顺序,然而该些修饰、改变、替换,均应依据等同原则而落入权利要求的保护范围。
结合本文中所公开的实施例中描述的各方法步骤或模块,能够以硬件、软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用或设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为在本发明所要求保护的范围之外。
Claims (28)
1.一种对脉冲事件进行传输的接口装置,其特征在于,包括:
输入模块,接收输入信号,所述输入信号包括表示事件地址的信息;
地址转换模块,用于将接收的输入信号进行译码,得到译码信号;
计数与变频模块,对译码信号按地址进行计数,得到对应地址上脉冲数量的计数值,并根据所述计数值决定是否变频;
输出模块,用于根据变频后的信号产生输出信号并输出,所述输出信号包括表示事件地址的信息;
其中,所述计数与变频模块,包括多个控制子单元,控制子单元对译码信号按地址进行计数,得到对应地址上脉冲数量的计数值;
控制子单元为每个地址设置变频阈值,判断脉冲计数值是否达到对应地址的变频阈值;
若任意控制子单元的计数值达到对应地址的变频阈值,则将对应地址上的脉冲进行变频,所述变频包括升频或降频。
2.根据权利要求1所述的对脉冲事件进行传输的接口装置,其特征在于,还包括:
分裂归一化模块,耦接于地址转换模块和计数与变频模块之间,
所述分裂归一化模块包括多个分裂归一化子模块,对译码信号按地址进行分裂归一化处理;
每个分裂归一化子模块进行如下处理:根据译码信号中具有相同地址的脉冲信号在平均窗口内的平均脉冲数量产生第二阈值;在每个时钟周期,判断是否使能积分发放计数模块计数;若是,则积分发放计数模块开始计数,且当所述积分发放计数模块的计数值达到所述第二阈值,则产生一个输出脉冲并重新开始计数;
计数与变频模块中的各控制子单元计算对应地址上经归一化处理后的脉冲数量或能量,并判断分裂归一化后的脉冲数量或能量是否达到对应的地址的变频阈值。
3.根据权利要求1或2所述的对脉冲事件进行传输的接口装置,其特征在于,还包括:
休眠状态判断模块,用于判断接口装置处于休眠模式或工作模式;
若任意控制子单元的计数值达到变频阈值,在工作模式下,控制输出模块产生输出信号并输出。
4.根据权利要求3所述的对脉冲事件进行传输的接口装置,其特征在于:
判断预设时间窗口内所述输入信号或译码信号是否达到预设条件,若达到预设条件则处于工作模式,否则处于休眠模式;
区分出休眠模式和进休眠模式的所述预设时间窗口;其中,出休眠模式为休眠模式转工作模式,进休眠模式为工作模式转休眠模式。
5.根据权利要求4所述的对脉冲事件进行传输的接口装置,其特征在于,还包括:
所述出休眠模式的预设时间窗口大于所述进休眠模式的预设时间窗口。
6.根据权利要求5所述的对脉冲事件进行传输的接口装置,其特征在于,还包括:
出休眠模式时间窗口为100ms至10s,进休眠模式时间窗口范围为1us至10ms。
7.根据权利要求1或2任一项所述的对脉冲事件进行传输的接口装置,其特征在于,还包括:
仲裁模块,用于根据仲裁原则确定各个地址上事件的输出顺序。
8.根据权利要求1或2任一项所述的对脉冲事件进行传输的接口装置,其特征在于:
若所述输入信号与所述输出信号类型相同,产生所述输出信号时不进行类型转换;
若所述输入信号与所述输出信号类型不同,产生所述输出信号时进行类型转换。
9.根据权利要求8所述的对脉冲事件进行传输的接口装置,其特征在于:
所述输入信号为地址事件表达信号或串行地址事件表达信号;
所述输出信号为地址事件表达信号或串行地址事件表达信号。
10.根据权利要求9所述的对脉冲事件进行传输的接口装置,其特征在于:
所述地址事件表达信号为异步并行传输,或/和所述串行地址事件表达信号为同步串行传输。
11.根据权利要求9所述的对脉冲事件进行传输的接口装置,其特征在于:
所述输入信号为串行地址事件表达信号,所述输出信号为地址事件表达信号;
将所述串行地址事件表达信号转换为所述地址事件表达信号包括如下步骤:
在使能信号有效时,使用同步时钟采样串行地址事件表达信号;
在采样或接收到所述串行地址事件表达信号的第一比特,串行地址事件表达确认信号跳变;
接收完成所述串行地址事件表达信号后,无效使能信号,接着复位串行地址事件表达确认信号;
接收完成所述串行地址事件表达信号后,当存在有效请求信号时,将串行地址事件表达信号转换为地址事件表达信号;
转换完成后,发出地址事件表达确认信号。
12.根据权利要求11所述的对脉冲事件进行传输的接口装置,其特征在于:
所述同步时钟为外部时钟,或转换系统内部时钟,或门控时钟。
13.根据权利要求12所述的对脉冲事件进行传输的接口装置,其特征在于:
若所述同步时钟为外部时钟,在所述使能信号无效至少半个同步时钟周期后,复位串行地址事件表达确认信号;
或者,若所述同步时钟为转换系统内部时钟,在所述使能信号无效后立即复位串行地址事件表达确认信号。
14.根据权利要求10所述的对脉冲事件进行传输的接口装置,其特征在于:
所述输入信号为地址事件表达信号,所述输出信号为串行地址事件表达信号;
将所述地址事件表达信号转换为所述串行地址事件表达信号包括如下步骤:
输入数据稳定后,异步请求信号有效;
当检测到同步请求信号有效,按地址存储输入并行数据;
当使能信号被拉高时,使用同步时钟对输入并行数据进行采样,按位输出串行数据;
串行数据输出完成后释放使能信号并返回有效确认信号;
在检测到有效确认信号后撤销异步请求信号,然后撤销有效确认信号,完成一次转换。
15.根据权利要求14所述的对脉冲事件进行传输的接口装置,其特征在于:
所述输入信号具有多组输入,各组输入间具有独立性;每组输入具有多个并行输入通道和对应的请求信号与确认信号;
利用选择信号控制多组输入中的任意组进行转换,以将对应组中的地址事件表达信号转换为所述串行地址事件表达信号。
16.根据权利要求15所述的对脉冲事件进行传输的接口装置,其特征在于:
当选择至少两组输入进行转换时,将各组转换后的信号合并后输出。
17.一种对脉冲事件进行传输的方法,其特征在于:
基于协议,接收输入信号,所述输入信号包括表示事件地址的信息;
将接收的输入信号进行译码,得到译码信号;
对译码信号按地址进行计数,得到对应地址上脉冲数量的计数值,并根据所述计数值决定是否变频;
根据变频后的信号产生输出信号并输出,所述输出信号包括表示事件地址的信息;
其中,所述根据所述计数值决定是否变频具体包括:
为每个地址设置变频阈值,判断脉冲计数值是否达到对应地址的变频阈值;
若所述脉冲计数值达到对应地址的变频阈值,将对应地址上的脉冲进行变频,所述变频包括升频或降频。
18.根据权利要求17所述的对脉冲事件进行传输的方法,其特征在于:
对译码信号按地址进行分裂归一化处理,将分裂归一化后的信号按地址计数与变频;
所述分裂归一化处理为:根据译码信号中具有相同地址的脉冲信号在平均窗口内的平均脉冲数量产生第二阈值;在每个时钟周期,判断是否使能积分发放计数模块计数;若是,则积分发放计数模块开始计数,且当所述积分发放计数模块的计数值达到所述第二阈值,则产生一个输出脉冲并重新开始计数。
19.根据权利要求17或18所述的对脉冲事件进行传输的方法,其特征在于:
判断处于休眠模式或工作模式;
若对应地址上的脉冲计数值达到所述变频阈值,在工作模式下,控制产生输出信号并输出。
20.根据权利要求18所述的对脉冲事件进行传输的方法,其特征在于:
判断预设时间窗口内所述输入信号或译码信号是否达到预设条件,若达到预设条件则处于工作模式,否则处于休眠模式。
21.根据权利要求20所述的对脉冲事件进行传输的方法,其特征在于:
区分出休眠模式和进休眠模式的所述预设时间窗口,出休眠模式为休眠模式转工作模式,进休眠模式为工作模式转休眠模式;
其中,出休眠模式的所述预设时间窗口大于进休眠模式的所述预设时间窗口。
22.根据权利要求17或18任一项所述的对脉冲事件进行传输的方法,其特征在于:
若所述输入信号与所述输出信号类型相同,产生所述输出信号时不进行类型转换;
若所述输入信号与所述输出信号类型不同,产生所述输出信号时进行类型转换。
23.根据权利要求22所述的对脉冲事件进行传输的方法,其特征在于:
所述输入信号为串行地址事件表达信号,所述输出信号为地址事件表达信号;
将所述串行地址事件表达信号转换为所述地址事件表达信号包括如下步骤:
在使能信号有效时,使用同步时钟采样串行地址事件表达信号;
在采样或接收到所述串行地址事件表达信号的第一比特,串行地址事件表达确认信号跳变;
接收完成所述串行地址事件表达信号后,无效使能信号,接着复位串行地址事件表达确认信号;
接收完成所述串行地址事件表达信号后,当存在有效请求信号时,将串行地址事件表达信号转换为地址事件表达信号;
转换完成后,发出地址事件表达确认信号。
24.根据权利要求23所述的对脉冲事件进行传输的方法,其特征在于:
所述同步时钟为外部时钟,或转换系统内部时钟,或门控时钟;
若所述同步时钟为外部时钟,在所述使能信号无效至少半个同步时钟周期后,复位串行地址事件表达确认信号;
若所述同步时钟为转换系统内部时钟,在所述使能信号无效后立即复位串行地址事件表达确认信号。
25.根据权利要求23所述的对脉冲事件进行传输的方法,其特征在于:
所述输入信号为地址事件表达信号,所述输出信号为串行地址事件表达信号;
将所述地址事件表达信号转换为所述串行地址事件表达信号包括如下步骤:
输入数据稳定后,异步请求信号有效;
当检测到同步请求信号有效,按地址存储输入并行数据;
当使能信号被拉高时,使用同步时钟对输入并行数据进行采样,按位输出串行数据;
串行数据输出完成后释放使能信号并返回有效确认信号;
在检测到有效确认信号后撤销异步请求信号,然后撤销有效确认信号,完成一次转换。
26.根据权利要求25所述的对脉冲事件进行传输的方法,其特征在于:
所述输入信号具有多组输入,各组输入间具有独立性;每组输入具有多个并行输入通道和对应的请求信号与确认信号;
利用选择信号控制多组输入中的任意组进行转换,以将对应组中的地址事件表达信号转换为所述串行地址事件表达信号。
27.根据权利要求26所述的对脉冲事件进行传输的方法,其特征在于:
当选择至少两组输入进行转换时,将各组转换后的信号合并后输出。
28.一种芯片,所述芯片包括脉冲神经网络处理器,其特征在于:
所述芯片使用如权利要求1至16任一项所述的对脉冲事件进行传输的接口装置,或者包括如权利要求17至27任一项所述的对脉冲事件进行传输的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210277193.XA CN114372019B (zh) | 2022-03-21 | 2022-03-21 | 对脉冲事件进行传输的方法、装置及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210277193.XA CN114372019B (zh) | 2022-03-21 | 2022-03-21 | 对脉冲事件进行传输的方法、装置及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114372019A CN114372019A (zh) | 2022-04-19 |
CN114372019B true CN114372019B (zh) | 2022-07-15 |
Family
ID=81146058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210277193.XA Active CN114372019B (zh) | 2022-03-21 | 2022-03-21 | 对脉冲事件进行传输的方法、装置及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114372019B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200132444A (ko) * | 2019-05-17 | 2020-11-25 | 한국전자통신연구원 | 스파이킹 뉴럴 네트워크 통신 장치 |
CN113902106A (zh) * | 2021-12-06 | 2022-01-07 | 成都时识科技有限公司 | 脉冲事件决策装置、方法、芯片及电子设备 |
CN114093377A (zh) * | 2022-01-18 | 2022-02-25 | 成都时识科技有限公司 | 分裂归一化方法、装置、音频特征提取器、芯片 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685099B (zh) * | 2012-09-25 | 2017-05-24 | 京信通信系统(中国)有限公司 | 一种对信号进行变频调整的方法和设备 |
CN112529164A (zh) * | 2020-12-21 | 2021-03-19 | 北京灵汐科技有限公司 | 编码方法、装置、设备和存储介质 |
-
2022
- 2022-03-21 CN CN202210277193.XA patent/CN114372019B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200132444A (ko) * | 2019-05-17 | 2020-11-25 | 한국전자통신연구원 | 스파이킹 뉴럴 네트워크 통신 장치 |
CN113902106A (zh) * | 2021-12-06 | 2022-01-07 | 成都时识科技有限公司 | 脉冲事件决策装置、方法、芯片及电子设备 |
CN114093377A (zh) * | 2022-01-18 | 2022-02-25 | 成都时识科技有限公司 | 分裂归一化方法、装置、音频特征提取器、芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN114372019A (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4761800A (en) | Method and apparatus for detecting a rate of data transmission | |
CN109495957B (zh) | 一种基于二次碰撞概率模型的自适应异步无线唤醒方法 | |
US6108720A (en) | Echo canceling modem which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency | |
US10579581B2 (en) | Multilane heterogeneous serial bus | |
US5892980A (en) | System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system | |
AU661378B2 (en) | An access control arrangement for communication channel | |
CN114372019B (zh) | 对脉冲事件进行传输的方法、装置及芯片 | |
CN113760473A (zh) | 优先级处理方法、处理器、处理芯片、电路板及电子设备 | |
JPH04251362A (ja) | 適応ダイレクトメモリアクセス方法およびそのコントローラ | |
US5343515A (en) | High speed modem | |
US6378011B1 (en) | Parallel to serial asynchronous hardware assisted DSP interface | |
CN114723023A (zh) | 数据通信方法及系统、脉冲神经网络运算系统 | |
CN109067399A (zh) | 一种多采样率的adc控制器实现方法 | |
US20020110213A1 (en) | Method and apparatus for providing data for sample rate conversion | |
CN114490459A (zh) | 数据传输方法、装置、设备、接收机和存储介质 | |
JPS6245255A (ja) | デ−タ受信方式 | |
JP2922987B2 (ja) | 速度偏差吸収方法及び装置 | |
US5701546A (en) | Parallel interface circuit having a n-byte buffer and tansmitting the n byte data on a byte-by-byte basis in response to interrupt request signal | |
US6453373B1 (en) | Method and apparatus for differential strobing | |
JP2864824B2 (ja) | データ伝送速度変換装置 | |
KR970004889B1 (ko) | 전전자교환기 하위 프로세서의 외부장치 제어용 정합회로 | |
JP3266789B2 (ja) | 通信制御装置 | |
KR0186014B1 (ko) | 디지탈 망에서의 채널 시뮬레이터 구성 및 제어방법 | |
CN115915075A (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN117609134A (zh) | 一种swim协议解析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |