利用USB UART橋接器實(shí)現單片機在線(xiàn)編程
通用串行總線(xiàn)(USB)是一種支持即插即用的新型串行接口,使外設到計算機的連接更加高效便利。這種接口適合于多種設備,不僅具有快速、即插即用、支持熱插拔的特點(diǎn),還能同時(shí)連接多達127個(gè)設備,解決了如資源沖突、中斷請求和直接數據通道等問(wèn)題。因此,越來(lái)越多的開(kāi)發(fā)者欲在自己的產(chǎn)品中使用這種標準接口。RS232是單個(gè)設備接入計算機時(shí)常采用的一種接入方式,其硬件和軟件協(xié)議比較簡(jiǎn)單,有很多傳統設備采用了這種通信方式。將USB轉UART技術(shù)應用于單片機與PC機之間的數據通信,在計算機上產(chǎn)生一個(gè)虛擬的COM口,用戶(hù)只需按照通用串行口一樣使用USB口即可。這樣不僅能使單片機具備USB通信的諸多優(yōu)點(diǎn),簡(jiǎn)化了USB編程,同時(shí)還可以利用USB對單片機提供5V的電源(500mA以下)。筆者根據芯片CP2101的USB轉UART技術(shù)特點(diǎn)設計了實(shí)驗電路板,達到了既提供實(shí)驗電路板電源,又實(shí)現計算機與實(shí)驗電路板通信的目的,并結合單片機IAP技術(shù),可完成單片機的在線(xiàn)編程。

1 CP2101芯片的功能及工作電路圖
芯片CP2101是一種高度集成的USB轉UART橋接器,它包含有USB2.0全速功能控制器、USB收發(fā)器振蕩器和異步串行接口(UART)。該芯片的全部功能集成在一個(gè)5mm5mm的MLP28封裝的IC中。CP2101內置有與計算機通信的USB協(xié)議,工作時(shí),會(huì )在計算機上產(chǎn)生一個(gè)虛擬COM口,用戶(hù)就可以按照通用串行口的控制方式來(lái)使用這個(gè)COM口。
CP2101內集成有多個(gè)模塊,各自完成不同的功能,如圖1所示。
① USB功能控制器是一個(gè)符合USB 2.0的全速器件,集成了收發(fā)器和片內相應的上拉電阻,USB功能控制器管理 USB和 UART間所有的數據傳輸和由 USB主控制器發(fā)出的命令請求以及用于控制 UART功能的命令,USB接口的信號描述如表1所列。

圖1CP2101的功能框圖

② 異步串行接口(UART)包括TX (發(fā)送) 、RX (接收) 、數據信號以及RTS、 CTS、 DSR、 DTR、 DCD和 RI控制信號。UART支持 RTS/CTS、 DSR/DTR和 XOn/XOff握手協(xié)議,可以通過(guò)編程使UART支持各種數據格式和波特率,波特率的范圍從300~921600不等。從CP2101轉換出來(lái)的UART信號不是標準的RS232電平,而是TTL電平,其信號描述如表2所列。
③ 內部 EEPROM可以用于存儲由設備原始制造商定義的USB供應商ID、產(chǎn)品ID、產(chǎn)品說(shuō)明、電源參數器件、版本號和器件序列號等信息。
④ 電壓調節器是一個(gè)可以由USB總線(xiàn)驅動(dòng)的器件電源,可在VDD引腳輸出3.0~3.6 V電壓,1~100 mA電流。
2 基于USB轉UART技術(shù)的IAP編程電路設計
2.1CP2101的外圍接口電路
CP2101是USB轉串行口橋接器,它需要設計外接USB接口電路和RS232接口電路。USB接口電路實(shí)現CP2101與計算機之間的通信;RS232接口電路實(shí)現CP2101和外設之間的通信。接口電路如圖2所示。其中RS232電平轉換電路可根據需要選用MAX3243或MAX232。

圖2CP2101的外圍接口電路
對用戶(hù)來(lái)說(shuō),CP2101就是一個(gè)USB轉RS232的芯片,只不過(guò)RS232的輸入和輸出信號均為T(mén)TL電平,而不是標準的RS232電平。它的使用與普通的USB外設相同,當第一次帶電插入PC機USB接口時(shí),系統會(huì )提示安裝相應的驅動(dòng)程序,驅動(dòng)程序可從網(wǎng)站www.xhl.com.cn上下載。驅動(dòng)程序安裝完后,系統會(huì )自動(dòng)增加一個(gè)COM口,用戶(hù)就可以按照傳統的串行口控制方式來(lái)使用這個(gè)帶有5 V和3.3 V供電的“COM口”。
2.2根據CP2101設計IAP工作電路
根據IAP編程的工作原理,如果單片機在2 s內沒(méi)有接收到任何IAP命令,在看門(mén)狗定時(shí)器的作用下將自動(dòng)進(jìn)入用戶(hù)程序。用戶(hù)還可以通過(guò)編程控制串行口上的RTS引腳產(chǎn)生復位信號來(lái)控制單片機。也可以在復位后(2 s內)直接以約定的波特率傳送HEX代碼文件,自動(dòng)完成程序的擦除和寫(xiě)入,大大簡(jiǎn)化了IAP編程過(guò)程。
根據IAP編程的原理,作者先后設計了兩種接口電路。一種是傳統電路IAP工作電路,沒(méi)有使用CP2101芯片,如圖3所示。另一種是利用CP2101設計的IAP工作電路,如圖4所示。

圖3傳統電路 IAP工作電路

圖4利用CP2101的IAP工作電路
在傳統電路IAP工作電路中,利用USB接口提供TTL電源,串行口提供IAP編程、數據傳輸及復位控制信號。圖3中,R1、R2、C1和K1構成傳統的上電自動(dòng)和手動(dòng)復位電路,R7、D1構成一個(gè)由串行口RTS端控制的復位電路;串行口信號需要由RS232電平轉換為T(mén)TL電平,需要設計電平轉換電路或采用專(zhuān)用的電平轉換芯片。該電路工作時(shí)需要有兩個(gè)接口,USB接口和COM接口,USB接口的功能是提供TTL電平的電源,串行接口的功能是串行口通信、IAP編程及復位信號控制。
在利用CP2101設計的IAP工作電路中,USB接口除了提供TTL電源外、還有串行口通信、IAP編程及復位信號控制。圖4中,R5、R6、C2和K2構成傳統的上電自動(dòng)和手動(dòng)復位電路,R3、R4、D2和T1構成一個(gè)由串行口RTS端控制的復位電路,由于CP2101轉換后的信號是TTL電平,可以直接為單片機使用,節省了RS232電平轉換為T(mén)TL電平的輔助電路。
利用CP2101設計的IAP工作電路有很大的優(yōu)越性,它只需使用USB接口就可以完成提供TTL電源、串行口通信、IAP編程及復位信號控制,減少了計算機與外設之間的接口,同時(shí)也為在沒(méi)有COM口的計算機上進(jìn)行IAP編程提供了可能,增強了外設的靈活性。在電路板設計中,采用CP2101芯片,既可以節省RS232電平轉換為T(mén)TL電平的電路,又使用5 mm5 mm的MLP28封裝,減少了電路板面積,節省了成本。
在進(jìn)行IAP編程的模式下,使用CP2101芯片在計算機上用USB接口虛擬出串行口,這樣既可以克服由于USB接口協(xié)議的復雜性給用戶(hù)帶來(lái)的不便,又可以簡(jiǎn)化計算機與單片機之間的接口,同時(shí)可以給用戶(hù)設備提供一個(gè)5V電源,減少了由于外接電源帶來(lái)的不便。筆者使用C51對單片機IAP模塊進(jìn)行了二次開(kāi)發(fā),進(jìn)一步簡(jiǎn)化了IAP下載的過(guò)程,開(kāi)發(fā)后的IAP程序先寫(xiě)入單片機,用戶(hù)就可以在應用板上直接下載用戶(hù)程序,不需任何編程器就可以完成單片機系統的開(kāi)發(fā)及單片機實(shí)驗教學(xué)。同時(shí)使用USB轉UART和IAP技術(shù)為51系列單片機的開(kāi)發(fā)與學(xué)習提供一種新的便捷而廉價(jià)的方法。對初次學(xué)習單片機的人們和大中專(zhuān)院校的學(xué)生學(xué)習單片機帶來(lái)極大的方便。
結語(yǔ)
利用USB轉UART技術(shù),簡(jiǎn)化了外設接口,也為外設提供了5V電源。該技術(shù)被廣泛應用于手機、數碼相機、PDA以及MP3等功耗比較低的設備,既可以省去外接電源,又可以做數據傳輸和信號控制,同時(shí)還可以對外設進(jìn)行系統升級,具有可觀(guān)的經(jīng)濟效益和市場(chǎng)前景。
評論