Q值。我需要數(shù)據(jù)轉(zhuǎn)換器以適應(yīng)狹小的空間,我懷疑串行接口會(huì)有所幫助。選擇和使用一個(gè)我需要知道什么?
A。讓我們首先看一下串行接口的工作方式,然后將其與并行接口進(jìn)行比較。在此過(guò)程中,我們將消除有關(guān)串行數(shù)據(jù)轉(zhuǎn)換器的一些神話。
該圖顯示了連接到串行端口的AD7890 8通道多路復(fù)用12位串行A / D轉(zhuǎn)換器(ADC)。 ADSP-2105數(shù)字信號(hào)處理器(DSP)。還顯示了DSP用于與ADC通信的時(shí)序。構(gòu)成轉(zhuǎn)換結(jié)果的12位作為串行數(shù)據(jù)流通過(guò)單線傳輸。數(shù)據(jù)流還包括三個(gè)附加位,用于標(biāo)識(shí)AD7890多路復(fù)用器當(dāng)前選擇的輸入通道。為了區(qū)分串行數(shù)據(jù)流的位,必須通常由DSP提供時(shí)鐘信號(hào)(SCLK);但是,有時(shí)ADC會(huì)將此時(shí)鐘作為輸出提供。 DSP通常(但不總是)提供額外的成幀脈沖,該通信脈沖在通信開始時(shí)的一個(gè)周期內(nèi)有效,或者如圖所示(TFS / RFS),在發(fā)送期間有效。
在本例中,DSP的串行端口用于編程ADC中的內(nèi)部5位寄存器。寄存器的位控制諸如選擇要轉(zhuǎn)換的通道,將器件置于掉電模式以及開始轉(zhuǎn)換等功能。顯然,在這種情況下,串行接口必須是雙向的。
另一方面,并行ADC直接(或可能通過(guò)緩沖器)連接到與其連接的處理器的數(shù)據(jù)總線。該圖顯示AD7892與ADSP-2101接口。轉(zhuǎn)換完成后,AD7892會(huì)中斷DSP,通過(guò)單次讀取ADC的解碼存儲(chǔ)器地址來(lái)響應(yīng)。
串行和并行數(shù)據(jù)轉(zhuǎn)換器之間的關(guān)鍵區(qū)別在于數(shù)量需要的接口線。從節(jié)省空間的角度來(lái)看,由于減少了器件引腳數(shù),串行轉(zhuǎn)換器具有明顯的優(yōu)勢(shì)。這使得可以將12位串行ADC或DAC封裝在8引腳DIP或SO封裝中。更重要的是,節(jié)省了電路板空間,因?yàn)榇薪涌谶B接需要更少的PCB軌道。
Q.我的數(shù)模轉(zhuǎn)換器必須遠(yuǎn)離中央處理器并彼此遠(yuǎn)離。處理此問(wèn)題的最佳方法是什么?
A.最初,您必須決定是使用串行DAC還是并行DAC。使用并行DAC,您可以將每個(gè)DAC映射到內(nèi)存映射的I / O位置,如圖所示。然后,您只需對(duì)相應(yīng)的I / O位置執(zhí)行寫入命令即可對(duì)每個(gè)DAC進(jìn)行編程。然而,這種配置具有明顯的缺點(diǎn)。它需要并行數(shù)據(jù)總線以及一些控制信號(hào)到所有遠(yuǎn)程位置。顯然,一個(gè)串行接口,可以只有兩根電線,更經(jīng)濟(jì)。
串行轉(zhuǎn)換器通常不能映射到處理器的內(nèi)存中。但是許多串行DAC可以連接到處理器的串行I / O端口。然后,處理器上的其他端口可用于生成片選信號(hào),以單獨(dú)啟用DAC。片選信號(hào)需要從每個(gè)器件到接口的線路。但是處理器上可以配置為發(fā)送芯片選擇信號(hào)的線路數(shù)量可能會(huì)有限制。
解決此問(wèn)題的一種方法是使用可以菊花鏈?zhǔn)竭B接在一起的串行DAC 。該圖顯示了如何將多個(gè)DAC連接到單個(gè)I / O端口。每個(gè)DAC都有一個(gè)串行數(shù)據(jù)輸出(SDO)引腳,該引腳連接到鏈中下一個(gè)DAC的串行數(shù)據(jù)輸入(SDI)引腳。 LDAC和SCLK并行饋送到鏈中的所有DAC。由于時(shí)鐘輸入SDI的數(shù)據(jù)最終出現(xiàn)在SDO(N個(gè)時(shí)鐘周期之后),因此單個(gè)I / O端口可以尋址多個(gè)DAC。但是,端口必須輸出長(zhǎng)數(shù)據(jù)流(每個(gè)DAC的N位乘以鏈中的設(shè)備數(shù))。這種配置的最大優(yōu)點(diǎn)是不需要設(shè)備解碼。所有設(shè)備都有效地位于相同的I / O位置。菊花鏈的主要缺點(diǎn)是可訪問(wèn)性(或延遲)。要更改單個(gè)DAC的狀態(tài),處理器仍必須從I / O端口輸出完整的數(shù)據(jù)流。
Q.如果串行數(shù)據(jù)轉(zhuǎn)換器節(jié)省了太多的空間和線路,為什么不在每個(gè)對(duì)空間敏感的應(yīng)用中使用它們?
A。串行接口的主要缺點(diǎn)是空間速度的權(quán)衡。例如,要對(duì)并行DAC進(jìn)行編程,只需將數(shù)據(jù)置于數(shù)據(jù)總線上,然后通過(guò)單脈沖將其計(jì)入DAC。但是,當(dāng)寫入串行DAC時(shí),這些位必須按順序計(jì)時(shí)(N位轉(zhuǎn)換器為N個(gè)時(shí)鐘脈沖),然后是加載脈沖。處理器的I / O端口花費(fèi)相當(dāng)多的時(shí)間與串行轉(zhuǎn)換器通信。因此,吞吐率高于500 ksps的串行轉(zhuǎn)換器并不常見。
Q值。我的8位處理器沒(méi)有串行端口。有沒(méi)有辦法將AD7893等串行12位ADC連接到處理器的并行總線?
A。它當(dāng)然可以使用外部移位寄存器來(lái)完成,該寄存器是串行(并且異步)加載,然后輸入處理器的并行端口。但是,如果問(wèn)題的意義是“沒(méi)有外部邏輯”,則可以將串行ADC接口,就好像它是1位并行ADC一樣。將轉(zhuǎn)換器的SDATA引腳連接到處理器的數(shù)據(jù)總線之一(它連接到圖中的D0)。使用一些解碼邏輯,轉(zhuǎn)換器可以映射到處理器的一個(gè)存儲(chǔ)器位置,以便可以使用12個(gè)連續(xù)的讀取命令讀取轉(zhuǎn)換結(jié)果。然后,附加軟件命令將讀取的12個(gè)字節(jié)的LSB集成到一個(gè)12位并行字中。
這種技術(shù)有時(shí)被稱為“位沖擊”,非常從軟件角度來(lái)看效率低下。但在處理器運(yùn)行速度比轉(zhuǎn)換器快得多的應(yīng)用中可能是可以接受的。
Q.在最后一個(gè)示例中,處理器寫入信號(hào)的門控版本用于啟動(dòng)AD7893上的轉(zhuǎn)換。這種方法有問(wèn)題嗎?
A。我很高興你發(fā)現(xiàn)了這一點(diǎn)。在此示例中,可以通過(guò)對(duì)AD7893的映射存儲(chǔ)器位置進(jìn)行虛擬寫操作來(lái)啟動(dòng)轉(zhuǎn)換。沒(méi)有數(shù)據(jù)交換,但處理器提供開始轉(zhuǎn)換所需的寫脈沖。從硬件角度來(lái)看,這種配置非常簡(jiǎn)單,因?yàn)樗苊饬松赊D(zhuǎn)換信號(hào)的需要。但是,在交流數(shù)據(jù)采集應(yīng)用中不推薦使用該技術(shù),其中必須定期對(duì)信號(hào)進(jìn)行采樣。即使處理器被編程為對(duì)ADC進(jìn)行周期性寫入,寫入脈沖上的相位抖動(dòng)也會(huì)嚴(yán)重降低可達(dá)到的信噪比(SNR)。選通過(guò)程可能使寫信號(hào)抖動(dòng)更加嚴(yán)重。例如,采樣時(shí)鐘相位抖動(dòng)電平僅為1 ns,會(huì)使理想的100 kHz正弦波的SNR降低到約60 dB(小于10個(gè)有效位分辨率)。還存在一個(gè)額外的危險(xiǎn),即采樣信號(hào)上的過(guò)沖和噪聲會(huì)進(jìn)一步降低模數(shù)轉(zhuǎn)換的完整性。
Q.我應(yīng)該選擇具有異步串行接口的轉(zhuǎn)換器嗎?
A。異步鏈接允許設(shè)備相互交換非時(shí)鐘數(shù)據(jù)。必須首先將設(shè)備編程為使用相同的數(shù)據(jù)格式。這涉及設(shè)置特定數(shù)據(jù)速率(通常以波特或每秒位數(shù)表示)。定義如何啟動(dòng)和結(jié)束傳輸?shù)募s定也是必要的。我們使用名為 start 和 stop 位的可識(shí)別數(shù)據(jù)序列來(lái)執(zhí)行此操作。傳輸還可以包括便于錯(cuò)誤檢測(cè)的奇偶校驗(yàn)位。
該圖顯示了AD1B60數(shù)字化信號(hào)調(diào)理器如何與PC的異步COM端口連接。這是一個(gè)3線雙向接口(為清晰起見,省略了地線)。請(qǐng)注意,接收和傳輸線路在線路的另一端交換角色。
異步數(shù)據(jù)鏈接在設(shè)備偶爾進(jìn)行通信的應(yīng)用程序中很有用。由于每次傳輸都包含啟動(dòng)和停止位,因此設(shè)備可以通過(guò)簡(jiǎn)單地輸出其數(shù)據(jù)隨時(shí)啟動(dòng)通信。由于不再需要時(shí)鐘和控制信號(hào),因此減少了設(shè)備之間的連接數(shù)量。
Q.我正在考慮的ADC數(shù)據(jù)表建議在串行接口上使用非連續(xù)時(shí)鐘。為什么?
A。規(guī)范可能要求在轉(zhuǎn)換過(guò)程中時(shí)鐘保持不活動(dòng)狀態(tài)。有些ADC需要這樣做,因?yàn)檫B續(xù)的數(shù)據(jù)時(shí)鐘可以通過(guò)器件的模擬部分,并對(duì)轉(zhuǎn)換的完整性產(chǎn)生不利影響。如果I / O端口具有成幀脈沖,則在轉(zhuǎn)換期間可以中斷連續(xù)時(shí)鐘信號(hào);它被用作門控信號(hào),僅在數(shù)據(jù)傳輸期間啟用串行時(shí)鐘到轉(zhuǎn)換器。
Q.什么使器件SPI或MICROWIRE兼容?
A。SPI(串行外設(shè)接口)和MICROWIRE分別是Motorola和National Semiconductor開發(fā)的串行接口標(biāo)準(zhǔn)。大多數(shù)同步串行轉(zhuǎn)換器可以輕松連接到這些端口;但在某些情況下,可能需要額外的“粘合”邏輯。
Q.好。我決定放棄偏見,在我目前的設(shè)計(jì)中使用串行ADC。我剛剛按照數(shù)據(jù)表的規(guī)定連接了它。當(dāng)我的micro讀取轉(zhuǎn)換結(jié)果時(shí),ADC似乎總是輸出FFFHEX。發(fā)生了什么事?
A。也許您遇到了通訊問(wèn)題。我們需要查看ADC和處理器之間的連接以及如何設(shè)置時(shí)序和控制信號(hào)。我們還需要查看中斷結(jié)構(gòu)。下一部分將回到此問(wèn)題,討論設(shè)計(jì)串行接口時(shí)遇到的問(wèn)題。
-
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
8749瀏覽量
148181 -
串行
+關(guān)注
關(guān)注
0文章
237瀏覽量
33987
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論