關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 串行數據轉換器接口

        串行數據轉換器接口

        作者: 時間:2010-01-12 來源:網絡 收藏

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

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

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

        a1006.gif (27744 字節)

        圖106 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 字節)

        圖107 串行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則表現為其輸出電壓恰好為期望值的一半或二倍。

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

        a1008.gif (31721 字節)

        圖108 過沖或欠沖波形及其損壞器件的機理



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 上林县| 衡阳市| 济源市| 贵港市| 伊金霍洛旗| 漯河市| 突泉县| 太仆寺旗| 尚义县| 枣强县| 会泽县| 开平市| 长泰县| 新竹市| 江达县| 长垣县| 棋牌| 胶州市| 麻阳| 宜阳县| 玛沁县| 运城市| 莒南县| 武胜县| 北辰区| 栖霞市| 乐业县| 灵台县| 陵水| 扎赉特旗| 岱山县| 新兴县| 利川市| 台前县| 临颍县| 长春市| 鄂托克旗| 新民市| 西乡县| 施甸县| 平遥县|