基于CY7C68013A芯片的USB鍵盤的設計
摘要:由于具備傳輸速率高、體積小等特點,USB接口廣泛地應用于計算機外部硬件設計。針對此介紹了Cypress公司的CY7C68013A芯片的基本原理,以及使用CY7C68013A芯片進行USB鍵盤設計的方法。
關鍵詞:USB:CY7C68013A;鍵盤
USB接口具有傳輸速率高,體積小,可向外供電等特點,因此使得計算機與外部硬件設備之間的連接和使用都十分方便。目前,計算機的外圍設備中,例如鼠標、鍵盤、打印機都開始采用USB接口實現。本文中,將介紹Cypress公司的USB接口芯片——CY7C68013A,并介紹基于CY 7C68013A實現的USB鍵盤。
1 CY7C68013A芯片簡介
一個典型的USB應用系統由USB設備、USB主機和USB電纜組成,USB主機一般指具有USB接口的計算機,連接到主機USB端口的外部設備一般稱為USB設備。
Cypress的EZ-USB FX2系列芯片是世界上第一款集成了USB2.0協議的微處理器,EZ-USB FX2LP系列是其低功耗版本,使用比較多的是CY7 C68013A。
FX2LP芯片的內部主要包括高性能微處理器內核、USB2.0收發器、智能引擎(SIE)、增強8051內核、16K的RAM,4K的FIFO、IO接口、數據總線、地址總線和通用可編程接口等。EZ-USB FX2LP的CPU采用的是增強型8051內核,指令集和標準的8051完全兼容,因此非常便于熟悉51單片機的用戶使用。
根據內部資源和引腳數量的不同,CY7C68013A芯片一共提供了三種不同的封裝。本文以CYTC68013A-56pin為例進行說明,該封裝提供了PA、PB、PD共3個8位并行I/O端口。
2 開發環境的搭建
USB接口設備的開發比較復雜,需要涉及USB固件程序、USB驅動程序、上位機程序開發和電路板設計等諸多方面。
2.1 固件開發環境
USB功能設備的硬件功能主要由硬件上的微處理器來實現,微處理器是由芯片上的固件程序控制的。由于FX2LP的CPU采取了8051內核,因此,固件開發環境仍然可以使用51系列單片機的常用開發軟件——Keil μVision。
2.2 Cypress開發包
Cypress公司為EZ-USB芯片提供了一個開發包,CY3684 EZ-USB FX2LP Development Kit,里面包含了典型的固件代碼,用戶可以參考使用。另外,該開發包還提供了通用USB驅動程序、典型的硬件電路、上位機操作函數說明等。
2.3 上位機開發環境
USB功能設備需要連接到計算機上使用,因此需要上位機的程序開發,一般可以使用微軟的Visual Studio來實現。USB設備開發的上位機程序通過USB設備的驅動程序來和USB設備進行通信。
驅動程序的開發可以使用微軟的DDK開發驅動程序,也可以使用Driver Studio軟件。針對Cypress公司的EZ-USB系列芯片,也可以直接使用Cypress的通用驅動程序,這是一種更加簡單的開發方式。
3 USB鍵盤的設計
3.1 電路設計
圖1是CY7C68013A-56pin的典型連接。電壓調整芯片將USB接口的5 V電壓轉換為芯片的工作電壓3.3 V;類似51系列單片機,時鐘振蕩電路接入晶振和兩個瓷片電容;SCL與SDL引腳接上拉電阻。
DIY機械鍵盤相關社區:機械鍵盤DIY
pid控制相關文章:pid控制原理
51單片機相關文章:51單片機教程
c++相關文章:c++教程
評論