新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 68HC908JB8單片機在PC無線鍵盤的應用

        68HC908JB8單片機在PC無線鍵盤的應用

        作者:深圳大學Motorola MCU應用開發研究中心 周華輝 揭益華 時間:2004-07-23 來源:電子產品世界 收藏
        Motorola最新推出帶快閃(Flash)存儲器的微處理器(MCU)MC68HC (9)08JB8,主要為解決生產商同時需要USB和PS/2界面的產品而設計,如USB、PS/2轉換器。它亦適用于鼠標,射頻(RF)接收器,機頂盒和電子游戲遙桿等產品。本文介紹利用MC68HC08JB8單片機在無線鍵盤上的應用。


        MC68HC08JB8 特性
        MC68HC908JB8是采用HCMOS工藝技術生產的高性能單片機芯片,片內256B RAM和8KB的Flash結構,16位雙通道TIM模塊(每一通道具有輸入捕捉、輸出比較和PWM工作模式),以及兼容USB1.1協議低速通信功能。MC68HC908JB8單片機有四種封裝,電源電壓為5.0V,時鐘頻率為3MHz。
        MC68HC908JB8是一種高性能M68HC08結構,它和M6805、M146805及M68HC05族代碼兼容,3MHz內部總線頻率,256B的RAM和8192B的Flash,且在片可編程。最多達37個一般3.3V的I/O口。
        16位雙通道TIM(每通道有輸入捕捉,輸出比較和PWM的可選模式),兼容USB1.1協議的低速器件,其中數據傳輸速率為1.5Mbps,內置3.3V的電壓調節器。Endpoint0 有8B的發射緩沖器和8B的接收緩沖器;Endpoint1有8B的發射緩沖器;Endpoint2有8B的發射緩沖器及8B接收緩沖器。
        系統保護特征包括可選COP復位、可選LVI復位、非法代碼復位及非法地址復位。
        低功耗設計有完全靜態STOP模式和WAIT模式,內部連接上拉電阻的主復位腳,以及上電復位和外部異步中斷(IRQ)。
        芯片自帶的8192B Flash的好處是用戶不再依賴價格較昂貴的一次編程(OTP)芯片和欠缺靈活性的ROM。Motorola的Flash能寫入擦除一萬次及只需2ms便能完成編寫64B的區塊。

        無線鍵盤的設計與實現
        硬件部分
        無線鍵盤在1~3米范圍的任何地方、任意角度內可自如移動。無線鍵盤的硬件整體方案構成電路主要包括:鍵盤掃描電路,無線發射/接收電路,信號處理、傳輸和接口電路。共采用兩個MC68HC908JB8芯片,一個用于檢測鍵盤掃描及編碼發送,一個用作接收端解碼及通過USB口將信號傳輸給計算機,原理功能框圖如圖。
        無線接收電路采用單片集成調頻芯片MC3361,此芯片是一片從天線輸入至前置放大器的完整的單片調頻接收電路,內含用于變頻的本機振蕩器和混頻器,還有用于移頻鍵控(FSK)檢測的限幅比較器電路。接收頻率為27MHz,由MC3361的14腳輸出數據信號給JB8進行數據處理和傳送。信號處理、傳輸電路選用28引腳封裝的JB8芯片,它的11腳作為接收信號輸入端,按約定的方式解碼處理,通過芯片自帶的USB接口建立與計算機之間的通信。           

        軟件部分
        軟件設計的難點在于鍵盤各有效鍵按下的判斷以及數據傳送的可靠性。在制定編碼發送的規則時必須要充分考慮數據傳送的正確度。在發送數據時,數據是連續發送的,接收時會有其它的干擾同時存在,因此發送數據時加有檢驗位,以確保數據的正確性。其發送格式如下:
        ID碼壓縮16位 數據打包16位碼 校檢碼4位
        軟件操作主要過程:1)、檢測判斷操作;2)、編碼發送;3)、接收解碼。在該產品設計中,主要使用的主要軟件技術有:
        1) 抗干擾技術。當檢測到有按鍵去抖動的方法是:單檢測到有按鍵按下時,并不馬上認為有按鍵按下,而是隔一段時間再去檢測,只有兩次相同才認為有有效按鍵按下,避免意外操作。
        2) 編碼發送。數據編碼發送帶16位設備ID碼,保證多個相同設備在同一地方使用互不干擾。數據編碼發送時還帶4位效驗碼,避免數據在傳送過程中出現錯誤而造成誤操作。
        3) 低功耗設計。鍵盤采用定時休眠功能, 如果超過4s無操作,便自動進入休眠狀態,以此來達到節能目的。■


        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石嘴山市| 淮阳县| 尖扎县| 名山县| 安平县| 巴楚县| 海伦市| 英德市| 库车县| 巴东县| 仲巴县| 凤冈县| 肃南| 锦州市| 东平县| 罗山县| 五寨县| 巴楚县| 乌什县| 元谋县| 麟游县| 肥城市| 简阳市| 湖南省| 额济纳旗| 额敏县| 绥宁县| 承德市| 民勤县| 永福县| 巢湖市| 巴中市| 芮城县| 江门市| 吉木乃县| 赤壁市| 黔西县| 玛纳斯县| 武平县| 荥经县| 乃东县|