我在建立ADC與微控制器之間的通信時遇到了問題。如果你還記得,無論模擬輸入電壓如何,微控制器似乎總是讀取FFF(HEX)的轉換結果??赡軐е逻@種情況的原因是什么?
A.有許多與時序相關的錯誤來源。您可以通過將所有定時信號連接到邏輯分析儀或多通道示波器來開始解決此問題(至少需要三個通道才能同時查看所有信號)。您在屏幕上看到的內容與下圖中的時序圖類似。首先確保正在生成啟動轉換命令(CONVST)(來自微型或來自獨立振蕩器)。常見的錯誤是應用極性錯誤的CONVST信號。轉換仍在執行,但不會在您預期的情況下執行。同樣重要的是要記住,CONVST信號通常需要最小脈沖寬度(通常約為50 ns)??焖?a target="_blank">微處理器的標準寫入或讀取脈沖可能無法滿足此要求。如果太短,可以通過插入軟件等待狀態來擴展脈沖寬度。
確保微控制器在讀周期開始之前等待轉換完成。您的軟件應該記錄轉換所需的時間或等待來自ADC的轉換結束(EOC)指示器以在微處理器中生成中斷。確保EOC信號的極性正確,否則ADC將在轉換過程中產生中斷。如果微控制器沒有響應中斷,則應檢查軟件中斷的配置。
在不尋址時考慮串行時鐘線(SCLK)的狀態也很重要。轉換器。正如我在前面的討論中提到的,有些DAC和ADC在連續串行時鐘下無法正常工作。除此之外,某些器件要求SCLK信號始終在一個特定狀態下空閑。
Q.好。我發現并糾正了我的軟件中的一些錯誤,事情似乎正在改善。轉換器的數據隨著輸入電壓的變化而變化,但轉換結果似乎沒有可識別的格式。
A再一次,有許多可能的錯誤來源。 ADC將以直接二進制或二進制補碼格式輸出其轉換結果(不再廣泛使用BCD數據轉換器)。檢查您的micro是否配置為接受適當的格式。如果micro不能被配置為直接接受二進制補碼,則可以通過將數字與100進行異或來將數據轉換為直接二進制。 。 。 00二進制。
通常,串行時鐘的前沿(上升沿或下降沿)將使能數據輸出ADC和數據總線。然后,后沿將數據計時到微觀。確保micro和ADC都按照相同的約定運行,并且所有設置和保持時間都得到滿足。轉換結果恰好是人們預期的一半或兩倍,這是一個跡象表明數據(尤其是MSB)正在錯誤的邊緣上運行。同樣的問題在串行DAC中表現為輸出電壓是預期值的一半或兩倍。
驅動轉換器的數字信號應該是干凈的。除了可能對設備造成長期損壞外,過沖或下沖還可能導致轉換和通信錯誤。該圖顯示了一個具有較大過沖尖峰的信號,驅動單電源轉換器的時鐘輸入。在這種情況下,時鐘輸入驅動PNP晶體管的基極。按照慣例,器件的P型襯底內部連接到可用的最負電位 - 在這種情況下是接地。在SCLK線上超過地電壓超過0.3伏的偏移足以開始在N型基極和P型基板之間導通寄生二極管。如果經常發生這種情況,從長遠來看,可能會導致設備損壞。
在短期內,雖然沒有造成損壞,但通常惰性的基板通電會影響器件中的其他晶體管并導致為每個施加的脈沖檢測多個時鐘脈沖。產生的抖動在串行轉換器中是一個嚴重的問題 - 但在并行轉換器中問題較小,因為讀和寫周期通常取決于第一個施加的脈沖;后續脈沖被忽略。但是,如果在轉換期間存在這種信號,則串行和并行轉換器的噪聲性能會受到影響。
該圖顯示了如何輕松降低過沖。在數字線路上串聯一個小電阻,導致問題。該電阻將與數字輸入的寄生電容C(par)相結合,形成低通濾波器,消除接收信號上的任何振鈴。通常建議使用50 W電阻,但可能需要進行一些實驗。如果數字輸入的內部電容不足,可能還需要在輸入端添加外部電容。在這里,實驗是必要的 - 但一個好的起點將是大約10 pF。
問。您提到時鐘過沖會降低轉換器的噪聲性能。從接口的角度來看,我能做些什么來獲得良好的信噪比嗎?
A。因為你的系統是混合運行的 - 信號環境(即模擬和數字),接地方案至關重要。你可能知道 - 因為數字電路是嘈雜的 - 模擬和數字接地應該保持分開,只在一點連接。此連接通常在電源處進行。事實上,如果模擬和數字設備由公共電源供電,如+5 V或+3.3 V單電源系統的情況,除了在電源處連接接地外別無選擇。但轉換器的數據手冊可能有一條連接設備上的引腳AGND和DGND的指令!那么,如果地面連接在兩個地方,怎么能避免產生接地回路呢?
下圖顯示了如何解決這個明顯的困境。關鍵是轉換器引腳上的AGND和DGND標簽是指這些引腳所連接的轉換器部分。整個設備應視為模擬設備。因此,在AGND和DGND引腳連接在一起后,應該只有一個連接到系統的模擬地。確實,這將導致轉換器的數字電流流入模擬地平面,但這通常比將轉換器的DGND引腳暴露在嘈雜的數字地平面上的情況要小。此示例還顯示了一個數字緩沖器,稱為數字地,用于將轉換器的串行數據引腳與嘈雜的串行總線隔離。如果轉換器與微控制器建立點對點連接,則可能不需要此緩沖區。
該圖還顯示了如何處理混合電源的日益普遍的挑戰 - 信號系統采用單電源供電。與接地情況一樣,我們將獨立的電源線(最好是電源平面)連接到電路的模擬和數字部分。我們將轉換器的數字電源引腳視為模擬。但是,以電感器形式與模擬電源引腳隔離是合適的。請記住,轉換器的兩個電源引腳都應該有獨立的去耦電容。數據手冊將推薦合適的電容,但經驗法則是0.1μF。如果空間允許,還應包括每個器件一個10μF的電容。
Q.我想使用光隔離器在ADC和微控制器之間設計一個隔離的串行接口。使用這些設備時應該注意什么?
A。光隔離器(也稱為光耦合器)可用于創建簡單且廉價的高壓隔離柵。轉換器和微電路之間存在電流隔離屏障也意味著不再需要連接模擬和數字系統接地。如圖所示,AD7714精密ADC和流行的68HC11微控制器之間的隔離串行接口可以用少至三個光隔離器實現。
設計師應該知道,即使串行通信以低速運行,使用CMOS轉換器上升和下降時間相對較慢的光隔離器也會引起問題。
CMOS邏輯輸入設計為由一個明確的零邏輯驅動或邏輯的。在這些狀態下,它們可以提供和吸收最小量的電流。但是,當輸入電壓在邏輯0和邏輯1(0.8 V至2.0 V)之間轉換時,柵極將消耗增加的電流量。如果使用的光隔離器具有相對緩慢的上升和下降時間,則在死區中花費的過多時間將導致柵極中的自加熱。這種自加熱趨向于使邏輯門的閾值電壓向上移動,這可以導致單個時鐘邊沿被轉換器解釋為多個時鐘脈沖。為了防止這種閾值抖動,來自光隔離器的線路應使用施密特觸發器電路進行緩沖,以便為轉換器提供快速,銳利的邊沿。
-
轉換器
+關注
關注
27文章
8694瀏覽量
147086 -
串行
+關注
關注
0文章
237瀏覽量
33836
發布評論請先 登錄
相關推薦
評論