利用USB UART橋接器實(shí)現(xiàn)單片機(jī)在線編程
通用串行總線(USB)是一種支持即插即用的新型串行接口,使外設(shè)到計(jì)算機(jī)的連接更加高效便利。這種接口適合于多種設(shè)備,不僅具有快速、即插即用、支持熱插拔的特點(diǎn),還能同時(shí)連接多達(dá)127個(gè)設(shè)備,解決了如資源沖突、中斷請(qǐng)求和直接數(shù)據(jù)通道等問(wèn)題。因此,越來(lái)越多的開發(fā)者欲在自己的產(chǎn)品中使用這種標(biāo)準(zhǔn)接口。RS232是單個(gè)設(shè)備接入計(jì)算機(jī)時(shí)常采用的一種接入方式,其硬件和軟件協(xié)議比較簡(jiǎn)單,有很多傳統(tǒng)設(shè)備采用了這種通信方式。將USB轉(zhuǎn)UART技術(shù)應(yīng)用于單片機(jī)與PC機(jī)之間的數(shù)據(jù)通信,在計(jì)算機(jī)上產(chǎn)生一個(gè)虛擬的COM口,用戶只需按照通用串行口一樣使用USB口即可。這樣不僅能使單片機(jī)具備USB通信的諸多優(yōu)點(diǎn),簡(jiǎn)化了USB編程,同時(shí)還可以利用USB對(duì)單片機(jī)提供5V的電源(500mA以下)。筆者根據(jù)芯片CP2101的USB轉(zhuǎn)UART技術(shù)特點(diǎn)設(shè)計(jì)了實(shí)驗(yàn)電路板,達(dá)到了既提供實(shí)驗(yàn)電路板電源,又實(shí)現(xiàn)計(jì)算機(jī)與實(shí)驗(yàn)電路板通信的目的,并結(jié)合單片機(jī)IAP技術(shù),可完成單片機(jī)的在線編程。
1 CP2101芯片的功能及工作電路圖
芯片CP2101是一種高度集成的USB轉(zhuǎn)UART橋接器,它包含有USB2.0全速功能控制器、USB收發(fā)器振蕩器和異步串行接口(UART)。該芯片的全部功能集成在一個(gè)5mm5mm的MLP28封裝的IC中。CP2101內(nèi)置有與計(jì)算機(jī)通信的USB協(xié)議,工作時(shí),會(huì)在計(jì)算機(jī)上產(chǎn)生一個(gè)虛擬COM口,用戶就可以按照通用串行口的控制方式來(lái)使用這個(gè)COM口。
CP2101內(nèi)集成有多個(gè)模塊,各自完成不同的功能,如圖1所示。
① USB功能控制器是一個(gè)符合USB 2.0的全速器件,集成了收發(fā)器和片內(nèi)相應(yīng)的上拉電阻,USB功能控制器管理 USB和 UART間所有的數(shù)據(jù)傳輸和由 USB主控制器發(fā)出的命令請(qǐng)求以及用于控制 UART功能的命令,USB接口的信號(hào)描述如表1所列。
圖1CP2101的功能框圖
② 異步串行接口(UART)包括TX (發(fā)送) 、RX (接收) 、數(shù)據(jù)信號(hào)以及RTS、 CTS、 DSR、 DTR、 DCD和 RI控制信號(hào)。UART支持 RTS/CTS、 DSR/DTR和 XOn/XOff握手協(xié)議,可以通過(guò)編程使UART支持各種數(shù)據(jù)格式和波特率,波特率的范圍從300~921600不等。從CP2101轉(zhuǎn)換出來(lái)的UART信號(hào)不是標(biāo)準(zhǔn)的RS232電平,而是TTL電平,其信號(hào)描述如表2所列。
③ 內(nèi)部 EEPROM可以用于存儲(chǔ)由設(shè)備原始制造商定義的USB供應(yīng)商ID、產(chǎn)品ID、產(chǎn)品說(shuō)明、電源參數(shù)器件、版本號(hào)和器件序列號(hào)等信息。
④ 電壓調(diào)節(jié)器是一個(gè)可以由USB總線驅(qū)動(dòng)的器件電源,可在VDD引腳輸出3.0~3.6 V電壓,1~100 mA電流。
2 基于USB轉(zhuǎn)UART技術(shù)的IAP編程電路設(shè)計(jì)
2.1CP2101的外圍接口電路
CP2101是USB轉(zhuǎn)串行口橋接器,它需要設(shè)計(jì)外接USB接口電路和RS232接口電路。USB接口電路實(shí)現(xiàn)CP2101與計(jì)算機(jī)之間的通信;RS232接口電路實(shí)現(xiàn)CP2101和外設(shè)之間的通信。接口電路如圖2所示。其中RS232電平轉(zhuǎn)換電路可根據(jù)需要選用MAX3243或MAX232。
圖2CP2101的外圍接口電路
對(duì)用戶來(lái)說(shuō),CP2101就是一個(gè)USB轉(zhuǎn)RS232的芯片,只不過(guò)RS232的輸入和輸出信號(hào)均為TTL電平,而不是標(biāo)準(zhǔn)的RS232電平。它的使用與普通的USB外設(shè)相同,當(dāng)?shù)谝淮螏щ姴迦隤C機(jī)USB接口時(shí),系統(tǒng)會(huì)提示安裝相應(yīng)的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序可從網(wǎng)站www.xhl.com.cn上下載。驅(qū)動(dòng)程序安裝完后,系統(tǒng)會(huì)自動(dòng)增加一個(gè)COM口,用戶就可以按照傳統(tǒng)的串行口控制方式來(lái)使用這個(gè)帶有5 V和3.3 V供電的“COM口”。
2.2根據(jù)CP2101設(shè)計(jì)IAP工作電路
根據(jù)IAP編程的工作原理,如果單片機(jī)在2 s內(nèi)沒(méi)有接收到任何IAP命令,在看門狗定時(shí)器的作用下將自動(dòng)進(jìn)入用戶程序。用戶還可以通過(guò)編程控制串行口上的RTS引腳產(chǎn)生復(fù)位信號(hào)來(lái)控制單片機(jī)。也可以在復(fù)位后(2 s內(nèi))直接以約定的波特率傳送HEX代碼文件,自動(dòng)完成程序的擦除和寫入,大大簡(jiǎn)化了IAP編程過(guò)程。
根據(jù)IAP編程的原理,作者先后設(shè)計(jì)了兩種接口電路。一種是傳統(tǒng)電路IAP工作電路,沒(méi)有使用CP2101芯片,如圖3所示。另一種是利用CP2101設(shè)計(jì)的IAP工作電路,如圖4所示。
圖3傳統(tǒng)電路 IAP工作電路
圖4利用CP2101的IAP工作電路
在傳統(tǒng)電路IAP工作電路中,利用USB接口提供TTL電源,串行口提供IAP編程、數(shù)據(jù)傳輸及復(fù)位控制信號(hào)。圖3中,R1、R2、C1和K1構(gòu)成傳統(tǒng)的上電自動(dòng)和手動(dòng)復(fù)位電路,R7、D1構(gòu)成一個(gè)由串行口RTS端控制的復(fù)位電路;串行口信號(hào)需要由RS232電平轉(zhuǎn)換為TTL電平,需要設(shè)計(jì)電平轉(zhuǎn)換電路或采用專用的電平轉(zhuǎn)換芯片。該電路工作時(shí)需要有兩個(gè)接口,USB接口和COM接口,USB接口的功能是提供TTL電平的電源,串行接口的功能是串行口通信、IAP編程及復(fù)位信號(hào)控制。
在利用CP2101設(shè)計(jì)的IAP工作電路中,USB接口除了提供TTL電源外、還有串行口通信、IAP編程及復(fù)位信號(hào)控制。圖4中,R5、R6、C2和K2構(gòu)成傳統(tǒng)的上電自動(dòng)和手動(dòng)復(fù)位電路,R3、R4、D2和T1構(gòu)成一個(gè)由串行口RTS端控制的復(fù)位電路,由于CP2101轉(zhuǎn)換后的信號(hào)是TTL電平,可以直接為單片機(jī)使用,節(jié)省了RS232電平轉(zhuǎn)換為TTL電平的輔助電路。
利用CP2101設(shè)計(jì)的IAP工作電路有很大的優(yōu)越性,它只需使用USB接口就可以完成提供TTL電源、串行口通信、IAP編程及復(fù)位信號(hào)控制,減少了計(jì)算機(jī)與外設(shè)之間的接口,同時(shí)也為在沒(méi)有COM口的計(jì)算機(jī)上進(jìn)行IAP編程提供了可能,增強(qiáng)了外設(shè)的靈活性。在電路板設(shè)計(jì)中,采用CP2101芯片,既可以節(jié)省RS232電平轉(zhuǎn)換為TTL電平的電路,又使用5 mm5 mm的MLP28封裝,減少了電路板面積,節(jié)省了成本。
在進(jìn)行IAP編程的模式下,使用CP2101芯片在計(jì)算機(jī)上用USB接口虛擬出串行口,這樣既可以克服由于USB接口協(xié)議的復(fù)雜性給用戶帶來(lái)的不便,又可以簡(jiǎn)化計(jì)算機(jī)與單片機(jī)之間的接口,同時(shí)可以給用戶設(shè)備提供一個(gè)5V電源,減少了由于外接電源帶來(lái)的不便。筆者使用C51對(duì)單片機(jī)IAP模塊進(jìn)行了二次開發(fā),進(jìn)一步簡(jiǎn)化了IAP下載的過(guò)程,開發(fā)后的IAP程序先寫入單片機(jī),用戶就可以在應(yīng)用板上直接下載用戶程序,不需任何編程器就可以完成單片機(jī)系統(tǒng)的開發(fā)及單片機(jī)實(shí)驗(yàn)教學(xué)。同時(shí)使用USB轉(zhuǎn)UART和IAP技術(shù)為51系列單片機(jī)的開發(fā)與學(xué)習(xí)提供一種新的便捷而廉價(jià)的方法。對(duì)初次學(xué)習(xí)單片機(jī)的人們和大中專院校的學(xué)生學(xué)習(xí)單片機(jī)帶來(lái)極大的方便。
結(jié)語(yǔ)
利用USB轉(zhuǎn)UART技術(shù),簡(jiǎn)化了外設(shè)接口,也為外設(shè)提供了5V電源。該技術(shù)被廣泛應(yīng)用于手機(jī)、數(shù)碼相機(jī)、PDA以及MP3等功耗比較低的設(shè)備,既可以省去外接電源,又可以做數(shù)據(jù)傳輸和信號(hào)控制,同時(shí)還可以對(duì)外設(shè)進(jìn)行系統(tǒng)升級(jí),具有可觀的經(jīng)濟(jì)效益和市場(chǎng)前景。
評(píng)論