在移动设备上生成和接收红外通信的制作方法

文档序号:10573924阅读:571来源:国知局
在移动设备上生成和接收红外通信的制作方法
【专利摘要】公开了用于在移动设备上生成和接收红外信号的系统和方法。通过基于要被传送作为红外信号的信息生成比特流,来在移动设备上生成红外信号。在总线上将比特流调制并且输出到红外发射二极管。移动设备通过基于所接收的红外信号创建中间比特流,来接收红外信号。在时域中对中间比特流进行修整、下采样和解调。然后,将中间比特流转换为原始红外代码。在软件层中处理所生成和所接收的比特流,这使得移动设备能够在不使用被配置在移动设备上的附加硬件的情况下处理红外信号。
【专利说明】
在移动设备上生成和接收红外通信
技术领域
[0001]本公开总体上涉及红外通信领域,并且更特别地涉及计算设备上的红外接收器。
【背景技术】
[0002]传统的远程遥控式电子产品(诸如立体声、电视、机顶盒和DVD播放器)使用红外信号发送和接收信息。通常地,用户将红外信号从与设备配对的遥控器发送到设备。例如,电视可以从用于供该特定电视使用而设计的遥控器接收指令。然而,用户现在可以使用充当遥控器的单个移动设备(例如,智能电话或者平板电脑)控制多个设备。当前移动设备要求专用硬件以与远程遥控式设备通信。然而,附加硬件增加制造移动设备的成本并且增加移动设备内的功耗。
【附图说明】
[0003]所公开的实施例具有从详细描述、权利要求书和附图将更容易明显的其他优点和特征。以下是对附图的简单介绍。
[0004]图1图示了根据一个示例实施例的能够生成红外信号的计算设备。
[0005]图2图示了根据一个示例实施例的用于计算设备的系统架构。
[0006]图3图示了根据一个示例实施例的用于在具有固定时钟速度的计算设备上生成红外信号的过程。
[0007]图4图示了根据一个示例实施例的用于在具有可调节时钟速度的计算设备上生成红外信号的过程。
[0008]图5图示了根据一个示例实施例的用于生成红外信号的、具有固定时钟速度的计算设备上的示例信号的集合。
[0009]图6图示了根据一个示例实施例的用于生成红外信号的、具有可调节时钟速度的计算设备上的示例信号的集合。
[0010]图7A图示了根据一个示例实施例的使用传统的通用输入输出(GP1)将红外信号从处理器发送到红外系统。
[0011]图7B图示了根据一个示例实施例的使用串行外围设备接口(SPI)将红外信号从处理器发送到红外系统。
[0012]图8图示了根据一个实施例的用于接收具有固定时钟速度的计算设备上的红外信号的过程。
[0013]图9图示了根据一个示例实施例的用于接收红外信号的计算设备上的示例信号的
口 O
[0014]图10图示了根据一个示例实施例的能够生成和接收红外信号的系统。
【具体实施方式】
[0015]附图和以下描述仅以图示的方式涉及优选的实施例。应当注意,根据以下讨论,在不脱离权利要求书的原理的情况下,本文所公开的结构和方法的备选实施例将容易识别为可以采用的可行备选方案。
[0016]现在将对在附图中图示其示例的数个实施例进行详细参考。应当注意,无论何处可行类似或者相同的参考数字可以使用在附图中并且可以指示类似或者相同的功能性。仅出于图示的目的,附图描绘了所公开的系统(或者方法)的实施例。本领域的技术人员将容易地从以下描述识别出:在不脱离本文所描述的原理的情况下,可以采用本文所图示的结构和方法的备选实施例。
[0017]配置概述
[0018]所公开的系统、方法和计算机可读存储介质的一个实施例包括用于在计算设备上生成和接收红外信号的指令。计算设备接收原始红外(IR)代码。原始IR代码将要被输出的信息编码为IR信号。计算设备还接收载波波形,其确定输出信号频率。计算设备生成经处理的信号。经处理的信号是在时域中对原始IR代码中信息进行编码的比特流。对经处理的信号进行调制和上采样,使得在时域中在不压缩信号的情况下,经处理的信号可以以时钟速度作为IR信号被输出。备选地,经处理的信号可以与时钟信号组合并且在总线上输出。总线的比特率被设定为匹配载波频率。
[0019]计算设备还能够接收IR信号。将IR信号转换为中间信号。中间信号是时域中的比特流。在转换为原始IR代码之前,对中间信号进行修整、下采样和解调。然后,将重复代码段与原始IR代码分离。
[0020]示例计算机器架构
[0021]图1是根据一个示例实施例的能够生成红外信号的计算设备100的框图。计算设备100可以是个人计算机(PC)、平板电脑、个人数字助理(PDA)、智能电话、电子设备(例如,电视、立体声等)或者能够生成和/或接收红外信号的任何其他机器。此外,当仅图示单个计算设备100时,术语“计算设备”还应当采取为包括单独或者联合执行本文所讨论的方法中的任何一个或多个的设备的任何集合。
[0022]示例计算设备100包括一个或多个处理器110(例如,中央处理单元(CPU)、数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)或者这些的任何组合)和系统存储器120(例如,硬盘、光驱、固态驱动器或者这些的任何组合)。系统存储器120包括存储实现本文所描述的方法或者功能的任何一个或多个方法或者功能的指令(例如,软件)或者程序代码的机器可读介质。此外,系统存储器120还可以包括易失性存储器。指令或者程序代码还可以在处理器110的执行期间至少部分驻留在处理器110内(例如,在处理器的高速缓存存储器内)。
[0023]尽管机器可读介质在示例实施例中被示出是单个介质,但是术语“机器可读介质”应当被认为包括能够存储指令的单个介质或者多个介质(例如,集中式或者分布式数据库或者相关联的高速缓存和服务器)。术语“机器可读介质”还应当被认为包括能够存储用于由机器执行和使得机器执行本文所公开的方法的任何一个或多个方法的指令或者程序代码的任何介质。术语“机器可读介质”包括但不限于以固态存储器、光学媒体和磁性媒体的形式的数据储存库。
[0024]可以经由连接到处理器110的网络接口 160在网络上传送指令。网络接口 160将计算设备100操作性地连接到一个或多个网络。例如,网络接口 160可以使用诸如以太网、802.11、全球微波接入互操作性(WiMAX)、3G、4G、长期演进(LTE)、码分多址(CDMA)、数字用户线(DSL)等等的技术将计算设备100连接到有线或者无线网络。所使用的网络协议的示例包括多协议标签交换(M P L S )、传输控制协议/因特网协议(T C P /1P )、超文本传输协议(HTTP)、简单邮件传送协议(SMTP)和文件传送协议(FTP)。在一些实施例中,使用任何适合的(一个或多个)技术对一些或全部数据进行加密。
[0025]计算机系统100还可以包括输入设备130(例如,键盘、触摸屏、小键盘、操纵杆等)和显示器140(例如,等离子显示板(PDP)、液晶显示器(LCD)、投影仪或者阴极射线管(CRT))以相应地对数据接收和向用户输出数据。在一些实施例中,单个部件(诸如触摸屏)可以被配置为输入设备130和显示器140 二者。
[0026]计算设备100包括红外(IR)系统150JR系统150是能够基于从处理器110发送到IR系统150的数据来生成IR信号的部件或者部件的集合。IR信号将信息编码在从IR系统150中所发射的IR闪光序列中。IR系统150包括发射IR或者近IR光谱中的光的IR发射二极管(IRED)或者另一部件。此外,IR系统150可以被配置为接收被发送到计算设备100的IR信号。在一个实施例中,IR系统150上的IRED能够生成和接收IR信号。IR系统150还包括用于控制IRED的输出的驱动电路。驱动电路例如可以是晶体管、集成电路、连接到微处理器的I/O引脚或者控制到IRED的电流的这些的任何组合。
[0027]在一些情况下,通过外部设备180接收由IR系统150所生成的IR信号。外部设备180可以是电子设备,诸如电视、立体声、计算机或者家用电器。家用电器的示例包括加热器、风扇、恒温器、汽车库门或者空调。外部设备180可以是经由IR信号接收命令的任何其他适用设备。例如,外部设备180可以是机顶盒、数字视频录像机(DVR)、视频播放器(包括但不限于蓝光(Blu-ray)播放器、DVD播放器、VCR播放器等)、游戏控制台、数字媒体播放器(包括但不限于APPLE TV,ROKU BOX等等)或者声音系统。外部设备180的这些示例实施例可以连接到电视或者实现为单独的设备。附加地或者备选地,IR系统150可以被配置为接收由一个或多个外部设备180所生成的IR信号或者将IR信号传送到一个或多个外部设备180。例如,计算设备100经由IR信号与电视通信以调节电视的音量,但是可以经由IR信号与机顶盒通信来选择在电视上播放的频道。
[0028]—条或多条总线170将计算设备100的一个或多个部件进行连接。在一个实施例中,将处理器110和系统150连接的总线170可以包括I2S总线或者SPI总线。然而,将计算设备100的部件连接所使用的总线170可以具有任何适用类型或者模型。此外,处理器110和IR系统150可以以主/从模式进行通信,其中,IR系统150经由总线170从属于处理器110。因此,将处理器110和IR系统150连接的总线170可以包括用于以主/从关系链接两个部件的多个逻辑信号,包括芯片选择/使能、主输出/从输入线(M0SI,其将数据从处理器110运载到IR系统150)、主输入/从输出线(MIS0,其将数据从处理器110运载到IR系统150)和时钟(CLK)信号。然而,一些总线170可以起到附加或者备选逻辑信号的作用。
[0029]在一个示例实施例中,通过MOSI信号将经处理的信号从处理器110发送到IR系统150。此外,可以通过MISO信号将任何经接收的信号从IR系统150发送到处理器110。芯片选择/使能信号可以对IR系统150供电,使得IR系统仅在芯片选择/使能信号输出时是活跃的。总线170的其他变型可以具有将两个部件链接的不同的逻辑信号。时钟速度还与总线170相关联。时钟速度调节在总线170上发送信息的速率(“比特率”)。总线170的一些实施例可以特写可调节时钟速度。总线170的比特率可以被设定为预先确定值或者备选地可以被设定为任意值。
[0030]现在参考图2,其是根据一个示例实施例的针对计算设备100的系统架构的框图。系统架构图示了用于生成计算设备上的红外信号所必要的硬件和软件架构层二者。系统架构包括IR处理层210和设备驱动程序层220,其二者实现为存储在计算设备100上的软件。系统架构还包括表示配置在计算设备100上的处理器110和IR系统150的层。在该示例实施例中,处理器110和IR系统150 二者被实现为硬件。系统架构的备选实施例可以包括附加或者备选层。
[0031]IR处理层210包括用于生成用于输出到IR系统150的信号的程序代码(或者指令)以及用于处理由IR系统150所接收的信号的程序代码。IR处理层210中的程序代码可以被实现为应用、库、操作系统的一部分或者任何其他明显的软件程序。
[0032]可以将存储在计算设备100上的信息发送到IR处理层210以用于输出到IR系统150。信息例如可以是要经由红外信号从计算设备100传送的指令或者其他数据。然而,在信息处于IR系统150可以输出的格式之前,信息可能需要解码或者处理(例如,调制、上采样、转码等)。在IR处理层210中生成基于信息的信号。在一个示例环境中,可以通过IR系统150直接输出信号。通过生成和处理IR处理层210中的信号,计算设备100不要求将解码或者处理IR信号的外部硬件(例如,FPGA、AISC等等)。此外,传入IR信号在IR处理层210中还被处理为可以输出到处理器110的格式,使得IR系统150不必进一步处理中间信号。
[0033]—个或多个设备驱动程序促进总线170与设备驱动程序层220中的、计算设备100的一个或多个部件之间的通信。设备驱动程序可以包括用于经由总线170接收信息和将信息中继到与设备驱动程序相关联的部件的软件。例如,与IR系统150相关联的设备驱动程序可以经由总线170从IR处理层210中的软件接收信号并且将信号发送到IR系统150,其将信号输出为IR信号。设备驱动程序还可以将编码在信号中的信息从与设备驱动程序相关联的部件(例如,IR系统150)输出到总线170。在计算设备100上配置的每个部件可以与不同的设备驱动程序220相关联。
[0034]在处理器层230中执行计算设备100上的指令。处理层230包括处理器110,其执行通过数据总线170所接收的指令。在IR系统层240中输出和接收IR信号。IR系统层240包括IR系统150和用于促进IR通信的其他硬件。
[0035]用于生成红外信号的示例过程
[0036]参考图3,其图示了根据一个示例实施例的用于在具有固定时钟速度的计算设备上生成红外信号的过程。通过在计算设备100上执行的软件至少部分使能图3的过程。例如,计算设备100可以包括存储到非暂态计算机可读存储介质的指令,其在由处理器110执行时,使得处理器110执行下文图3的步骤。附加或者备选步骤可以包括在图3的过程的其他实施例中。
[0037]通过计算设备100接收310原始IR代码。原始IR代码将要被输出的信息编码为IR信号。可以从外部位置(诸如从连接到由计算设备100可访问的网络的服务器或者从计算设备100内的位置)接收310原始IR代码。例如,可以从系统存储器120上的数据缓冲器或者从处理器110上的高速缓存检索原始IR代码。原始IR代码可以以符号/空格格式编码信息。符号/空格格式包括一串数字。原始IR代码中的每个数字表示在其期间IR系统150 “打开”(S卩,发射IR信号、逻辑高或者“I”)或者“关闭”(即,不发射IR信号、逻辑低或者“O”)的计数的数目。计数是在其期间可以发射IR信号的最短间隔。在一个实施例中,表示在其期间IR系统150处于ON状态(例如,逻辑高或者逻辑“I”)的计数的数目位于原始IR代码中的奇数索引处。表示在其期间IR系统150处于OFF状态(例如,逻辑低或者逻辑“O”)的计数的数目位于原始IR代码中的偶数索引处。
[0038]除原始IR代码外,计算设备100还接收载波波形。计算设备基于载波波形来确定载波频率。载波频率是载波波形的频率并且确定每个计数的持续时间。例如,38kHz的载波频率将计数的持续时间定义为26.3微秒(ys)。计算设备可以基于对载波波形的分析来确定载波频率。分析可以是任何传统的数字信号处理算法。可以通过计算设备执行分析。取代根据载波波形确定载波频率,可以通过一个或多个红外通信协议指定载波频率,诸如红外数据协会(IrDA)、消费者IR(CIR)、NEC、RC-5或者其他适用的红外通信协议。例如,一个或多个红外通信协议可以指定38kHz的载波频率,而其他通信协议可以指定56kHz的载波频率。然而,载波频率可以是任何值。计算设备100可能能够以不同的载波频率输出IR信号。
[0039]计算设备100生成320经处理的信号。经处理的信号是基于原始IR代码的比特流。经处理的信号中的每个比特与在其期间IR系统150处于ON状态或者OFF状态的原始IR代码的计数相对应。例如,I表示在其期间IR系统处于ON状态的计数,而O表示在其期间IR系统处于OFF状态的计数。
[0040]计算设备100通过确定原始IR代码中的每个数字的值和索引(S卩,字符串中的位置)生成320经处理的信号。计算设备100针对原始IR代码的每个数字生成多个比特。通过数字的值确定比特的数目。例如,原始IR代码中的“5”在经处理的信号中被表示为五个比特。通过数字的索引确定每个比特的值。例如,表示原始IR代码中的奇数索引处的数目的经处理的信号中的每个比特被实现为I。同样地,表示原始IR代码中的偶数索引处的数目的经处理的信号中的每个比特被实现为O。将每个多个比特插入原始IR代码中的对应的数目的索引处的经处理的信号。经处理的频率的比特率基于载波频率。例如,38kHz的载波频率导致38千比特每秒的比特率。
[0041 ]计算设备100对经处理的信号进行调制330。由于IR系统150将IR信号输出为脉冲序列,因而在经处理的信号可以由IR系统150输出之前,经处理的信号需要被调制330为脉冲序列。使用脉冲幅度调制对经处理的信号进行调制330。每个脉冲与对应于其期间IR系统150处于打开状态的计数。
[0042]在一些情况下,计算设备100没有调制330经处理的信号。例如,电视系统可能能够使用未调制输出IR信号的红外通信协议进行通信。在该示例中,IR信号可以包括具有变化长度的红外脉冲序列,而不是具有一致长度的红外脉冲序列。计算设备100能够在不调制330信号的情况下形成输出信号。在另一示例实施例中,已经调制所接收310的红外代码。由于调制红外代码,因而计算设备100可以在不必调制330信号的情况下输出经调制的信号。
[0043]计算设备100通过在经处理的信号中的每个比特之后附加O来调制330经处理的信号。实际上,经处理的信号中的每个I由“10”替换,并且经处理的信号中的每个O由“00”替换。因此,通过经调制的经处理的信号中的“10”表示每个脉冲。计算设备100使经处理的信号的比特率加倍,使得比特以及因此整个脉冲二者在一个计数期间输出。这允许脉冲以载波频率输出。由于每个脉冲包括单个I (在其期间IR系统150打开)和单个O (在其期间IR系统150关闭),因而脉冲的占空比是50%。由于不同的红外通信协议可以指定不同的占空比,因而可以通过将附加的比特附加到经处理的信号中的每个比特来改变占空比。
[0044]计算设备100对经处理的信号进行上采样340。在一些实施例中,经处理的信号的比特率低于经处理的信号被输出所在的总线170的比特率。由于经处理的信号被编码在时域中,因而以较快的比特率输出经处理的信号可以将经处理的信号在时域中进行压缩。上采样340允许计算设备100在不在时域中进行压缩的信号情况下以总线170的操作频率(还被称为总线比特率)传送经处理的信号。总线比特率是在总线170上传送数据的速率。
[0045]为了对经处理的信号进行上采样340,计算设备100确定总线比特率。基于经处理的信号的比特率与总线比特率之间的差异,计算设备100确定附加到经调制的信号中的每个比特的重复比特的数目。选择重复比特的数目,使得以总线比特率输出的重复比特将在相同的时间间隔期间输出为以经处理的信号的比特率的经处理的信号的单个比特。重复比特的数目比总线比特率与经处理的信号的比特率的商小一。例如,如果在调制330之后经处理的信号比特率是76kHz并且总线时钟速度是1.5MHz,则计算设备100确定十九个比特附加到经处理的信号中的每个比特。
[0046]多个重复比特的值基于重复比特的值。例如,将一个或多个I附加到每个I,并且将一个或多个O附加到每个O。计算设备100将重复比特的数目附加到经调制的信号中的第一比特,其中,第一比特的值与重复比特中的每个比特的值相同。对经处理的信号中的每个比特重复该过程。
[0047]计算设备100将经处理的信号输出350到IR系统150。将经处理的信号在总线170上发送到IR系统150。以总线比特率输出经处理的信号中的每个比特。通过MOSI逻辑信号发送经处理的信号。由于经处理的信号将针对IR系统150的预期输出在时域中进行编码,IR系统150逐位将经处理的信号输出到IR系统150上的IRED,使得IR系统150不对经处理的信号执行任何进一步的信号处理。
[0048]然后,首先参考图5,其图示了根据一个示例实施例的图3的方法的示例信号的集合。在图5中数字地(作为比特流)和图形地(作为波形)图示每个信号。在图3的方法中,一些信号可以仅被实现为比特流或者波形而非两者。图3中的信号不对由计算设备100所生成的实际数据进行编码并且应当仅出于解释性目的考虑。
[0049]通过计算设备100初始地接收310原始IR代码510。原始IR代码510指示在其期间IR系统150处于ON状态或者OFF状态的一系列计数。例如,图5中所示的示例性原始IR代码指示IR系统150应当处于针对5个计数的ON状态、针对3个计数的OFF状态以及针对5个计数的ON状态。
[0050]经处理的信号520是基于原始IR代码的二进制比特流。示例性经处理的信号520包括五个1、三个O和五个I,其与原始IR代码510的元素相对应。备选地,经处理的信号可以被表示为时域中的数字波形。在图3的方法中生成320经处理的信号。
[0051]经调制的经处理的信号530是具有在经处理的信号的比特流中的每个比特之后附加的O的经处理的信号520的二进制比特流。经处理的信号中的每个I有效地利用“10”替换,而经处理的信号中的每个O利用“00”替换。经调制的经处理的信号530可以附加地或者备选地被表示为一系列脉冲。波形中的每个脉冲与在其期间IR系统150发射IR信号的计数相对应。经调制的经处理的信号530是图3的方法中的步骤330的结果。
[0052]经上采样的经处理的信号540是基于经调制的经处理的信号530的经上采样的比特流。经上采样的经处理的信号是图3的方法中的步骤340的结果。经调制的经处理的信号530中的每个比特重复若干次,其中,重复比特的数目取决于总线比特率与经调制的经处理的信号530的比特率之间的差。在该示例中,十九个重复比特被附加到经调制的经处理的信号530中的每个比特。经上采样的经处理的信号540的比特流以总线比特率输出并且输出到IR系统150。
[0053]现在参考图4,其是图示了根据一个示例实施例的用于在具有可调节时钟速度的计算设备上生成红外信号的过程的流程图。虽然图4的方法和图3的方法是相同方法的变型,但是可以在结合图4的方法使用的计算设备100上调节总线170的时钟速度。因此,图4的方法不要求经处理的信号被上采样340。由在计算设备100上执行的IR处理层210中的软件至少部分使能图4的过程。例如,计算设备100可以包括存储到非暂态计算机可读存储介质的指令,其在由处理器110执行时使得处理器110执行下文图4的步骤。附加或者备选步骤可以被包括在图4的过程的其他实施例中。
[0054]计算设备100设定415总线时钟速度以匹配由计算设备100所确定的载波频率。通过以载波频率设置总线时钟速度,总线比特率匹配经处理的信号比特率。因此,在不必对经处理的信号进行上采样340的情况下,经处理的信号可以以经处理的信号频率输出在总线170上。此外,设定415总线时钟速度改变计算设备100上的时钟信号的频率。时钟信号是数字脉冲串,其中,每时钟周期发射一个脉冲。在该示例实施例中,每个脉冲具有50%占空比。
[0055]计算设备100将经处理的信号与时钟信号组合430。通过执行时钟信号和经处理的信号的逻辑AND来将经处理的信号与时钟信号组合430。该步骤有效地调制330信号。经组合的经处理的信号是一系列脉冲,其与在其期间IR系统150正在发射IR信号的时间间隔相对应。
[0056]计算设备100将经处理的信号输出350到IR系统150。以总线比特率将经处理的信号输出350到总线170。在一个实施例中,将经处理的信号输出350到总线170上的MOSI逻辑信号。由于总线比特率已经被设定415以匹配经处理的信号比特率,因而经处理的信号在输出到总线170之前不必被上采样340 JR系统150接收经处理的信号并且输出经处理的信号作为IR信号。
[0057]现在参考图6,其图示了根据一个示例实施例的图4的方法的示例信号的集合。在图6中数字地(作为比特流)和图形地(作为波形)图示每个信号。在图4的方法中,一些信号可以仅被实现为比特流或者波形而非两者。图4中的信号不对由计算设备100所生成的实际数据进行编码并且应当仅出于解释性目的考虑。
[0058]经组合的经处理的信号630是来源于经处理的信号和时钟信号的组合430的比特流。经组合的经处理的信号630可以类似经调制的经处理的信号530,这是因为将经处理的信号与时钟信号组合430有效地调制330经处理的信号。
[0059]图7A图示了根据一个示例实施例的使用传统的通用输入输出(GP1)将红外信号从处理器发送到红外系统。GP1充当支持IR功能性的传统的计算设备100中的总线170。将信号从处理器110发送到IR系统150作为利用延迟间隔的一系列比特。然而,处理器110可能不能够准确地生成微秒级延迟,这使得不正确的IR信号被输出。
[0060]图7B图示了根据一个示例实施例的使用串行外围设备接口(SPI)将红外信号从处理器110发送到红外系统150。在一个示例实施例中,SPI是总线170 API总线170允许处理器110在不必生成延迟的情况下立刻将整个信号发送到IR系统150。通过立刻发送整个信号,在IR系统150输出信号时,处理器110自由执行其他指令。
[0061 ]用于接收红外信号的示例方法
[0062]现在参考图8,其是图示了根据一个实施例的用于在具有固定时钟速度的计算设备上接收红外信号的过程的流程图。在一个实施例中,由在计算设备100上执行的IR处理层210中的软件至少部分使能图8的过程。附加或者备选步骤可以包括在图8的过程的其他实施例中。
[0063]计算设备100接收810IR信号。通常地,将IR信号从诸如远程遥控器的外部设备180发送到IR系统150。这允许计算设备100从远程遥控器接收IR代码。计算设备100可以记录和使用IR代码,这允许计算设备100充当发射IR代码的遥控器。在另一实施例中,计算设备100执行通过红外信号接收的指令。然而,可以从任何明显的源接收810IR信号。为了接收810IR信号,计算设备100将完全包括逻辑O的空比特流发送到IR系统150。在总线170上的MOSI逻辑信号上发送空比特流。空比特流可以足够长以跨越时域中的数秒(比IR信号自身的持续时间长得多),这是因为在当IR系统150接收空比特流时与当实际接收810IR信号时之间可能存在延迟。将空比特流写到SPI总线。当将空比特流写到SPI总线时,SPI总线生成时钟信号。以数据总线的操作频率生成时钟信号。
[0064]计算设备100生成815中间信号。所生成的中间信号是对所接收的IR信号进行编码的比特流。在总线170上的MISO逻辑信号上由处理器110接收中间信号。以数据总线的操作频率(即与时钟信号相同频率)由处理器110接收中间信号。
[0065]计算设备100从中间信号移除820前导比特和拖尾比特。前导比特和拖尾比特是当IR系统将经转码的IR信号写到空比特流时不由IR系统15 O重写的比特。因此,前导比特和拖尾比特不对IR信号进行编码并且从中间信号中被移除。
[0066]计算设备100通过确定中间信号中的第一比特的值来将前导比特从中间信号移除820。如果比特是逻辑0,那么将比特从中间信号移除。针对中间信号中的后续比特重复该过程,直到计算设备100检测到中间信号中的逻辑I。中间信号中的第一逻辑I被认为是中间信号的开始。然而,逻辑比特的任何预先确定的顺序可以指明中间信号的开始。以相同的方式将拖尾比特从中间信号移除820。计算设备100确定中间信号中的最后的比特的值。如果比特是逻辑0,那么将比特从中间信号移除。计算设备100移除信号中的最后的比特,直到中间信号中的最后的比特的值是逻辑I。在该示例实施例中,逻辑I指定中间信号的末尾。然而,逻辑比特的任何预先确定的顺序可以指定中间信号的末尾。
[0067]计算设备100对中间信号进行下采样830。由于以高于IR信号的频率的速率对IR信号进行采样,因而中间信号需要被下采样,因此中间信号的频率匹配IR信号的频率。
[0068]为了对中间信号进行下采样830,计算设备100确定用于中间信号的下采样因子。下采样因子指示当对中间信号下采样时所移除的重复比特的数目。下采样因子基于时钟速度和与所接收的载波波形相关联的载波频率。例如,下采样因子可以比时钟速度和双倍的载波频率的商小一。例如,如果时钟速度是1.5MHz并且载波频率是38kHz,那么下采样因子是十九。在另一实施例中,计算设备100使用统计处理或者机器学习算法来确定下采样因子。中间信号是基于下采样因子而被下采样。该过程基本上是上采样步骤340的相反步骤。
[0069]计算设备100对中间信号进行解调840。所接收的代码中的“10”的每个实例利用逻辑I替换。在一个实施例中,“10”是两个连续的比特-逻辑1(或者高)跟随有逻辑0(或者低)。中间信号中的“00”的每个实例利用逻辑O替换。在一个示例中,“00”是两个连续的逻辑O (或者低)比特,并且由单个逻辑0(或者低)替换。在另一实施例中,计算设备100将交替比特从信号移除。例如,计算设备100可以移除中间信号中的奇数索引处的所有比特。解调步骤840基本上是调制步骤330的相反步骤。在计算设备100接收810未调制的信号的情况中,计算设备810跳过解调840步骤。
[0070]计算设备100生成原始IR代码850。原始IR代码基于经解调840的中间信号。计算设备100通过生成针对中间信号中的每个多个类似比特的原始IR代码中的数目来生成原始IR代码。通过中间信号中的对应的多个类似比特来确定数的值和位置。通过多个比特中的比特的数目确定每个比特的值。例如,将中间信号中的每串逻辑I转换为奇数索引中的数,并且将中间信号中的每串逻辑O转换为偶数索引中的数。这是生成320经处理的信号的相反步骤。
[0071]计算设备100将原始IR代码中的重复代码分离860<JR信号可以包含原始IR代码的重复的实例,因此原始IR代码的重复可能需要被分离860。在一些实施例中,将重复代码分离860并且将其存储在数据库中。这可以使用重复检测公式、统计公式、散列表、算法或者本领域普通技术人员熟悉的任何其他方法实现。
[0072]参考图9,其图示了根据一个示例实施例的用于接收红外信号的计算设备上的示例信号的集合。在图9中数字地(作为比特流)和图形地(作为波形)图示每个信号。在图8的方法中,一些信号可以仅被实现为比特流或者波形而非两者。图8中的信号不对由计算设备100所生成的实际数据进行编码并且应当仅出于解释性目的考虑。
[0073]当IR系统150接收810IR信号时,生成中间信号910。在该示例中,中间信号对原始IR代码“5,3,5”进行编码。IR信号针对五个计数而被接收、针对三个计数而不被接收并且针对五个附加计数而被接收。然而,中间信号910还包括由五个逻辑O表示的数个前导比特。比特的数目对应于从当计算设备100开始将空比特率发送到IR系统150时和当IR系统150开始接收810IR信号时的时间。
[0074]经修整的中间信号920与没有前导比特和拖尾比特的中间信号910相同。经修整的中间信号920来源于图8的方法中的步骤820。
[0075]经下采样的中间信号930是基于经修整的中间信号920的下采样的比特流。基于下采样因子,从经修整的中间信号920移除比特。在该示例中,下采样因子是十九,因此从每串不间断的逻辑I或者逻辑O移除十九个比特。经下采样的中间信号930是图8的方法中的步骤830的结果。
[0076]经解调的中间信号940是基于经下采样的中间信号930的经解调的比特流。解调步骤840利用逻辑I有效地替换“10”(逻辑I跟随有逻辑O)的每个实例,并且利用逻辑O替换“00”(连续的逻辑O)的每个实例。
[0077]将经解调的中间信号940转换为原始IR代码950。将每串不间断的逻辑I转换为原始IR代码950的奇数索引中的数目。例如,将示例经解调的中间信号940中的前导串逻辑I转换为“5”,其中,元素在原始IR代码950的第一索引处。将每串不间断的逻辑O转换为原始IR代码中的偶数索引处的数。因此,将三个O的串转换为原始IR代码950的第二索引处的“3”。
[0078]用于生成和接收红外信号的示例系统
[0079]图10图示了根据一个示例实施例的能够生成和接收红外信号的系统。系统是能够执行本申请中的过程和方法的IR信号处理系统100t3IR信号处理系统1000包括一个或多个模块。每个模块可以被实现为硬件部件、软件代码或者两者的组合。系统1000可以被实现为IR处理层210中的软件代码、在计算设备1000上配置的硬件或者由计算设备100可访问的服务器。系统可以包括针对各种应用的附加的、较少的或者不同的模块。
[0080]第一模块(信号生成模块1002)生成红外信号。信号生成模块1002包括IR代码数据库1010、经处理的信号生成器1020、载波频率模块1030和上采样模块1060。信号生成模块1002可选地包括比特率调节模块1040和信号调制器1050<JR代码数据库1010是以标号-空号格式存储至少一个红外代码的数据库或者存储器。
[0081]经处理的信号生成器1020将IR代码(被实施为以标号-空号格式的代码)转换为经处理的信号。经处理的信号是基于来自IR代码数据库1010的IR代码的比特流。
[0082]载波频率模块1030是接收载波波形的模块。载波波形可以是以特定载波频率的脉冲串。载波频率模块1030基于对载波波形的分析,确定载波波形的载波频率。分析可以基于任何传统的数字信号处理算法。在一些情况下,载波频率模块1030接收载波频率的值而不是波形自身。
[0083]在一个示例实施例中,信号生成模块1002包括比特率调节模块1040。比特率调节模块1040将总线比特率调节到由载波频率模块1030所确定的载波频率。通过调节总线比特率,比特率调节模块1040调节输出信号的速率。如果可以设定或者调节总线比特率,那么信号生成模块1002可以包括比特率调节模块1040。比特率调节模块1040还可以将经处理的信号与以载波频率的脉冲串组合来形成输出信号。
[0084]在第二示例实施例中,信号生成模块1002包括信号调制器1050。信号调制器1050通过在经处理的信号中的每个比特之后附加比特来调制经处理的信号。此外,信号调制器1050将经处理的信号的比特率加倍。如果不能设定或者调节配置在计算设备上的总线的比特率,那么信号生成模块1002可以包括信号调制器1050。在其他实施例中,如果在输出经处理的信号之前未调制330经处理的信号,那么信号生成模块1002可以不包括信号调制器1050。
[0085]在一些示例实施例中,信号生成模块1002可以包括比特率调节模块1040和信号调制器1050 二者。在其他示例实施例中,信号生成模块1002仅包括两个模块之一。
[0086]上采样模块1060对经处理的信号进行上采样。上采样模块1060确定附加到经处理的信号中的每个比特的重复比特的数目。比特的数目基于载波频率与操作频率之间的差或者将处理器110和红外系统150连接的总线的比特率。上采样模块1060还确定重复比特的值。重复比特匹配重复比特被附加到的比特的值。上采样模块1060将适当的重复比特附加到经处理的信号中的每个比特。
[0087]信号接收模块1004处理由计算设备所接收的红外信号。信号接收模块1004包括中间信号生成器1070、信号修整模块1080、下采样模块1090、重复代码模块1110和IR代码生成器1120。信号接收模块1004还可选地包括信号解调器IlOOt3IR信号处理系统1000可以包括信号生成模块1002和信号接收模块1004二者或者仅两个模块之一。
[0088]中间信号生成器1070基于所接收的IR信号来生成中间信号。中间信号是红外信号编码在其上的比特流。中间信号生成器1070生成以红外系统150的采样频率的中间信号。
[0089]信号修整模块1080修整中间信号以移除前导比特和拖尾比特。信号修整模块1080确定中间信号中的哪些比特是前导比特和拖尾比特并且随后移除前导比特和拖尾比特。
[0090]下采样模块1090对中间信号进行下采样。下采样模块确定用于中间信号的下采样因子。根据一个实施例,下采样因子基于由中间信号生成器1070所接收的采样频率和与由载波频率模块1030所接收的载波波形相关联的载波频率。
[0091]信号接收模块1004可选地包括信号解调器1100。在一些实施例中,未解调中间信号,因此信号接收模块1004不包括信号解调器1100。信号解调器1100利用逻辑I替换中间信号中的“10”的每个实例。在一个实施例中,“10”是两个连续的比特-逻辑0(或者高),跟随有逻辑0(或者低)。“00”的每个实例利用O替换。在一个示例中,“00”是两个连续的逻辑低比特并且由单个逻辑低替换。
[0092]IR代码生成器1120将中间信号比特流转换为红外代码。可以以标号-空号格式对红外代码进行编码。重复代码模块1110将重复代码段与红外代码分离。重复代码模块1110使用机器学习处理器或者类似算法确定重复代码段。在一些示例实施例中,重复代码模块1110还可以存储重复代码。
[0093]附加的配置考虑
[0094]所公开的示例实施例有益地使得在移动设备上发送和接收信号。具有红外信号处理硬件的传统的计算设备100可能能够发送和接收红外信号。然而,附加硬件增加制造移动设备的成本并且增加移动设备内的功耗。通过使用软件处理所发送和所接收的红外信号,移动设备100可以在没有附加硬件的情况下处理红外信号。此外,在将经处理的信号发送到IR系统150之前上采样经处理的信号或者调节时钟速度允许IR系统150在不压缩时域中的信号的情况下以总线比特率传送经处理的信号。因此,IR系统150不需要在输出IR信号之前进一步修改或者变换经处理的信号。
[0095]贯穿本说明书,多个实例可以实现如单个实例所描述的部件、操作或者结构。尽管一个或多个方法的单独的操作图示并且描述为单独的操作,但是可以同时执行单独的操作中的一个或多个操作,并且不要求以所图示的顺序执行操作。呈现为示例配置中的分离的部件的结构和功能性可以被实现为组合的结构或者部件。类似地,如单个部件所呈现的结构和功能性可以被实现为分离的部件。这些和其他变型、修改、添加和改进都落在本文中的主题的范围内。
[0096]某些实施例在本文中被描述为包括若干部件、模块或者机构,例如,如图1和2所图示的。模块可以构成软件模块(例如,编码在机器可读介质上或者传输信号中的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元并且可以以某种方式配置或者布置。在示例实施例中,一个或多个计算机系统(例如,单独的客户端或者服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如,处理器或者一组处理器)可以由软件(例如,应用或者应用部分)配置为操作以执行如本文所描述的某些操作的硬件模块。
[0097]在各种实施例中,可以机械地或者电子地实现硬件模块。例如,硬件模块可以包括永久地被配置为(例如,专用处理器,诸如现场可编程门阵列(FPGA)或者专用集成电路(ASIC))执行某些操作的专用电路或者逻辑。硬件模块还可以包括暂时由软件配置为执行某些操作的可编程逻辑或者电路(例如,如包含在通用处理器或者其他可编程处理器内)。将理解到,可以根据成本和时间考虑而驱动在专用和永久配置电路中或者在暂时配置电路中(例如,由软件所配置的)机械地实现的硬件模块的决策。
[0098]可以通过一个或多个处理器(例如处理器110)至少部分执行本文所描述的示例方法的各种操作,该处理器(例如,通过软件)暂时配置或者永久配置为执行相关操作。无论暂时或者永久地,这样的处理器可以构成用于操作以执行功能的一个或多个操作的处理器实现的模块。在一些示例实施例中,本文所提到的模块可以包括处理器实现的模块。
[0099]一个或多个处理器110还可以操作以支持“云计算”环境中的相关操作的性能或者作为“软件即服务(SaaS)”。例如,可以通过一组计算机(作为包括处理器的机器的示例)执行操作中的至少一些操作,这些操作是经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(API))可访问的。
[0100]某些操作的性能可以分布在不仅驻留在单个机器内而且跨若干机器部署的一个或多个处理器110中间。在一些示例实施例中,一个或多个处理器110或者处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或者服务器群内)。在其他示例实施例中,可以跨越若干地理位置分布一个或多个处理器110或者处理器实现的模块。
[0101]在存储为机器存储器(例如,计算机存储器120)内的比特或者二进制数字信号的数据的操作的算法或者符号表示方面呈现本说明书的一些部分。这些算法或者符号表示是由数据处理领域的普通技术人员用于将其工作的实质传达给本领域的技术人员的技术的示例。如本文所使用的,“算法”是导致期望的结果的操作或者类似过程的自相一致的序列。在该上下文中,算法和操作涉及物理量的物理操纵。通常但不一定,这样的量可以以能够由机器存储、访问、传送、组合、比较或者操纵的电气、磁性或者光学信号的形式。主要出于习惯用语的原因,有时便于指代使用诸如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字母,,、“术语”、“数目”、“数字”等的词语的这样的信号。然而,这些词语仅是方便的标签并且将与适当的物理量相关联。
[0102]除非另外特别声明,否则使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等的词语的本文中的讨论可以是指操纵或者变换表示为一个或多个存储器120(例如,易失性存储器、非易失性存储器或者其组合)、寄存器或者接收、存储、传送或者显示信息的其他机器部件内的物理(例如,电子、磁性或者光学)量的数据的机器(例如,计算机)的动作或者过程。
[0103]如本文所使用的,对“一个实施例”或者“实施例”的任何引用意指结合实施例所描述的特定元素、特征、结构或者特点包括在至少一个实施例中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部是指相同的实施例。
[0104]可以使用表达“耦合”和“连接”连同其衍生词描述一些实施例。例如,可以使用指示两个或两个以上元件直接物理或者电气接触的术语“耦合”描述一些实施例。然而,术语“耦合”还可以意指两个或两个以上元件彼此不直接接触,但是仍然彼此协作或者交互。在该上下文中,实施例不是有限的。
[0105]如本文所使用的,术语“包括”、“包含”、“含有”、“具有”、“有”或者其任何其他变型旨在涵盖非排他性包括。例如,包括一系列元素的过程、方法、制品或者装置不一定限于仅那些元素,而是可以包括未明确列出或者这样的过程、方法、制品或者装置固有的其他元素。而且,除非明确声明相反,否则“或者”是指包括性或者而不是排他性或者。例如,条件A或者B由以下中的任一项满足:A是真(或者存在)并且B是假(或者不存在),A是假(或者不存在)并且B是真(或者存在),并且A和B二者是真(或者存在)。
[0106]另外,“一”或者“一个”的使用被用于描述本文中的实施例的元件和部件。这仅出于方便和给定本发明的一般意义而完成。本描述应当阅读为包括一个或至少一个,并且除非其另外意指是明显的,否则单数还包括复数。
[0107]在阅读本公开内容时,本领域的技术人员还将理解通过本文中的所公开的原理的用于在移动设备上生成和接收红外信号的系统和过程的附加的备选结构和功能设计。因此,虽然已经图示和描述特定实施例和应用,但是应当理解,所公开的实施例不限于本文所公开的精确的构建和部件。在不脱离所附的权利要求书中定义的精神和范围的情况下,可以在本文所公开的方法和装置的布置、操作和细节中做出将对本领域的技术人员显而易见的各种修改、改变和变型。
【主权项】
1.一种在计算设备上生成红外信号的方法,包括: 接收将处理器连接到在被配置在所述计算设备上的红外系统的数据总线的操作频率,所述操作频率基于所述数据总线的时钟信号; 生成包括多个比特的经处理的信号; 通过经由所述数据总线将所述经处理的信号从所述处理器传送到所述红外系统来生成时域中的红外信号,其中所述红外系统忽略所述数据总线的所述时钟信号。2.根据权利要求1所述的方法,其中所述数据总线是串行外围设备接口(SPI)总线。3.根据权利要求1所述的方法,其中所述数据总线是集成IC声音(I2S)总线。4.根据权利要求1所述的方法,还包括接收原始红外代码,其中所述经处理的信号从所述原始红外代码被生成。5.根据权利要求4所述的方法,其中所述原始红外代码是符号/空格格式。6.根据权利要求4所述的方法,其中所述原始红外代码与载波频率相关联。7.根据权利要求6所述的方法,其中所述操作频率等于所述载波频率。8.根据权利要求6所述的方法,其中所述载波频率基于对由所述红外系统接收的载波波形的分析而被确定。9.根据权利要求1所述的方法,还包括对所述经处理的信号进行调制。10.根据权利要求9所述的方法,其中所述经处理的信号通过在所述经处理的信号中的每个比特之后附加逻辑O比特而被调制。11.根据权利要求1所述的方法,还包括对所述经处理的信号进行上采样。12.根据权利要求11所述的方法,其中所述经处理的信号被上采样,使得以所述操作频率输出的经上采样的所述经处理的信号在所述时域中匹配以载波频率输出的非上采样的所述经处理的信号。13.根据权利要求12所述的方法,其中对所述经处理的信号进行上采样包括: 基于所述载波频率和所述操作频率,确定要附加到所述经处理的信号中的每个比特的重复比特的数目;以及 将重复比特的所述数目逐位附加到所述经处理的信号中的每个比特。14.一种用于在红外设备上生成红外信号的系统,包括: 处理器; 红外通信模块,所述红外通信模块输出所述红外信号;以及 数据总线,所述数据总线将所述红外通信模块连接到所述处理器,所述数据总线具有基于时钟信号的操作频率,所述红外通信模块忽略所述时钟信号, 其中所述处理器被配置为生成包括多个比特的经处理的信号,所述经处理的信号通过所述数据总线被传送到所述红外通信模块。15.根据权利要求14所述的系统,其中所述数据总线是串行外围设备接口(SPI)总线。16.根据权利要求14所述的系统,其中所述数据总线是集成IC声音(I2S)总线。17.根据权利要求14所述的系统,其中所述处理器还被配置为接收原始红外代码,其中所述经处理的信号从所述原始红外代码被生成。18.根据权利要求17所述的系统,其中所述原始红外代码是符号/空格格式。19.根据权利要求17所述的系统,其中所述原始红外代码与载波频率相关联。20.根据权利要求19所述的系统,其中所述操作频率等于所述载波频率。21.根据权利要求17所述的系统,其中所述载波频率基于对由所述红外系统接收的载波波形的分析而被确定。22.根据权利要求14所述的系统,其中所述处理器还被配置为对所述经处理的信号进行调制。23.根据权利要求22所述的系统,其中所述经处理的信号通过在所述经处理的信号中的每个比特之后附加逻辑O比特而被调制。24.根据权利要求14所述的系统,其中所述处理器还被配置为对所述经处理的信号进行上采样。25.根据权利要求24所述的系统,其中所述经处理的信号被上采样,使得以所述操作频率输出的经上采样的所述经处理的信号在时域中匹配以载波频率输出的非上采样的所述经处理的信号。26.根据权利要求25所述的系统,其中对所述经处理的信号进行上采样包括: 基于所述载波频率和所述操作频率,确定要附加到所述经处理的信号中的每个比特的重复比特的数目;以及 将重复比特的所述数目逐位附加到所述经处理的信号中的每个比特。27.—种接收红外信号以在计算设备上生成红外代码的的方法,包括: 由处理器生成数据总线上的时钟信号,所述数据信号将红外系统连接到被配置在所述计算设备上的所述处理器,所述红外系统忽略所述时钟信号;以及在所述红外系统处接收用于在所述数据总线上传输的红外信号; 通过以由所述时钟信号确定的操作频率对所述红外信号进行采样,来通过所述数据总线在所述处理器上生成中间信号,所述中间信号包括多个比特。28.根据权利要求27所述的方法,其中所述数据总线是串行外围设备接口(SPI)总线。29.根据权利要求27所述的方法,其中所述数据总线是集成IC声音(I2S)总线。30.根据权利要求27所述的方法,还包括至少部分地基于所述中间信号来生成红外代码。31.根据权利要求30所述的方法,还包括移除所述红外代码的重复代码段,其中重复代码段包括被编码在所述红外信号中的信息的重复实例。32.根据权利要求30所述的方法,其中所生成的红外代码还基于载波频率。33.根据权利要求32所述的方法,还包括基于对所述红外信号的波形的分析来确定所述载波频率。34.根据权利要求32所述的方法,其中所述操作频率被设定为等于所述载波频率。35.根据权利要求27所述的方法,还包括对所述中间信号进行下采样。36.根据权利要求35所述的方法,其中所述中间信号通过下采样因子来下采样,所述下采样因子基于所述操作频率和载波频率。37.根据权利要求27所述的方法,还包括对所述中间信号进行解调。38.根据权利要求37所述的方法,其中对所述中间信号进行解调包括移除所述中间信号中的交替比特,其中每个交替比特是逻辑O比特。39.根据权利要求38所述的方法,其中所述交替比特使用统计处理而被标识。40.—种用于在计算设备上接收红外信号的系统,包括: 处理器; 红外通信模块,所述红外通信模块接收红外信号;以及 数据总线,所述数据总线将所述红外通信模块连接到所述处理器,所述数据总线具有基于来自所述处理器的时钟信号的操作频率,所述红外通信模块忽略所述时钟信号,所述处理器被配置为通过以所述数据总线的所述操作频率对由所述红外通信模块接收的所述红外信号进行采样来生成中间信号。41.根据权利要求40所述的系统,其中所述数据总线是串行外围设备接口(SPI)总线。42.根据权利要求40所述的系统,其中所述数据总线是集成IC声音(I2S)总线。43.根据权利要求40所述的系统,其中所述处理器还被配置为至少部分地基于所述中间信号来生成红外代码。44.根据权利要求40所述的系统,其中所述处理器还被配置为移除所述红外代码的重复代码段,其中重复代码段包括被编码在所述红外信号中的信息的重复实例。45.根据权利要求40所述的系统,其中所生成的红外代码还基于载波频率。46.根据权利要求45所述的系统,其中所述处理器还被配置为基于对所述红外信号的波形的分析来确定所述载波频率。47.根据权利要求45所述的系统,其中所述操作频率被设定为等于所述载波频率。48.根据权利要求40所述的系统,其中所述处理器还被配置为对所述中间信号进行下米样。49.根据权利要求48所述的系统,其中所述中间信号通过下采样因子来下采样,所述下采样因子基于所述操作频率和载波频率。50.根据权利要求40所述的系统,其中所述处理器还被配置为对所述中间信号进行解调。51.根据权利要求50所述的系统,其中对所述中间信号进行解调包括移除所述中间信号中的交替比特,其中每个交替比特是逻辑O比特。52.根据权利要求51所述的系统,其中所述交替比特使用统计处理而被标识。53.—种在计算设备上生成红外信号的方法,包括: 接收将处理器连接到在被配置在所述计算设备上的红外系统的数据总线的操作频率,所述操作频率基于对所述数据总线的时钟信号的输入; 接收以符号/空格格式的原始红外代码和所述原始红外代码应当被输出的载波频率; 生成包括多个比特的经处理的信号,所述经处理的信号基于以符号/空格格式的所述原始红外代码; 根据所述载波频率来对所述经处理的信号进行调制以创建经调制的信号; 对所述经调制的信号进行上采样以创建经上采样的信号,以所述操作频率输出的所述经上采样的信号在时域中匹配以所述载波频率输出的所述经调制的信号;以及 通过在处理器与所述数据总线之间传送所述经上采样的信号,并且当将所述经上采样的信号从所述数据总线输出到所述红外系统时通过断开所述数据总线的所述时钟信号,来生成所述时域中的红外信号。54.根据权利要求53所述的方法,其中对所述经处理的信号进行调制还包括: 在所述经处理的信号中的每个比特之后附加逻辑O比特。55.根据权利要求53所述的方法,其中对所述经调制的信号进行上采样还包括: 基于所述载波频率和所述操作频率,确定要附加到所述经调制的信号中的每个比特的重复比特的数目;以及 将重复比特的所述数目逐位附加到所述经调制的信号中的每个比特。56.根据权利要求53所述的方法,其中所述数据总线是串行外围设备接口(SPI)总线。57.根据权利要求53所述的方法,其中所述数据总线是I2S总线。58.—种用于在红外设备上生成红外信号的系统,包括: 处理器; 红外通信模块,所述红外通信模块输出所述红外信号;以及 数据总线,所述数据总线将所述红外通信模块连接到所述处理器,所述数据总线具有基于从所述处理器接收的、但是与所述红外通信模块断开的时钟信号的操作频率, 其中所述处理器生成包括多个比特的经处理的信号, 其中所述处理器还通过在所述经处理的信号中的每个比特之后附加逻辑O比特来生成经调制的信号, 其中所述处理器还通过将所述经调制的信号上采样到所述数据总线的所述操作频率来生成经上采样的信号,所述经上采样的信号通过所述数据总线被传送到所述红外通信模块。59.根据权利要求58所述的系统,其中所述数据总线是串行外围设备接口(SPI)总线。60.—种接收红外信号以在计算设备上生成红外代码的方法,包括: 生成来自处理器的、数据总线上的时钟信号,所述数据总线将红外系统连接到被配置在所述计算设备上的所述处理器,所述时钟信号与所述红外系统断开; 在所述红外系统处接收在数据总线上被传送的红外信号; 通过以由所述时钟信号确定的操作频率对所述红外信号进行采样,来通过所述数据总线在所述处理器上生成中间信号,所述中间信号包括多个比特; 接收所述红外信号的波形; 基于对所述波形的分析,确定所述红外信号的载波频率;以及 基于所述中间信号和所述载波频率,生成所述红外代码。61.根据权利要求60所述的方法,还包括: 通过下采样因子在时域中对所述中间信号进行下采样,所述下采样因子基于操作频率和所述载波频率,所述操作频率基于所述时钟信号,其中所述载波频率低于所述操作频率;以及 在所述时域中对所述中间信号进行解调。62.根据权利要求61所述的方法,其中所述下采样因子基于所述载波频率与所述数据总线的所述操作频率之间的差。63.根据权利要求61所述的方法,其中对所述中间信号进行解调包括移除所述中间信号中的交替逻辑比特,其中所述交替比特中的每个交替比特是逻辑O。64.根据权利要求60所述的方法,其中所述数据总线是SPI总线。65.根据权利要求60所述的方法,其中所述数据总线是I2S总线。66.—种用于在计算设备上接收红外信号的系统,包括: 处理器; 红外通信模块,所述红外通信模块接收红外信号;以及 数据总线,所述数据总线将所述红外通信模块连接到所述处理器,所述数据总线具有基于来自所述处理器的时钟信号的操作频率,所述时钟信号与所述红外通信模块断开,所述处理器被配置为: 通过以所述数据总线的所述操作频率对由所述红外通信模块接收的所述红外信号进行采样,来生成中间信号; 接收所述红外信号的波形; 基于对所述波形的分析,确定所述红外信号的载波频率;以及 基于所述中间信号,生成以符号/空格格式的红外代码。67.根据权利要求66所述的系统,其中所述处理器还被配置为对所述中间信号进行解调。68.根据权利要求66所述的系统,其中所述处理器还被配置为从所述中间信号移除一个或多个前导逻辑比特和拖尾逻辑比特。69.根据权利要求66所述的系统,其中所述处理器还被配置为在时域中对所述中间信号进行下采样。70.根据权利要求69所述的系统,其中下采样还包括确定用于对所述中间信号进行下采样的下采样因子。71.根据权利要求66所述的系统,其中所述数据总线是串行外围设备接mSPI)总线。72.根据权利要求66所述的系统,其中所述数据总线是I2S总线。
【文档编号】G08C23/04GK105934752SQ201580002408
【公开日】2016年9月7日
【申请日】2015年2月3日
【发明人】S·S·梅特拉尼, S·S·穆萨卡马拉萨米
【申请人】皮尔技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1