1. 程式人生 > >匯流排收發器與電平轉換

匯流排收發器與電平轉換

一,74HC245與74HCT245

245是比較常見的匯流排收發器,具有轉換速度快、驅動能力強且價格便宜等優點,廣泛應用於各個設計中。

首先,有幾個概念需要搞清楚:

1)       輸入高電平(Vih):保證邏輯閘的輸入為高電平時所允許的最小輸入高電平,當輸入電平高於Vih時,則認為輸入電平為高電平。

2)       輸入低電平(Vil):保證邏輯閘的輸入為低電平時所允許的最大輸入低電平,當輸入電平低於Vil時,則認為輸入電平為低電平。

3)       輸出高電平(Voh):保證邏輯閘的輸出為高電平時的輸出電平的最小值,邏輯閘的輸出為高電平時的電平值都必須大於此Voh。

4)       輸出低電平(Vol):保證邏輯閘的輸出為低電平時的輸出電平的最大值,邏輯閘的輸出為低電平時的電平值都必須小於此Vol。

5)       閥值電平(Vt):數位電路晶片都存在一個閾值電平,就是電路剛剛勉強能翻轉動作時的電平。它是一個界於Vil、Vih之間的電壓值,對於CMOS電路的閾值電平,基本上是二分之一的電源電壓值,但要保證穩定的輸出,則必須要求輸入高電平>Vih>Vt,輸入低電平<Vil<Vt。

6)       Ioh:邏輯閘輸出為高電平時的負載電流(為拉電流)。

7)       Iol:邏輯閘輸出為低電平時的負載電流(為灌電流)。

8)       Iih:邏輯閘輸入為高電平時的電流(為灌電流)。

9)       Iil:邏輯閘輸入為低電平時的電流(為拉電流)。

其次,是搞清楚進行邏輯和電平轉換的理論基礎:

1)       驅動器的VOH必須高於接收器的VIH。

2)       驅動器的VOL必須低於接收器的VIL。

3)       驅動器的輸出電壓不得超過接收器的I/O電壓容差。

在平時應用中,經常碰到FPGA或者MCU的IO輸出需要使用245來做緩衝,也是利用245的強驅動來彌補FPGA或者MCU驅動力的不足。FPGA或MCU比較常用的輸出是2.5VCMOS 3.3CMOS、3.3VTTL等。對於245而言,如果要求輸出是3.3V,則比較容易處理,而如果要求輸出是5V,需要注意。

對於HC245,典型的CMOS器件,供電電壓2~6V,VIH和VIL隨著供電電壓的不同而不同,一般分別為0.7VCC、0.3VCC左右。典型的器件引數如下圖:


需要245輸出高電平為5V,則供電電壓VCC應該是5V,此時VIH的最小值和VIL的最大值分別約為3.5V和1.5V。

下圖是Cyclone III的IO口電平表:


從表中可以讀出,3.3V TTL、3.3VCMOS、3VTTL、3VCMOS、2.5VTTL、2.5VCMOS的VOH的最小值分別為2.4、3.1、2.4、2.8、2、2。這些值都小於HC245的VIL值3.5V。如果此時選用HC245作為收發器,顯然不合適。在很多時候我們發現的確有人這樣用了,而且資料收發似乎也正常,這是為什麼呢?原來這裡還有一個電平叫做Vt,一般情況下,輸入的電平在大於Vt後可以被識別為高電平,而低於Vt的可以被識別為低電平,但這個是電路剛剛勉強能翻轉動作時的電平,在環境發生一些變化(如低溫、電磁干擾)時很可能就會出現錯誤。5VCMOS的Vt約為2.5V,對於大多數3.3V、3V、甚至2.5V的器件,在驅動電流不是很大的情況下,輸出一般都很接近VCC,所以電平就可以被正確識別。這種設計對於系統的穩定性是非常不利的,應該儘量避免。

       HC245的輸入可以相容TTL電平,其供電電壓為4.5V~5.5V,VIH和VIL符合5VTTL的標準,分為為2V和0.8V。典型器件的引數如下表:


裡我們我們就可以發現,選用HCT245作為Cyclone III3.3V TTL3.3VCMOS3VTTL3VCMOS2.5VTTL2.5VCMOS輸出的緩衝是可以的。

二,雙供電收發器

   對於245這類的收發器,輸入、輸出是單獨供電,在需要雙向的傳輸中就不合適。還是前面的FPAG例子,FPGA的IO輸入和輸出都是3.3V,而且FPGA的IO最大能承受的輸入電壓是3.6V,如果此時用HC245/HCT245作為緩衝對FPGA輸入訊號很可能就會損壞FPGA的IO。這種場合下具有雙向供電的收發器或者電平轉換器就是較好的選擇。

2.1具有方向控制類

   74LVC8T245是TI近幾年推出的一款有8通道的雙向雙供電收發器。基本的一些引數如下:


每個管腳灌入、拉出電流可以高達24mA,一般應用已經足夠。可以通過控制方向的DIR管腳來確定是輸入還是輸出。這些器件需要注意的是控制管腳(DIR、OE)的參考電平。比如上面的74LVC8T245的控制腳參考電平是VCCA,那麼就需要搞清楚控制訊號的電平是否滿座A端的電平要氣。

   這種具有方向控制的器件也不是萬能的,有些場合就不合適使用。比如有以下IO有時候需要作為輸入,有時候又作為輸出,一直在變化,此時就需要選用“無方向控制”的雙供電器件。

2.2無方向控制類

   無方向控制類的器件一般不具有驅動能力,僅作為電平轉換使用,每個通道可以作為單獨的輸入或輸出,不受其他通道影響。一般有2種結構,自動感應方向結構和FET結構。

   自動感應方向結構的器件,典型的如TI的TXB0108。其基本結構和典型應用如下圖:



AB兩端首先偵測確定哪端是輸入訊號,接著偵測上升沿和下降沿,如果是上升沿則開啟T1和T3,下降沿就開啟T2和T4。

   這種器件在應用時需要留意以下幾點:

1)       驅動TXB0108的器件的IO的最小驅動電流要達到±2mA。

2)       VCCA的電平始終要低於VCCB,當然,如果VCCA高於VCCB,不會損壞器件,只是邏輯上可能會出現錯誤,也無需要考慮上電的順序。

3)       如果輸入或輸出的IO需要外接上拉或者下拉電阻,則阻值至少要大於50Kohm,這樣才不會與啟動器腳弱的輸出相沖突。

4)       這種器件不可以與IIC之類的OD閘電路直接相連。

另外一種FET結構的器件,典型的有TXS0108E,其應用電路與TXB0108一樣,其內部結構如下圖:


其內部整合上拉、下拉電阻,可以應用於OD閘電路中,但收發的速度要慢許多。以下是TXB0108和TXS0108E的兩個速度對比:

(1)TXB0108B


(2)TXS0108E


這類器件在使用時也需要注意下面2點:

1, VCCA的電平始終要低於VCCB,當然,如果VCCA高於VCCB,不會損壞器件,只是邏輯上可能會出現錯誤,也無需要考慮上電的順序。

2,內部的2個電阻Rpub和Rpua,在作為下拉電阻時約為40Kohm,而作為上拉電阻時約為4Kohm,如果是OD門,那麼要估算驅動電流是否滿足系統的要求。




相關推薦

匯流排收發電平轉換

一,74HC245與74HCT245 245是比較常見的匯流排收發器,具有轉換速度快、驅動能力強且價格便宜等優點,廣泛應用於各個設計中。 首先,有幾個概念需要搞清楚: 1)       輸入高電平(Vih):保證邏輯閘的輸入為高電平時所允許的最小輸入高電平,當輸入電平高於V

光纖模塊光纖收發有什麽不同

綜合布線 德特威勒 機房建設光纖模塊與光纖收發器的差異:光塊模是一個功能模塊,或者說配件,是不能單獨使用的無源設備,只有插在交換機和帶光模塊插槽的設備裏使用;而光纖收發器屬於功能器件,是單獨的有源設備,加上電源就可以單獨使用; 光模塊本身可以簡化網絡,減少故障點,而光纖收發器的使用則會增加不少設備,大大增加了

python資料探勘入門實踐--------轉換(資料處理)流水線

y=MinMaxScaler().fit_transform(x)  y與x為同型矩陣,y每列值的值域為0到1 sklearn.preprocessing.Normalizer 每條資料各特徵值的和為1 sklearn.preprocessing.StandardScaler 各特

JavaEE開發之SpringMVC中的自定義訊息轉換檔案上傳

上篇部落格我們詳細的聊了《》,本篇部落格依然是JavaEE開發中的內容,我們就來聊一下SpringMVC中的自定義訊息轉發器(HttpMessageConverter)和SpringMVC中的檔案上傳。訊息轉發器在日常開發中是比較常用的,其可以靈活的將使用者發過來的訊息按照自定義的格式進行解析,然後將解析的資

串列埠電平轉換及SCI 匯流排

你肯定見過桌上型電腦箱後面的九針插頭,以前計算機和外設都是通過它通訊的,現在 逐步被 usb 取代,但是串列埠也是有自己的優勢的,一是咱們上位機程式設計容易,而是傳輸距 離遠,你很少見過usb 有很長的線吧。   SCI 是 serial communication int

JAVAEE中轉換EJB注入和JSF列舉的相關問題

如果JSF需要繫結資料實體類,那麼則必須指定轉換器,很多時候,都需要EJB控制器來操作資料實體類,EJB有兩種方式訪問,一種是EJB注入,一種是lookup查詢, 如果我們的轉換器是forclass的,也就是針對所有相關類都適用的轉換器,那麼,EJB注入是不可用的,這個時候

ADC模數轉換觸控式螢幕驅動

             關於ADC與觸控式螢幕驅動(再續) ADC及時模數轉換 1模擬訊號指得是:一種時間上連續設定上也連續的物理量,具有無窮多個值,從自然界的大部分物理量都是 模擬的 2數字訊號主要是指時間上和數值上都是離散的,然而離散型的數值只有真和假,因此可以用二進

Xilinx-7Series-FPGA高速收發使用學習—概述參考時鐘篇

xilinx的7系列FPGA根據不同的器件型別,集成了GTP、GTX、GTH以及GTZ四種序列高速收發器,四種收發器主要區別是支援的線速率不同,圖一可以說明在7系列裡面器件型別和支援的收發器型別以及最大的收發器數量。   圖一 Xilinx的7系列FPGA隨著整合度的提

day4 叠代生成器解析

one chang 內部 spa 後退 str 保存 16px mos 一、叠代器 叠代器是訪問集合元素的一種方式。其實叠代器就是一種列表,只是訪問集合元素的時候比較特殊,具有一些特定功能,記憶功能,能夠記住用戶上一次的狀態。叠代器是訪問集合元素的一種方式。並且,叠

定時TATE應用

pre reg .cn err 開始 main 定時 .com spa 1 #include <reg51.h> 2 #include <stdio.h> 3 #define uchar unsigned char 4 sbit le

攔截過濾器的區別

攔截器 過濾器 interceptor filter 攔截器過濾器關鍵詞AOP、代理模式、反射機制、spring 函數回調、servlet、web原理反射機制函數回調容器不依賴servlet依賴servlet作用範圍只能對action請求起作用可以訪問action上下文、值棧裏的對象可以對所有

邁拓維矩:數字視頻矩陣切換模擬矩陣切換的對比

邁拓維矩 數字矩陣切換器 模擬矩陣切換器 根據矩陣切換器的切換方式,視頻矩陣切換器可分為數字矩陣切換器和模擬矩陣切換器。 數字視頻矩陣切換器:主要通過信息與數字轉換來完成切換的,在視輸入與輸出的過程中,將模擬信號變為數字信號來完成處理和傳輸。 模擬矩陣切換器:主要通過

叠代生成器

python iter generator叠代器name = iter(‘inter‘) for i in name: #循環打印出叠代器中的內容 print(i) print(type(i))<class ‘str_iterator‘>i<class ‘str‘

php 叠代和生成器

表達 fun acc 調用 轉換 叠代 需要 函數 進行 php有很多功能強大的接口,其中ArrayAccess 與 Iterator 的配合使用可以讓對象與數組一樣有著靈活的訪問性。 當然,用ArrayAccess 與 Iterator 配合可以用來對付數組,但還有一個更

深入分析JavaWeb Item47 -- Struts2攔截文件上傳下載

com custom public 面向切面 lang down pri 多功能 art 一、struts2中的攔截器(框架功能核心) 1、過濾器VS攔截器 過濾器VS攔截器功能是一回事。過濾器是Servlet規範中的技術,能夠對請求和響應進行過濾。

python基礎-函數之裝飾、叠代生成器

內部 class 叠代 code res 裝飾器 div 基礎 foo 1. 函數嵌套 1.1 函數嵌套調用   函數的嵌套調用:在調用一個函數的過程中,又調用了其他函數 def bar(): print("from in the bar.") def foo(

深入理解JVM:垃圾收集內存分配策略

四種 內存回收 第一次 不可達 append test 方法 static hot 堆裏面存放著Java世界差點兒全部的對象實例,垃圾收集器在對堆進行回收前。第一件事情就是要確定這些對象之中哪些還存活,哪些已經死去。推斷對象的生命周期是否結束有下面幾種方

Babel 轉碼 § es6轉換es5

exe 替代 logs 腳本文件 rip per 開發 -c class Babel 轉碼器 § es6轉換es5 實時轉碼 / Repl -babel-node / babel-register(自動轉碼引入babel-register模塊) 配置文件.babelrc

jquery過濾選擇-----------(表單對象屬性過濾選擇 表單選擇

images alt 分享 wid image logs jquery query 器) 1.表單對象屬性選擇器    2.程序 3.表單選擇器    jquery過濾選擇器-----------(表單對象屬性過濾選擇器 與 表單選擇器)

C# Socket簡單例子(服務客戶端通信)

項目 回車 pop ace log () client protocol comm 這個例子只是簡單實現了如何使用 Socket 類實現面向連接的通信。 註意:此例子的目的只是為了說明用套接字寫程序的大概思路,而不是實際項目中的使用程序。在這個例子中,實際上還有很多問題