在移動設(shè)備上生成和接收紅外通信的制作方法
【專利摘要】公開了用于在移動設(shè)備上生成和接收紅外信號的系統(tǒng)和方法。通過基于要被傳送作為紅外信號的信息生成比特流,來在移動設(shè)備上生成紅外信號。在總線上將比特流調(diào)制并且輸出到紅外發(fā)射二極管。移動設(shè)備通過基于所接收的紅外信號創(chuàng)建中間比特流,來接收紅外信號。在時域中對中間比特流進行修整、下采樣和解調(diào)。然后,將中間比特流轉(zhuǎn)換為原始紅外代碼。在軟件層中處理所生成和所接收的比特流,這使得移動設(shè)備能夠在不使用被配置在移動設(shè)備上的附加硬件的情況下處理紅外信號。
【專利說明】
在移動設(shè)備上生成和接收紅外通信
技術(shù)領(lǐng)域
[0001]本公開總體上涉及紅外通信領(lǐng)域,并且更特別地涉及計算設(shè)備上的紅外接收器。
【背景技術(shù)】
[0002]傳統(tǒng)的遠程遙控式電子產(chǎn)品(諸如立體聲、電視、機頂盒和DVD播放器)使用紅外信號發(fā)送和接收信息。通常地,用戶將紅外信號從與設(shè)備配對的遙控器發(fā)送到設(shè)備。例如,電視可以從用于供該特定電視使用而設(shè)計的遙控器接收指令。然而,用戶現(xiàn)在可以使用充當(dāng)遙控器的單個移動設(shè)備(例如,智能電話或者平板電腦)控制多個設(shè)備。當(dāng)前移動設(shè)備要求專用硬件以與遠程遙控式設(shè)備通信。然而,附加硬件增加制造移動設(shè)備的成本并且增加移動設(shè)備內(nèi)的功耗。
【附圖說明】
[0003]所公開的實施例具有從詳細描述、權(quán)利要求書和附圖將更容易明顯的其他優(yōu)點和特征。以下是對附圖的簡單介紹。
[0004]圖1圖示了根據(jù)一個示例實施例的能夠生成紅外信號的計算設(shè)備。
[0005]圖2圖示了根據(jù)一個示例實施例的用于計算設(shè)備的系統(tǒng)架構(gòu)。
[0006]圖3圖示了根據(jù)一個示例實施例的用于在具有固定時鐘速度的計算設(shè)備上生成紅外信號的過程。
[0007]圖4圖示了根據(jù)一個示例實施例的用于在具有可調(diào)節(jié)時鐘速度的計算設(shè)備上生成紅外信號的過程。
[0008]圖5圖示了根據(jù)一個示例實施例的用于生成紅外信號的、具有固定時鐘速度的計算設(shè)備上的示例信號的集合。
[0009]圖6圖示了根據(jù)一個示例實施例的用于生成紅外信號的、具有可調(diào)節(jié)時鐘速度的計算設(shè)備上的示例信號的集合。
[0010]圖7A圖示了根據(jù)一個示例實施例的使用傳統(tǒng)的通用輸入輸出(GP1)將紅外信號從處理器發(fā)送到紅外系統(tǒng)。
[0011]圖7B圖示了根據(jù)一個示例實施例的使用串行外圍設(shè)備接口(SPI)將紅外信號從處理器發(fā)送到紅外系統(tǒng)。
[0012]圖8圖示了根據(jù)一個實施例的用于接收具有固定時鐘速度的計算設(shè)備上的紅外信號的過程。
[0013]圖9圖示了根據(jù)一個示例實施例的用于接收紅外信號的計算設(shè)備上的示例信號的
口 O
[0014]圖10圖示了根據(jù)一個示例實施例的能夠生成和接收紅外信號的系統(tǒng)。
【具體實施方式】
[0015]附圖和以下描述僅以圖示的方式涉及優(yōu)選的實施例。應(yīng)當(dāng)注意,根據(jù)以下討論,在不脫離權(quán)利要求書的原理的情況下,本文所公開的結(jié)構(gòu)和方法的備選實施例將容易識別為可以采用的可行備選方案。
[0016]現(xiàn)在將對在附圖中圖示其示例的數(shù)個實施例進行詳細參考。應(yīng)當(dāng)注意,無論何處可行類似或者相同的參考數(shù)字可以使用在附圖中并且可以指示類似或者相同的功能性。僅出于圖示的目的,附圖描繪了所公開的系統(tǒng)(或者方法)的實施例。本領(lǐng)域的技術(shù)人員將容易地從以下描述識別出:在不脫離本文所描述的原理的情況下,可以采用本文所圖示的結(jié)構(gòu)和方法的備選實施例。
[0017]配置概述
[0018]所公開的系統(tǒng)、方法和計算機可讀存儲介質(zhì)的一個實施例包括用于在計算設(shè)備上生成和接收紅外信號的指令。計算設(shè)備接收原始紅外(IR)代碼。原始IR代碼將要被輸出的信息編碼為IR信號。計算設(shè)備還接收載波波形,其確定輸出信號頻率。計算設(shè)備生成經(jīng)處理的信號。經(jīng)處理的信號是在時域中對原始IR代碼中信息進行編碼的比特流。對經(jīng)處理的信號進行調(diào)制和上采樣,使得在時域中在不壓縮信號的情況下,經(jīng)處理的信號可以以時鐘速度作為IR信號被輸出。備選地,經(jīng)處理的信號可以與時鐘信號組合并且在總線上輸出??偩€的比特率被設(shè)定為匹配載波頻率。
[0019]計算設(shè)備還能夠接收IR信號。將IR信號轉(zhuǎn)換為中間信號。中間信號是時域中的比特流。在轉(zhuǎn)換為原始IR代碼之前,對中間信號進行修整、下采樣和解調(diào)。然后,將重復(fù)代碼段與原始IR代碼分離。
[0020]示例計算機器架構(gòu)
[0021]圖1是根據(jù)一個示例實施例的能夠生成紅外信號的計算設(shè)備100的框圖。計算設(shè)備100可以是個人計算機(PC)、平板電腦、個人數(shù)字助理(PDA)、智能電話、電子設(shè)備(例如,電視、立體聲等)或者能夠生成和/或接收紅外信號的任何其他機器。此外,當(dāng)僅圖示單個計算設(shè)備100時,術(shù)語“計算設(shè)備”還應(yīng)當(dāng)采取為包括單獨或者聯(lián)合執(zhí)行本文所討論的方法中的任何一個或多個的設(shè)備的任何集合。
[0022]示例計算設(shè)備100包括一個或多個處理器110(例如,中央處理單元(CPU)、數(shù)字信號處理器(DSP)、一個或多個專用集成電路(ASIC)或者這些的任何組合)和系統(tǒng)存儲器120(例如,硬盤、光驅(qū)、固態(tài)驅(qū)動器或者這些的任何組合)。系統(tǒng)存儲器120包括存儲實現(xiàn)本文所描述的方法或者功能的任何一個或多個方法或者功能的指令(例如,軟件)或者程序代碼的機器可讀介質(zhì)。此外,系統(tǒng)存儲器120還可以包括易失性存儲器。指令或者程序代碼還可以在處理器110的執(zhí)行期間至少部分駐留在處理器110內(nèi)(例如,在處理器的高速緩存存儲器內(nèi))。
[0023]盡管機器可讀介質(zhì)在示例實施例中被示出是單個介質(zhì),但是術(shù)語“機器可讀介質(zhì)”應(yīng)當(dāng)被認為包括能夠存儲指令的單個介質(zhì)或者多個介質(zhì)(例如,集中式或者分布式數(shù)據(jù)庫或者相關(guān)聯(lián)的高速緩存和服務(wù)器)。術(shù)語“機器可讀介質(zhì)”還應(yīng)當(dāng)被認為包括能夠存儲用于由機器執(zhí)行和使得機器執(zhí)行本文所公開的方法的任何一個或多個方法的指令或者程序代碼的任何介質(zhì)。術(shù)語“機器可讀介質(zhì)”包括但不限于以固態(tài)存儲器、光學(xué)媒體和磁性媒體的形式的數(shù)據(jù)儲存庫。
[0024]可以經(jīng)由連接到處理器110的網(wǎng)絡(luò)接口 160在網(wǎng)絡(luò)上傳送指令。網(wǎng)絡(luò)接口 160將計算設(shè)備100操作性地連接到一個或多個網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)接口 160可以使用諸如以太網(wǎng)、802.11、全球微波接入互操作性(WiMAX)、3G、4G、長期演進(LTE)、碼分多址(CDMA)、數(shù)字用戶線(DSL)等等的技術(shù)將計算設(shè)備100連接到有線或者無線網(wǎng)絡(luò)。所使用的網(wǎng)絡(luò)協(xié)議的示例包括多協(xié)議標(biāo)簽交換(M P L S )、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(T C P /1P )、超文本傳輸協(xié)議(HTTP)、簡單郵件傳送協(xié)議(SMTP)和文件傳送協(xié)議(FTP)。在一些實施例中,使用任何適合的(一個或多個)技術(shù)對一些或全部數(shù)據(jù)進行加密。
[0025]計算機系統(tǒng)100還可以包括輸入設(shè)備130(例如,鍵盤、觸摸屏、小鍵盤、操縱桿等)和顯示器140(例如,等離子顯示板(PDP)、液晶顯示器(LCD)、投影儀或者陰極射線管(CRT))以相應(yīng)地對數(shù)據(jù)接收和向用戶輸出數(shù)據(jù)。在一些實施例中,單個部件(諸如觸摸屏)可以被配置為輸入設(shè)備130和顯示器140 二者。
[0026]計算設(shè)備100包括紅外(IR)系統(tǒng)150JR系統(tǒng)150是能夠基于從處理器110發(fā)送到IR系統(tǒng)150的數(shù)據(jù)來生成IR信號的部件或者部件的集合。IR信號將信息編碼在從IR系統(tǒng)150中所發(fā)射的IR閃光序列中。IR系統(tǒng)150包括發(fā)射IR或者近IR光譜中的光的IR發(fā)射二極管(IRED)或者另一部件。此外,IR系統(tǒng)150可以被配置為接收被發(fā)送到計算設(shè)備100的IR信號。在一個實施例中,IR系統(tǒng)150上的IRED能夠生成和接收IR信號。IR系統(tǒng)150還包括用于控制IRED的輸出的驅(qū)動電路。驅(qū)動電路例如可以是晶體管、集成電路、連接到微處理器的I/O引腳或者控制到IRED的電流的這些的任何組合。
[0027]在一些情況下,通過外部設(shè)備180接收由IR系統(tǒng)150所生成的IR信號。外部設(shè)備180可以是電子設(shè)備,諸如電視、立體聲、計算機或者家用電器。家用電器的示例包括加熱器、風(fēng)扇、恒溫器、汽車庫門或者空調(diào)。外部設(shè)備180可以是經(jīng)由IR信號接收命令的任何其他適用設(shè)備。例如,外部設(shè)備180可以是機頂盒、數(shù)字視頻錄像機(DVR)、視頻播放器(包括但不限于藍光(Blu-ray)播放器、DVD播放器、VCR播放器等)、游戲控制臺、數(shù)字媒體播放器(包括但不限于APPLE TV,ROKU BOX等等)或者聲音系統(tǒng)。外部設(shè)備180的這些示例實施例可以連接到電視或者實現(xiàn)為單獨的設(shè)備。附加地或者備選地,IR系統(tǒng)150可以被配置為接收由一個或多個外部設(shè)備180所生成的IR信號或者將IR信號傳送到一個或多個外部設(shè)備180。例如,計算設(shè)備100經(jīng)由IR信號與電視通信以調(diào)節(jié)電視的音量,但是可以經(jīng)由IR信號與機頂盒通信來選擇在電視上播放的頻道。
[0028]—條或多條總線170將計算設(shè)備100的一個或多個部件進行連接。在一個實施例中,將處理器110和系統(tǒng)150連接的總線170可以包括I2S總線或者SPI總線。然而,將計算設(shè)備100的部件連接所使用的總線170可以具有任何適用類型或者模型。此外,處理器110和IR系統(tǒng)150可以以主/從模式進行通信,其中,IR系統(tǒng)150經(jīng)由總線170從屬于處理器110。因此,將處理器110和IR系統(tǒng)150連接的總線170可以包括用于以主/從關(guān)系鏈接兩個部件的多個邏輯信號,包括芯片選擇/使能、主輸出/從輸入線(M0SI,其將數(shù)據(jù)從處理器110運載到IR系統(tǒng)150)、主輸入/從輸出線(MIS0,其將數(shù)據(jù)從處理器110運載到IR系統(tǒng)150)和時鐘(CLK)信號。然而,一些總線170可以起到附加或者備選邏輯信號的作用。
[0029]在一個示例實施例中,通過MOSI信號將經(jīng)處理的信號從處理器110發(fā)送到IR系統(tǒng)150。此外,可以通過MISO信號將任何經(jīng)接收的信號從IR系統(tǒng)150發(fā)送到處理器110。芯片選擇/使能信號可以對IR系統(tǒng)150供電,使得IR系統(tǒng)僅在芯片選擇/使能信號輸出時是活躍的??偩€170的其他變型可以具有將兩個部件鏈接的不同的邏輯信號。時鐘速度還與總線170相關(guān)聯(lián)。時鐘速度調(diào)節(jié)在總線170上發(fā)送信息的速率(“比特率”)??偩€170的一些實施例可以特寫可調(diào)節(jié)時鐘速度??偩€170的比特率可以被設(shè)定為預(yù)先確定值或者備選地可以被設(shè)定為任意值。
[0030]現(xiàn)在參考圖2,其是根據(jù)一個示例實施例的針對計算設(shè)備100的系統(tǒng)架構(gòu)的框圖。系統(tǒng)架構(gòu)圖示了用于生成計算設(shè)備上的紅外信號所必要的硬件和軟件架構(gòu)層二者。系統(tǒng)架構(gòu)包括IR處理層210和設(shè)備驅(qū)動程序?qū)?20,其二者實現(xiàn)為存儲在計算設(shè)備100上的軟件。系統(tǒng)架構(gòu)還包括表示配置在計算設(shè)備100上的處理器110和IR系統(tǒng)150的層。在該示例實施例中,處理器110和IR系統(tǒng)150 二者被實現(xiàn)為硬件。系統(tǒng)架構(gòu)的備選實施例可以包括附加或者備選層。
[0031]IR處理層210包括用于生成用于輸出到IR系統(tǒng)150的信號的程序代碼(或者指令)以及用于處理由IR系統(tǒng)150所接收的信號的程序代碼。IR處理層210中的程序代碼可以被實現(xiàn)為應(yīng)用、庫、操作系統(tǒng)的一部分或者任何其他明顯的軟件程序。
[0032]可以將存儲在計算設(shè)備100上的信息發(fā)送到IR處理層210以用于輸出到IR系統(tǒng)150。信息例如可以是要經(jīng)由紅外信號從計算設(shè)備100傳送的指令或者其他數(shù)據(jù)。然而,在信息處于IR系統(tǒng)150可以輸出的格式之前,信息可能需要解碼或者處理(例如,調(diào)制、上采樣、轉(zhuǎn)碼等)。在IR處理層210中生成基于信息的信號。在一個示例環(huán)境中,可以通過IR系統(tǒng)150直接輸出信號。通過生成和處理IR處理層210中的信號,計算設(shè)備100不要求將解碼或者處理IR信號的外部硬件(例如,F(xiàn)PGA、AISC等等)。此外,傳入IR信號在IR處理層210中還被處理為可以輸出到處理器110的格式,使得IR系統(tǒng)150不必進一步處理中間信號。
[0033]—個或多個設(shè)備驅(qū)動程序促進總線170與設(shè)備驅(qū)動程序?qū)?20中的、計算設(shè)備100的一個或多個部件之間的通信。設(shè)備驅(qū)動程序可以包括用于經(jīng)由總線170接收信息和將信息中繼到與設(shè)備驅(qū)動程序相關(guān)聯(lián)的部件的軟件。例如,與IR系統(tǒng)150相關(guān)聯(lián)的設(shè)備驅(qū)動程序可以經(jīng)由總線170從IR處理層210中的軟件接收信號并且將信號發(fā)送到IR系統(tǒng)150,其將信號輸出為IR信號。設(shè)備驅(qū)動程序還可以將編碼在信號中的信息從與設(shè)備驅(qū)動程序相關(guān)聯(lián)的部件(例如,IR系統(tǒng)150)輸出到總線170。在計算設(shè)備100上配置的每個部件可以與不同的設(shè)備驅(qū)動程序220相關(guān)聯(lián)。
[0034]在處理器層230中執(zhí)行計算設(shè)備100上的指令。處理層230包括處理器110,其執(zhí)行通過數(shù)據(jù)總線170所接收的指令。在IR系統(tǒng)層240中輸出和接收IR信號。IR系統(tǒng)層240包括IR系統(tǒng)150和用于促進IR通信的其他硬件。
[0035]用于生成紅外信號的示例過程
[0036]參考圖3,其圖示了根據(jù)一個示例實施例的用于在具有固定時鐘速度的計算設(shè)備上生成紅外信號的過程。通過在計算設(shè)備100上執(zhí)行的軟件至少部分使能圖3的過程。例如,計算設(shè)備100可以包括存儲到非暫態(tài)計算機可讀存儲介質(zhì)的指令,其在由處理器110執(zhí)行時,使得處理器110執(zhí)行下文圖3的步驟。附加或者備選步驟可以包括在圖3的過程的其他實施例中。
[0037]通過計算設(shè)備100接收310原始IR代碼。原始IR代碼將要被輸出的信息編碼為IR信號??梢詮耐獠课恢?諸如從連接到由計算設(shè)備100可訪問的網(wǎng)絡(luò)的服務(wù)器或者從計算設(shè)備100內(nèi)的位置)接收310原始IR代碼。例如,可以從系統(tǒng)存儲器120上的數(shù)據(jù)緩沖器或者從處理器110上的高速緩存檢索原始IR代碼。原始IR代碼可以以符號/空格格式編碼信息。符號/空格格式包括一串?dāng)?shù)字。原始IR代碼中的每個數(shù)字表示在其期間IR系統(tǒng)150 “打開”(S卩,發(fā)射IR信號、邏輯高或者“I”)或者“關(guān)閉”(即,不發(fā)射IR信號、邏輯低或者“O”)的計數(shù)的數(shù)目。計數(shù)是在其期間可以發(fā)射IR信號的最短間隔。在一個實施例中,表示在其期間IR系統(tǒng)150處于ON狀態(tài)(例如,邏輯高或者邏輯“I”)的計數(shù)的數(shù)目位于原始IR代碼中的奇數(shù)索引處。表示在其期間IR系統(tǒng)150處于OFF狀態(tài)(例如,邏輯低或者邏輯“O”)的計數(shù)的數(shù)目位于原始IR代碼中的偶數(shù)索引處。
[0038]除原始IR代碼外,計算設(shè)備100還接收載波波形。計算設(shè)備基于載波波形來確定載波頻率。載波頻率是載波波形的頻率并且確定每個計數(shù)的持續(xù)時間。例如,38kHz的載波頻率將計數(shù)的持續(xù)時間定義為26.3微秒(ys)。計算設(shè)備可以基于對載波波形的分析來確定載波頻率。分析可以是任何傳統(tǒng)的數(shù)字信號處理算法??梢酝ㄟ^計算設(shè)備執(zhí)行分析。取代根據(jù)載波波形確定載波頻率,可以通過一個或多個紅外通信協(xié)議指定載波頻率,諸如紅外數(shù)據(jù)協(xié)會(IrDA)、消費者IR(CIR)、NEC、RC-5或者其他適用的紅外通信協(xié)議。例如,一個或多個紅外通信協(xié)議可以指定38kHz的載波頻率,而其他通信協(xié)議可以指定56kHz的載波頻率。然而,載波頻率可以是任何值。計算設(shè)備100可能能夠以不同的載波頻率輸出IR信號。
[0039]計算設(shè)備100生成320經(jīng)處理的信號。經(jīng)處理的信號是基于原始IR代碼的比特流。經(jīng)處理的信號中的每個比特與在其期間IR系統(tǒng)150處于ON狀態(tài)或者OFF狀態(tài)的原始IR代碼的計數(shù)相對應(yīng)。例如,I表示在其期間IR系統(tǒng)處于ON狀態(tài)的計數(shù),而O表示在其期間IR系統(tǒng)處于OFF狀態(tài)的計數(shù)。
[0040]計算設(shè)備100通過確定原始IR代碼中的每個數(shù)字的值和索引(S卩,字符串中的位置)生成320經(jīng)處理的信號。計算設(shè)備100針對原始IR代碼的每個數(shù)字生成多個比特。通過數(shù)字的值確定比特的數(shù)目。例如,原始IR代碼中的“5”在經(jīng)處理的信號中被表示為五個比特。通過數(shù)字的索引確定每個比特的值。例如,表示原始IR代碼中的奇數(shù)索引處的數(shù)目的經(jīng)處理的信號中的每個比特被實現(xiàn)為I。同樣地,表示原始IR代碼中的偶數(shù)索引處的數(shù)目的經(jīng)處理的信號中的每個比特被實現(xiàn)為O。將每個多個比特插入原始IR代碼中的對應(yīng)的數(shù)目的索引處的經(jīng)處理的信號。經(jīng)處理的頻率的比特率基于載波頻率。例如,38kHz的載波頻率導(dǎo)致38千比特每秒的比特率。
[0041 ]計算設(shè)備100對經(jīng)處理的信號進行調(diào)制330。由于IR系統(tǒng)150將IR信號輸出為脈沖序列,因而在經(jīng)處理的信號可以由IR系統(tǒng)150輸出之前,經(jīng)處理的信號需要被調(diào)制330為脈沖序列。使用脈沖幅度調(diào)制對經(jīng)處理的信號進行調(diào)制330。每個脈沖與對應(yīng)于其期間IR系統(tǒng)150處于打開狀態(tài)的計數(shù)。
[0042]在一些情況下,計算設(shè)備100沒有調(diào)制330經(jīng)處理的信號。例如,電視系統(tǒng)可能能夠使用未調(diào)制輸出IR信號的紅外通信協(xié)議進行通信。在該示例中,IR信號可以包括具有變化長度的紅外脈沖序列,而不是具有一致長度的紅外脈沖序列。計算設(shè)備100能夠在不調(diào)制330信號的情況下形成輸出信號。在另一示例實施例中,已經(jīng)調(diào)制所接收310的紅外代碼。由于調(diào)制紅外代碼,因而計算設(shè)備100可以在不必調(diào)制330信號的情況下輸出經(jīng)調(diào)制的信號。
[0043]計算設(shè)備100通過在經(jīng)處理的信號中的每個比特之后附加O來調(diào)制330經(jīng)處理的信號。實際上,經(jīng)處理的信號中的每個I由“10”替換,并且經(jīng)處理的信號中的每個O由“00”替換。因此,通過經(jīng)調(diào)制的經(jīng)處理的信號中的“10”表示每個脈沖。計算設(shè)備100使經(jīng)處理的信號的比特率加倍,使得比特以及因此整個脈沖二者在一個計數(shù)期間輸出。這允許脈沖以載波頻率輸出。由于每個脈沖包括單個I (在其期間IR系統(tǒng)150打開)和單個O (在其期間IR系統(tǒng)150關(guān)閉),因而脈沖的占空比是50%。由于不同的紅外通信協(xié)議可以指定不同的占空比,因而可以通過將附加的比特附加到經(jīng)處理的信號中的每個比特來改變占空比。
[0044]計算設(shè)備100對經(jīng)處理的信號進行上采樣340。在一些實施例中,經(jīng)處理的信號的比特率低于經(jīng)處理的信號被輸出所在的總線170的比特率。由于經(jīng)處理的信號被編碼在時域中,因而以較快的比特率輸出經(jīng)處理的信號可以將經(jīng)處理的信號在時域中進行壓縮。上采樣340允許計算設(shè)備100在不在時域中進行壓縮的信號情況下以總線170的操作頻率(還被稱為總線比特率)傳送經(jīng)處理的信號??偩€比特率是在總線170上傳送數(shù)據(jù)的速率。
[0045]為了對經(jīng)處理的信號進行上采樣340,計算設(shè)備100確定總線比特率?;诮?jīng)處理的信號的比特率與總線比特率之間的差異,計算設(shè)備100確定附加到經(jīng)調(diào)制的信號中的每個比特的重復(fù)比特的數(shù)目。選擇重復(fù)比特的數(shù)目,使得以總線比特率輸出的重復(fù)比特將在相同的時間間隔期間輸出為以經(jīng)處理的信號的比特率的經(jīng)處理的信號的單個比特。重復(fù)比特的數(shù)目比總線比特率與經(jīng)處理的信號的比特率的商小一。例如,如果在調(diào)制330之后經(jīng)處理的信號比特率是76kHz并且總線時鐘速度是1.5MHz,則計算設(shè)備100確定十九個比特附加到經(jīng)處理的信號中的每個比特。
[0046]多個重復(fù)比特的值基于重復(fù)比特的值。例如,將一個或多個I附加到每個I,并且將一個或多個O附加到每個O。計算設(shè)備100將重復(fù)比特的數(shù)目附加到經(jīng)調(diào)制的信號中的第一比特,其中,第一比特的值與重復(fù)比特中的每個比特的值相同。對經(jīng)處理的信號中的每個比特重復(fù)該過程。
[0047]計算設(shè)備100將經(jīng)處理的信號輸出350到IR系統(tǒng)150。將經(jīng)處理的信號在總線170上發(fā)送到IR系統(tǒng)150。以總線比特率輸出經(jīng)處理的信號中的每個比特。通過MOSI邏輯信號發(fā)送經(jīng)處理的信號。由于經(jīng)處理的信號將針對IR系統(tǒng)150的預(yù)期輸出在時域中進行編碼,IR系統(tǒng)150逐位將經(jīng)處理的信號輸出到IR系統(tǒng)150上的IRED,使得IR系統(tǒng)150不對經(jīng)處理的信號執(zhí)行任何進一步的信號處理。
[0048]然后,首先參考圖5,其圖示了根據(jù)一個示例實施例的圖3的方法的示例信號的集合。在圖5中數(shù)字地(作為比特流)和圖形地(作為波形)圖示每個信號。在圖3的方法中,一些信號可以僅被實現(xiàn)為比特流或者波形而非兩者。圖3中的信號不對由計算設(shè)備100所生成的實際數(shù)據(jù)進行編碼并且應(yīng)當(dāng)僅出于解釋性目的考慮。
[0049]通過計算設(shè)備100初始地接收310原始IR代碼510。原始IR代碼510指示在其期間IR系統(tǒng)150處于ON狀態(tài)或者OFF狀態(tài)的一系列計數(shù)。例如,圖5中所示的示例性原始IR代碼指示IR系統(tǒng)150應(yīng)當(dāng)處于針對5個計數(shù)的ON狀態(tài)、針對3個計數(shù)的OFF狀態(tài)以及針對5個計數(shù)的ON狀態(tài)。
[0050]經(jīng)處理的信號520是基于原始IR代碼的二進制比特流。示例性經(jīng)處理的信號520包括五個1、三個O和五個I,其與原始IR代碼510的元素相對應(yīng)。備選地,經(jīng)處理的信號可以被表示為時域中的數(shù)字波形。在圖3的方法中生成320經(jīng)處理的信號。
[0051]經(jīng)調(diào)制的經(jīng)處理的信號530是具有在經(jīng)處理的信號的比特流中的每個比特之后附加的O的經(jīng)處理的信號520的二進制比特流。經(jīng)處理的信號中的每個I有效地利用“10”替換,而經(jīng)處理的信號中的每個O利用“00”替換。經(jīng)調(diào)制的經(jīng)處理的信號530可以附加地或者備選地被表示為一系列脈沖。波形中的每個脈沖與在其期間IR系統(tǒng)150發(fā)射IR信號的計數(shù)相對應(yīng)。經(jīng)調(diào)制的經(jīng)處理的信號530是圖3的方法中的步驟330的結(jié)果。
[0052]經(jīng)上采樣的經(jīng)處理的信號540是基于經(jīng)調(diào)制的經(jīng)處理的信號530的經(jīng)上采樣的比特流。經(jīng)上采樣的經(jīng)處理的信號是圖3的方法中的步驟340的結(jié)果。經(jīng)調(diào)制的經(jīng)處理的信號530中的每個比特重復(fù)若干次,其中,重復(fù)比特的數(shù)目取決于總線比特率與經(jīng)調(diào)制的經(jīng)處理的信號530的比特率之間的差。在該示例中,十九個重復(fù)比特被附加到經(jīng)調(diào)制的經(jīng)處理的信號530中的每個比特。經(jīng)上采樣的經(jīng)處理的信號540的比特流以總線比特率輸出并且輸出到IR系統(tǒng)150。
[0053]現(xiàn)在參考圖4,其是圖示了根據(jù)一個示例實施例的用于在具有可調(diào)節(jié)時鐘速度的計算設(shè)備上生成紅外信號的過程的流程圖。雖然圖4的方法和圖3的方法是相同方法的變型,但是可以在結(jié)合圖4的方法使用的計算設(shè)備100上調(diào)節(jié)總線170的時鐘速度。因此,圖4的方法不要求經(jīng)處理的信號被上采樣340。由在計算設(shè)備100上執(zhí)行的IR處理層210中的軟件至少部分使能圖4的過程。例如,計算設(shè)備100可以包括存儲到非暫態(tài)計算機可讀存儲介質(zhì)的指令,其在由處理器110執(zhí)行時使得處理器110執(zhí)行下文圖4的步驟。附加或者備選步驟可以被包括在圖4的過程的其他實施例中。
[0054]計算設(shè)備100設(shè)定415總線時鐘速度以匹配由計算設(shè)備100所確定的載波頻率。通過以載波頻率設(shè)置總線時鐘速度,總線比特率匹配經(jīng)處理的信號比特率。因此,在不必對經(jīng)處理的信號進行上采樣340的情況下,經(jīng)處理的信號可以以經(jīng)處理的信號頻率輸出在總線170上。此外,設(shè)定415總線時鐘速度改變計算設(shè)備100上的時鐘信號的頻率。時鐘信號是數(shù)字脈沖串,其中,每時鐘周期發(fā)射一個脈沖。在該示例實施例中,每個脈沖具有50%占空比。
[0055]計算設(shè)備100將經(jīng)處理的信號與時鐘信號組合430。通過執(zhí)行時鐘信號和經(jīng)處理的信號的邏輯AND來將經(jīng)處理的信號與時鐘信號組合430。該步驟有效地調(diào)制330信號。經(jīng)組合的經(jīng)處理的信號是一系列脈沖,其與在其期間IR系統(tǒng)150正在發(fā)射IR信號的時間間隔相對應(yīng)。
[0056]計算設(shè)備100將經(jīng)處理的信號輸出350到IR系統(tǒng)150。以總線比特率將經(jīng)處理的信號輸出350到總線170。在一個實施例中,將經(jīng)處理的信號輸出350到總線170上的MOSI邏輯信號。由于總線比特率已經(jīng)被設(shè)定415以匹配經(jīng)處理的信號比特率,因而經(jīng)處理的信號在輸出到總線170之前不必被上采樣340 JR系統(tǒng)150接收經(jīng)處理的信號并且輸出經(jīng)處理的信號作為IR信號。
[0057]現(xiàn)在參考圖6,其圖示了根據(jù)一個示例實施例的圖4的方法的示例信號的集合。在圖6中數(shù)字地(作為比特流)和圖形地(作為波形)圖示每個信號。在圖4的方法中,一些信號可以僅被實現(xiàn)為比特流或者波形而非兩者。圖4中的信號不對由計算設(shè)備100所生成的實際數(shù)據(jù)進行編碼并且應(yīng)當(dāng)僅出于解釋性目的考慮。
[0058]經(jīng)組合的經(jīng)處理的信號630是來源于經(jīng)處理的信號和時鐘信號的組合430的比特流。經(jīng)組合的經(jīng)處理的信號630可以類似經(jīng)調(diào)制的經(jīng)處理的信號530,這是因為將經(jīng)處理的信號與時鐘信號組合430有效地調(diào)制330經(jīng)處理的信號。
[0059]圖7A圖示了根據(jù)一個示例實施例的使用傳統(tǒng)的通用輸入輸出(GP1)將紅外信號從處理器發(fā)送到紅外系統(tǒng)。GP1充當(dāng)支持IR功能性的傳統(tǒng)的計算設(shè)備100中的總線170。將信號從處理器110發(fā)送到IR系統(tǒng)150作為利用延遲間隔的一系列比特。然而,處理器110可能不能夠準(zhǔn)確地生成微秒級延遲,這使得不正確的IR信號被輸出。
[0060]圖7B圖示了根據(jù)一個示例實施例的使用串行外圍設(shè)備接口(SPI)將紅外信號從處理器110發(fā)送到紅外系統(tǒng)150。在一個示例實施例中,SPI是總線170 API總線170允許處理器110在不必生成延遲的情況下立刻將整個信號發(fā)送到IR系統(tǒng)150。通過立刻發(fā)送整個信號,在IR系統(tǒng)150輸出信號時,處理器110自由執(zhí)行其他指令。
[0061 ]用于接收紅外信號的示例方法
[0062]現(xiàn)在參考圖8,其是圖示了根據(jù)一個實施例的用于在具有固定時鐘速度的計算設(shè)備上接收紅外信號的過程的流程圖。在一個實施例中,由在計算設(shè)備100上執(zhí)行的IR處理層210中的軟件至少部分使能圖8的過程。附加或者備選步驟可以包括在圖8的過程的其他實施例中。
[0063]計算設(shè)備100接收810IR信號。通常地,將IR信號從諸如遠程遙控器的外部設(shè)備180發(fā)送到IR系統(tǒng)150。這允許計算設(shè)備100從遠程遙控器接收IR代碼。計算設(shè)備100可以記錄和使用IR代碼,這允許計算設(shè)備100充當(dāng)發(fā)射IR代碼的遙控器。在另一實施例中,計算設(shè)備100執(zhí)行通過紅外信號接收的指令。然而,可以從任何明顯的源接收810IR信號。為了接收810IR信號,計算設(shè)備100將完全包括邏輯O的空比特流發(fā)送到IR系統(tǒng)150。在總線170上的MOSI邏輯信號上發(fā)送空比特流??毡忍亓骺梢宰銐蜷L以跨越時域中的數(shù)秒(比IR信號自身的持續(xù)時間長得多),這是因為在當(dāng)IR系統(tǒng)150接收空比特流時與當(dāng)實際接收810IR信號時之間可能存在延遲。將空比特流寫到SPI總線。當(dāng)將空比特流寫到SPI總線時,SPI總線生成時鐘信號。以數(shù)據(jù)總線的操作頻率生成時鐘信號。
[0064]計算設(shè)備100生成815中間信號。所生成的中間信號是對所接收的IR信號進行編碼的比特流。在總線170上的MISO邏輯信號上由處理器110接收中間信號。以數(shù)據(jù)總線的操作頻率(即與時鐘信號相同頻率)由處理器110接收中間信號。
[0065]計算設(shè)備100從中間信號移除820前導(dǎo)比特和拖尾比特。前導(dǎo)比特和拖尾比特是當(dāng)IR系統(tǒng)將經(jīng)轉(zhuǎn)碼的IR信號寫到空比特流時不由IR系統(tǒng)15 O重寫的比特。因此,前導(dǎo)比特和拖尾比特不對IR信號進行編碼并且從中間信號中被移除。
[0066]計算設(shè)備100通過確定中間信號中的第一比特的值來將前導(dǎo)比特從中間信號移除820。如果比特是邏輯0,那么將比特從中間信號移除。針對中間信號中的后續(xù)比特重復(fù)該過程,直到計算設(shè)備100檢測到中間信號中的邏輯I。中間信號中的第一邏輯I被認為是中間信號的開始。然而,邏輯比特的任何預(yù)先確定的順序可以指明中間信號的開始。以相同的方式將拖尾比特從中間信號移除820。計算設(shè)備100確定中間信號中的最后的比特的值。如果比特是邏輯0,那么將比特從中間信號移除。計算設(shè)備100移除信號中的最后的比特,直到中間信號中的最后的比特的值是邏輯I。在該示例實施例中,邏輯I指定中間信號的末尾。然而,邏輯比特的任何預(yù)先確定的順序可以指定中間信號的末尾。
[0067]計算設(shè)備100對中間信號進行下采樣830。由于以高于IR信號的頻率的速率對IR信號進行采樣,因而中間信號需要被下采樣,因此中間信號的頻率匹配IR信號的頻率。
[0068]為了對中間信號進行下采樣830,計算設(shè)備100確定用于中間信號的下采樣因子。下采樣因子指示當(dāng)對中間信號下采樣時所移除的重復(fù)比特的數(shù)目。下采樣因子基于時鐘速度和與所接收的載波波形相關(guān)聯(lián)的載波頻率。例如,下采樣因子可以比時鐘速度和雙倍的載波頻率的商小一。例如,如果時鐘速度是1.5MHz并且載波頻率是38kHz,那么下采樣因子是十九。在另一實施例中,計算設(shè)備100使用統(tǒng)計處理或者機器學(xué)習(xí)算法來確定下采樣因子。中間信號是基于下采樣因子而被下采樣。該過程基本上是上采樣步驟340的相反步驟。
[0069]計算設(shè)備100對中間信號進行解調(diào)840。所接收的代碼中的“10”的每個實例利用邏輯I替換。在一個實施例中,“10”是兩個連續(xù)的比特-邏輯1(或者高)跟隨有邏輯0(或者低)。中間信號中的“00”的每個實例利用邏輯O替換。在一個示例中,“00”是兩個連續(xù)的邏輯O (或者低)比特,并且由單個邏輯0(或者低)替換。在另一實施例中,計算設(shè)備100將交替比特從信號移除。例如,計算設(shè)備100可以移除中間信號中的奇數(shù)索引處的所有比特。解調(diào)步驟840基本上是調(diào)制步驟330的相反步驟。在計算設(shè)備100接收810未調(diào)制的信號的情況中,計算設(shè)備810跳過解調(diào)840步驟。
[0070]計算設(shè)備100生成原始IR代碼850。原始IR代碼基于經(jīng)解調(diào)840的中間信號。計算設(shè)備100通過生成針對中間信號中的每個多個類似比特的原始IR代碼中的數(shù)目來生成原始IR代碼。通過中間信號中的對應(yīng)的多個類似比特來確定數(shù)的值和位置。通過多個比特中的比特的數(shù)目確定每個比特的值。例如,將中間信號中的每串邏輯I轉(zhuǎn)換為奇數(shù)索引中的數(shù),并且將中間信號中的每串邏輯O轉(zhuǎn)換為偶數(shù)索引中的數(shù)。這是生成320經(jīng)處理的信號的相反步驟。
[0071]計算設(shè)備100將原始IR代碼中的重復(fù)代碼分離860<JR信號可以包含原始IR代碼的重復(fù)的實例,因此原始IR代碼的重復(fù)可能需要被分離860。在一些實施例中,將重復(fù)代碼分離860并且將其存儲在數(shù)據(jù)庫中。這可以使用重復(fù)檢測公式、統(tǒng)計公式、散列表、算法或者本領(lǐng)域普通技術(shù)人員熟悉的任何其他方法實現(xiàn)。
[0072]參考圖9,其圖示了根據(jù)一個示例實施例的用于接收紅外信號的計算設(shè)備上的示例信號的集合。在圖9中數(shù)字地(作為比特流)和圖形地(作為波形)圖示每個信號。在圖8的方法中,一些信號可以僅被實現(xiàn)為比特流或者波形而非兩者。圖8中的信號不對由計算設(shè)備100所生成的實際數(shù)據(jù)進行編碼并且應(yīng)當(dāng)僅出于解釋性目的考慮。
[0073]當(dāng)IR系統(tǒng)150接收810IR信號時,生成中間信號910。在該示例中,中間信號對原始IR代碼“5,3,5”進行編碼。IR信號針對五個計數(shù)而被接收、針對三個計數(shù)而不被接收并且針對五個附加計數(shù)而被接收。然而,中間信號910還包括由五個邏輯O表示的數(shù)個前導(dǎo)比特。比特的數(shù)目對應(yīng)于從當(dāng)計算設(shè)備100開始將空比特率發(fā)送到IR系統(tǒng)150時和當(dāng)IR系統(tǒng)150開始接收810IR信號時的時間。
[0074]經(jīng)修整的中間信號920與沒有前導(dǎo)比特和拖尾比特的中間信號910相同。經(jīng)修整的中間信號920來源于圖8的方法中的步驟820。
[0075]經(jīng)下采樣的中間信號930是基于經(jīng)修整的中間信號920的下采樣的比特流?;谙虏蓸右蜃?,從經(jīng)修整的中間信號920移除比特。在該示例中,下采樣因子是十九,因此從每串不間斷的邏輯I或者邏輯O移除十九個比特。經(jīng)下采樣的中間信號930是圖8的方法中的步驟830的結(jié)果。
[0076]經(jīng)解調(diào)的中間信號940是基于經(jīng)下采樣的中間信號930的經(jīng)解調(diào)的比特流。解調(diào)步驟840利用邏輯I有效地替換“10”(邏輯I跟隨有邏輯O)的每個實例,并且利用邏輯O替換“00”(連續(xù)的邏輯O)的每個實例。
[0077]將經(jīng)解調(diào)的中間信號940轉(zhuǎn)換為原始IR代碼950。將每串不間斷的邏輯I轉(zhuǎn)換為原始IR代碼950的奇數(shù)索引中的數(shù)目。例如,將示例經(jīng)解調(diào)的中間信號940中的前導(dǎo)串邏輯I轉(zhuǎn)換為“5”,其中,元素在原始IR代碼950的第一索引處。將每串不間斷的邏輯O轉(zhuǎn)換為原始IR代碼中的偶數(shù)索引處的數(shù)。因此,將三個O的串轉(zhuǎn)換為原始IR代碼950的第二索引處的“3”。
[0078]用于生成和接收紅外信號的示例系統(tǒng)
[0079]圖10圖示了根據(jù)一個示例實施例的能夠生成和接收紅外信號的系統(tǒng)。系統(tǒng)是能夠執(zhí)行本申請中的過程和方法的IR信號處理系統(tǒng)100t3IR信號處理系統(tǒng)1000包括一個或多個模塊。每個模塊可以被實現(xiàn)為硬件部件、軟件代碼或者兩者的組合。系統(tǒng)1000可以被實現(xiàn)為IR處理層210中的軟件代碼、在計算設(shè)備1000上配置的硬件或者由計算設(shè)備100可訪問的服務(wù)器。系統(tǒng)可以包括針對各種應(yīng)用的附加的、較少的或者不同的模塊。
[0080]第一模塊(信號生成模塊1002)生成紅外信號。信號生成模塊1002包括IR代碼數(shù)據(jù)庫1010、經(jīng)處理的信號生成器1020、載波頻率模塊1030和上采樣模塊1060。信號生成模塊1002可選地包括比特率調(diào)節(jié)模塊1040和信號調(diào)制器1050<JR代碼數(shù)據(jù)庫1010是以標(biāo)號-空號格式存儲至少一個紅外代碼的數(shù)據(jù)庫或者存儲器。
[0081]經(jīng)處理的信號生成器1020將IR代碼(被實施為以標(biāo)號-空號格式的代碼)轉(zhuǎn)換為經(jīng)處理的信號。經(jīng)處理的信號是基于來自IR代碼數(shù)據(jù)庫1010的IR代碼的比特流。
[0082]載波頻率模塊1030是接收載波波形的模塊。載波波形可以是以特定載波頻率的脈沖串。載波頻率模塊1030基于對載波波形的分析,確定載波波形的載波頻率。分析可以基于任何傳統(tǒng)的數(shù)字信號處理算法。在一些情況下,載波頻率模塊1030接收載波頻率的值而不是波形自身。
[0083]在一個示例實施例中,信號生成模塊1002包括比特率調(diào)節(jié)模塊1040。比特率調(diào)節(jié)模塊1040將總線比特率調(diào)節(jié)到由載波頻率模塊1030所確定的載波頻率。通過調(diào)節(jié)總線比特率,比特率調(diào)節(jié)模塊1040調(diào)節(jié)輸出信號的速率。如果可以設(shè)定或者調(diào)節(jié)總線比特率,那么信號生成模塊1002可以包括比特率調(diào)節(jié)模塊1040。比特率調(diào)節(jié)模塊1040還可以將經(jīng)處理的信號與以載波頻率的脈沖串組合來形成輸出信號。
[0084]在第二示例實施例中,信號生成模塊1002包括信號調(diào)制器1050。信號調(diào)制器1050通過在經(jīng)處理的信號中的每個比特之后附加比特來調(diào)制經(jīng)處理的信號。此外,信號調(diào)制器1050將經(jīng)處理的信號的比特率加倍。如果不能設(shè)定或者調(diào)節(jié)配置在計算設(shè)備上的總線的比特率,那么信號生成模塊1002可以包括信號調(diào)制器1050。在其他實施例中,如果在輸出經(jīng)處理的信號之前未調(diào)制330經(jīng)處理的信號,那么信號生成模塊1002可以不包括信號調(diào)制器1050。
[0085]在一些示例實施例中,信號生成模塊1002可以包括比特率調(diào)節(jié)模塊1040和信號調(diào)制器1050 二者。在其他示例實施例中,信號生成模塊1002僅包括兩個模塊之一。
[0086]上采樣模塊1060對經(jīng)處理的信號進行上采樣。上采樣模塊1060確定附加到經(jīng)處理的信號中的每個比特的重復(fù)比特的數(shù)目。比特的數(shù)目基于載波頻率與操作頻率之間的差或者將處理器110和紅外系統(tǒng)150連接的總線的比特率。上采樣模塊1060還確定重復(fù)比特的值。重復(fù)比特匹配重復(fù)比特被附加到的比特的值。上采樣模塊1060將適當(dāng)?shù)闹貜?fù)比特附加到經(jīng)處理的信號中的每個比特。
[0087]信號接收模塊1004處理由計算設(shè)備所接收的紅外信號。信號接收模塊1004包括中間信號生成器1070、信號修整模塊1080、下采樣模塊1090、重復(fù)代碼模塊1110和IR代碼生成器1120。信號接收模塊1004還可選地包括信號解調(diào)器IlOOt3IR信號處理系統(tǒng)1000可以包括信號生成模塊1002和信號接收模塊1004二者或者僅兩個模塊之一。
[0088]中間信號生成器1070基于所接收的IR信號來生成中間信號。中間信號是紅外信號編碼在其上的比特流。中間信號生成器1070生成以紅外系統(tǒng)150的采樣頻率的中間信號。
[0089]信號修整模塊1080修整中間信號以移除前導(dǎo)比特和拖尾比特。信號修整模塊1080確定中間信號中的哪些比特是前導(dǎo)比特和拖尾比特并且隨后移除前導(dǎo)比特和拖尾比特。
[0090]下采樣模塊1090對中間信號進行下采樣。下采樣模塊確定用于中間信號的下采樣因子。根據(jù)一個實施例,下采樣因子基于由中間信號生成器1070所接收的采樣頻率和與由載波頻率模塊1030所接收的載波波形相關(guān)聯(lián)的載波頻率。
[0091]信號接收模塊1004可選地包括信號解調(diào)器1100。在一些實施例中,未解調(diào)中間信號,因此信號接收模塊1004不包括信號解調(diào)器1100。信號解調(diào)器1100利用邏輯I替換中間信號中的“10”的每個實例。在一個實施例中,“10”是兩個連續(xù)的比特-邏輯0(或者高),跟隨有邏輯0(或者低)?!?0”的每個實例利用O替換。在一個示例中,“00”是兩個連續(xù)的邏輯低比特并且由單個邏輯低替換。
[0092]IR代碼生成器1120將中間信號比特流轉(zhuǎn)換為紅外代碼??梢砸詷?biāo)號-空號格式對紅外代碼進行編碼。重復(fù)代碼模塊1110將重復(fù)代碼段與紅外代碼分離。重復(fù)代碼模塊1110使用機器學(xué)習(xí)處理器或者類似算法確定重復(fù)代碼段。在一些示例實施例中,重復(fù)代碼模塊1110還可以存儲重復(fù)代碼。
[0093]附加的配置考慮
[0094]所公開的示例實施例有益地使得在移動設(shè)備上發(fā)送和接收信號。具有紅外信號處理硬件的傳統(tǒng)的計算設(shè)備100可能能夠發(fā)送和接收紅外信號。然而,附加硬件增加制造移動設(shè)備的成本并且增加移動設(shè)備內(nèi)的功耗。通過使用軟件處理所發(fā)送和所接收的紅外信號,移動設(shè)備100可以在沒有附加硬件的情況下處理紅外信號。此外,在將經(jīng)處理的信號發(fā)送到IR系統(tǒng)150之前上采樣經(jīng)處理的信號或者調(diào)節(jié)時鐘速度允許IR系統(tǒng)150在不壓縮時域中的信號的情況下以總線比特率傳送經(jīng)處理的信號。因此,IR系統(tǒng)150不需要在輸出IR信號之前進一步修改或者變換經(jīng)處理的信號。
[0095]貫穿本說明書,多個實例可以實現(xiàn)如單個實例所描述的部件、操作或者結(jié)構(gòu)。盡管一個或多個方法的單獨的操作圖示并且描述為單獨的操作,但是可以同時執(zhí)行單獨的操作中的一個或多個操作,并且不要求以所圖示的順序執(zhí)行操作。呈現(xiàn)為示例配置中的分離的部件的結(jié)構(gòu)和功能性可以被實現(xiàn)為組合的結(jié)構(gòu)或者部件。類似地,如單個部件所呈現(xiàn)的結(jié)構(gòu)和功能性可以被實現(xiàn)為分離的部件。這些和其他變型、修改、添加和改進都落在本文中的主題的范圍內(nèi)。
[0096]某些實施例在本文中被描述為包括若干部件、模塊或者機構(gòu),例如,如圖1和2所圖示的。模塊可以構(gòu)成軟件模塊(例如,編碼在機器可讀介質(zhì)上或者傳輸信號中的代碼)或硬件模塊。硬件模塊是能夠執(zhí)行某些操作的有形單元并且可以以某種方式配置或者布置。在示例實施例中,一個或多個計算機系統(tǒng)(例如,單獨的客戶端或者服務(wù)器計算機系統(tǒng))或者計算機系統(tǒng)的一個或多個硬件模塊(例如,處理器或者一組處理器)可以由軟件(例如,應(yīng)用或者應(yīng)用部分)配置為操作以執(zhí)行如本文所描述的某些操作的硬件模塊。
[0097]在各種實施例中,可以機械地或者電子地實現(xiàn)硬件模塊。例如,硬件模塊可以包括永久地被配置為(例如,專用處理器,諸如現(xiàn)場可編程門陣列(FPGA)或者專用集成電路(ASIC))執(zhí)行某些操作的專用電路或者邏輯。硬件模塊還可以包括暫時由軟件配置為執(zhí)行某些操作的可編程邏輯或者電路(例如,如包含在通用處理器或者其他可編程處理器內(nèi))。將理解到,可以根據(jù)成本和時間考慮而驅(qū)動在專用和永久配置電路中或者在暫時配置電路中(例如,由軟件所配置的)機械地實現(xiàn)的硬件模塊的決策。
[0098]可以通過一個或多個處理器(例如處理器110)至少部分執(zhí)行本文所描述的示例方法的各種操作,該處理器(例如,通過軟件)暫時配置或者永久配置為執(zhí)行相關(guān)操作。無論暫時或者永久地,這樣的處理器可以構(gòu)成用于操作以執(zhí)行功能的一個或多個操作的處理器實現(xiàn)的模塊。在一些示例實施例中,本文所提到的模塊可以包括處理器實現(xiàn)的模塊。
[0099]一個或多個處理器110還可以操作以支持“云計算”環(huán)境中的相關(guān)操作的性能或者作為“軟件即服務(wù)(SaaS)”。例如,可以通過一組計算機(作為包括處理器的機器的示例)執(zhí)行操作中的至少一些操作,這些操作是經(jīng)由網(wǎng)絡(luò)(例如,因特網(wǎng))并且經(jīng)由一個或多個適當(dāng)?shù)慕涌?例如,應(yīng)用程序接口(API))可訪問的。
[0100]某些操作的性能可以分布在不僅駐留在單個機器內(nèi)而且跨若干機器部署的一個或多個處理器110中間。在一些示例實施例中,一個或多個處理器110或者處理器實現(xiàn)的模塊可以位于單個地理位置(例如,在家庭環(huán)境、辦公室環(huán)境或者服務(wù)器群內(nèi))。在其他示例實施例中,可以跨越若干地理位置分布一個或多個處理器110或者處理器實現(xiàn)的模塊。
[0101]在存儲為機器存儲器(例如,計算機存儲器120)內(nèi)的比特或者二進制數(shù)字信號的數(shù)據(jù)的操作的算法或者符號表示方面呈現(xiàn)本說明書的一些部分。這些算法或者符號表示是由數(shù)據(jù)處理領(lǐng)域的普通技術(shù)人員用于將其工作的實質(zhì)傳達給本領(lǐng)域的技術(shù)人員的技術(shù)的示例。如本文所使用的,“算法”是導(dǎo)致期望的結(jié)果的操作或者類似過程的自相一致的序列。在該上下文中,算法和操作涉及物理量的物理操縱。通常但不一定,這樣的量可以以能夠由機器存儲、訪問、傳送、組合、比較或者操縱的電氣、磁性或者光學(xué)信號的形式。主要出于習(xí)慣用語的原因,有時便于指代使用諸如“數(shù)據(jù)”、“內(nèi)容”、“比特”、“值”、“元素”、“符號”、“字母,,、“術(shù)語”、“數(shù)目”、“數(shù)字”等的詞語的這樣的信號。然而,這些詞語僅是方便的標(biāo)簽并且將與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)。
[0102]除非另外特別聲明,否則使用諸如“處理”、“計算”、“運算”、“確定”、“呈現(xiàn)”、“顯示”等的詞語的本文中的討論可以是指操縱或者變換表示為一個或多個存儲器120(例如,易失性存儲器、非易失性存儲器或者其組合)、寄存器或者接收、存儲、傳送或者顯示信息的其他機器部件內(nèi)的物理(例如,電子、磁性或者光學(xué))量的數(shù)據(jù)的機器(例如,計算機)的動作或者過程。
[0103]如本文所使用的,對“一個實施例”或者“實施例”的任何引用意指結(jié)合實施例所描述的特定元素、特征、結(jié)構(gòu)或者特點包括在至少一個實施例中。說明書中的各個地方的短語“在一個實施例中”的出現(xiàn)不一定全部是指相同的實施例。
[0104]可以使用表達“耦合”和“連接”連同其衍生詞描述一些實施例。例如,可以使用指示兩個或兩個以上元件直接物理或者電氣接觸的術(shù)語“耦合”描述一些實施例。然而,術(shù)語“耦合”還可以意指兩個或兩個以上元件彼此不直接接觸,但是仍然彼此協(xié)作或者交互。在該上下文中,實施例不是有限的。
[0105]如本文所使用的,術(shù)語“包括”、“包含”、“含有”、“具有”、“有”或者其任何其他變型旨在涵蓋非排他性包括。例如,包括一系列元素的過程、方法、制品或者裝置不一定限于僅那些元素,而是可以包括未明確列出或者這樣的過程、方法、制品或者裝置固有的其他元素。而且,除非明確聲明相反,否則“或者”是指包括性或者而不是排他性或者。例如,條件A或者B由以下中的任一項滿足:A是真(或者存在)并且B是假(或者不存在),A是假(或者不存在)并且B是真(或者存在),并且A和B二者是真(或者存在)。
[0106]另外,“一”或者“一個”的使用被用于描述本文中的實施例的元件和部件。這僅出于方便和給定本發(fā)明的一般意義而完成。本描述應(yīng)當(dāng)閱讀為包括一個或至少一個,并且除非其另外意指是明顯的,否則單數(shù)還包括復(fù)數(shù)。
[0107]在閱讀本公開內(nèi)容時,本領(lǐng)域的技術(shù)人員還將理解通過本文中的所公開的原理的用于在移動設(shè)備上生成和接收紅外信號的系統(tǒng)和過程的附加的備選結(jié)構(gòu)和功能設(shè)計。因此,雖然已經(jīng)圖示和描述特定實施例和應(yīng)用,但是應(yīng)當(dāng)理解,所公開的實施例不限于本文所公開的精確的構(gòu)建和部件。在不脫離所附的權(quán)利要求書中定義的精神和范圍的情況下,可以在本文所公開的方法和裝置的布置、操作和細節(jié)中做出將對本領(lǐng)域的技術(shù)人員顯而易見的各種修改、改變和變型。
【主權(quán)項】
1.一種在計算設(shè)備上生成紅外信號的方法,包括: 接收將處理器連接到在被配置在所述計算設(shè)備上的紅外系統(tǒng)的數(shù)據(jù)總線的操作頻率,所述操作頻率基于所述數(shù)據(jù)總線的時鐘信號; 生成包括多個比特的經(jīng)處理的信號; 通過經(jīng)由所述數(shù)據(jù)總線將所述經(jīng)處理的信號從所述處理器傳送到所述紅外系統(tǒng)來生成時域中的紅外信號,其中所述紅外系統(tǒng)忽略所述數(shù)據(jù)總線的所述時鐘信號。2.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)總線是串行外圍設(shè)備接口(SPI)總線。3.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)總線是集成IC聲音(I2S)總線。4.根據(jù)權(quán)利要求1所述的方法,還包括接收原始紅外代碼,其中所述經(jīng)處理的信號從所述原始紅外代碼被生成。5.根據(jù)權(quán)利要求4所述的方法,其中所述原始紅外代碼是符號/空格格式。6.根據(jù)權(quán)利要求4所述的方法,其中所述原始紅外代碼與載波頻率相關(guān)聯(lián)。7.根據(jù)權(quán)利要求6所述的方法,其中所述操作頻率等于所述載波頻率。8.根據(jù)權(quán)利要求6所述的方法,其中所述載波頻率基于對由所述紅外系統(tǒng)接收的載波波形的分析而被確定。9.根據(jù)權(quán)利要求1所述的方法,還包括對所述經(jīng)處理的信號進行調(diào)制。10.根據(jù)權(quán)利要求9所述的方法,其中所述經(jīng)處理的信號通過在所述經(jīng)處理的信號中的每個比特之后附加邏輯O比特而被調(diào)制。11.根據(jù)權(quán)利要求1所述的方法,還包括對所述經(jīng)處理的信號進行上采樣。12.根據(jù)權(quán)利要求11所述的方法,其中所述經(jīng)處理的信號被上采樣,使得以所述操作頻率輸出的經(jīng)上采樣的所述經(jīng)處理的信號在所述時域中匹配以載波頻率輸出的非上采樣的所述經(jīng)處理的信號。13.根據(jù)權(quán)利要求12所述的方法,其中對所述經(jīng)處理的信號進行上采樣包括: 基于所述載波頻率和所述操作頻率,確定要附加到所述經(jīng)處理的信號中的每個比特的重復(fù)比特的數(shù)目;以及 將重復(fù)比特的所述數(shù)目逐位附加到所述經(jīng)處理的信號中的每個比特。14.一種用于在紅外設(shè)備上生成紅外信號的系統(tǒng),包括: 處理器; 紅外通信模塊,所述紅外通信模塊輸出所述紅外信號;以及 數(shù)據(jù)總線,所述數(shù)據(jù)總線將所述紅外通信模塊連接到所述處理器,所述數(shù)據(jù)總線具有基于時鐘信號的操作頻率,所述紅外通信模塊忽略所述時鐘信號, 其中所述處理器被配置為生成包括多個比特的經(jīng)處理的信號,所述經(jīng)處理的信號通過所述數(shù)據(jù)總線被傳送到所述紅外通信模塊。15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述數(shù)據(jù)總線是串行外圍設(shè)備接口(SPI)總線。16.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述數(shù)據(jù)總線是集成IC聲音(I2S)總線。17.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述處理器還被配置為接收原始紅外代碼,其中所述經(jīng)處理的信號從所述原始紅外代碼被生成。18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述原始紅外代碼是符號/空格格式。19.根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述原始紅外代碼與載波頻率相關(guān)聯(lián)。20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述操作頻率等于所述載波頻率。21.根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述載波頻率基于對由所述紅外系統(tǒng)接收的載波波形的分析而被確定。22.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述處理器還被配置為對所述經(jīng)處理的信號進行調(diào)制。23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述經(jīng)處理的信號通過在所述經(jīng)處理的信號中的每個比特之后附加邏輯O比特而被調(diào)制。24.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述處理器還被配置為對所述經(jīng)處理的信號進行上采樣。25.根據(jù)權(quán)利要求24所述的系統(tǒng),其中所述經(jīng)處理的信號被上采樣,使得以所述操作頻率輸出的經(jīng)上采樣的所述經(jīng)處理的信號在時域中匹配以載波頻率輸出的非上采樣的所述經(jīng)處理的信號。26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中對所述經(jīng)處理的信號進行上采樣包括: 基于所述載波頻率和所述操作頻率,確定要附加到所述經(jīng)處理的信號中的每個比特的重復(fù)比特的數(shù)目;以及 將重復(fù)比特的所述數(shù)目逐位附加到所述經(jīng)處理的信號中的每個比特。27.—種接收紅外信號以在計算設(shè)備上生成紅外代碼的的方法,包括: 由處理器生成數(shù)據(jù)總線上的時鐘信號,所述數(shù)據(jù)信號將紅外系統(tǒng)連接到被配置在所述計算設(shè)備上的所述處理器,所述紅外系統(tǒng)忽略所述時鐘信號;以及在所述紅外系統(tǒng)處接收用于在所述數(shù)據(jù)總線上傳輸?shù)募t外信號; 通過以由所述時鐘信號確定的操作頻率對所述紅外信號進行采樣,來通過所述數(shù)據(jù)總線在所述處理器上生成中間信號,所述中間信號包括多個比特。28.根據(jù)權(quán)利要求27所述的方法,其中所述數(shù)據(jù)總線是串行外圍設(shè)備接口(SPI)總線。29.根據(jù)權(quán)利要求27所述的方法,其中所述數(shù)據(jù)總線是集成IC聲音(I2S)總線。30.根據(jù)權(quán)利要求27所述的方法,還包括至少部分地基于所述中間信號來生成紅外代碼。31.根據(jù)權(quán)利要求30所述的方法,還包括移除所述紅外代碼的重復(fù)代碼段,其中重復(fù)代碼段包括被編碼在所述紅外信號中的信息的重復(fù)實例。32.根據(jù)權(quán)利要求30所述的方法,其中所生成的紅外代碼還基于載波頻率。33.根據(jù)權(quán)利要求32所述的方法,還包括基于對所述紅外信號的波形的分析來確定所述載波頻率。34.根據(jù)權(quán)利要求32所述的方法,其中所述操作頻率被設(shè)定為等于所述載波頻率。35.根據(jù)權(quán)利要求27所述的方法,還包括對所述中間信號進行下采樣。36.根據(jù)權(quán)利要求35所述的方法,其中所述中間信號通過下采樣因子來下采樣,所述下采樣因子基于所述操作頻率和載波頻率。37.根據(jù)權(quán)利要求27所述的方法,還包括對所述中間信號進行解調(diào)。38.根據(jù)權(quán)利要求37所述的方法,其中對所述中間信號進行解調(diào)包括移除所述中間信號中的交替比特,其中每個交替比特是邏輯O比特。39.根據(jù)權(quán)利要求38所述的方法,其中所述交替比特使用統(tǒng)計處理而被標(biāo)識。40.—種用于在計算設(shè)備上接收紅外信號的系統(tǒng),包括: 處理器; 紅外通信模塊,所述紅外通信模塊接收紅外信號;以及 數(shù)據(jù)總線,所述數(shù)據(jù)總線將所述紅外通信模塊連接到所述處理器,所述數(shù)據(jù)總線具有基于來自所述處理器的時鐘信號的操作頻率,所述紅外通信模塊忽略所述時鐘信號,所述處理器被配置為通過以所述數(shù)據(jù)總線的所述操作頻率對由所述紅外通信模塊接收的所述紅外信號進行采樣來生成中間信號。41.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述數(shù)據(jù)總線是串行外圍設(shè)備接口(SPI)總線。42.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述數(shù)據(jù)總線是集成IC聲音(I2S)總線。43.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述處理器還被配置為至少部分地基于所述中間信號來生成紅外代碼。44.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述處理器還被配置為移除所述紅外代碼的重復(fù)代碼段,其中重復(fù)代碼段包括被編碼在所述紅外信號中的信息的重復(fù)實例。45.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所生成的紅外代碼還基于載波頻率。46.根據(jù)權(quán)利要求45所述的系統(tǒng),其中所述處理器還被配置為基于對所述紅外信號的波形的分析來確定所述載波頻率。47.根據(jù)權(quán)利要求45所述的系統(tǒng),其中所述操作頻率被設(shè)定為等于所述載波頻率。48.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述處理器還被配置為對所述中間信號進行下米樣。49.根據(jù)權(quán)利要求48所述的系統(tǒng),其中所述中間信號通過下采樣因子來下采樣,所述下采樣因子基于所述操作頻率和載波頻率。50.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述處理器還被配置為對所述中間信號進行解調(diào)。51.根據(jù)權(quán)利要求50所述的系統(tǒng),其中對所述中間信號進行解調(diào)包括移除所述中間信號中的交替比特,其中每個交替比特是邏輯O比特。52.根據(jù)權(quán)利要求51所述的系統(tǒng),其中所述交替比特使用統(tǒng)計處理而被標(biāo)識。53.—種在計算設(shè)備上生成紅外信號的方法,包括: 接收將處理器連接到在被配置在所述計算設(shè)備上的紅外系統(tǒng)的數(shù)據(jù)總線的操作頻率,所述操作頻率基于對所述數(shù)據(jù)總線的時鐘信號的輸入; 接收以符號/空格格式的原始紅外代碼和所述原始紅外代碼應(yīng)當(dāng)被輸出的載波頻率; 生成包括多個比特的經(jīng)處理的信號,所述經(jīng)處理的信號基于以符號/空格格式的所述原始紅外代碼; 根據(jù)所述載波頻率來對所述經(jīng)處理的信號進行調(diào)制以創(chuàng)建經(jīng)調(diào)制的信號; 對所述經(jīng)調(diào)制的信號進行上采樣以創(chuàng)建經(jīng)上采樣的信號,以所述操作頻率輸出的所述經(jīng)上采樣的信號在時域中匹配以所述載波頻率輸出的所述經(jīng)調(diào)制的信號;以及 通過在處理器與所述數(shù)據(jù)總線之間傳送所述經(jīng)上采樣的信號,并且當(dāng)將所述經(jīng)上采樣的信號從所述數(shù)據(jù)總線輸出到所述紅外系統(tǒng)時通過斷開所述數(shù)據(jù)總線的所述時鐘信號,來生成所述時域中的紅外信號。54.根據(jù)權(quán)利要求53所述的方法,其中對所述經(jīng)處理的信號進行調(diào)制還包括: 在所述經(jīng)處理的信號中的每個比特之后附加邏輯O比特。55.根據(jù)權(quán)利要求53所述的方法,其中對所述經(jīng)調(diào)制的信號進行上采樣還包括: 基于所述載波頻率和所述操作頻率,確定要附加到所述經(jīng)調(diào)制的信號中的每個比特的重復(fù)比特的數(shù)目;以及 將重復(fù)比特的所述數(shù)目逐位附加到所述經(jīng)調(diào)制的信號中的每個比特。56.根據(jù)權(quán)利要求53所述的方法,其中所述數(shù)據(jù)總線是串行外圍設(shè)備接口(SPI)總線。57.根據(jù)權(quán)利要求53所述的方法,其中所述數(shù)據(jù)總線是I2S總線。58.—種用于在紅外設(shè)備上生成紅外信號的系統(tǒng),包括: 處理器; 紅外通信模塊,所述紅外通信模塊輸出所述紅外信號;以及 數(shù)據(jù)總線,所述數(shù)據(jù)總線將所述紅外通信模塊連接到所述處理器,所述數(shù)據(jù)總線具有基于從所述處理器接收的、但是與所述紅外通信模塊斷開的時鐘信號的操作頻率, 其中所述處理器生成包括多個比特的經(jīng)處理的信號, 其中所述處理器還通過在所述經(jīng)處理的信號中的每個比特之后附加邏輯O比特來生成經(jīng)調(diào)制的信號, 其中所述處理器還通過將所述經(jīng)調(diào)制的信號上采樣到所述數(shù)據(jù)總線的所述操作頻率來生成經(jīng)上采樣的信號,所述經(jīng)上采樣的信號通過所述數(shù)據(jù)總線被傳送到所述紅外通信模塊。59.根據(jù)權(quán)利要求58所述的系統(tǒng),其中所述數(shù)據(jù)總線是串行外圍設(shè)備接口(SPI)總線。60.—種接收紅外信號以在計算設(shè)備上生成紅外代碼的方法,包括: 生成來自處理器的、數(shù)據(jù)總線上的時鐘信號,所述數(shù)據(jù)總線將紅外系統(tǒng)連接到被配置在所述計算設(shè)備上的所述處理器,所述時鐘信號與所述紅外系統(tǒng)斷開; 在所述紅外系統(tǒng)處接收在數(shù)據(jù)總線上被傳送的紅外信號; 通過以由所述時鐘信號確定的操作頻率對所述紅外信號進行采樣,來通過所述數(shù)據(jù)總線在所述處理器上生成中間信號,所述中間信號包括多個比特; 接收所述紅外信號的波形; 基于對所述波形的分析,確定所述紅外信號的載波頻率;以及 基于所述中間信號和所述載波頻率,生成所述紅外代碼。61.根據(jù)權(quán)利要求60所述的方法,還包括: 通過下采樣因子在時域中對所述中間信號進行下采樣,所述下采樣因子基于操作頻率和所述載波頻率,所述操作頻率基于所述時鐘信號,其中所述載波頻率低于所述操作頻率;以及 在所述時域中對所述中間信號進行解調(diào)。62.根據(jù)權(quán)利要求61所述的方法,其中所述下采樣因子基于所述載波頻率與所述數(shù)據(jù)總線的所述操作頻率之間的差。63.根據(jù)權(quán)利要求61所述的方法,其中對所述中間信號進行解調(diào)包括移除所述中間信號中的交替邏輯比特,其中所述交替比特中的每個交替比特是邏輯O。64.根據(jù)權(quán)利要求60所述的方法,其中所述數(shù)據(jù)總線是SPI總線。65.根據(jù)權(quán)利要求60所述的方法,其中所述數(shù)據(jù)總線是I2S總線。66.—種用于在計算設(shè)備上接收紅外信號的系統(tǒng),包括: 處理器; 紅外通信模塊,所述紅外通信模塊接收紅外信號;以及 數(shù)據(jù)總線,所述數(shù)據(jù)總線將所述紅外通信模塊連接到所述處理器,所述數(shù)據(jù)總線具有基于來自所述處理器的時鐘信號的操作頻率,所述時鐘信號與所述紅外通信模塊斷開,所述處理器被配置為: 通過以所述數(shù)據(jù)總線的所述操作頻率對由所述紅外通信模塊接收的所述紅外信號進行采樣,來生成中間信號; 接收所述紅外信號的波形; 基于對所述波形的分析,確定所述紅外信號的載波頻率;以及 基于所述中間信號,生成以符號/空格格式的紅外代碼。67.根據(jù)權(quán)利要求66所述的系統(tǒng),其中所述處理器還被配置為對所述中間信號進行解調(diào)。68.根據(jù)權(quán)利要求66所述的系統(tǒng),其中所述處理器還被配置為從所述中間信號移除一個或多個前導(dǎo)邏輯比特和拖尾邏輯比特。69.根據(jù)權(quán)利要求66所述的系統(tǒng),其中所述處理器還被配置為在時域中對所述中間信號進行下采樣。70.根據(jù)權(quán)利要求69所述的系統(tǒng),其中下采樣還包括確定用于對所述中間信號進行下采樣的下采樣因子。71.根據(jù)權(quán)利要求66所述的系統(tǒng),其中所述數(shù)據(jù)總線是串行外圍設(shè)備接mSPI)總線。72.根據(jù)權(quán)利要求66所述的系統(tǒng),其中所述數(shù)據(jù)總線是I2S總線。
【文檔編號】G08C23/04GK105934752SQ201580002408
【公開日】2016年9月7日
【申請日】2015年2月3日
【發(fā)明人】S·S·梅特拉尼, S·S·穆薩卡馬拉薩米
【申請人】皮爾技術(shù)公司