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