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