那曲檬骨新材料有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>接口定義>

串行數據轉換器接口

2010年01月04日 17:40 本站整理 作者:佚名 用戶評論(0
關鍵字:轉換器(147503)
串行數據轉換器接口

問:我現在需要安裝節省空間的數據轉換器,認為串行式轉換器比較適合。為了選擇 和使用這種轉換器,請問我需要了解些什么?

答:首先我們看一下串行接口的工作原理,然后再將它與并行接口相比較,從而可以消 除對串行接口數據轉換的神秘感。

圖10?1示出了一種8通道多路轉換12位串行式模數轉換器(ADC) AD7890與一種帶串行接 口的 數字信號處理器(DSP) ADSP?2105接線圖。圖中還示出了使用DSP與ADC通信的時序圖。通過 一根線以串行數據流的形式傳輸12位轉換結果。串行數據流還包括3位地址,用來表示AD789 0當前被選中的多路轉換器中的輸入通道。為了區分不同組的數據串行位流,必須提供時鐘 信 號(SCLK),通常由DSP提供。有時ADC作為輸出信號提供這種時鐘信號。DSP通常(但不總是) 提供一個附加的成幀脈沖,它要么在通信開始第一個周期有效,要么在通信期間(例如TFS/R FS)有效。
a1001.gif (66643 字節)
圖10?1 串行式ADC與DSP之間的接線圖

在這個實例中,利用DSP的串行端口來設置ADC內部5位寄存器。這個寄存器的位控功能包 括:選擇通道、設定ADC處于電源休眠方式和起動轉換。顯然,這種情況下串行接口必 須雙向工作。

從另一方面來說,并行式ADC的數據總線直接(或可能通過緩沖器)與帶接口的處理器的 數 據總線相連。圖10?2示出了并行式ADC AD7892與ADSP?2101的接線圖。當AD7892完成一次 轉換后,中斷該
a1002.gif (78471 字節)
圖10?2 并行式ADC AD7892與ADSP?2001接線圖

DSP,DSP響應后,按照ADC的譯碼內存地址讀一次數據。串行式數據轉換器與并行式數據轉換器之間的重要差別在于需要的連接線數。從節省 空間的角度來看, 串行式數據轉換器有明顯的優點。因為它減少了器件的引腳數目,從而有可能做成8腳DIP或 SO封裝的12位串行式ADC或DAC。更重要的是它節省了印制線路板的空間, 因為串行接口只需連接幾根線條。

問:我的數模轉換器(DAC)必須離中心處理器及其它處理器距離很遠。我最 好采用何種方法?

答:首先你必須確定是使用串行式DAC還是并行式DAC。當使用并行式DAC時,你應該確 定每個DAC進入存儲器I/O端口的地址,如圖10.3所示。然后你應該對每個DAC編程,將寫命 令直 接寫入適當的I/O口地址。但這種結構具有明顯的缺點。它不但需要并行數據總線,而且到 所有遠處的端口都需要一些控制信號線。然而串行接口只需要為數不多的兩條
a1003.gif (24777 字節)
圖10?3 多個并行式DAC接線圖

線,顯然它比并行接口經濟得多。 一般說來,雖然串行式數據轉換器不能對處理器的存儲器尋址,但是可以把許多串行DA C接到處理器的串行端口上,然后利用處理器的其它端口產生片選信號來逐一地啟動每個DAC 。片選信號雖然僅需要一條線就能將每個DAC都接到串行接口上,但是接到處理器上傳輸 片選信號線的數目可能受到限制。

解決這個問題的一種方法是采用菊花鏈(daisy?chained)式結構,將所用的串行式DAC 都連在一起。圖10.4示 出了如何將多個DAC連接到一個I/O端口上。每個DAC都有一個串行數據輸出(SDO)腳,將第一 個DAC(即DAC0)的SDO腳接到本菊花鏈中的下一個DAC(即DAC1)的串行數據輸入(SDI)腳。LDAC 和 SCLK以并行方式被送到本菊花鏈中的所有DAC。因為在時鐘作用下送入SDI的數據最終都要到 達SDO(N個時鐘周期之后),所以一個I/O端口能夠尋址多個DAC。但是這個I/O端口必須輸 出很長的數據流(每個DAC占的N位乘以本菊花鏈中DAC的數目)。這種結構的最大優點是不需 要對尋址的DAC進行譯碼。所有的DAC在相同的I/O端口上都有效。菊花鏈式結構的主要缺點 是可達性(accessibility)或等待時間長。即使要改變某一個DAC的狀態,處理器也必須從該 I/O端口輸出全部數據流。
a1004.gif (47570 字節)
圖10?4 多個串行式DAC菊花鏈式結構

問:既然串行式數據轉換器節省許多空間和線路,那么為什么不在每個要求節省空間的 應用場合都使用它們呢?

答:串行式數據轉換器的主要缺點是為了節省空間從而降低了速度。例如,對并行DAC 編程,只用一個寫脈沖便可以把數據總線上的數據在時鐘作用下送入DAC。然而,如果要把 數據寫入串行DAC,那么DAC的位數必須等于相繼的時鐘脈沖數(N位DAC需要N個時鐘脈沖), 每個時鐘脈沖后還要跟隨一個裝入脈沖。所以這種處理器的I/O端口與串行數據轉換器通信 要花費相當多的時間。因此吞吐率高于500 ksps 的串行式DAC平常是少見的。

問:我的8位處理器沒有串行接口,有什么辦法可以把一個12位串行 式ADC(例如AD7993)接到該8位處理器總線上?

答:當然我可以使用外部移位寄存器,將數據用串行(和異步)方式裝入移位寄存器,然 后在時鐘作用下進入處理器的并行端口。但是,如果這個問題的著眼點是“沒有外部邏輯” ,那么可以把這個串行式ADC看作1位并行式ADC來連接。將該ADC的SDATA腳接到該處理器 數據總線的一條數據線上,這里接到數據線D0。如圖10.5所示。使用某種譯碼邏輯電路 , 能使 該ADC的口地址看作是該處理器的一個存儲器地址,以便用12個逐次讀命令讀取ADC的轉換結 果。然后用附加的軟件命令把12個字節的LSB組合起來,拼成一個12位的并行字。
a1005.gif (58359 字節)
圖10?5 沒有串行口的8位處理器與串行式ADC的接口

上面介紹的方法有時稱作“位拆裂”(bit banging)。從軟件的觀點來看,這種方法是很 不經濟的,但是當處理器的運行速度遠遠高于ADC的轉換速度時,這種方法可以采用。

問:在前面的例子中,利用了處理器的寫信號門控方式來 起動AD7893轉換。請問這種方法是否有問題?

答:我很高興你看出這一點。在這個例子中,每轉換一次都要對AD7893的尋址存儲器發 出一個空操作的寫命令。雖然沒有數據交換,但是處理器仍然提供開始轉換所需要的寫脈沖 。從硬件的觀點來看,這種結構非常簡單,因為它不必再產生一個轉換信號。

但是,對信號必須進行周期性采樣的交流數據采集應用場合,不推薦這種方法。即使程 控處理器,對ADC發出周期性寫命令,寫脈沖的相位抖動將會嚴重降低實際得到的信噪比。 經過門控之后寫脈沖會抖動得更壞。例如,假設采樣時鐘相拉抖動僅僅1 ns,對一個理想的 100kHz正弦波來說,其信噪比會降到大約600dB(低于10有效位分辨率)。另外一個缺點是, 過沖和采樣信號噪聲都會進一步降低模數轉換的完整性。

問:我應該在什么時候選擇具有異步串行接口的數據轉換器?

答:異步通信方式允許設備之間交換信息,不必借助于時鐘。為了使用相同的數據格式 ,必須對設備初始化,其中包括設置一種傳輸速率(通常用波特率表示,或位數每秒)。還應 該規定轉換結果如何開始傳送和結束傳送。我們使用容易識別的帶有起始位和停止位的數據 序列來傳送數據。傳送過程還包括奇偶校驗位,用來檢測設備出錯。

圖10?6示出了AD1B60數字化信號調節器與PC機異步通信端口之間的接線圖。這是一種3 線雙向接口(為了簡明,地線省去未畫)。應該注意發送線與接收線在線路的另一端位置交換 。
a1006.gif (27744 字節)
圖10?6 AD1B60與PC機之間的異步通信接口

異步通信線路對僅限于設備分散式通信應用場合是很有用的。因為在每次傳送中都包 括起始位和停止位,所以設備在任何時間只要輸出其數據就可以開始通信。另外設備之間 的接線數目也減少了,因為時鐘和控制信號線都不需要了。

問:有一種ADC產品說明在串行接口中推薦使用非連續時鐘,為什么?

答:這種技術要求可能是指ADC在轉換過程期間要求其時鐘信號無效。有的ADC有這種要 求,因為連續的時鐘信號能夠饋送到ADC的模擬部分,反過來會影響轉換結果。如果I/O端 口有一個幀脈沖,那么連續的時鐘信號在轉換期間可能變成不連續。這個幀脈沖用作門控信 號,只有在數據傳遞時才允許將串行時鐘送到ADC。

問:如何使設備與SPI或MICROWIRE接口標準兼容?

答:SPI(串行外圍接口)與MICROWIRE分別是美國摩托羅拉公司和國家半導體公司研制的 串行接口標準。大多數同步串行式數據轉換器都很容易與這兩種接口連接,但是在有些情況 下可能需要附加連接邏輯(glue logic)。

問:好,我放棄偏見,在我的當前設計中決定使用串行ADC。我按照產品說明的技術要求 剛剛把線路接好。當用MICROWIRE標準轉換結果時,ADC的輸出好像總是FFF HEX (不論 模擬輸入電壓如何變化),這是怎么回事?

答:這或許是通信問題。首先我們需要檢查ADC與處理器之間的連接問題,即定時和控制 信號線是否接好。我們還需要檢查一下處理器的中斷結構。與時序有關的可能誤差有許多。你要想檢查這個問題,首先將所有的時序信號要么接到邏輯分析儀上,要么接到多通道示波 器 上(至少需要3個通道才能同時檢測全部時序信號)。你在儀器的熒光屏上應該觀察到類似圖1 0.7所示的時序圖。首先保證從微處理器或從獨立的信號源產生一個啟動轉換命令CONVST) 。常見的錯誤是所施加的CONVST信號極性不對。雖然也能啟動轉換,但不是按照你期望的時 序轉 換 。另外應該記住的是,通常要求CONVST信號有一個最小的脈沖寬度(典型值約為50ns)。一般 來自快速微處理器的寫脈沖或讀脈沖寬度都不能滿足這個要求。如果脈沖寬度太窄,可用軟 件方法插入等待周期來增大脈沖寬度。
a1007.gif (44808 字節)
圖10?7 串行ADC時序圖

其次應該保證在讀周期開始之前微處理器一直在等待模數轉換完成。為了使微處理器產 生中斷信號,你的應用軟件應該知道完成A/D轉換所需要的時間,或等待ADC轉換結束(EOC) 發出的指示信號。還要保證EOC信號極性正確,以免ADC在轉換進程中會產生中斷。如果微處 理器對中斷不響應,你應該檢查軟件中斷的設置。

另外,如果轉換器尋址不對,檢查一下串行時鐘序列(SCLK)的狀態也是很有必要的。正 如 前面的討論所述,有些DAC和ADC在連續時鐘作用下,工作不正常。除此以外,還有些DAC和A DC要求SCLK在某一指定狀態總得有一個閑音(idles)。

問:我現在已經發現了我的軟件中的問題和一些解決方法,使問題有所改善。當改變輸 入電壓時,ADC輸出的數據也發生變化,但是轉換結果好像不可識別,這是怎么回事?

答:可能產生的誤差源仍然很多。ADC的轉換結果或者直接用二進制數據形式表示,或者 用2的補碼形式表示(BCD碼用得不太多)。為了使微處理器接受合適的數據格式,應該檢查它 的配置。如果微處理器的配置不能直接接受2的補碼,你應該將轉換數據與100…00二進制數 進行異或操作,將其轉換成二進制數。

通常利用串行時鐘的前沿(上升或下降沿)選通ADC的數據輸出并且進入數據總線。然后 利用時鐘的后沿使數據進入微處理器。應該保證微處理器與ADC在同一轉換條件下正常工作 ,保證所有準備時間和保持時間都滿足要求。如果串行ADC的轉換結果恰好是期望值的一半 或二 倍時,這是一個告警信號,它說明這個數字結果(尤其是MSB)是由于受錯誤的時鐘邊沿作用 。同樣一個問題,對于串行DAC則表現為其輸出電壓恰好為期望值的一半或二倍。

驅動轉換器的數字信號應該干凈。過沖或欠沖除對器件可能引起長期損壞以外,還能產 生轉換誤差和通信誤差。圖10?8示出了用來驅動單電源轉換器的時鐘輸入 具 有很大過沖的尖脈沖信號。在這種情況下,時鐘輸入驅動PNP晶體管的基極。按照慣例,將 器件的P型襯底內部連接到最負的電位,這里為地。在SCLK線上大于地電位以下0?3V的幅度 完 全能使N型晶體管的基極和P型襯底之間的寄生二極管開始導通。如果經常出現這種情況,而 且作用時間很長,可能會導致器件損壞。
a1008.gif (31721 字節)
圖10?8 過沖或欠沖波形及其損壞器件的機理

如果作用時間很短,雖然不會損壞器件,但是會增強器件中通常不起作用的襯底對其它 晶體管的影響,從而導致將每個作用脈沖檢測為多個時鐘脈沖。這種脈沖抖動對串行式轉換 器影響很厲害,而對并行式轉換器則差一些。因為讀周期和寫周期通常都取決于所施加的 第一 個脈沖,而后邊的脈沖無關緊要。但是,如果在轉換期間出現這種干擾信號,無論是串行還 是并行式轉換器都要受到噪聲的影響。

圖10?9示出了如何很容易地減小過沖。在出現問
a1009.gif (28926 字節)

圖10?9 用來減小過沖的低通濾波器

題的數字輸入信號線上串聯一個小電阻。這個電阻與數字輸入端的寄生電容 C par 結合起來可構成一個低通濾波器,從而可 以消除接受信號的任何振蕩。一般推薦使用50Ω的電阻,但是做一些實驗可能是必要的。如 果數字輸入端的內部電容不夠大,還可在這個輸入端加一個外接電容。這時實驗是必要的, 但開始最好選10pF左右的電容。

問:你已經談到時鐘信號過沖會使轉換器的噪聲惡化。從接口技術的角度來看,是否有 其它方法來改善其信噪比?

答:因為你的系統在混合信號(模擬與數字)環境下工作,所以接地方法至關重要。你可 能知道,因為數字電路是一種噪聲源,所以模擬地與數字地應該分開,只在一點會合。這種 接地方法通常只用在電源上。實際上,如果模擬器件和數字器件共用一個電源,例如+5V或+ 3?3V單電源系統,只有連接模擬地與數字地才能在電源返回,別無選擇。具體數據轉換器 的 產品說明可能指導你對器件的AGND腳和DGND腳如何連接。如果在兩點接地,那么應該如何避 免產生接地環路呢?

圖10?10示出了解決這種困境的方法。關鍵在于數據轉換器的引腳中標記的AGND和DGND 腳 都是相對轉換器的部件而言的,用來與其它引腳連接。數據轉換器作為一個整體,應該按模 擬器件來處 理。所以將AGND和DGND腳連接到一起后,應該用一根線接到系統的模擬地。如果真的這樣做 ,會使轉換器的數字電流流入模擬接地平面,但這樣要比通常把轉換器的DGND腳接到噪聲數 字接地平面帶來的危害要小。這個例子還示出了一個接數字地的數字緩沖器,用來使轉換 器的串行數據引腳與有噪聲的串行數據總線相隔離。如果數據轉換器的引腳與微處理器的引 腳直接相連,那么可以不用這種緩沖器。

圖10?10還示出了如何處理混合信號系統單電源

供電這樣一個越來越引人關注的普遍性問題。正如接
a1010.gif (64878 字節)

圖10?10 模擬地與數字地的接線方法
地一樣,我們將電路中的模擬部分與數字部分的電源線(最好是電源平面)分開。我們將 數據轉換器的數字電源按模擬電源處理。但是有時候將模擬電源引腳與數字電源引腳用一種 電感的方式隔離起來是很必要的。請注意,轉換器的兩個電源引腳都應分別接去耦電容器。 具 體產品說明將推薦選用合適的電容器,但好的經驗規則是0?1μF。如果空間允許,每個器 件都應接一個10μF電容器。

問:我想在ADC與微處理器之間用光隔離器設計一個串行接口。當我使用這些器件時,應 該知道些什么?

答:為了構造一個簡單而又經濟的高壓隔離器可以使用光隔離器(又稱光耦合器)。在數 據轉換器與微處理器之間電流隔離作用的經驗還表明模擬系統的地與數字系統的地不必再連 接起來。正如圖10.11所示,精密ADC AD7714 與通用的微控制68HC11之間的
隔離串行接口只用3個光隔離器便可實現。
a1011.gif (62855 字節)
圖10?11 ADC與微處理器之間的隔離串行接口

設計者應該知道,光隔離器的上升時間和下降時間非常慢。它與CMOS數據轉換器一起使 用會出現問題,即使在串行通信時以低速運行也是如此。CMOS邏輯輸入端設計成用規定的邏輯“0”或邏輯“1”來驅動。在這種狀態下,輸入端 提供和吸收很少量的電流。然而,當輸入電壓處于邏輯“0”與邏輯 “1”之間的變遷狀態時(0?8V到2?0 V)邏輯門消耗的電流數量將要增加。如果所用的光隔離器的上升時間和下降時間相當慢,那 么絕大部分時間都浪費在“死區”,從而產生邏輯門的自熱。這種自熱導致邏輯 門的閾值電壓向上漂移,從而導致轉換器將一個時鐘脈沖看作多個時鐘脈沖。為 了防止這種閾值抖動,應該使用施密特觸發器來緩沖來自光隔離器的信號線,以便將快速、 陡沿的時鐘信號傳送給數據轉換器。

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      三公百家乐官网玩法| 百家乐五湖四海娱乐平台| 大发888游戏登陆| 百家乐官网轮盘技巧| 网上百家乐返水| 海滨湾国际娱乐城| 百家乐官网刷钱| 顶级赌场手机版| 唐朝百家乐官网的玩法技巧和规则 | 太阳百家乐娱乐| 百家乐官网翻天快播| 百家乐透明牌靴| 保时捷娱乐| 百家乐实战案例| bet365备用 必发| 速博百家乐官网的玩法技巧和规则 | 神州百家乐官网的玩法技巧和规则 | 百家乐赌场公司| 百家乐官网连输的时候| 杨氏百家乐必胜公式| 百家乐官网游戏合法吗| 百家乐赌博信息| 百家乐官网玩法注意事项| 开百家乐骗人吗| 百家乐官网平注常赢法| 百家乐合作| 永利百家乐官网赌场娱乐网规则| 大发888 迅雷下载| 百家乐娱乐网站| 真人百家乐源代码| 德州扑克现金桌视频| 百家乐官网最低压多少| 免费百家乐官网平预测软件| 百家乐旺门打| 肯博百家乐现金网| 博E百娱乐| 合肥百家乐赌博游戏机| 真人百家乐官网在线玩| 百家乐作| 竞咪百家乐官网的玩法技巧和规则 | 神州百家乐官网的玩法技巧和规则 |