采用SPI的高速ADC雙線控制電路
——
多數(shù)現(xiàn)行微處理器、DSP、現(xiàn) 場可編程門陣列都集成了硬件和軟件資源,它們支持兩種常見接口標(biāo)準(zhǔn)——SPI(串行外設(shè)接口)和I2C /SMBus——中的一種或兩種。兩種雙線接口標(biāo)準(zhǔn)都有幾個(gè)關(guān)鍵缺點(diǎn)。例如,I2C在標(biāo)準(zhǔn)模式、快速模式、高速模式中的吞吐速率分別是 100kbps、400kbps或3.4Mbps,因此限制了快速外設(shè)數(shù)據(jù)轉(zhuǎn)換器的采樣速率。不包括成幀比特和開銷比特的話,一個(gè) 100ksps的12比特ADC在接口上必須以至少1.2Mbps 來傳輸數(shù)據(jù),只有I2C的高速模式才支持這個(gè)速度。許多處理器和控制器目前不提供 I2C高速模式,因此不能支持快速數(shù)據(jù)轉(zhuǎn)換器。
I2C的一個(gè)主要優(yōu)點(diǎn)是減少了主機(jī)至目標(biāo)的互連線路數(shù)量。主機(jī)控制器只使用兩根線,外加接地,就能應(yīng)付目標(biāo)器件和交換數(shù)據(jù),而 SPI 需要三根線——數(shù)據(jù)、時(shí)鐘、芯片選擇——外加接地。多個(gè) SPI 目標(biāo)器件能共享數(shù)據(jù)和時(shí)鐘線路,但是每個(gè)器件都需要自己的專用芯片選擇線路。
由于人們始終需要更高的采樣速率和分辨率,因此I2C的有限速度也許會限制它在某些應(yīng)用中的使用,這迫使設(shè)計(jì)師選擇SPI。然而,SPI需要主機(jī)控制器上有一根額外的I/O引腳。在無法提供額外引腳,但是應(yīng)用需要快速SPI總線轉(zhuǎn)換器的情況下,你可以利用圖1中的技巧。
例如,德州儀器公司的 ADS7816包含200ksps的12比特采樣ADC,它需要3Msps的性能,從而以200ksps速率連續(xù)采樣(參考文獻(xiàn)1)。如果選擇ADS7816的低電平有效CS(芯片選擇)引腳,就會引起一個(gè)轉(zhuǎn)換周期。在數(shù)據(jù)傳輸期間轉(zhuǎn)換并保持CS為低電平之后,CS在傳輸數(shù)據(jù)之后返回高電平,完成整個(gè)過程。
當(dāng)時(shí)鐘線路變?yōu)榈碗娖綍r(shí),它還使CS保持低電平狀態(tài)。峰值檢測器(由D1、R1、C1組成)的時(shí)間常數(shù)確保了CS不會變?yōu)楦唠娖?,直到時(shí)鐘線路保持高電平的持續(xù)時(shí)間超過一個(gè)時(shí)鐘周期(圖2)。雖然時(shí)鐘線路轉(zhuǎn)換并從 IC2取回?cái)?shù)據(jù),但CS保持為低電平,并且,在數(shù)據(jù)取回任務(wù)完成時(shí),時(shí)鐘線路變?yōu)楦唠娖?,CS隨后也變?yōu)楦唠娖?,使電路為另一個(gè)轉(zhuǎn)換周期準(zhǔn)備就緒。
由于C1必須在轉(zhuǎn)換周期結(jié)束時(shí)放電,因此控制器應(yīng)該延遲下一個(gè)轉(zhuǎn)換周期的啟動,直到C1完全放電。仔細(xì)選擇R1和C1的話,就會使延遲縮短到最少的3個(gè)時(shí)鐘周期。另外,在下一個(gè)時(shí)鐘脈沖到達(dá)并刷新電容器的電壓之前,C1兩端的電壓一定不能降到逆變器IC1B的輸入閾值以下。逆變器IC1A的輸出電壓和電流能力會影響C1的再次充電時(shí)間,而R1和IC1B的輸入阻抗會影響放電時(shí)間。為了確保實(shí)現(xiàn)耐用的設(shè)計(jì),應(yīng)該包含元件的公差和溫度系數(shù),以及邏輯輸入和輸出閾值的變化情況。
參考文獻(xiàn):
ADS7816 data sheet, http://focus.ti.com/docs/prod/folders/print/ads7816.html, Texas Instruments.
評論