本例電路可實(shí)現(xiàn)RS232電平與TTL電平相互轉(zhuǎn)換。
整個(gè)電路的工作過程:
我們知道計(jì)算機(jī)串口通信的RS-232電平是用正負(fù)電壓來表示邏輯狀態(tài)的,邏輯1=-3V~-15V,邏輯0=+3~+15V。
而對單片機(jī)串口通信的TTL電平而言,輸出高電平時(shí)電壓〉2.4V;輸出低電平時(shí),電壓〈0.8V。
所以這兩者直接需要通信時(shí),必須進(jìn)行電平轉(zhuǎn)換?,F(xiàn)在市場上有很多的RS232電平轉(zhuǎn)換集成芯片。但是我們也可以用分立器件自己搭電路來實(shí)現(xiàn)這個(gè)功能。
如上述電路圖所示,左邊是DB9串口,現(xiàn)在一般只能在臺式機(jī)上看到;右邊的TXD與RXD是單片機(jī)的引腳,電源VCC是+5V。
1.RS232電平轉(zhuǎn)TTL電平過程:
當(dāng)PCTXD為-3~-15時(shí),此時(shí)RS232的邏輯為1,顯然這個(gè)時(shí)候Q4是處于截止?fàn)顟B(tài)的,RXD的電平與VCC相等的為+5V,也是邏輯1。
當(dāng)PCTXD為+3~+15V時(shí),此時(shí)RS232的邏輯為0,顯然Q4是處于導(dǎo)通狀態(tài)的,RXD的電位為0,也是邏輯0。
2.TTL電平轉(zhuǎn)RS232電平:
TXD=0為低電平時(shí),因?yàn)镼3是PNP型三極管所以Q3會導(dǎo)通,而且Q3導(dǎo)通電阻是比較小的所以PCRXD的電壓與VCC相同,都是5V,在+3~+15V之間是邏輯0。
TXD=1時(shí),此時(shí)Q3是截止的(截止電阻非常大),而在PC發(fā)送數(shù)據(jù)時(shí),PCTXD的空閑狀態(tài)為高電平,電壓是在-3~-15V之間,當(dāng)PCTXD的電平是-3V時(shí),二極管D1導(dǎo)通,電容C7充電,上負(fù)下正(注意電容的接法),電容C7的上極板電位最終被鉗在-2.3V之間(可以看出,這個(gè)電路在臨界位置有bug,使用這個(gè)電路時(shí),盡量避開)。而在PCTXD為低電平+3~+15V時(shí),二極管D1反向截止,電容沒法放電,仍然會保持一段時(shí)間的上負(fù)下正的狀態(tài)。
所以在TXD為1時(shí),PCRXD通過電容可以獲得負(fù)電壓,即RS232的邏輯“1”。
那你是否擔(dān)心:既然電容C7是保持上負(fù)下正,沒法放電,那么當(dāng)TXD=0,PCRXD為5V時(shí),是不是會對電容進(jìn)行反向充電?
是的,你想的沒有錯(cuò)。這里電容C7的符號明顯是個(gè)電解電容,電解電容的反向充電會導(dǎo)致電容損壞,甚至出現(xiàn)冒煙,漏水的情況。雖然當(dāng)PCTXD在-3~-15V時(shí),通過二極管D1鉗位的作用,可以使C7的負(fù)極為負(fù)電壓,但是在PCTXD在+3~+15V時(shí),就存在隱患了。
所以把C7換成無極性的電容就OK了。網(wǎng)上這個(gè)電路,C7畫的都是電解電容,容易產(chǎn)生誤導(dǎo)。我認(rèn)為應(yīng)該是用無極性的電容。如果各位有不同的見解,可以在底下留言。
注意:
本例電路要正常實(shí)現(xiàn)電平轉(zhuǎn)換功能,要選擇合適的三極管,而且波特率不能太高,電源要穩(wěn),不然很容易受到干擾,這個(gè)在仿真時(shí)可以測試一下。
雖然這個(gè)電路簡單,省錢,但是可靠性不高,一般只能湊合用。所以在做產(chǎn)品的時(shí)候,都會選用集成芯片來轉(zhuǎn)換。
附上TTL和CMOS的電平標(biāo)準(zhǔn):
(一)、TTL電平標(biāo)準(zhǔn)
輸出L:〈0.8V;H:〉2.4V。
輸入L:〈1.2V;H:〉2.0V
(二)、CMOS電平標(biāo)準(zhǔn)
輸出L:〈0.1*Vcc;H:〉0.9*Vcc。
輸入L:〈0.3*Vcc;H:〉0.7*Vcc.
-
TTL
+關(guān)注
關(guān)注
7文章
502瀏覽量
70147 -
RS232
+關(guān)注
關(guān)注
13文章
740瀏覽量
94251 -
電平轉(zhuǎn)換電路
+關(guān)注
關(guān)注
1文章
46瀏覽量
13869
發(fā)布評論請先 登錄
相關(guān)推薦
評論