2007年3月13日 星期二

單晶片寫紅外線介面

    這是一個很好玩的應用介面。因為有太多的家用產品都是用這個介面的。

而寫這篇文章也算是悼念這個介面的發明者:羅伯阿德勒(Robert Adler)--已於上個月病逝了。

(http://tw.news.yahoo.com/article/url/d/a/070218/1/aojk.html

http://www.beareyes.com.cn/2/lib/200702/19/20070219016.htm )

-------------------------------------------------------------------------------------------------
      所以就有許多學生或專業人士喜歡應用這個介面,當然,在單晶片應用版上利用此一介面還有一個很好的地方是:

           非常節省 I/O 接口的數量,因為只要一根 I/O 就可以了。

透過此一I/O ,寫完接收程式後,您隨便去B&Q或甚至 50 元商品店就可以買到一隻紅外線遙控器,取得人機介面中的輸入裝置,您要幾個按鍵嘛都有。(在大陸喔~只要一隻 RMB 8.0 就有了!)不用作一大堆按鍵在您的應用板子上。

   >>>>

       另外,紅外線遙控器還有一個很好的應用地方:就是玩具,我們當然也可以拿來控制機械人。雖然紅外線遙控器有控制上方向性的限制,但確有一個很好優勢:他沒有無線電電磁波,所以完全可以遊走於全世界各國的電信法規。... 這也就是說:這兩年來比較熱賣的玩具商品:蜂鳥直昇機,是用紅外線控制的原因。

 >>>

     但是,用單晶片韌體來寫紅外線的接收程式好寫嗎?!

您可以去看別人專業的解釋:

http://www.layertronic.com/modules/newbb/viewtopic.php?topic_id=4227&forum=22

       在這裡版主不會教您怎麼寫,而是要解釋這種介面在單晶片應用上很討厭的地方。

我們來看一章標準的紅外線的傳輸介面圖示:

      上圖上方那一塊藍色的地方就是一般紅外線發射的訊號。就看到一堆寬寬窄窄的脈波。

這個介面跟一般所謂數位訊號不同的地方是:他窄的部分為 0 ;寬的叫 1 。(一般數位訊號是:高電位為1;反之,低電位為0) ,也是很討厭的地方。

      所以,韌體就無非人家說的要嘛是靠 Polling 或是中斷。不管您用什麼方法,他其中隱含著另一個重要訊息:這個介面會拖垮您單晶片的執行效能。

      因為一般遙控型紅外線的資料線速度大多屬於 38KHz 載波這種比較低速的傳輸。但往往我們的MCU 都是跑MHz 級的。所以,若用韌體來寫紅外線的接收程式時,當場CPU 性能就會被迫拉到KHz 的等級來接收資料。就像您開車可以開很快,但是每次一碰到那些減速凸塊時,您就不得不放慢速度通過後,再加速啊!-- 這樣的比喻您瞭解了吧!


(當然您也可以吐我嘈說:人家不會用中斷啊~當然可以啊,只不過您的程式又會變得很複雜!--寫程式不難,Debug 很難!)

       所以,這種低速介面(一收又不是只有短短幾個bit,往往又是好幾十個bits)會造成整個系統的bottleneck 的介面,對一般的MCU 系統都是很困擾的...

     像那些作DVD 解碼晶片的公司,在設計晶片時,就不得不Embedded 另一顆小小的MCU(像是簡單的6502) 來專門負責紅外線的接收介面,至於為什麼不用硬體?因為紅外線的編碼有太多的不同點,所以,連市面上那些遙控器的編碼IC也都是Embedded 一顆小MCU的。...

     也不是說:單晶片不能作紅外線的接收程式。只是當您寫完這個接收程式後,您單晶片的別的事就不用作了....也沒那麼誇張,只是很辛苦了。所以,市面上那些寫單晶片的參考書,大多不會拿這種介面範例來砸自己的招牌吧。

       ---------------------------------------------

        我們最後就用上述舉範例:DVD播放器埋了一顆 6502 的作法。 所以,多核心的FPPA就可以輕易的解決這些過去許多想用紅外線接收器的工程師的困擾了。也不會因為紅外線那個KHz 級的載波造成系統的bottleneck 。至於,要怎麼作,就去拿原廠的光碟片,他裡面的 Demo kit 原始碼就有解釋了。

-----------------------

電視遙控器發明者病逝 一生獲180項專利

中廣新聞網 更新日期: 2007/02/18 13:00

深深影響電視使用者的電視遙控器發明人(羅伯阿德勒)病逝,享年93歲。

美國Zenith電子集團今天公佈,阿德勒是因心臟衰竭在愛達荷州一家安老院與世長辭。阿德勒為Zenith服務60多年,一生獲取180項美國專利。其中最為人熟悉的是他於1956年發明電視遙控器,並因此於1997年獲得艾美獎。

沒有留言:

張貼留言