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