昊芯2號紅外遙控芯片規(guī)格書_第1頁
昊芯2號紅外遙控芯片規(guī)格書_第2頁
昊芯2號紅外遙控芯片規(guī)格書_第3頁
昊芯2號紅外遙控芯片規(guī)格書_第4頁
昊芯2號紅外遙控芯片規(guī)格書_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE57昊芯2號紅外遙控芯片規(guī)格書前序昊云系列紅外遙控學習模塊是本公司昊芯2號紅外遙控芯片方案的具體硬件體現。目前模塊配套的資料有規(guī)格書(通信協(xié)議),全功能PC測試軟件,紅外數據庫,電路原理圖等,很多用戶在使用紅外遙控模塊時提出很多疑問,如通信協(xié)議太枯燥,不容易看懂(估計也沒幾個人完整看完過);怎樣在實際產品設計中應用通信協(xié)議;紅外數據庫怎么使用或調入以及硬件PCB設計出來后遇到各種硬件問題等等。為此有必要出一份資料,詳細介紹紅外遙控學習方案的具體產品應用,拉近實際應用與技術方案的距離,建立連接技術方案與實際應用的橋梁,為用戶能更好應用此方案提供參考。硬件篇:芯片引腳圖典型電路:本篇旨在介紹紅外遙控方案硬件性能和使用注意事項,并為產品結構設計提出建議,以便能更好發(fā)揮硬件的性能紅外載波學習是本方案的核心硬件技術,本公司模塊優(yōu)秀的性能得益于對該技術的應用??梢詫W習紅外載波15kHz--80kHz,常見的紅外載波頻率是38kHz,也有56kHz、31kHz、36kHz、40kHz的。所以對載波要能學習就很有必要。如果說傳統(tǒng)的非載波學習方式是紅外之表皮,而載波學習方式是深入紅外之骨髓,它能更清晰,精確,內涵地展現紅外信號的輪廓和細節(jié),更能準確還原紅外信號,如果把非載波學習比作180萬像素攝像頭,載波學習就相當于1800萬像素。那么怎樣才能學習到更精確、準確的紅外信號呢?這就對學習操作提出一些規(guī)范,其中最重要的一點見下圖:有人問我為什么我們的方案不能像別家的那樣可以遠距離學習或者在現有方案上加信號放大電路實現遠距離學習。初看遠距離學習有一定的吸引力,其實我可以負責任的告訴大家,遠距離學習這個所謂的優(yōu)勢恰恰就是它的最大的劣勢。 首先遠距離學習必須采用三腳的一體式紅外接收頭這種元件內部有信號放大電路,增益達到10000倍;38kHz特定濾波電路,只能識別38kHz載波的紅外信號,出來的給處理器的紅外信號已經不存在載波信號了,所以它不能學習載波,只能學習載波為38kHz的紅外信號。其次增益如此之高自然接收靈敏度就很高,所以它能遠距離學習,靈敏度高對于有用的遙控器發(fā)出的微弱信號能接收,但環(huán)境光的干擾和噪聲信號也同樣被放大,這是把雙刃劍。嚴重時干擾和噪聲可能淹沒有用的信號,造成根本無法學習,具體表現就是還沒等你拿起遙控器按,環(huán)境光干擾已經是讓處理器觸發(fā)了。輕一點也會造成有用信號的失真,丟失部分有用信號,這樣學習就不準確了,而且距離越遠有用信號越弱,越容易被環(huán)境光干擾淹沒,學習效果就越差。非載波方式在本公司屬于淘汰方案,早在3年前就停止使用。我們曾經測試過采用一體式接收頭的非載波方案在白天(非太陽天)一般公司辦公桌窗前是無法學習的,為此用戶總是抱怨我們,必須在很暗的環(huán)境下才能學習。而且還有一個很要命的問題,遙控器橫著,豎著,斜著,距離遠點,距離近點學出來的數據都不一樣,差別大到足以一個在天堂一個在地獄,距離越遠這種不確定性越大,你讓用戶學習時如何確定最佳狀態(tài)呢!是不現實的。為了僅僅的遠距離炫耀而丟失了起碼的信號保真是舍本求末。有了以上諸多弊病,如何有效解決呢!采用抗環(huán)境光干擾型的紅外接收二極管配合小增益電平提升電路(我們不叫信號放大電路),再加上規(guī)范用戶學習時的操作是解決之道。電平提升電路出來的是與處理器電平匹配的信號,可以直接處理,近距離和正角度保證足夠的信噪比,讓有用的信號強勁抑制環(huán)境光干擾和噪聲信號。同時采集的遙控器發(fā)出的原始信號含有載波信號,處理器可以學習載波信號頻率,一舉兩得。由于紅外接收二極管的重要性,在實際應用中,必須要求紅外接收二極管的圓頭端充分暴露在遙控器很容易照射到的地方,裸露在外面或中間隔一層透紅外光的玻璃都可以??赡苡行┯脩魰岢鰜頃o結構設計帶來不方便,裸露在外面會影響美觀,增加結構設計的復雜度;如果外殼通體采用透紅外光的材料就看不見里面,但學習時也無法找到紅外接收二極管的準確位置,為此我們對結構設計提出一些建議。1)若采用開孔裸露的方式,為了不影響外殼整體流線型,可以開隧道型孔,這樣從外面直接就可以找到紅外接收管的準確位置。2)若采用整體透紅外光的有機玻璃做外殼,在紅外接收管的位置打上明顯的定位標志,最好做成發(fā)光體。實物參考:3)在紅外接收管的位置安放指示燈。3.學習時除了要注意正對和距離還要注意學習時按了遙控器切記不要立即拿開,要保持姿勢等到模塊的指示燈閃了或收到模塊回復00才拿開,因為有的遙控器按了按鍵不是立即發(fā)出紅外信號,要等一會兒才會發(fā)出紅外信號,提早拿開遙控器就可能損失掉部分紅外信號。4.為了保證硬件性能,有些關鍵元器件必須采用我們指定的型號,我們可以推薦這些元器件供應商。紅外發(fā)射管采用深圳智慧電子的ZH-5124IRCFT,長腳為正,短腳為負紅外接收管采用深圳智慧電子的ZH-51230DK6000G,長腳為正,短腳為負三極管分為NPN型和PNP型見下圖:5.指示燈 本方案的指示燈不是必備,但還是建議在設計pcb時保留,它可以指示紅外芯片的各種狀態(tài),便于直接通過肉眼觀察紅外芯片的工作情況以及不正常時可以直接觀察到。下面列出幾個指示燈的現象:1)上電時指示燈“嘀”閃一下然后熄滅:紅外芯片正常上電,程序正常運行。2)上電時指示燈常亮或不停地閃爍:紅外芯片固件程序可能沒有燒進去或外圍硬件自檢沒通過或紅外芯片損壞。3)上電時指示燈不亮:紅外芯片損壞或電源短路或電源接反了。4)正常工作時收到發(fā)射命令發(fā)射紅外碼指示燈“嘀”閃一下,指示燈閃的時間長短由紅外碼的長短決定,紅外碼越長指示燈亮的時間越久,也就是說發(fā)射時間越長。5)正常工作時收到發(fā)射命令若紅外碼是空的,指示燈很微弱地閃一下。6)正常工作時收到發(fā)射命令若紅外碼非法的,指示燈“嘀嘀嘀”地閃三下。7)正常工作時收到發(fā)射命令,指示燈會連續(xù)閃兩下,一短一長,表示發(fā)射紅外碼時電源帶不起。8)正常工作時收到非法命令指示燈“嘀嘀嘀”地閃三下。9)收到學習命令指示燈常亮,然后收到要學習的命令指示燈“嘀”熄閃一下。10)學習成功(這里的成功是指判別到采集的紅外信號沒有明顯錯誤或雜波,不代表實際能不能成功控制被學習的電器,任何紅外學習方案也無法做到能準確判別能不能成功控制電器,就像編譯軟件只能檢查程序中的語法錯誤但無法判斷程序運行結果是否正確)指示燈“嘀”熄閃一下。11)學習不成功指示燈“嘀嘀嘀”熄閃三下。12)收到退出學習的命令,指示燈由常亮變成熄滅,進入了正常工作。13)在數據下載和上傳時指示燈會按照進行的節(jié)奏閃爍。6.TTL串口TTL串口是模塊的門戶,所有進出模塊的命令,數據都通過它,不僅用于傳輸控制命令和控制數據給模塊,也可以進行數據下載和上傳數據等功能。TTL串口有如此重要的作用,很多用戶比如做的產品是wifi,藍牙或zigbee,485來控制,還留著TTL串口出來干嘛!忽視了它的存在。建議在設計PCB或外殼結構時還是保留TTL串口的位置,至少在PCB板一個不起眼的位置設一個4P小插座或簡單的單排插針也好,最好是在外殼開個口,引到外殼可以對外。為什么要這樣?TTL串口作為最簡單的物理串口,穩(wěn)定,可靠,你設計的wifi,藍牙等一系列復雜控制的產品假如出現問題,故障不好判斷誰出了問題,用TTL串口來找問題,判斷故障原因是最方便最快捷的方式。這一點很重要!我們的紅外數據庫可以通過串口下載給模塊,免于一個一個學習;今天學習了一個紅外數據庫里沒有的空調數據我想上傳加進庫里;但是較為復雜的下載和上傳的通信協(xié)議讓一些用戶望而卻步(說實話,藍牙我們已經實現了這個協(xié)議,wifi應該也可以,但我們沒有實踐過,zigbee就別想了,485更是奇葩)。一些急于將產品推向市場的用戶可以在上位機軟件或APP中只做簡單的命令控制就行了,暫時不屑做復雜的協(xié)議傳輸程序,有了預留的TTL串口配合我們的簡陋但功能全面的PC測試軟件可以完美實現紅外數據庫下載和上傳,以備不實之需。3)固件程序升級也靠它(當然必須由方案供應商來做這個事)TTL串口不是232串口,這一點很多用戶混為一談,TTL串口是直接單片機IO出來的串口,電平是供電電壓水平,比如5V供電的單片機TTL串口電平是0--5V;3.3V供電的單片機TTL串口電平是0—3.3V;232串口是臺式機電腦的電平標準-12V--+12V,一般實際場合是-9V--+9V,最低-6V--+6V。負電壓表示邏輯1,正電壓表示邏輯0,所以TTL串口和232串口不是一回事,更不能直接相連,否則根本無法通信還可能損壞電路,所以它們之間連接必須加轉換電路,常用的是加MAX232芯片進行電平轉換。7.關于在全方位大功率發(fā)射時如何保證紅外主芯片穩(wěn)壓工作在排PCB時靠近紅外主芯片電源端對地并聯一個不小于47uF的膽電容或電解電容,同時在電源進入端加470uF大電解電容穩(wěn)住整個電路板的供電電壓,保證在5個或更多發(fā)射管同時發(fā)射瞬間,此電容能給紅外主芯片續(xù)能,避免能量瞬時泄放造成電源電壓陡降產生復位而不能正常發(fā)射紅外。紅外芯片的供電端需從板子電源端直接布線過來,中間不能有其他分支,尤其是像紅外發(fā)射這樣的大電流分支。鑒于以上,為了規(guī)范測試環(huán)境請盡量使用我們提供的與全方位紅外模塊配套的USB轉TTL,必須直接接電腦USB口,若用USB延長線可能會因為延長線的質量差,線損大造成發(fā)射時帶不起!芯片介紹和封裝本公司方案的核心為一個單芯片的紅外芯片,一個芯片搞定紅外學習,發(fā)射,存儲,下載,上傳等底層的全部內容。昊芯2號封裝尺寸芯片工作條件:工作電壓:5V工作電流:4--6mA建議電源采用5VDC/2A,紋波<20mv工作溫度:0度65度工作濕度:10%95%還有使用過程中電源接反也會造成芯片損壞,我們自己的板子都加了防電源反接的保護二極管,建議最好加上這個瞬態(tài)抑制二極管型號是SA5.0芯片焊接加工條件:芯片焊板前必須80—120攝氏度烘烤8—24小時去潮氣,因為芯片經過長途運輸可能會受潮。一般采用小型回流焊機,4溫區(qū)的,溫度是210—240攝氏度,板子從進口到出口不超過1分鐘時間,并且焊機接地良好。而大型加工廠有些采用的8溫區(qū),板子從進口到出口時間會多一倍,可能2—3分鐘,如果溫度調得高可能就容易燙壞。最高260攝氏度持續(xù)不超過10秒,一般回流焊都是調節(jié)在210—240,最高不超過245攝氏度,整個過回流焊的時間不要超過1分鐘。指令篇本方案有兩套指令集,自定義指令集和標準電器指令集自定義模式:全部采用自定義指令集來自己定義功能,自己學習的工作模式稱為自定義模式,也叫公共模式、大眾模式、用戶模式、傳統(tǒng)模式等等。很多人對自定義指令容易理解,這就是傳統(tǒng)的一對一方式,即一個指令對應一個功能的紅外碼,至于什么功能完全是你自己說了算,你想把什么指令定義成自己需要的功能就用這個指令學什么紅外的功能就行了。比如把40定義成“電視開機”,41定義成“音量加”,42定義成“音量減”等等,那么40就學習電視開機,41學習音量加,42學習音量減。自定義指令集分成兩部分單碼部分是40—ab108個十六進制單字節(jié)指令,對應著108個紅外碼。雙碼部分是ac—cf36個十六進制單字節(jié)指令,對應著72個紅外碼雙碼部分單碼部分為什么要分成兩部分?因為芯片內部的存儲器是兩部分,操作方式不同,所以使用、存儲、下載、上傳都要分開來管理。自定義模式就像是一張白紙,你在上面想怎么畫就怎么畫,完全按照自己的意愿去畫,畫成什么樣就是你個人的個性作品。就拿上面的例子比如把40定義成“電視開機”,41定義成“音量加”,42定義成“音量減”等等,那么40就學習電視開機,41學習音量加,42學習音量減等等,遙控界面就可以變成:自定義指令學習操作視頻鏈接:/v_show/id_XNjMxMDY0MjAw.html/v_show/id_XNjMxMDI5NjQw.html?qq-pf-to=pcqq.c2c很多人問我什么是單碼,什么是雙碼單碼是一個指令只對應一個紅外碼,一個紅外碼決定一個功能雙碼是一個指令對應兩個紅外碼,兩個紅外碼才能決定一個功能,也就是說兩個紅外碼必須輪流(所謂輪流不是說發(fā)一個雙碼指令出去后要把兩個紅外碼先后都發(fā)射一次,那不叫輪流。應該是發(fā)一個指令發(fā)射其中一個紅外碼,再發(fā)一下同樣的指令再發(fā)射另一個紅外碼,這才叫輪流)才能發(fā)揮出這個功能。兩個紅外碼可以不同,也可以相同,一般在飛利浦的電視遙控中用得較多?,F實中存在雙碼,存在就是合理的,存在就得有應對的辦法,盡管用得很少。鑒于雙碼只在電視中出現,所以建議電視使用雙碼,還是上例可以這樣來定義:把ac定義成“電視開機”,ad定義成“音量加”,ae定義成“音量減”等等,那么ac就學習電視開機,ad學習音量加,ae學習音量減等等,遙控界面就可以變成:使用自定義指令集的非自定義模式:還有人問我,不想一個一個學習,直接用我們的庫數據,但用自定義指令來控制可以不,當然可以的。下面是下載了電器數據后各自定義指令與功能對應表:電視機:自定義指令功能40電源A41電源B42TV/AVA43TV/AVB44音量加A45音量加B46音量減A47音量減B48下移49確認有人問我電視的指令怎么這么少!頻道加和頻道減怎么沒有,怎么沒有數字鍵等等?,F實中看電視絕多大數是電視機+機頂盒方式,采用廣電機頂盒遙控器來控制兩個電器,仔細看看廣電機頂盒遙控器上面控制電視的就是四個按鍵,電源、音量加、音量減、TV/AV,其他絕大多數看電視需要用到的按鍵都由機頂盒遙控器替代了,本數據庫的設計也是源自于此。 有些電視尤其是新出的電視在切換TV/AV時不是按一次TV/AV鍵就可以完成,按一次TV/AV鍵出現一個菜單,然后選到視頻源,再按確認鍵才完成,為此數據庫設計了“下移”和“確認”兩個功能,遇到這樣的電視要切換視頻需要先發(fā)42或43,再發(fā)48,最后發(fā)49來完成彈出TV/AV菜單、下移、確認一連串動作。機頂盒:自定義指令功能4a電源4b數字14c數字24d數字34e數字44f數字550數字651數字752數字853數字954靜音55數字056返回(本次選臺和上次選臺切換)57信息(本次選臺和節(jié)目簡介)58音量減59頻道加5a音量加5b確認5c頻道減 5d選擇電視5e自定義功能(可以學成任意功能)5f保留未用有人問我連發(fā)怎么實現?比如音量加減用得最多,其實很簡單,比如要連續(xù)增加音量,可以反復發(fā)5a指令,間隔時間300ms,這樣出來的效果就是音量不斷增加。有人問我要調到45頻道該怎么辦?也很簡單,你先發(fā)指令4e,間隔500ms后再發(fā)指令4f。同理123頻道可以發(fā)4b、4c、4d指令,時間間隔500ms。 還有人問我有些場合比如酒店,賓館里最多,看電視的方式不是電視機+機頂盒方式,是單單一個電視遙控器就控制所有的功能,這時候數據庫還是電視和機頂盒數據分開的該如何取舍,其實很簡單,雖然沒有實實在在的機頂盒擺在那里,也沒有專門的機頂盒遙控器,仔細看看這些電視遙控器上用到的那些按鍵不正是集合了上述電視和機頂盒那些按鍵嗎!都合在這個電視遙控器上了,你在存儲數據時一樣可以按照上述指令來學習或存儲,你就當有個虛擬機頂盒擺在那里,把這遙控器上按鍵數據分成電視和機頂盒來分別存儲。 現在流行的網絡機頂盒和農村、山區(qū)等偏遠地方流行衛(wèi)星接收機,其實功能也和電視機頂盒一樣,這套指令集也適用。電風扇:自定義指令功能60開機和換擋A61開機和換擋B62定時關機A63定時關機B64關機A65關機B現在的電風扇還有搖頭,風模式等,因為這是早期設計的庫結構(那時候的電風扇沒有這么多功能,搖頭就是手動按下搖頭柄),這些新功能只能采用未用到的自定義指令來學習了。DVD或播放器:自定義指令功能66電源A67電源B68彈出光盤A69彈出光盤B6a播放和暫停A6b播放和暫停B6c停止播放A6d停止播放B6e跳到上一個節(jié)目A6f跳到上一個節(jié)目B70跳到下一個節(jié)目A71跳到下一個節(jié)目B72確認A73確認B 現在DVD已經很少用了,高清播放器比較流行,其實播放器上面常用的按鍵無非也就是上面那些,可能有些新的其他功能,那就用自定義指令增加這些功能。電燈:74電燈175電燈276電燈377電燈4現在電燈一般采用射頻遙控的多,本方案基于紅外遙控,如果你的電燈是射頻遙控的,這4個命令你可以定義成其他的功能進行學習。比如現在功放比較多,可以用這幾個指令學習功放??照{:自定義指令功能7821攝氏度,

永動,定風,制冷模式7922攝氏度,

永動,定風,制冷模式7a23攝氏度,

永動,定風,制冷模式7b24攝氏度,

永動,定風,制冷模式7c25攝氏度,

永動,定風,制冷模式7d26攝氏度,

永動,定風,制冷模式7e27攝氏度,

永動,定風,制冷模式7f28攝氏度,

永動,定風,制冷模式8021攝氏度,

2小時定時關機,定風,制冷模式8122攝氏度,

2小時定時關機,定風,制冷模式8223攝氏度,

2小時定時關機,定風,制冷模式8324攝氏度,

2小時定時關機,定風,制冷模式8425攝氏度,

2小時定時關機,定風,制冷模式8526攝氏度,

2小時定時關機,定風,制冷模式8627攝氏度,

2小時定時關機,定風,制冷模式8728攝氏度,

2小時定時關機,定風,制冷模式8821攝氏度,

5小時定時關機,定風,制冷模式8922攝氏度,

5小時定時關機,定風,制冷模式8a23攝氏度,

5小時定時關機,定風,制冷模式8b24攝氏度,

5小時定時關機,定風,制冷模式8c25攝氏度,

5小時定時關機,定風,制冷模式8d26攝氏度,

5小時定時關機,定風,制冷模式8e27攝氏度,

5小時定時關機,定風,制冷模式8f28攝氏度,

5小時定時關機,定風,制冷模式9021攝氏度,

永動,擺風,制冷模式9122攝氏度,

永動,擺風,制冷模式9223攝氏度,

永動,擺風,制冷模式9324攝氏度,

永動,擺風,制冷模式9425攝氏度,

永動,擺風,制冷模式9526攝氏度,

永動,擺風,制冷模式9627攝氏度,

永動,擺風,制冷模式9728攝氏度,

永動,擺風,制冷模式9821攝氏度,

2小時定時關機,擺風,制冷模式9922攝氏度,

2小時定時關機,擺風,制冷模式9a23攝氏度,

2小時定時關機,擺風,制冷模式9b24攝氏度,

2小時定時關機,擺風,制冷模式9c25攝氏度,

2小時定時關機,擺風,制冷模式9d26攝氏度,

2小時定時關機,擺風,制冷模式9e27攝氏度,

2小時定時關機,擺風,制冷模式9f28攝氏度,

2小時定時關機,擺風,制冷模式A021攝氏度,

5小時定時關機,擺風,制冷模式A122攝氏度,

5小時定時關機,擺風,制冷模式A223攝氏度,

5小時定時關機,擺風,制冷模式A324攝氏度,

5小時定時關機,擺風,制冷模式A425攝氏度,

5小時定時關機,擺風,制冷模式A526攝氏度,

5小時定時關機,擺風,制冷模式A627攝氏度,

5小時定時關機,擺風,制冷模式A728攝氏度,

5小時定時關機,擺風,制冷模式A8通風模式A9保留未用AA開機(默認為26攝氏度,

永動,定風,制冷模式)AB關機CC21攝氏度,

永動,定風,制熱模式CC22攝氏度,

永動,定風,制熱模式CD23攝氏度,

永動,定風,制熱模式CD24攝氏度,

永動,定風,制熱模式CE25攝氏度,

永動,定風,制熱模式CE26攝氏度,

永動,定風,制熱模式CF27攝氏度,

永動,定風,制熱模式CF28攝氏度,

永動,定風,制熱模式空調就是這么復雜!這就是現實!所以我們設計了空調庫數據就是為了大大減少學習的復雜度。一旦靠下載紅外數據庫獲得數據那么自定義指令就成了固定功能了,就是上表對應的功能,當然你也可以按照上表來學習各自定義指令的功能,如果完全按照上表來學習,那么上傳得到的bin文件就和我們廠家的庫文件是一樣的結構,就可以加入到我們的數據庫中。如果完全下載我們的數據庫,但覺得里面的功能不夠用咋辦?上表中40—ab,cc—cf指令集已經使用了,這樣留給你可以使用的指令就是ac—cb這32個指令,你可以使用ac—cb指令去按照自己定義的功能去學習。標準電器模式:全部采用標準電器指令集的工作模式稱為標準電器模式,也叫廠家模式、特例模式、特定模式、固定功能模式等等。標準電器指令集是廠家占用的指令,范圍00—3f單字節(jié)十六進制指令,廠家給每個指令賦予了固定的紅外功能,也就是說你只要發(fā)送了這個命令,發(fā)出的紅外碼就一定而且只能是這個功能,當然學習時也必須學成這個功能。比如20這個指令你發(fā)送出去了那么就一定是發(fā)射電視開機這個紅外指令,在學習20這個指令時也必須學習電視開機紅外碼。 廠家選用了客廳常用的六種電器,電視機、機頂盒、空調、電風扇、DVD或播放器、電燈。指令與功能對應圖如下:電視和機頂盒遙控器不分家,所以合成在一個界面。“返回”的功能是上次的頻道和這次的頻道互相切換,也叫“回看”;“確認”的功能是選了復選頻道比如12頻道可以直接快速選中;“電視”的功能是如果現在機頂盒在廣播,點播或炒股狀態(tài)下可以直接進入電視狀態(tài);TV/AV是唯一一個連動鍵,它實現功能的過程是先彈出TV/AV菜單,然后下移,最后確認,以應對通過菜單來切換視頻的電視機。大多數電視是TV/AV可以直接切換視頻的,這樣的電視庫數據里下移和確認是空的,自然就不會發(fā)射??照{界面按鍵很少!但實現功能的邏輯關系最復雜,不是簡單的一對一關系。空調數據總共有52個紅外碼,從前面的表中自定義指令78—ab、cc—cf已經說明了空調的功能。我們設計了此空調界面方案用僅僅幾個按鍵通過一定的邏輯選擇關系將這52個紅外碼管理起來。實現了溫度21—28度循環(huán)設置、不定時,定時2小時關機,5小時關機循環(huán)設置、定風和擺風選擇、21—28度制熱、通風、開機,關機等功能?!伴_關機”鍵是開機和關機,開機固定為26度、不定時、定風、制冷模式“溫度”鍵調節(jié)21—28度循環(huán)設置“定時”鍵選擇不定時、2小時定時、5小時定時“風向”鍵選擇定風和擺風“通風”鍵選擇通風模式“制熱”鍵選擇21—28度制熱,循環(huán)設置 這里用專業(yè)一點的方式解釋,程序內部建立一個虛擬空調狀態(tài)的標志,用一個字節(jié)表示,這個標志分成4個定義域:空調狀態(tài)開關機未用風向選擇定時選擇溫度選擇D7D6D5D4、D3D2、D1、D00:關機1:開機0:定風1:擺風00:不定時01:2小時定時10:5小時定時000:21度001:22度010:23度011:24度100:25度101:26度110:27度111:28度按“開關機”鍵即發(fā)送指令2a只改變虛擬空調狀態(tài)的“開關機”域即D7位,變化范圍0和1。按“溫度”鍵即發(fā)送指令15只改變虛擬空調狀態(tài)的“溫度選擇”域即D2、D1、D0位,變化范圍000—111,代表了21—28度按“定時”鍵即發(fā)送指令25只改變虛擬空調狀態(tài)的“定時選擇”域即D4、D3位,變化范圍00—10,代表了不定時、2小時、5小時三種定時。按“風向”鍵即發(fā)送指令2d只改變虛擬空調狀態(tài)的“風向選擇”域即D5位,變化范圍0和1。內部程序根據這個狀態(tài)標志各個域的變化換算成自定義指令從而取出這個狀態(tài)的紅外碼發(fā)射。舉個例:1.關機狀態(tài)為:D7D6D5D4、D3D2、D1、D000000101關機這就是為什么在空調關機狀態(tài)下你發(fā)送15、25、2d、26空調控制指令都是返回05,內部程序將05換算成指令ab從而找到關機紅外碼。2.只有發(fā)送2a指令才能改變空調狀態(tài):D7D6D5D4、D3D2、D1、D010000101開機0定風不定時26度模塊返回85,內部程序將85換算成指令aa從而找到開機紅外碼。3.發(fā)送15指令空調狀態(tài):D7D6D5D4、D3D2、D1、D010000110開機0定風不定時27度模塊返回86,內部程序將86換算成指令7e從而找到27度、不定時、定風、制冷模式的紅外碼。4.發(fā)送15指令空調狀態(tài):D7D6D5D4、D3D2、D1、D010000111開機0定風不定時28度模塊返回87,內部程序將87換算成指令7d從而找到28度、不定時、定風、制冷模式的紅外碼。5.發(fā)送15指令空調狀態(tài):D7D6D5D4、D3D2、D1、D010000000開機0定風不定時21度模塊返回80,內部程序將80換算成指令78從而找到21度、不定時、定風、制冷模式的紅外碼。6.發(fā)送25指令空調狀態(tài):D7D6D5D4、D3D2、D1、D010001000開機0定風2小時定時21度模塊返回88,內部程序將88換算成指令80從而找到21度、2小時定時、定風、制冷模式的紅外碼。7.發(fā)送2d指令空調狀態(tài):D7D6D5D4、D3D2、D1、D010101000開機0擺風2小時定時21度模塊返回a8,內部程序將a8換算成指令98從而找到21度、2小時定時、擺風、制冷模式的紅外碼。 以上內容比較專業(yè),有能力的用戶能看懂就看,看不懂就不用關心,最多不使用這個標志就行了,但采用自定義指令集在上位機軟件實現這個控制邏輯可以參考這些內容! 有些用戶會問,一般習慣使用溫度加和溫度減來改變溫度,這是傳統(tǒng)思維。本公司方案創(chuàng)新地采用溫度循環(huán)選擇的方式,這樣占用的資源少,只需要用一個按鍵就可以實現調溫,用加減方式需要占用兩個按鍵,而且軟件邏輯也復雜一些。有用戶說加減方式的效率比循環(huán)方式高,其實應該是一樣的。比如從21調到28度加減方式需要調8次,循環(huán)方式也是8次;如果將28度調到21度加減方式也需要調8次,而循環(huán)方式只需要調一次;如果將25度調到24度加減方式只需要調一次,而循環(huán)方式需要調8次;所以兩種方式各有千秋,各有自己的優(yōu)缺點,不能說哪個好哪個不好。 而且現在的空調都有溫度顯示,你是看著空調的溫度變化在調節(jié),不是盲調,所以用循環(huán)方式你也可以從容地選到你要的溫度,而不會在乎僅僅多那么幾次的按鍵操作。以上兩個界面里的紅色按鍵是示例加的自定義指令,用于增加功能。因為芯片容量有限,自定義模式和標準電器模式實際上是訪問同一個紅外碼存儲區(qū),所以使用我們的紅外庫用自定義指令集來控制與標準電器指令集操作的功能是一樣的,自定義指令集與標準電器指令集有對應關系,見下表:自定義指令標準電器指令402041420143440c4546044748通過01指令來連動,沒有專門的標準電器指令對應494a004b284c184d084e224f125002512952195309541c551156215714582b591b5a0b5b175c075d275e245f2c601d61620663640565662e676816696a1e6b6c0e6d6e1a6f700a71720d73空調指令不能用簡單的一對一方式對應,上節(jié)講了空調指令是以虛擬空調標志作為紐帶來換算出相應的自定義指令從而找到紅外碼的存儲位置。用一個圖表示對應關系:因為芯片容量有限,自定義模式和標準電器模式實際上是訪問同一個紅外碼存儲區(qū),所以在使用時不能出現沖突。有幾種使用方法可以避免沖突。全自定義模式完全不用我們的紅外庫數據,全部使用自定義指令集,所有的指令全部自己定義功能,自己學習,總共144個指令可以使用。全標準電器模式完全使用我們的紅外庫數據,有電視,機頂盒,空調,電風扇,DVD,全部使用標準電器指令集,每個指令的功能是固定的,當然學習也必須按照這些功能學習。這種模式下若全部標準電器使用完也并不是所有的存儲空間都用完了,還有ac—cb這32個指令是空著的,可以用自定義模式來增加新功能或增加一種新的電器類型,后者就是后面提到的混合模式。混合模式一部分使用標準電器模式,可以從紅外庫下載數據,剩下的部分可以用自定義模式。比如電視、機頂盒、空調等常用電器下載紅外庫,這樣剩下的60—77、ac—cb總共56個自定義指令可用于自定義模式,可以安排來控制單反、功放、投影機或攝像機等等。如果空調部分也不用,剩下60—77、78—ab、ac—cb總共108個自定義指令可用于其他用途。功能指令:功能指令與紅外碼沒有直接關系,它用于切換程序狀態(tài),比如進入學習狀態(tài),退出學習狀態(tài),進入空調學習狀態(tài)等等f0 進入一般學習模式在一般學習模式中發(fā)送所有00—cf指令,下面進行的操作都是學習。f1 進入空調學習模式 空調學習模式較為復雜!可以暫時不用去關心!有興趣的朋友可以參見《全方位下載型紅外遙控學習模塊規(guī)格書》一文里有介紹。f2 退出學習模式在退出學習模式后發(fā)送所有00—cf指令,下面進行的操作都是發(fā)射。fe 讀取模塊型號和生產日期 5.下載和上傳指令 下載命令(單字節(jié)十六進制碼)電視機 d0 對應于電視機品牌型號的紅外碼數據文件機頂盒 d1 對應于機頂盒品牌型號的紅外碼數據文件電風扇 d2 對應于電風扇品牌型號的紅外碼數據文件DVD d3 對應于DVD品牌型號的紅外碼數據文件電燈 d4 對應于電燈品牌型號的紅外碼數據文件空調 d5 對應于空調品牌型號的紅外碼數據文件7.全單碼下載 df 對應于所有電器的組合文件總共27648字節(jié)8.全雙碼下載 de 總共18432字節(jié)上載命令(單字節(jié)十六進制碼)1.電視機 e0 上載后存入一種新的電視機紅外碼數據文件機頂盒 e1 上載后存入一種新的機頂盒紅外碼數據文件電風扇 e2 上載后存入一種新的電風扇紅外碼數據文件DVD e3 上載后存入一種新的DVD紅外碼數據文件電燈 e4 上載后存入一種新的電燈紅外碼數據文件空調 e5 上載后存入一種新的空調紅外碼數據文件7.全單碼上載 ef 上載后存入所有電器組合文件總共27648字節(jié)8.全雙碼上載 ee 上載后存入文件總共18432字節(jié)PC測試軟件里的下載和上傳功能就是通過以上指令實現的:指定紅外碼的下載和上傳,這是僅有的3字節(jié)指令1.指定下載雙碼dc、起始指令、結束指令2.指定下載單碼dd、起始指令、結束指令3.指定上載雙碼ec、起始指令、結束指令4.指定上載單碼ed、起始指令、結束指令以上指令可以指定某一區(qū)域的紅外碼下載或上傳,最小可以到只操作一個紅外碼,例如上傳40的紅外碼發(fā)送ed4041;上傳40、41的紅外碼發(fā)送ed4042;上傳50、51、52—5f的紅外碼發(fā)送ed5060;下載紅外碼到40指令對應的區(qū)域里發(fā)送dd4041;下載紅外碼到40、41對應的區(qū)域里發(fā)送dd4042;下載紅外碼到50、51、52—5f對應的區(qū)域里發(fā)送dd5060;對單個紅外碼的下載可以有一個妙用!比如用試探法確定一種空調的數據可以用ddaaab將空調開機碼先下載到紅外模塊,然后發(fā)送aa指令確定空調是否開機來確定是否選定該空調bin文件。以上指令的詳細內容參見《全方位下載型紅外遙控學習模塊規(guī)格書》一文 6.對各指令的回復:命令錯誤回復ff發(fā)射時紅外碼空或無效回復ff自定義指令和除空調外的標準電器指令發(fā)射正確回復00學習錯誤回復ff學習正確回復00對于空調的指令2a、15、25、2d、26、03回復虛擬空調狀態(tài)的標志,上節(jié)有提到,其內容解釋可參節(jié)上節(jié)介紹。這個回復有個妙用,很多用戶提出控制了空調能不能知道空調是什么狀態(tài),這個回復就派上用場了。上節(jié)講了這個虛擬空調標志用于選擇什么樣的紅外碼給空調,如果我們安裝位置得當,每次發(fā)出的空調控制紅外碼都能可靠被空調成功接收并執(zhí)行,那么這個虛擬空調標志也就反應了空調的實際狀態(tài),上位機軟件收到虛擬空調標志也就收到了空調的實際狀態(tài),通過對不同域的解釋可以將溫度、定時、風向、模式等信息顯示出來,就像真實的空調遙控器液晶屏上顯示那樣。以我們的PC測試軟件為例:對03指令即制熱功能回復08、09、0a、0b、0c、0d、0e、0f分別表示21—28度制熱模式,通過判斷D7位來確定這個標志,關機的D7位也是0,如何區(qū)分?關機是固定回復05,若發(fā)現D7為0但非05就可以判決為制熱碼的回復。數據篇:本篇旨在介紹如何實際應用本公司產品配套的紅外數據庫。標準型紅外數據庫分為三部分數據文件與電器對照表電器數據文件電器遙控器參考圖片為了便于查找紅外碼數據文件對應的電器先查詢《紅外碼文件與電器對照表.exl》一文:比如要查找海爾空調遙控器型號是YR-H47,通過上表可以查到對應的數據文件是k35.bin。在下圖可以找到這個文件:雙擊遙控器參考圖片中的k35.jpg可以直接打開k35.jpg看見遙控器的參考圖片進一步確認:數據下載和上傳詳細操作步驟參見《使用PC軟件進行紅外數據庫下載和上傳步驟》一文數據文件結構標準型紅外數據庫目前是以二進制bin文件形式保存的,每個bin文件表示一種電器,bin文件中含有若干紅外碼數據,每個紅外碼表示一個固定的電器功能,采用定長方式存儲,占用256字節(jié),非常便于定位和查找。在命令篇里已經用自定義指令詳細闡述了每個紅外碼表示的電器功能。庫文件名(*號是數字代號)電器文件大小含有紅外碼個數t*.bin電視2560字節(jié)10j*.bin機頂盒5632字節(jié)22f*.bin電風扇1536字節(jié)6d*.binDVD或播放器3584字節(jié)14l*.bin電燈1024字節(jié)4k*.bin空調13312字節(jié)52比如用二進制文件查看軟件打開一個電視的文件t1.bin再打開一個空調的文件比如k35.bin 限于篇幅有限,中間的不作過多介紹最后兩個紅外碼一個是空調開機,一個是空調關機:數據文件介紹到這里我想大家心里應該有譜該怎么應用這些數據了。查找電器數據文件除了前面提到的通過數據文件與電器對照表來查找外還可以建立圖片查找的方式,當然你得建一個圖片與品牌,數據文件之間關聯的鏈表結構,只要點遙控器圖片就可以自動關聯到對應的數據文件,這對搞軟件開發(fā)的是件很容易的事。如果電器既不知道品牌,也沒有遙控器參考圖片怎么辦!這也是許多用戶提出來的能不能采用一種試探型的方法來匹配電器。有的用戶提出來能不能先預先學一個空

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論