PICDEM?USB開發(fā)套件:開啟USB應(yīng)用開發(fā)新征程
在電子工程師的日常工作中,開發(fā)與USB接口相關(guān)的應(yīng)用是一項常見且重要的任務(wù)。Microchip的PICDEM?USB開發(fā)套件為我們提供了一個強大而便捷的平臺,幫助我們快速實現(xiàn)各種USB應(yīng)用。今天,就讓我們深入了解一下這個套件,探討如何利用它進行開發(fā)。
文件下載:DM163010.pdf
一、套件概述
PICDEM?USB開發(fā)套件旨在幫助工程師將新的外設(shè)連接到PC,它采用了PIC16C745/765微控制器,支持USB接口,為開發(fā)USB應(yīng)用提供了豐富的資源。該套件包含了硬件電路、軟件代碼以及相關(guān)的文檔資料,能夠滿足不同層次開發(fā)者的需求。
1.1 開箱清單
當我們打開PICDEM?USB套件的盒子,會發(fā)現(xiàn)里面包含以下物品:
- Microchip USB CD-ROM:包含USB支持文檔,為我們提供了詳細的技術(shù)資料。
- PICDEM?USB電路板:安裝有PIC16C765微控制器,是整個開發(fā)的核心硬件。
- MPLAB IDE CD-ROM:用于開發(fā)和調(diào)試代碼的集成開發(fā)環(huán)境。
- 3英尺USB A - B電纜:用于連接開發(fā)板和PC。
- 小盒子:包含一個帶窗口的PIC16C745和PIC16C765芯片。
1.2 所需物品
除了套件中的物品,我們還需要準備以下設(shè)備和軟件:
- PC:用于運行MPLAB IDE,建議使用配置較高的計算機,以確保開發(fā)過程的流暢性。
- Visual Basic和/或Visual C++:用于修改PC示例代碼,根據(jù)具體需求選擇合適的編程語言。
- PC或Macintosh:PC需運行Windows 98或更新版本,Macintosh需運行MacOS X 10.0或更新版本,以支持USB功能。
- PICSTART? Plus或PRO MATE? II:用于對設(shè)備進行編程,確保代碼能夠正確燒錄到芯片中。
- UV芯片擦除器:用于清除編程錯誤,保證芯片的正常使用。
- Apple的USB DDK和USB - IF PC工具:分別用于Macintosh和PC的USB開發(fā),提供必要的開發(fā)工具和支持。
1.3 建議物品
為了更好地進行開發(fā),還可以準備一些建議物品:
- USB協(xié)議分析儀:如CATC,幫助我們分析USB通信過程,排查問題。
- USB - IF會員資格:可以獲取更多的USB技術(shù)資源和支持。
- MPLAB? ICE 2000:用于調(diào)試和仿真,提高開發(fā)效率。
二、USB演示代碼
套件中提供了多種USB演示代碼,涵蓋了從簡單的游戲端口翻譯到復(fù)雜的LCD顯示等不同應(yīng)用場景,為我們學(xué)習(xí)和開發(fā)USB應(yīng)用提供了很好的參考。
2.1 游戲端口 - USB翻譯器
這個示例代碼可以讀取PC游戲端口的信息,并通過USB將其報告給主機。它使用PICmicro MCU的PORTA和PORTD讀取游戲手柄的模擬電壓和按鈕狀態(tài),并將其轉(zhuǎn)換為USB數(shù)據(jù)格式。代碼中使用的報告描述符定義了數(shù)據(jù)的格式,確保主機能夠正確解析數(shù)據(jù)。
2.2 PS/2鍵盤/鼠標 - USB翻譯器
該示例代碼允許將PS/2鍵盤和鼠標轉(zhuǎn)換為USB設(shè)備。通過檢測PS/2設(shè)備的類型,PICmicro MCU可以自動切換配置,模擬鍵盤或鼠標的功能。在硬件實現(xiàn)上,PS/2端口的時鐘和數(shù)據(jù)線連接到PIC的RC0和RC1引腳,通過中斷方式讀取數(shù)據(jù)。代碼中還實現(xiàn)了軟分離功能,方便設(shè)備的重新枚舉。
2.3 組合游戲端口/PS/2/鼠標 - USB翻譯器
此示例展示了如何使用多個端點創(chuàng)建組合設(shè)備。通過配置不同的端點,游戲手柄和鼠標可以同時通過USB與主機通信。在固件中,需要正確設(shè)置描述符和報告描述符索引,以確保主機能夠正確識別和處理不同的設(shè)備。
2.4 多功能LCD文本顯示示例
這個示例使用USB端點發(fā)送和接收數(shù)據(jù),實現(xiàn)了在LCD上繪制文本、移動光標、清除屏幕等功能。通過定義簡單的USB命令集,主機可以控制LCD的各種操作。在硬件上,LCD模塊連接到PICDEM?USB的LCD連接器,通過PORTE和PORTD進行控制。
三、硬件設(shè)計
PICDEM?USB的硬件設(shè)計考慮了多種接口和功能,為開發(fā)提供了豐富的選擇。
3.1 振蕩器支持
PIC16C745/765支持多種振蕩器選項,為了滿足USB Serial Interface Engine (SIE)的要求,內(nèi)部時鐘必須為24 MHz。通過HS和EC時鐘模式以及內(nèi)部4x PLL時鐘乘法器,可以使用6 MHz的振蕩器,降低成本和EMI。硬件上提供了罐裝振蕩器、晶體和諧振器的支持。
3.2 連接器引腳定義
開發(fā)板上提供了多種連接器,包括游戲端口、PS/2端口、RS - 232端口、LCD連接器、鍵盤連接器和USB連接器。每個連接器都有明確的引腳定義,方便我們連接不同的外設(shè)。
3.3 按鈕和跳線
開發(fā)板上的按鈕和跳線提供了一些額外的功能和配置選項。例如,S1按鈕用于復(fù)位系統(tǒng),S2按鈕可作為通用開關(guān)輸入;J3跳線用于選擇總線電源或自供電,J9跳線用于啟用或禁用LED。
3.4 電源
開發(fā)板支持自供電和總線供電兩種方式。自供電可以使用9 - 20VAC/DC電源,而總線供電則通過USB電纜提供5V電源。在設(shè)計應(yīng)用時,需要根據(jù)實際需求選擇合適的供電方式。
四、USB固件
Microchip提供了一層USB軟件接口,幫助我們更方便地開發(fā)USB應(yīng)用。
4.1 軟件接口介紹
該軟件接口提供了簡單的Put/Get接口,用于與主機進行通信。大部分USB處理在后臺通過中斷服務(wù)例程完成,應(yīng)用程序只需關(guān)注數(shù)據(jù)的發(fā)送和接收。在使用前,需要生成適當?shù)拿枋龇?,以確保設(shè)備能夠正確枚舉和通信。
4.2 功能調(diào)用參考
主要的功能調(diào)用包括InitUSB、PutEPn和GetEPn。InitUSB用于初始化USB外設(shè),使主機能夠枚舉設(shè)備;PutEPn用于向主機發(fā)送數(shù)據(jù);GetEPn用于從主機接收數(shù)據(jù)。此外,還有一些協(xié)議層的函數(shù),如ServiceUSBlnt、StallUSBEP/UnstallUSBEP等,用于處理USB中斷和控制端點狀態(tài)。
4.3 固件優(yōu)化
為了優(yōu)化程序內(nèi)存,我們可以根據(jù)實際需求去除一些未使用的功能。例如,關(guān)閉USB狀態(tài)LED顯示、禁用錯誤計數(shù)器、去除未使用的功能函數(shù)等。
五、故障排除
在開發(fā)過程中,難免會遇到一些問題。文檔中提供了常見問題的解答,幫助我們快速解決問題。
5.1 硬件問題
例如,VBUS和VUSB是不同的電壓,不能直接連接;VUSB上的220 nF電容是必需的,用于穩(wěn)定電壓。
5.2 PC/Windows問題
當修改描述符后,Windows可能會從注冊表中加載舊的描述信息??梢允褂胷egedit刪除注冊表中的舊條目,或者使用Macintosh進行描述符開發(fā)。
5.3 Macintosh問題
如果在Macintosh上遇到鍵盤示例無法工作的問題,可能是因為使用的是MacOS 10.0之前的版本,需要實現(xiàn)SetIdle和GetIdle功能。
六、總結(jié)
PICDEM?USB開發(fā)套件為電子工程師提供了一個全面的USB開發(fā)平臺。通過豐富的演示代碼、靈活的硬件設(shè)計和強大的USB固件,我們可以快速開發(fā)出各種USB應(yīng)用。在開發(fā)過程中,我們要充分利用套件提供的資源,同時注意硬件和軟件的配置和優(yōu)化,以確保開發(fā)的順利進行。你在使用PICDEM?USB開發(fā)套件的過程中遇到過哪些有趣的問題呢?歡迎在評論區(qū)分享你的經(jīng)驗。
發(fā)布評論請先 登錄
PICDEM?USB開發(fā)套件:開啟USB應(yīng)用開發(fā)新征程
評論