快速上手 USB 單晶片(修訂版)

林錫寬

  • 出版商: 全華圖書
  • 出版日期: 2005-05-31
  • 定價: $480
  • 售價: 9.0$432
  • 語言: 繁體中文
  • ISBN: 957214930X
  • ISBN-13: 9789572149300
  • 相關分類: 單晶片
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

內容簡介:
 
想要知道什麼是USB?想要無障礙快速精通USB微控器韌體嗎?如果
你想要更清楚有關USB韌體設計的來龍去脈,你會需要這本書。不但
可幫助你迅速理解USB的通訊協定,更將不易學習的規範書採用韌體
範例來解釋,相信不用多久時間,就可對USB有更深層的認識。
本書內容共分為五章,由介紹簡易的USB韌體技巧開始,搭配滑鼠範
例,實際體驗程式的撰寫與測試;第二章有描述元程式撰寫之教導;
第三章提供一個應用軟體HidDevice.exe,也詳實的說明此軟體程式
;最後四、五兩章針對通訊協定與咨求函數做完整的解說,構成一有
系統的學習架構;最後第六章提供讀者實作練習的USB鍵盤範例。本書適用於私立大學、科大,電子、電機、資工「單晶片原理與應用」相關課程之教材,亦適合專業人員及有興趣者研讀參考之用。

目錄:

第1章 簡易的USB韌體技巧
1.1 前 言 1-2
1.2 USB系統 1-6
1.3 滑鼠範例 1-7
1.3.1 硬體架構與輸出入介面 1-7
1.3.2 主程式 1-13
1.3.3 輸出入功能之韌體 1-17
1.3.4 韌體與USB引擎的互動 1-22
1.3.5 實際測試 1-24
1.4 USB通信 1-27
1.4.1 懸置模式 1-28
1.4.2 USB匯流排重置 1-34
1.4.3 韌體實際測試 1-39
1.5 結 論 1-49
第2章 描述元
2.1 描述元架構 2-2
2.2 裝置描述元 2-5
2.3 字串描述元 2-6
2.4 組態描述元 2-8
2.5 介面描述元 2-10
2.6 HID類別描述元 2-11
2.7 端點描述元 2-12
2.8 HID類別特定描述元 2-13
2.9 報告描述元 2-13
2.9.1 標籤 2-14
2.9.2 區域性項目標籤 2-17
2.9.3 全域性項目標籤 2-17
2.9.4 主項目 2-21
2.9.5 補充語法 2-24
2.9.6 編碼 2-25
2.10 典型報告描述元範例 2-25
2.10.1 HID描述元編輯工具 2-29
2.10.2 描述元之程式碼 2-31
2.11 USB轉RS232裝置的範例 2-37
2.12 多媒體按鍵裝置 2-45
2.13 結 論 2-52

第3章 應用軟體
3.1 前 言 3-2
3.2 主程式 3-3
3.3 讀寫動作 3-5
3.4 裝置尋找與取得 3-10
3.5 取得裝置介面的操作把 3-21
3.6 軟體測試 3-28
3.7 結 論 3-33
第4章 通信協定
4.1 概 述 4-2
4.2 封包的格式 4-4
4.3 交 易 4-6
4.3.1 設立式交易SETUP 4-7
4.3.2 輸入式交易IN 4-8
4.3.3 輸出式交易OUT 4-9
4.3.4 交替機制 4-10
4.4 中斷型傳輸 4-12
4.4.1 中斷型輸入式交易的韌體技巧 4-14
4.4.2 中斷型輸出式交易的韌體技巧 4-18
4.5 控制型傳輸 4-19
4.5.1 控制型傳輸的韌體流程 4-24
4.5.2 控制型傳輸的設立式交易韌體 4-29
4.5.3 控制型傳輸的輸入式與輸出式交易韌體 4-33
4.5.4 控制型傳輸總整理 4-42
4.6 結 論 4-44

第5章 咨求函數與匯流排列舉
5.1 標準裝置咨求 5-2
5.1.1 Get_Descriptor 5-5
5.1.2 Get_Configuration 5-6
5.1.3 Get_Interface 5-6
5.1.4 Get_Status 5-6
5.1.5 Set_Address 5-7
5.1.6 Set_Descriptor 5-7
5.1.7 Set_Configuration 5-7
5.1.8 Set_Interface 5-8
5.1.9 Set_Feature 5-8
5.1.10 Clear_Feature 5-8
5.2 HID類別特定咨求 5-9
5.2.1 Get_Descriptor和Set_Descriptor 5-10
5.2.2 Get_Report和Set_Report 5-10
5.2.3 Get_Protocol和Set_Protocol 5-11
5.2.4 Get_Idle和Set_Idle 5-12
5.3 USB匯流排列舉 5-13
5.3.1 取得裝置描述元(匯流排位址0) 5-14
5.3.2 設定匯流排位址(匯流排位址0) 5-15
5.3.3 取得裝置描述元(匯流排位址2) 5-16
5.3.4 取得組態描述元(匯流排位址2) 5-18
5.3.5 取得報告描述元(匯流排位址2) 5-20
5.3.6 設定組態(匯流排位址2) 5-23
5.3.7 設定怠惰期長(匯流排位址2) 5-24
5.4 咨求函數之分組 5-25
5.5 標準裝置咨求之韌體技巧 5-28
5.5.1 主機傳給裝置 5-28
5.5.2 裝置傳給主機 5-34
5.6 HID類別特定咨求之韌體技巧 5-41
5.7 半雙工傳輸範例 5-45
5.7.1 描述元 5-45
5.7.2 程式 5-50
5.7.3 測試 5-58
5.8 結 論 5-65
第六章 實作:電腦鍵盤
6.1電腦鍵盤工作原理6-3
6.2硬體電路 6-5
6.3韌體技術 6-15
6.4週邊功能測試 6-25
附錄A 韌體發展系統CY3654
A.1 低速USB微控器之優勢 A-2
A.2 組譯器CYASM A-3
A.3 購置發展系統套件CY3654 A-5
A.4 發展系統CY3654基本使用 A-9
A.5 系統功能驗證 A-17
附錄B CYASM組合語言
B.1 組合語言語法 B-2
B.1.1 指令 B-2
B.1.2 程式指示 B-3
B.2 基本運算程式 B-8
B.2.1 指令nop與halt B-9
B.2.2 資料轉換指令 B-9
B.2.3 IO暫存器讀寫指令 B-10
B.2.4 指令push和pop B-10
B.2.5 邏輯運算 B-11
B.2.6 位元運算 B-12
B.2.7 算術運算 B-12
B.2.8 無條件跳躍指令與中斷指令 B-14
B.2.9 條件跳躍指令 B-16
B.2.10 ROM頁碼遞增指令 B-16
B.2.11 案例選擇副程式 B-17
B.3 指令集 B-19
附錄C 元件減少增強型低速USB微控器
C.1 功能方塊圖與腳位圖 C-2
C.2 程式記憶體(ROM) C-5
C.3 資料記憶體(RAM) C-6
C.4 IO暫存器 C-7
C.5 重 置 C-9
C.5.1 電壓太低重置(LVR) C-10
C.5.2 電力不足重置(BOR) C-10
C.5.3 看門狗計時器重置(WDR) C-10
C.6 時脈選擇 C-10
C.7 12位元自走計時器 C-12
C.8 狀態與控制暫存器 C-12
C.9 懸置模式 C-14
C.10 中 斷 C-14
C.11 一般用途輸出入埠 C-16
C.12 輔助輸入埠 C-21
C.13 USB引擎 C-22
C.13.1 USB的IO暫存器 C-22
C.13.2 控制型端點的IO暫存器 C-24
C.13.3 中斷型端點的IO暫存器 C-26
C.13.4 端點模式 C-27
附錄D USB電腦滑鼠韌體原始碼
D.1 SKLINMouse.asm D-2
D.2 EP0_mouse.h D-35