3.3V供電的STM32開發(fā)板,輸出24V的工業(yè)傳感器,如果把它倆直連在一起,會(huì)發(fā)生什么?把不同電平的芯片或者開發(fā)板直連,你是不是也做過類似的事?運(yùn)氣好只是讀不到信號,嚴(yán)重的話可能會(huì)導(dǎo)致芯片或開發(fā)板直接燒毀。
這時(shí)候,就需要一個(gè)“調(diào)解員”了。本期貿(mào)澤科普實(shí)驗(yàn)室,就來聊聊電平轉(zhuǎn)換這個(gè)“調(diào)解員”——
1、為什么需要電平轉(zhuǎn)換
在我們平時(shí)的設(shè)計(jì)中,經(jīng)常遇到以下兩種需要電平轉(zhuǎn)換的情況:
1)電壓不匹配
在數(shù)字電路和嵌入式系統(tǒng)中,不同的芯片或模塊可能使用不同的電壓標(biāo)準(zhǔn),如1.8V、3.3V、5V、12V、24V等。當(dāng)這些不同電壓的芯片或模塊需要進(jìn)行通信時(shí),如果直接連接,可能會(huì)導(dǎo)致信號傳輸混亂,甚至損壞芯片。因此,需要進(jìn)行電平轉(zhuǎn)換,以確保信號能夠在不同電壓系統(tǒng)間正確傳輸。
2)邏輯電平不兼容
除了電壓不匹配外,不同的邏輯電平標(biāo)準(zhǔn)(如TTL、CMOS、LVCMOS等)之間也存在不兼容的問題。這些邏輯電平標(biāo)準(zhǔn)具有不同的電壓范圍和邏輯電平定義,因此需要進(jìn)行相應(yīng)的轉(zhuǎn)換以確保信號的正確傳輸和處理。電平轉(zhuǎn)換可以實(shí)現(xiàn)不同邏輯電平標(biāo)準(zhǔn)之間的轉(zhuǎn)換,從而解決兼容性問題。
2、電壓不匹配的電平轉(zhuǎn)換
電壓不匹配主要有三種情況:
第一種:芯片的數(shù)字I/O口與外部模組電平不匹配,也就是視頻開頭單片機(jī)與傳感器的情況,傳感器或驅(qū)動(dòng)器的輸出電平與單片機(jī)I/O電平不匹配。
舉個(gè)例子,有的工業(yè)傳感器采用的是24V供電,如果單片機(jī)想要采集傳感器的數(shù)據(jù),那么單片機(jī)的IO口要能承受24V的電壓,然而現(xiàn)在大部分的單片機(jī)都是3.3V供電,那么IO口肯定是承受不了24V的,這個(gè)時(shí)候,就需要在傳感器與單片機(jī)中間增加一個(gè)電平轉(zhuǎn)換電路,把24V信號轉(zhuǎn)成單片機(jī)可以容忍的電平范圍。
針對這種情況的電平不匹配,可以使用三極管進(jìn)行電平轉(zhuǎn)換。下圖就是經(jīng)常使用的三極管電平轉(zhuǎn)換電路。這兩張圖分別是1.8V轉(zhuǎn)5V和5V轉(zhuǎn)1.8V。
三極管電平轉(zhuǎn)換電路,左圖:1.8V轉(zhuǎn)5V,右圖:5V轉(zhuǎn)1.8V
以1.8V轉(zhuǎn)5V為例,當(dāng)開關(guān)S1接到1.8V時(shí),Q1導(dǎo)通,Q1集電極的電壓為0V,當(dāng)S1接地時(shí),Q1截止,Q1集電極的電壓為5V,5V轉(zhuǎn)1.8V也是同理。
用三極管轉(zhuǎn)換的優(yōu)點(diǎn)是電路簡單,成本低,也有缺點(diǎn),通訊速度受三極管的開關(guān)速度限制,通訊速度過低的時(shí)候還好。如果需要高速通訊的時(shí)候,就需要使用專門的高速電平轉(zhuǎn)換芯片啦,例如TI的TXS0102DCUR,可以同時(shí)轉(zhuǎn)換2路電平,在推挽模式下,轉(zhuǎn)換速率可高達(dá)24Mbps。當(dāng)然,不同的轉(zhuǎn)換通道或轉(zhuǎn)換速率,都有專門芯片可以使用。
第二種:芯片的模擬I/O口與外部模擬量量程不匹配。
常見的就是ADC數(shù)據(jù)轉(zhuǎn)換,單片機(jī)模擬I/O的有效輸入范圍是0-VRef,當(dāng)模擬信號輸入超出VRef或超出芯片的VDD電壓后,就會(huì)造成量程溢出或模擬I/O口永久損壞,而我們使用的模擬量輸出又是花樣百出,例如0~5V、-2.5V~2.5V、0~10V或4~20mA信號等,這個(gè)時(shí)候就需要將這些外部的模擬量轉(zhuǎn)換為單片機(jī)能測量的0~VRef信號。
這種場景的電平轉(zhuǎn)換比較麻煩,沒有集成芯片可以用,常用的就是電阻分壓+運(yùn)算放大器的轉(zhuǎn)換方案,下圖分別為常用的電壓采集和電流采集電路,在電壓采集電路中,輸入模擬量為5V,利用分壓電阻,輸入到電壓跟隨器的電壓就是2.5V,那么輸出就是2.5V。在面對不同模擬量時(shí),只要選擇合理的電路轉(zhuǎn)換模型就可以了。
電阻分壓+運(yùn)算放大器的轉(zhuǎn)換方案,左圖:電壓采集電路,右圖:電流采集電路
第三種:芯片的通訊接口轉(zhuǎn)換。
常用的通訊協(xié)議,比如RS485、RS232、CAN,有不同的電平標(biāo)準(zhǔn),這些通訊電平在單片機(jī)內(nèi)部沒有集成,如果想要使用這些通訊方式,就需要使用電平轉(zhuǎn)換。
通訊接口的轉(zhuǎn)換非常簡單,直接選用對應(yīng)的通訊芯片就可以了。例如,RS485通訊時(shí)可以選擇MAX485,RS232可以用MAX232,CAN可以選SN65HVD230DR,方案基本都是固定的,按照對應(yīng)芯片的數(shù)據(jù)手冊設(shè)計(jì)電路就沒什么問題。
3、邏輯電平不兼容的電平轉(zhuǎn)換
邏輯電平,用來表示數(shù)字信號狀態(tài)的電壓水平。在數(shù)字系統(tǒng)中,二進(jìn)制的1和0就是用邏輯電平來表示,邏輯高電平通常表示為1,邏輯低電平通常表示為0。邏輯電平的穩(wěn)定性對于正確地識別和處理數(shù)字信號是至關(guān)重要的。
有2種廣為熟知的邏輯電平:TTL邏輯電平和CMOS邏輯電平。TTL邏輯電平的全稱是晶體管-晶體管集成邏輯電平,比如說我們現(xiàn)在用的74系列的一些芯片,它就是TTL電平。而CMOS邏輯電平是互補(bǔ)對稱金屬氧化物半導(dǎo)體邏輯電平。通常是指電路中很多器件是由PMOS晶體管或者是NMOS晶體管來構(gòu)成的。
TTL和CMOS都有自己的邏輯電平標(biāo)準(zhǔn),也就是對應(yīng)1和0 的電平。
圖中:VOH為:輸出為高電平時(shí)的電平最小值;VOL為:輸出為低電平時(shí)的電平最大值;VIH為:輸入為高電平時(shí)的電平的最小值;VIL為:輸入為低電平時(shí)的電平最小值
由上圖可以看出,TTL邏輯電平與CMOS邏輯電平之間存在差異,但是,我們通過分析發(fā)現(xiàn),他們的電平在一定區(qū)間是有兼容性的,既然能兼容,那是不是可以不轉(zhuǎn)換,這是不可以的,這里舉個(gè)例子,以5VTTL和CMOS對比,比如一個(gè)信號速率為10GHZ,在TTL電平下,確定為高電平是2V以上,而在CMOS電平下,確定為高電平是3.5V以上,之間差了1.5V,我們都知道,信號的上升是需要時(shí)間的,在10G的速率下,這個(gè)確認(rèn)電平的時(shí)間差值就非常重要,這個(gè)時(shí)間差會(huì)造成信號時(shí)序錯(cuò)誤,終將導(dǎo)致信號傳輸失敗,所以TTL與CMOS邏輯電平之間也需要進(jìn)行轉(zhuǎn)換,通常TTL轉(zhuǎn)CMOS需要使用專門的轉(zhuǎn)換芯片,例如CD4504B,它就可以實(shí)現(xiàn)TTL轉(zhuǎn)CMOS。
不論是電壓不匹配的電平轉(zhuǎn)換,還是邏輯電平之間的電平轉(zhuǎn)換,轉(zhuǎn)換的形式有多種,上面介紹的只是其中一種方式,但只要記住電平轉(zhuǎn)換的目的就是讓電平兼容,用什么轉(zhuǎn)換都是可以的。
雖然這些電平轉(zhuǎn)換電路并不復(fù)雜,但是畢竟還是需要額外的器件搭建。有沒有可能把轉(zhuǎn)換電路集成到單片機(jī)里或者把I/O耐壓提高呢?這跟單片機(jī)的低功耗以及高速度有關(guān),低壓可以帶來更小的損耗,如果加入這些轉(zhuǎn)換電路,會(huì)增加功耗,還降低了芯片的靈活性。既然無法集成到內(nèi)部,那么問題又來了,為什么不統(tǒng)一電平標(biāo)準(zhǔn)呢?這是個(gè)好問題,跟全世界的充電插頭無法統(tǒng)一一樣,每個(gè)芯片都是有自己的標(biāo)準(zhǔn),統(tǒng)一真的很難。
該發(fā)布文章為獨(dú)家原創(chuàng)文章,轉(zhuǎn)載請注明來源。對于未經(jīng)許可的復(fù)制和不符合要求的轉(zhuǎn)載我們將保留依法追究法律責(zé)任的權(quán)利。