庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
   
成為賈伯斯:天才巨星的挫敗與孕成
  • 定價217.00元
  • 8 折優惠:HK$173.6
  • 放入購物車
二樓書籍分類
 
USB2.0高速週邊裝置設計之實務應用 (修訂版)(附範例光碟及PCB單板)

USB2.0高速週邊裝置設計之實務應用

沒有庫存
訂購需時10-14天
9789572163801
許永和
全華科技
2008年11月12日
720.00  元
HK$ 684  







* 叢書系列:大專電子
* 規格:平裝 / 776頁 / 19.0*26.0 cm / 普級 / 單色印刷 / 初版
* 出版地:台灣


大專電子


[ 尚未分類 ]









  以往學習USB的過程中大多是由USB的各種理論與基本概念開始,再延伸至程式碼的撰寫。但由於USB的理論規範太多,這樣不僅學習的效果不彰,也將造成學習上的困難,因此,本書的編排架構是以一邊介紹理論規範,一邊使用C語言撰寫的應用範例來輔助讀者學習與了解。如此一來可讓讀者對於USB 裝置的設計與應用有著最完整的瞭解與認識。本書適用於科大電子、電機系「USB應用實務」課程使用。

本書特色

  1. 本書以單晶微處理機的學習方向來導入高速USB介面的設計,使讀者在學習過程中,慢慢地克服艱澀的技術瓶頸。

  2. 本書對於複雜與繁瑣的USB通訊,提供了EZ-USB韌體函式庫與韌體架構,大幅度地降低了我們在撰寫韌體程式碼的困難度。

  3. 為了使初學者能快速地學習高速USB介面設計,本書附贈一片USB 2.0晶片組FX2-56核心單板的空板。僅需購買些許零件即可執行高速USB介面設計及部分實驗單元,應用範圍相當廣泛,並可用於不同的產品或是專題裡一起整合及測試。



第1章 USB的基本架構與特性1-1
1.1 什麼是USB?1-2
1.2 如何安裝USB裝置?1-4
1.3  USB的匯流排結構1-8
1.4 USB資料流的模式與管線的概念1-11
1.5 USB傳輸類型1-13
1.6 USB的連接器與纜線1-17
1.6.1 機械結構1-17
1.6.2 USB介面的電氣特性1-20
1.6.3 USB匯流排狀態 1-22
1.6.4 USB的電源管理1-29
1.7 USB的編碼方式1-30
1.8 USB介面的通信協定1-31
1.8.1  資料欄位的格式1-32
1.8.2 封包格式1-36
1.8.3 資料交易格式1-40
1.9 分割資料交易1-46
1.10  USB描述元1-50
1.11 USB標準裝置要求1-55
1.12 裝置群組1-57
1.13 結 論1-59

第 2章 EZ-USB FX2晶片組特性2-1
2.1 前 言2-1
2.2 EZ-USB FX2硬體架構圖2-3
2.3  USB內核2-7
2.4 FX2微處理機2-8
2.5 重新裝置列舉2-9
2.6 FX2端點緩衝區2-9
2.7 外部FIFO介面2-12
2.8 FX2系列 - GPIF(泛用型可程式化的界面)2-14
2.9 FX2晶片組系列2-15
2.9.1  56-Pin包裝2-17
2.9.2 100-Pin包裝2-19
2.9.3 128-Pin 包裝2-20
2.10  Cypress全速與高速晶片組的差異2-23
2.11 暫存器的應用2-37

第3章 EZ-USB FX2 CPU3-1
3.1  增強的8051特性3-2
3.2 執行效率的總覽說明3-3
3.3 軟體相容性3-5
3.4 803x/805x 特性比較3-5
3.5 FX2 CPU/DS80C320差異性3-5
3.6 FX2 CPU暫存器介面3-7
3.7 FX2 CPU內部RAM3-8
3.8 週邊I/O埠3-8
3.9 中 斷3-9
3.10 電源控制3-10
3.11 特殊功能暫存器 (SFR)3-10
3.12 外部位址/資料匯流排3-11
3.13 計時器/計數器3-12

第4章 輸入 /輸出與記憶體4-1
4.1 輸入/輸出(I/O)簡介4-2
4.2 週邊I/O埠4-2
4.3 週邊I/O埠切換功能 4-5
4.3.1 A埠切換功能4-7
4.3.2 埠B與埠D的切換功能4-8
4.3.3 C埠切換功能4-9
4.3.4  埠E的切換功能4-9
4.4 I2C控制器4-11
4.5 I2C匯流排的應用4-12
4.6 控制位元4-14
4.6.1  START位元4-14
4.6.2 STOP位元4-15
4.6.3 LASTRD位元4-15
4.7 狀態位元4-15
4.7.1  DONE位元4-15
4.7.2 ACK位元4-16
4.7.3 BERR位元4-16
4.7.4 ID1,ID04-16
4.8  送出I2C資料步驟4-16
4.9 接收I2C資料步驟4-17
4.10 EEPROM啟動載入器4-18
4.11 FX2記憶體簡介4-19
4.11.1 內部資料RAM4-19
4.11.2 8051記憶體4-21
4.12 FX2記憶體對映 4-24
4.13 “Von-Neumannizing”外接程式與4-27
4.14 在0xE000-0xFFFF位址的內建資料 4-27

第5章 軟體發展工具5-1
5.1 FX2發展系統驅動程式安裝5-1
5.2 控制平台 (Control panel)應用環境基本操作5-6
5.3 控制平台總覽5-9
5.4 FX2發展系統測試軟體及工具5-20
5.5  Keil C51工具軟體-μVisions5-22
5.5.1 安裝與進入μVision2軟體5-22
5.5.2 Keil μVision2軟體環境介紹5-25
5.5.3 新專案建立5-26
5.5.4 Debug除錯環境介紹5-26
5.5.5  μVision整合發展環境工具列與功能說明5-35

第6章 硬體發展工具6-1
6.1 硬體開發工具的基本架構 6-2
6.2 硬體工具組介紹6-5
6.2.1 FX2-56核心單板6-5
6.2.2 CPLD-AD/IO擴充電路板6-9
6.2.3  CPLD-AD/IO擴充電路板週邊介紹6-20
6.3 初步安裝程序6-28
6.3.1 確認主機是否支援USB 2.0規格6-29

第7章 I/O實驗範例-LED輸出7-1
7.1 硬體設計與基本概念7-2
7.2 韌體程式碼設計7-3
7.3 程式編譯與鏈結7-5
7.4 七段顯示器輸出實驗7-15
7.4.1 韌體程式碼設計7-18
7.4.2  韌體程式碼的編譯與鏈結7-20
7.5 結 論7-20

第8章 I/O實驗範例-LCD顯示器8-1
8.1  硬體設計與基本概念8-1
8.1.1 液晶顯示器(LCD)8-1
8.2 韌體程式設計8-21
8.3 韌體程式碼的編譯與鏈結8-23

第9章 存取端點緩衝區9-1
9.1 FX2的大容量端點和小容量端點9-2
9.2 高速和全速的差異處9-3
9.3 CPU配置端點9-4
9.4 CPU存取FX2端點資料9-8
9.5 FX2端點的CPU控制9-9
9.5.1  控制EP0、EP1IN和EP1OUT的暫存器9-9
9.5.2 EP1INCS9-16
9.5.3 控制EP2、EP4、EP6與 EP8的暫存器9-17
9.5.4 控制所有端點的暫存器9-24
9.5.5 SETUP資料指標器9-31
9.5.6 傳輸長度9-34
9.5.7 可存取的記憶體空間9-34
9.6 自動指標器9-34
9.7 存取端點程式設計9-36
9.7.1  小容量端點-EP1端點測試9-36
9.7.2 大容量端點-EP2/4/6/8端點測試9-41

第10章 中 斷10-1
10.1 簡 介10-1
10.2 中斷SFR暫存器10-2
10.3 中斷處理10-6
10.3.1  中斷遮罩10-7
10.3.2 中斷優先權10-8
10.3.3 中斷取樣10-8
10.4 USB特定中斷10-9
10.4.1  回復中斷10-9
10.4.2 USB中斷10-9
10.5 USB自動向量10-19
10.5.1 USB自動向量解碼 10-21
10.6 I2C中斷10-23
10.7 FIFO/GPIF中斷(INT4)10-24
10.8  FIFO/GPIF-中斷自動向量10-25
10.8.1 FIFO/GPIF自動向量解碼10-26
10.9 USB巨量中斷程式碼撰寫10-27
10.9.1 小容量端點-EP1中斷程式碼撰寫10-28
10.9.2 大容量端點-EP2中斷程式碼撰寫10-32
10.10  SOF中斷10-33
10.11 I2C中斷10-36

第11章 重置與電源管理11-1
11.1 簡 介11-1
11.2 FX2打開電源重置(POR)11-2
11.3 CPU重置的釋放11-3
11.3.1 RAM的下載 11-4
11.3.2 下載EEPROM11-4
11.3.3 外部ROM11-4
11.4 CPU重置所產生的影響11-5
11.5  USB匯流排重置11-5
11.6 FX2脫離11-6
11.7 各種重置狀態的總結11-6
11.8 USB電源管理 11-7
11.9 中止(Suspend)11-10
11.10 喚醒/回復(Resume)11-11
11.10.1 喚醒中斷11-13
11.11 USB 回復(遠端喚醒)11-14
11.11.1 WU2 接腳11-15
11.12 結 論11-16

第12章 控制傳輸與端點012-1
12.1 端點0基本概念12-2
12.2 控制端點,EP012-2
12.3 USB標準要求12-7
12.4 標準裝置要求12-9
12.5 標準介面要求12-11
12.6  標準端點要求12-12
12.7 FX2 USB標準要求12-14
12.7.1 取得狀態,Get Status12-15
12.7.2  設定特性-Set Feature12-19
12.7.3 清除特性-Clear Feature12-21
12.7.4 取得描述元-Get Descriptor12-22
12.7.5 設定描述元-Set Descriptor12-26
12.7.6 設定配置-Set Configuration12-29
12.7.7 取得配置-Get Configuration12-30
12.7.8 設定介面-Set Interface12-30
12.7.9 取得介面-Get_Interface12-31
12.7.10 設定位址-Set Address12-32
12.7.11 同步訊框12-33
12.7.12 韌體下載12-34

第 13章 重新裝置列舉13-1
13.1 重新裝置列舉基本概念13-2
13.2 裝置列舉步驟13-4
13.3 裝置列舉步驟的實現-使用USB分析儀工具13-6
13.4 預設的FX2 USB裝置13-19
13.5 裝置列舉模式13-20
13.6  無EEPROM或是無效的EEPROM13-21
13.7 存在著EEPROM,第一個位元組是0xC013-22
13.8 存在著 EEPROM,第一個位元組是0xC213-23
13.9 配置位元組013-25
13.10 韌體執行重新裝置列舉13-26
13.11  多重-重新裝置列舉13-27
13.12 預設裝置的各個描述元13-27
13.13 裝置列舉程式碼的撰寫13-30

第 14章 韌體架構14-1
14.1 韌體架構總覽14-2
14.2 建立韌體架構14-4
14.3 韌體架構之副函式鉤子14-5
14.3.1 工作分配器14-6
14.3.2 裝置要求(Device Request)14-7
14.3.3  USB中斷服務常式14-11
14.4 韌體架構之整體變數14-16
14.5 描述元表格14-17
14.5.1 裝置描述元 14-19
14.5.2 裝置合格器描述元14-19
14.5.3 其他速度配置描述元(Other-Speed- Configuration)14-20
14.5.4 配置描述元14-20
14.5.5 介面描述元14-21
14.5.6 端點描述元14-22
14.5.7 字串描述元14-22
14.5.8 群組描述元14-23
14.6 韌體架構程式-FW.C14-24
14.6.1 同步化的延遲14-32
14.7 專案檔案的設計14-34

第15章 巨量傳輸 15-1
15.1 簡 介15-1
15.2 巨量傳輸15-2
15.3 中斷傳輸15-4
15.4 巨量IN傳輸15-4
15.5 巨量OUT傳輸15-5
15.6 巨量傳輸程式設計15-8
15.6.1 巨量迴圈傳輸-BULKLOOP 範例15-8
15.6.2 巨量迴圈傳輸-BULKLOOP測試15-20
15.6.3 巨量傳輸測試,BULKSRC範例15-28

第 16章 泛用型驅動程式16-1
16.1 階層式的驅動程式16-2
16.1.1 PC主機的USB驅動程式16-4
16.1.2  Windows選擇驅動程式16-8
16.2 EZ-USB GPD驅動程式16-9
16.2.1 EZ-USB介面支援16-9
16.2.2  建構EZ-USB GPD驅動程式16-9
16.2.3 載入EZ-USB GPD驅動程式16-10
16.3 INF檔案16-10
16.3.1  登錄編輯器16-14
16.3.2 INF檔的基本架構16-15
16.3.3 INF文件的定義16-31
16.3.4  INF安裝資訊檔案的開啟16-31
16.4 連接至 GPD的使用者模式介面16-33
16.4.1 符號鏈結字串16-33
16.4.2  裝置I/O控制16-34
16.5 I/O控制程式碼(I/O Control Code,IOCTL)參考程式16-35
16.5.1  標準的裝置要求IOCTL16-35
16.5.2 資料傳輸IOCTL16-38
16.5.3 其他功能的 IOCTLs16-44
16.5.4  EZ-USB 特定IOCTL16-47
16.6 控制平台的實現16-48

第17章 PC應用程式設計17-1
17.1  迴路測試巨量傳輸17-2
17.1.1 韌體程式設計17-2
17.1.2 Visual Basic程式設計17-4
17.1.3  VC++程式設計17-19
17.2 USB輸入/輸出控制裝置17-23
17.2.1 單端點的USB輸出裝置17-23
17.2.2  3個端點的USB輸出裝置17-32
17.3 USB 2.0週邊裝置的速度測試17-41
17.3.1 韌體程式設計17-41
17.3.2  PC應用程式設計17-45

第18章 HID群組18-1
18.1 HID簡介18-2
18.2 HID 群組的特性與限制18-2
18.3 HID基本要求18-5
18.4 韌體要求18-7
18.5 辨識HID裝置18-8
18.5.1  描述元的內容18-9
18.5.2 啟動介面(Boot Interfaces)18-13
18.5.3 版本修訂的相容性18-14
18.5.4  HID群組描述元18-14
18.6 報告描述元18-16
18.7 HID群組要求18-21

第19章 HID I/O韌體程式設計19-1
19.1 設計概念19-2
19.2 韌體程式設計19-3
19.2.1  DSCR.A51檔案的修改19-3
19.2.2 FW.C檔案的修改19-9
19.2.3 BULKLOOP.C檔案的修改19-11
19.3  韌體程式碼的編譯與鏈結19-14

第20章 HID PC應用程式設計20-1
20.1 PC主機通訊的基本概念 20-2
20.2 主機如何發現裝置20-2
20.3 所需之API相關文件20-3
20.4 HID裝置驅動程式與DLL的特性20-5
20.5 HID API函式20-7
20.6 Windows與HID通訊的API函式20-9
20.7 打開 HID裝置的通訊步驟20-14
20.8 Visual Basic程式設計20-16
20.9 簡化Visual Basic應用程式-DLL 的引用20-17

第21章 Slave FIFO設計與應用21-1
21.1 硬 體21-2
21.1.1 Slave FIFO接腳21-3
21.1.2 FIFO資料匯流排 (FD)21-4
21.1.3 介面時脈(IFCLK)21-6
21.1.4 FIFO旗標接腳(FLAGA,FLAGB,FAGC,FLAGD)21-9
21.1.5  控制接腳(SLOE,SLRD,SLWR,PKTEND,FIFOADR[1:0])21-12
21.1.6 Slave FIFO晶片選擇接腳 (SLCS)21-14
21.1.7 實現同步的Slave FIFO寫入的動作21-14
21.1.8 實現同步的Slave FIFO讀取21-18
21.1.9 實現非同步Slave FIFO寫入21-20
21.1.10 實現非同步Slave FIFO讀取21-22
21.2 韌體程式設計21-24
21.2.1 存取FIFO的韌體程式21-24
21.2.2  EPx記憶體21-30
21.2.3 Slave FIFO可程式化準位旗標(PF)21-31
21.2.4 自動輸入/自動輸出模式 21-39
21.2.5 AUTOOUT=1,CPU 存取OUT封包21-41
21.2.6 AUTOOUT=0,CPU存取OUT封包21-41
21.2.7 CPU 存取IN封包,AUTOIN=121-45
21.2.8 存取IN封包,AUTOIN=021-47
21.2.9  自動輸入/自動輸出啟始程序21-49
21.2.10 自動模式:同步與非同步Slave FIFO IN資料傳輸21-50

第 22章 實現Slave FIFO之CPLD設計22-1
22.1 Altera QuartusII基本介紹22-2
22.2  七段顯示器輸出測試22-3
22.3 七段顯示器與按鍵測試22-6
22.4 非同步Slave FIFO設計與實現22-9
22.5  非同步PC應用程式設計22-15
22.5.1 NI Measurement Studio22-15
22.5.2  Measurement Studio for VC++的引用22-17
22.5.3 非同步傳輸的PC應用程式測試22-22
22.5.4  同步傳輸的PC應用程式設計22-28
22.6 同步Slave FIFO設計與實現22-34
22.7 同步之PC應用程式測試 22-39
22.8 討 論22-40

第23章 高速A/D轉換之設計與應用23-1
23.1 高速A/D 資料擷取卡23-2
23.2 韌體程式設計23-4
23.3 Slave FIFO的CPLD設計23-4
23.4 PC應用程式測試23-7

附   錄
附錄A 零件表附-1

參考資料




其 他 著 作