摘要:CP2101及其升級產(chǎn)品CP2102最美國Silicon公司生產(chǎn)的高集成度USB-UART橋接電路。它們能夠用最簡單的外部電路、最少的外部器件及最小的電路板面積簡便實現(xiàn)USB2.0到UART的轉換。文中介紹該電路的主要特性和實際應用方法。
關鍵詞:CP2101 UART USB
引言
CP2101及其升級產(chǎn)品CP2102是美國Silicon公司推出的USB-UART橋接電路。該電路的集成度高,內(nèi)置USB2.0全速功能控制器、USB收發(fā)器、晶體振蕩器、EEPROM及異步串行數(shù)據(jù)總線(UART),支持調(diào)制解調(diào)器全功能信號,無需任何外部的USB器件。功能強大,采用MLP-28封裝,尺寸僅為5mm×5mm,占用空間非常小。
與其他USB-UART轉接電路的工作原理類似,CP2101通過驅動程序將PC的USB口虛擬成COM口以達到擴展的目的。虛擬COM口(VCP)的器件驅動程序允許一個基于CP2101的器件以PC應用軟件的形式作為一個增加的COM口獨立于任何現(xiàn)有的硬件。COM口使用運行在PC上的應用軟件以訪問一個標準硬件COM口的方式訪問基于CP2101的器件,PC與CP2101間的數(shù)據(jù)傳輸是通過USB完成的,因此,無需修改現(xiàn)有的軟件和硬件就可以通過USB向基于CP2101的器件傳輸數(shù)據(jù)。
1 CP2101的特性
CP2101的體積雖小但功能非常強大,其主要特性如下:
·內(nèi)含USB收發(fā)器,無需外接電路器;
·內(nèi)含時鐘電路,無需外接振蕩器;
·其內(nèi)部512字節(jié)的EEPROM可用于存儲產(chǎn)品生產(chǎn)商的ID、產(chǎn)品的ID序列號、電源參數(shù)、器件版本號和產(chǎn)品說明;
·內(nèi)含上電復位電路;
·片內(nèi)電壓調(diào)節(jié)可輸出3.3V電壓;
·符合USB2.0規(guī)范的要求(12Mb/s);
·SUSPEND引腳支持USB狀態(tài)掛起;
·異步串行數(shù)據(jù)總線(UART)兼容所有握手和調(diào)制解調(diào)器接口信號;
支持的數(shù)據(jù)格式為數(shù)據(jù)位8、停止位1、2和校驗位(包括奇校驗、偶校驗和無校驗);
·波特率范圍為300b/s~921.6kb/s;
·內(nèi)含512字節(jié)接收緩沖器和512字節(jié)發(fā)送緩沖器;
·支持硬件或X-On/X-Off握手;
·支持事件狀態(tài)。
圖1
此外,通過廠商及銷售商免費提供的、適用于Windows(含Windows CE)、Linux、Mac OS-X等多個操作系統(tǒng)的驅動程序,可省去CP2101系列器件二次開發(fā)的投入。這樣,在一般情況下,焊接完畢并安裝好驅動程序即可使用。
2 工作原理
CP2101的內(nèi)部結構及外部基本連接電路如圖1所示。由圖1可見,用CP2101進行串口擴展所需的外部器件非常少,僅需3只去耦電容器即可,使用起來非常方便。
2.1 USB功能控制器和收發(fā)器
CP2101中的USB功能控制器是一個符合USB2.0的全速電路,帶有收發(fā)器和相應的片內(nèi)上拉電阻器。USB功能控制器管理USB與UART間的所有數(shù)據(jù)傳輸,以及由USB主控制器發(fā)出的請求命令和用于控制UART功能的命令。通過USB掛起和恢復信號可支持CP2101及外部電路的電源管理。當在總線上檢測到掛起信號時,CP2101將進入掛起模式。在進入掛起模式時,CP2101會發(fā)出SUSPEND和SUSPEND信號,同時,在CP2101復位后,CP2101也會發(fā)出該信號直到USB要求的器件配置完成。CP2101的掛起模式會在下述任何一種情況出現(xiàn)時被取消:
(1)檢測到繼續(xù)信號或產(chǎn)生繼續(xù)信號時;
(2)檢測到一個USB復位信號;
(3)器件復位。
在退出掛起模式時SUSPEND和SUSPEND信號被取消。
需要注意的是SUSPEND和SUSPEND和CP2101復位期間會暫時處于高電平,如果要避免這種情況,可以使用一個大的下拉電阻器(10kΩ)來確保SUSPEND在復位期間處于低電平。
2.3 異步串行數(shù)據(jù)總線(UART)接口
CP2101的UART接口包括TX發(fā)送、RX接收數(shù)據(jù)信號,以及RTS、CTS、DSR、DTR、DCD和RI控制信號。UART支持RTS/CTS、DSR/DTR和X-On/X-Off握手,還可以通過編程使UART支持各種數(shù)據(jù)格式和波特率。UART的數(shù)據(jù)格式和波特率編程可在PC上進行。表1所列是CP2101串行總線的數(shù)據(jù)格式和波特率。
表1 CP2101串行總線的數(shù)據(jù)格式和波特率
數(shù)據(jù)位 | 8 |
停止位 | 1 |
校驗位 | 無校驗、奇校驗、偶校驗 |
波特率 | 300,600,1200,1800,2400,4800,7200,9600,14400,19200,28800,38400,56000,57600,115200,128000,230400,460800,921600 |
這里還需注意的是,CP2101異步串行數(shù)據(jù)總線的數(shù)據(jù)位和停止位是固定的,也就是說,在實際使用中可以通過軟件改變校驗位和波特率,但是,改變數(shù)據(jù)位和停止位會在通訊中出現(xiàn)異?,F(xiàn)象。
2.3 內(nèi)部EEPROM
CP2101內(nèi)部集成了一個EEPROM,可用于存儲由設備原始制造商定義的USB供應商的ID、產(chǎn)品的ID說明、電源參數(shù)、器件版本號和器件序列號等信號。USB配置數(shù)據(jù)的定義是可選的。如果EEPROM沒有被OEM的數(shù)據(jù)占用,則采用默認方式配置數(shù)據(jù)。注意,盡管如此,對于可能使用多個基于CP2101的器件連接到同一個PC的OEM應用來說,它們需要一個專一的序列號。
內(nèi)部EEPROM可通過USB進行編程,以便OEM的USB配置數(shù)據(jù)和序列號可以在制造和測試時直接寫入到系統(tǒng)上的CP2101中。Silicon公司提供一種專門為CP2101內(nèi)部EEPROM進行編程的工具,同時還提供一個Windows DLL格式的程序庫。該程序庫可在制造過程中將EEPROM編程步驟集成到OEM中,以便用自定義軟件進行流水線式測試和序列號的管理。EEPROM的寫壽命典型值為100,000次,數(shù)據(jù)保持時間為100年。
3 應用實例
CP2101的實際應用參考電路如圖2所示。該電路經(jīng)過制板和調(diào)試,證明是完全可行的。
圖2
(1)以上電路支持全功能串行通信應用。為了確保數(shù)據(jù)收發(fā)的穩(wěn)定性,避免通信過程中的干擾,還可以在USB接口端添加濾波電路。
(2)電路中采用的多通道RS-232收發(fā)器是Maxim公司的MAX241系列或MAX223等系列電路(詳情請參看MAXIM公司RS-232收發(fā)器數(shù)據(jù)手冊),該系列支持在掛起狀態(tài)(當CP2101進入掛起狀態(tài)時,SUSPEND引腳變?yōu)楦唠娖?,從而使RS-232收發(fā)器亦進入掛起狀態(tài)),保持接收外界數(shù)據(jù)有效。在 在使用電路時,需要注意EN引腳及SHDN引腳的正確連接。
在很多簡單的串行通信中,僅使用TXD/RXD二個引腳的信號,在這種情況下可以使用通道數(shù)更少,封超更小的RS-232收發(fā)器。
(3)CP2101的底部有大片金屬,在芯片內(nèi)部接地。因此在制板時一定要保證沒有非接地通孔在CP2101的中間通過,或者保證通孔不與其發(fā)生短路。為了保證電路工作的可靠性,建議不要在CP2101焊接面板層的中間部分進行布線。
(4)CP2101的UART總線上的信號能夠被單片機等直接識別,因此應根據(jù)具體應用要求決定是否需要進行電平轉換。
4 結束語
CP2101是一款功能強大的USB-UART橋接電路,5mm×5mm的外型使其占用空間非常小,用它將USB口擴展成串口非常簡單易行。同時由于其內(nèi)部存儲產(chǎn)品的ID等信息的寄存器可以直接通過USB口改寫,因此用其開發(fā)相關產(chǎn)品還有省時省力的優(yōu)點。唯一遺憾的是,由于UART本身的限制,其最大波行率只能達到921600b/s,不能發(fā)揮USB2.0并沒有多大的意義。目前,CP2101的升級產(chǎn)品CP2102已經(jīng)面市。