基于CP2102的RS232轉(zhuǎn)USB接口的應(yīng)用設(shè)計
1 引言
目前儀器設(shè)備大都采用RS232接口與計算機通信,但隨著計算機技術(shù)的發(fā)展,支持熱插拔的USB標(biāo)準(zhǔn)接口將取代RS232接口,因此計算機將越來越少配置甚至不配置RS232接口。RS232接口與USB接口雖然都屬于串行接幾,但它們的數(shù)據(jù)格式、通信協(xié)議、信號電平以及機械連接方式則不同。這樣計算機不能控制現(xiàn)有儀器設(shè)備,解決這一問題就得把現(xiàn)有的儀器設(shè)備的RS232接口轉(zhuǎn)換成USB接口。實現(xiàn)這種轉(zhuǎn)換有兩種方案,一種方案是從硬件底層固件開始全面開發(fā)系統(tǒng),該方案由于開發(fā)成本高、難度大,加之單片機的限制,因而很少采用;另一種方案是采用USB/RS232橋接器件如CP2102,CP2103進行設(shè)計,計算機通過USB接口虛擬一個RS232接口,與傳統(tǒng)設(shè)備器件連接,設(shè)備對計算機接口的形式為USB接口。
2 CP2102/CP2103簡介
Silicon Laboratories公司推出的USB接口與RS232接口轉(zhuǎn)換器CP2102/CP2103是一款高度集成的USB-UART橋接器,提供一個使用最小化元件和PCB空間來實現(xiàn)RS232轉(zhuǎn)換USB的簡便解決方案。如圖1所示,CP2102/CP2103包含了一個USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號的異步串行數(shù)據(jù)總線(UART),采用5 mm×5 mm MLP-28的封裝。
CP2102/CP2103作為USB/RS232雙向轉(zhuǎn)換器,一方面可以從豐機接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè);另一方面可從RS232外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送至主機,其中包括控制和握手信號。
2.1 USB功能控制器和收發(fā)器
2.2 異步串行數(shù)據(jù)總線(UART)接口
CP2102/CP2103 UART接口包括TX (發(fā)送)和RX(接收)數(shù)據(jù)信號以及RTS、CTS、DSR、DTR、DCD和RI控制信號。UART支持RTS/CTS、DSR/DTR和X-On/X-Off握手。
通過編程設(shè)置UART,支持各種數(shù)據(jù)格式和波特率。在PC機的COM端口編程設(shè)置UART的數(shù)據(jù)格式和波特率。表1為其數(shù)據(jù)格式和波特率。
2.3 內(nèi)部EEPROM
CP2102/CP2103內(nèi)部集成有1個EEPROM,用于存儲由設(shè)備制造商定義的USB供應(yīng)商ID、產(chǎn)品ID、產(chǎn)品說明、電源參數(shù)、器件版本號和器件序列號等信息。USB配置數(shù)據(jù)的定義是可選的。如果EEPROM沒有被OEM的數(shù)據(jù)占用,則采用表1所示的默認(rèn)配置數(shù)據(jù)。注意,對于可能使用多個基于CP2102/CP2103連接到同一PC機的OEM應(yīng)用來說,則需要專用的序列號。
內(nèi)部EEPROM是通過USB編程設(shè)置的,允許OEM的USB配置數(shù)據(jù)和序列號可以在出廠和測試時直接寫入系統(tǒng)板上的CP2102/CP2103。Cygnal提供了一個專門為CP2102/CP2103的內(nèi)部EEP-ROM編程設(shè)置工具,同時還提供免費的驅(qū)動Windows DLL格式的程序庫。這個程序庫可將。EEP-ROM編程步驟集成到OEM在制造中進行流水線式測試和序列號的管理的自定義軟件中。EEP-ROM的寫壽命的典型值為100 000次,數(shù)據(jù)保持時間為100年。為了防止更改USB描述符,應(yīng)將其鎖定。
2.4 其他功能
CP2103除上述功能外也可實現(xiàn)RS485接口與USB接口轉(zhuǎn)換功能,CP2103支持4個可按照控制信息定義的GPIO引腳。
3 典型應(yīng)用電路
3.1 硬件電路設(shè)計
原設(shè)備的RS232接口僅用TXD/RXD 2個引腳信號和地3條線。單片機8031與RS232接口間的電平驅(qū)動采用Maxim公司的MAX202CPE,而采用光電耦合器6N137實現(xiàn)隔離。
采用CP2102改造的接口應(yīng)用電路如圖2所示。該電路已通過制板和軟硬件調(diào)試,完全可靠。串口擴展,儀需2~3只外部去耦電容器,REGIN端需加0.1μF與1.0μF并聯(lián)的去耦電容。CP2102的供電電源由計算機的USB接口提供,再連接3只保護管以便于使用。該電路僅使用CP2102的UART總線上TXD/RXD 2個引腳,其余懸空。單片機可直接識別CP2102的UART總線上信號,為確保數(shù)據(jù)收發(fā)的穩(wěn)定性,避免通信過程產(chǎn)生干擾,采用光電耦合器隔離,并將RST采用一只4.7 kΩ電阻上拉至VDD。
當(dāng)CP2102轉(zhuǎn)換器與主機連接后,必須根據(jù)操作系統(tǒng)選擇相對應(yīng)的虛擬串行口驅(qū)動程序。不必修改設(shè)備的應(yīng)用程序,就像存取一個標(biāo)準(zhǔn)的物理串口一樣訪問該虛擬串口,端口設(shè)備會產(chǎn)生“CP2102 USB to UART Bridge Controller(COM×)”的新端口(×隨計算機的配置而異),此時說明驅(qū)動程序安裝成功。實質(zhì)上,所有針對虛擬串口的數(shù)據(jù)通信都足以USB總線傳輸實現(xiàn)的,但在設(shè)備上,收發(fā)則是RS232數(shù)據(jù)。
3.2 軟件設(shè)計
計算機采用C語言的通訊控制函數(shù),按串行口方式設(shè)置,以實現(xiàn)接口通訊軟件設(shè)計。單片機通訊程序如下所示。該通訊程序在波特率9 600~600調(diào)試,通訊準(zhǔn)確可靠。
4 結(jié)束語
基于CP2102/CP2103的RS232轉(zhuǎn)換為USB接口電路具有電路簡單,運行可靠,成本低廉等特點,對原有的RS232傳統(tǒng)器件設(shè)備無需任何改動,就能將其RS232設(shè)備升級為USB接口設(shè)備。
上拉電阻相關(guān)文章:上拉電阻原理 激光二極管相關(guān)文章:激光二極管原理
評論