PL2303單片機串口轉USB口實現串行通信

2021-01-04 電子產品世界

引言
隨著科學技術的快速發展,單片機的應用已經滲入到了生產、生活的方方面面,其應用範圍越來越廣泛,應用前景越來越好。基於單片機的開發應用在目前創新技術發展中一支獨秀,非常受廣大科技愛好者、在校大學生以及科技開發工作者的青睞。多功能、超強型的單片機在市場上也層出不窮,為單片機的開發應用提供了很好的基礎。目前,在單片機的應用系統設計中,USB接口的使用越來越多,簡化了單片機系統與外部系統進行信息交換的接口電路,提高了信息交換的可靠性及交換速度。目前市場上提供的各類型單片機品種中,有些型號的單片機在其內部集成有USB接口部件,但大部分的單片機不含有USB接口電路。對晶片內部不含有USB串行接口的單片機,進行USB接口設計時,要通過外圍接口晶片來實現USB串行接口,這樣的接口晶片,目前市場上已經有很多種了。本文僅就採用單片機本身的串口通過外圍晶片PL2303來實現串口轉USB接口進行介紹。

1 USB接口的實現
USB(Universal Serial Bus)是一種通用的串行總線技術,它是通過PCI總線和PC的內部系統數據線連接,實現數據的傳送,具有即插即用功能,支持熱插拔,兩個通信設備之間線纜長度可達5 m。
USB接口線有4條,其中兩條為電源線和地線(Vbus與GND),另外兩條是以差分形式傳遞信息的信號線(D+和D-),從而實現主機系統與USB設備之間的數據通信。含有USB接口的主機與含有USB接口的設備之間通信數據流的示意圖如圖1所示。

本文引用地址:http://www.eepw.com.cn/article/201610/307663.htm


USB總線技術是基於分組交換方式的總線通信。它首先把數據分成若干塊,然後在每塊數據前添加上同步信號、包標識,後面再添加上CRC校驗碼,形成USB數據包。USB通信總線使用差分輸出驅動器來控制數據信號在USB電纜上的傳送,即通過控制D+和D-線從空閒狀態到相反的邏輯電平,實現原埠的數據包發送,數據包發送完以後,信號線(D+)和(D-)上的輸出驅動器均處於高阻狀態。

2 單片機串口轉USB接口的電路
無論哪一款的單片機,其晶片上都有串行通信引腳TXD和RXD,利用這兩個引腳,通過某種接口晶片來實現串口轉USB口的電路。本文採用Prolific公司推出的串口轉USB接口的轉換晶片PL2303來實現單片機的串口轉USB接口的電路。接口電路的設計如圖2所示。


在圖2中,PL2303的TXD引腳和RXD引腳分別與單片機的P3.0(RXD)引腳和P3.1(TXD)引腳相連,這樣就完成了單片機的串口與USB口的轉換。單片機從串口發送出去的數據信息通過PL2303晶片轉換為USB數據流,再通過USB口的連接器傳送給主機設備。可以看出PL2303與單片機的連接非常簡單,只需兩根信號線就可以。

3 單片機串口軟體設計
串口轉USB口串行通信方式採用異步半雙工通信方式,即通信雙方發送和接收信息是分時段交替進行的,雙方不能同時進行收發操作。通信的數據格式為每幀10位,其中1位起始位,8位數據位,1位停止位。一幀數據的格式如圖3所示。數據的發送是低位在先,高位在後。


在串行通信中,收發雙方對發送和接收數據的速率要有約定,即設定波特率。通過軟體可以對單片機串口設置為4種工作方式,即方式0、方式1、方式2、方式3。其中方式0和方式2的波特率是固定不變的,方式1和方式3的波特率是可以調整的。波特率由單片機內部的定時器T1的溢出率來決定,用定時器T1作為串行通信波特率發生器時,典型的使用方法是使T1工作在自動重裝的8位定時方式,即定時器的工作方式2,這時定時器T1的溢出率取決於TH1中的初值。而單片機的串行通信方式採用方式1,即數據發送是10位幀格式。串行通信方式1的波特率的計算如下:
方式1波特率=(2SMOD/32)x T1溢出率 (1)
T1溢出率=fOSC/[12×(256-TH1)] (2)
上式中,SMOD是單片機晶片內部的電源控制寄存器PCON中的D7位,可取值為0或1;fOSC是表示單片機外接的晶體振蕩器的頻率。
在實際應用中,數據傳送的波特率最好選擇標稱值,又由於TH1的初值是整數,為了減小波特率計算誤差,單片機外接的晶振頻率儘量選用11.059 2 MHz,這樣串行通信方式1的波特率與TH1的初值的對應關係基本上是一個確定值,如表1所列。


根據表1,如果串行通信的波特率選用9 600,則裝入單片機定時器1的TH1中的初值就是FDH,通過下面的程序完成初始化:



4 PL2303的驅動
PL2303是Prolmc公司生產的一種高度集成的RS232-USB接口轉換器,可提供一個RS232全雙工異步串行通信裝置與USB功能接口便利連接的解決方案。該器件內置USB功能控制器、USB收發器、振蕩器和帶有全部數據機控制信號的UART,只需外接幾個電容就可實現USB信號與RS232信號的轉換,能夠方便地嵌入到手持設備中。該器件作為USB/RS232雙向轉換器,一方面從主機接收USB數據,並將其轉換為RS232信息流格式發送給外設;另一方面從RS232外設接收數據,轉換為USB數據格式傳送回主機。這些工作全部由器件自動完成,開發者無需考慮固件設計。
PL2303的驅動可在大多數作業系統上模擬成傳統的COM埠,並允許基於COM埠應用方便地轉換為USB接口應用,實現通信,其數據傳輸的波特率可高達6 Mbps。通過利用USB塊傳輸模式,利用龐大的數據緩衝器和自動流量控制,PL2303能夠實現更高的數據吞吐量,比傳統的UART(通用異步收發器)埠要快。
前面介紹了單片機與PL2303的接口電路,通過PL2303的橋接,將單片機的串口轉成了USB口。當單片機系統與PC主機系統通過USB通信線連接起來後,PC機將這個USB接口看成是一個COM口(RS232全雙工異步串行通信接口),此時,PC機要裝入PL2303的驅動程序,這個驅動程序就是將該USB口模擬成為一個COM口,USB轉串口線的埠號可能是COM4,也可能是COM5,此埠號是電腦系統自動分派的,不是每臺電腦都一樣。在沒有必要的情況下,請不要去修改它,使用時只需記住這個埠號就可以了。在使用此埠的軟體中,都務必按此埠來選擇,如STC—ISP下載軟體、串口調試軟體等。PL2303的驅動程序可以從官方網站下載。

結語
本文介紹的單片機串口轉USB口的接口電路已經通過實際的電路板實現,在實際的應用中效果很好,通信的可靠性很高,特別適合筆記本電腦與單片機系統之間的通信。有些筆記本電腦的作業系統是Win7作業系統,此時要注意在官方網站上下載Win7作業系統的PL2303驅動.PART.RAR。在使用中感覺到的不足之處是PL2303晶片在做電路時,外接的電阻、電容等器件比較多,畫電路板比較麻煩。


相關焦點

  • 基於PL2303的串口轉USB口串行通信設計
    目前市場上提供的各類型單片機品種中,有些型號的單片機在其內部集成有USB接口部件,但大部分的單片機不含有USB接口電路。對晶片內部不含有USB串行接口的單片機,進行USB接口設計時,要通過外圍接口晶片來實現USB串行接口,這樣的接口晶片,目前市場上已經有很多種了。本文僅就採用單片機本身的串口通過外圍晶片PL2303來實現串口轉USB接口進行介紹。
  • USB轉串口通信
    隨著技術的發展,工業上還有 RS232 串口通信的大量使用,但是商業技術的應用上,已經慢慢的使用 USB 轉 UART 技術取代了 RS232
  • 51 單片機UART 串口通信 方式1 實現
    1 51串行口結構51單片機的UART串行通信是基於其串行口的可編程硬體結構,只要用正確的程序代碼通過初始化串行口對應寄存器的形式將其串行硬體結構初始化,
  • 51單片機程序下載、ISP及串口基礎知識
    本文詳細介紹了串口、51單片機的ISP下載等基礎知識,已經學過單片機的也可以看看,加強一下對這方面的了解。 串口 串行接口簡稱串口,也稱串行通信接口,是採用串行通信方式的擴展接口。 我們比較熟悉的USB接口,全名通用串行總線(Universal Serial BUS),就屬於串口。 串行接口按電氣標準及協議來分還包括UART、RS232、RS422、RS485等。
  • USB轉串口設計原理
    2.USB供電:整個USB轉串口線無需外接電源,直接使用USB供電即可。 3.USB數據收發:USB接口與USB轉串口晶片主晶片(PL2303)的通訊。 USB轉串口主晶片:USB轉串口主晶片模塊,USB轉串口主晶片是電路的核心部分,提供USB和串口的橋轉換,它主要由三個部分組成,分別是USB轉串口晶片PL2303、PL2303工作晶振和PL2303外圍電路。
  • 玩轉單片機--USB轉串口
    什麼是USB口?本文引用地址:http://www.eepw.com.cn/article/201609/297087.htm  一般電腦都有,也是主流的接口。它有4線,2根電源線,2根數據線。
  • 單片機下載程序電路原理之USB轉串口線、CH340、PL2303、MAX2
    本文引用地址:http://www.eepw.com.cn/article/201611/321846.htm原理:單片機的TXD、RXD是TTL電平,所以你得萬變不離其宗的將其它信號轉成TTL電平,只有這樣給單片機下載程序才有可能成功!
  • 串口COM口 USB-TTL RS-232 RS-485 不同標準 區別
    3、PL2303、CP2102、FT232R 晶片是用USB來擴展串口(TTL電平輸出)的晶片,需要安裝Windows驅動。(常用於筆記本增加串口,注意其兼容性不如板載串口。優先選擇:FT232R > CP2102> PL2303 )4、MAX232晶片是TTL電平與RS232電平的專用雙向轉換晶片,不同引腳實現TTL轉RS-232或RS-232轉TTL的功能。
  • C8051F020單片機的RS485串行通信設計
    在計算機網絡和工業控制系統中,經常需要採用串行通信來實現遠程數據傳輸。目前,有多種接口標準可用於串行通信,包括RS232、RS422、RS485等。RS232是最早的串行接口標準,在短距離、較低波特率串行通信中得到了廣泛應用。但是,RS232通信存在著傳輸速度慢、傳輸距離短、信號容易受到幹擾等不足,其應用局限性已日益突出。
  • labview實現PC與單片機之間的串口通信
    使用Proteus進行單片機仿真,仿真硬體連接,串口通信部分使用keil與labview編寫程序,實現:PC通過串行口將數字(00,01,02,03...
  • RS232串口簡介
    通信過程中只有兩個腳參與通信2腳:電腦的輸入RXD3腳:電腦的輸出TXD 通過2 ,3 腳就可以實現全雙工(可同時收發)的串行異步 通信5腳:接地RS232的引腳電路連接完成(就三個腳)對於單片機單片機的P3口是有兩個復用接口RXD 和TXD 這是單片機進行串行通信的收發口 連接應該錯位的對應到電腦的TDX RDX上注意:單片機和rs232的電平標準是不一樣的(各種電平標準見另一word)單片機的電平標準 TTL電平 :+5V表示1 0V表示0Rs232的電平標準 +15/+13 V表示1 -15/-13 表示0所以 單片機與電腦
  • 異步串行通信協議的設計與實現
    引言      在單片機控制系統中,CPU和外部通信主要有兩種方 式:並行通信和串行通信。並行通信,即數據的各位同時傳 送;串行通信,即數據按位次序傳送。串行通信能夠節省傳 輸線,特別是數據位數很多和傳輸距離較遠時,這一優點更 為突出。
  • 51單片機串口通信實例
    一、原理簡介本文引用地址:http://www.eepw.com.cn/article/170625.htm51 單片機內部有一個全雙工串行接口。什麼叫全雙工串口呢?
  • 串口、COM口、TTL、RS-232、RS-485區別詳解
    Point:1、串口、COM口是指的物理接口形式(硬體)。
  • 串口、COM口、TTL、RS-232的區別詳解
    串口、COM口、TTL、RS-232的區別詳解 佚名 發表於 2016-10-19 11:00:11   Point:   1、串口、COM口是指的物理接口形式
  • Linux下ARM 和單片機的串口通信設計
    摘要:介紹Linux環境下串口通信的設計方法和步驟,並介紹了ARM9微處理器s3c2440在Linux下和C8051Fxxx系列單片機進行串行通信的設計方法,給出了硬體連接和通信程序流程圖。該方法可靠、實用,適用於大多數LinuxARM和單片機串口通信的場合。
  • 安卓手機與51單片機間藍牙通信的實現
    本人使用的是STC15系列的IAP15W4K58S4單片機最小系統,64引腳;(3)筆記本或者臺式機一部,用於編寫調試程序;(4)藍牙模塊4.0模塊一個;(5)USB轉TTL調試下載模塊一個;(6)軟體部分:Keil
  • 基於RS485的組態王與單片機多機串口通信設計
    而單片機接口豐富,與A/D轉換模塊組合可以完成相同的工作,並且系統可靠、成本低。2 組態王與單片機的串口通訊方法目前,組態王與單片機的通信多是通過動態數據交換(DDE)或通過自己開發通訊驅動程序完成。DDE是Windows平臺上的一個完整的通信協 議,組態王通過該協議與其他應用程式交換數據。但不可靠和非實時。
  • 一文詳解串口、COM口、TTL、RS-232、RS-485區別
    Point:1、串口、COM口是指的物理接口形式(硬體)。
  • 基於C8051F040單片機的CAN總線和RS-232串口通信設計
    為了實現對CAN總線和RS-232串口雙向通信需求,提出了一種基於C8051F040單片機的數據通信方案,並完成系統設計。分析了CAN總線和RS-232串口的通信特點,介紹了單片機硬體,並對軟體的設計思路與流程做了詳盡描述,完成功能檢測。實驗結果表明,該設計達到了要求。