在網(wǎng)站上,看到RS232轉(zhuǎn)RS485的一個(gè)電路圖,如下圖所示。元件主要是HN232CP和MAX485CPA,也就是TTL轉(zhuǎn)232電路和TTL轉(zhuǎn)485電路的結(jié)合體。可是這個(gè)電路卻不好分析,幾經(jīng)查找與思考,才得到一點(diǎn)覺(jué)悟。
此電路在使用時(shí),PC機(jī)RS232公口或者標(biāo)準(zhǔn)串口接“直連串口通訊線”的一端,串口線的另一端接接該電路最左端的RS232接口上;右端就是RS485輸出端。注意串口通訊線分為“直連線”和“交叉線”,這里用的是“直連線”。這是因?yàn)闃?biāo)準(zhǔn)串口的2腳、3腳分別為“接收端”和“發(fā)送端”。該電路的發(fā)送端(T1OUT)和接收端(R1IN)分別接的是3腳和2腳,已經(jīng)對(duì)發(fā)送端和接收端進(jìn)行了交叉調(diào)換,所以用直連線就可以了。
在正式分析之前,先看一下HIN232的結(jié)構(gòu)框圖,有助于我們接下來(lái)的分析。當(dāng)然此結(jié)構(gòu)圖也就是電平轉(zhuǎn)換,但需要注意的是信號(hào)的流向,從哪兒進(jìn)來(lái),又從哪兒出去。此外,RS232是負(fù)邏輯電平,我們可以認(rèn)為邏輯“1”的時(shí)候,RS232對(duì)應(yīng)的是-12V;邏輯“0”,RS232對(duì)應(yīng)的是+12V。
以RS232端作為參考端,在接收時(shí),數(shù)據(jù)從RS485端向左通過(guò)轉(zhuǎn)換電路中綠線所示的通路流向RS232端。處于接收狀態(tài)的接收端,不會(huì)發(fā)送數(shù)據(jù),也就是處于等待狀態(tài),此時(shí)TX管腳輸出邏輯1(協(xié)議規(guī)定)。TX在串口公口上對(duì)應(yīng)的引腳是管腳3,RS232是負(fù)邏輯,所以輸出-12V,經(jīng)過(guò)反相調(diào)整后輸出TTL高電平,約4.6V。再經(jīng)過(guò)三極管的Q1反相,輸出低電平,RE、DE都為低電平的時(shí)候,MAX485處于接收狀態(tài)。
發(fā)送的情況有些復(fù)雜,需要耐心分析。數(shù)據(jù)從RS232端向右通過(guò)轉(zhuǎn)換電路中藍(lán)線所示的通路流向RS485端。當(dāng)輸出邏輯低電平,TX(3管腳)對(duì)應(yīng)輸出+12V,經(jīng)過(guò)反向調(diào)整輸出TTL低電平,約0.4V。再經(jīng)過(guò)三極管的Q1反相,輸出高電平,RE、DE都為高電平的時(shí)候,MAX485處于發(fā)送狀態(tài),可以正確的將邏輯低電平發(fā)送。
倘若輸出邏輯高電平的時(shí)候,TX(3管腳)對(duì)應(yīng)輸出-12V,經(jīng)過(guò)反向調(diào)整輸出TTL高電平,約4.6V。再經(jīng)過(guò)三極管的Q1反相,輸出低電平,RE、DE都為低電平的時(shí)候,MAX485處于接收狀態(tài),如何會(huì)將1發(fā)送出去呢?
MAX485發(fā)送和接收邏輯電平轉(zhuǎn)換關(guān)系表
從轉(zhuǎn)換關(guān)系表--左圖中,可以看出當(dāng)RE、DE都為低電平的時(shí)候,輸出為高阻態(tài),也就是說(shuō)此時(shí)485總線是處于高阻態(tài)。當(dāng)232轉(zhuǎn)485電路發(fā)送的時(shí)候,最右邊的總線節(jié)點(diǎn)處于接收狀態(tài),意味著此節(jié)點(diǎn)上的max485cpa的RE、DE都為低電平(通常我們把RE、DE短接)。從轉(zhuǎn)換關(guān)系表--右圖中可以看出,485總線高阻態(tài)的時(shí)候,它接收的結(jié)果是1。這不正是我們要發(fā)送的數(shù)據(jù)嗎。
或許人提出這樣的疑問(wèn):既然轉(zhuǎn)換電路中的max485都已經(jīng)處于接收狀態(tài)了(RE、DE都為低電平),為何又說(shuō)它在發(fā)送數(shù)據(jù)1?這是由于一幀數(shù)據(jù)的發(fā)送,包括起始位0、有效數(shù)據(jù)區(qū)、停止位等。從左邊向右邊傳輸1幀數(shù)據(jù)的時(shí)候,肯定會(huì)先發(fā)起始位0以同步右邊的接收器。緊接著,加入發(fā)送數(shù)據(jù)1,雖然轉(zhuǎn)換電路中的max485處于接收狀態(tài),雖然此時(shí)的總線為高組態(tài),但是右邊的接收器仍然要把這個(gè)高組態(tài)翻譯成1,并且保存起來(lái),只是因?yàn)檫@個(gè)傳送已經(jīng)啟動(dòng),要把一幀數(shù)據(jù)完全接收。
所以,可見(jiàn)這樣的發(fā)送,是從最右端接收數(shù)據(jù)的角度來(lái)說(shuō)。整個(gè)發(fā)送過(guò)程,轉(zhuǎn)換電路中的max485可能不斷的切換發(fā)送與接收的狀態(tài),但是從接收端來(lái)講,始終是在接收數(shù)據(jù),這是行的通的。
編輯:hfy
-
RS485
+關(guān)注
關(guān)注
39文章
1159瀏覽量
82334 -
RS232
+關(guān)注
關(guān)注
13文章
748瀏覽量
94349
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論