引言
ADS8361是一款采樣速率為500kSPS的16位雙路模數轉換器(ADC),該轉換器具有4個全差分輸入通道,兩兩一對,以實現同步高速信號采集。采樣保持放大器的輸入端是全差分的,此外,ADC的輸入端也保持為全差分。這使該ADC具有卓越的共模抑制能力:在50kHz時為80dB,這在高噪聲環境下非常重要。
新型MSP430F2013等MSP430器件具有通用串行接口(USI),因而可用于非常簡單直接的接口,該接口不需要“粘接邏輯”且需要的軟件開銷也很少。有的應用要求對同步數據采集的通道實現精確定時,這時我們就能用這種接口來獲取所需的系統結果。
硬件

ADS8361 EVM
ADS8361是德州儀器(TI)推出的串行ADC電機控制產品系列產品。EVM提供了相關平臺,以演示配合不同TI DSP與微控制器時ADS8361ADC的功能,并針對定制的最終用戶應用提供了方便地存取所有模擬與數字信號的功能。
eZ430-F2013開發工具
eZ430-F2013是完整的MSP430開發工具,包括評估MSP430F2013所需的全部軟硬件。我們用可便利的USB存儲棒提供該硬件。eZ430-F2013采用IAR嵌入式工作臺集成開發環境(IDE),以提供完整的仿真功能,該器件提供獨立系統設計與可拆卸目標板兩種選項,以便于集成至現有設計中。更多詳情,敬請訪問:www.ti.com/ez430。
硬件接口
連接eZ430-F2013與ADS8361EVM的最低要求是采用簡單的三線接口(見表1)。硬件連接如圖1所示。ADS8361的CLOCK、(RD+CONVST)與Serial Data A引腳分別連接至USI端口的SCLK、MOSI與MISO引腳。chip select(CS)引腳接地,因為端口上只放置一個ADC。如果總線上掛接多個器件,那么芯片選擇引腳應由MSP430器件上可用的GPIO控制。
軟件接口
MSP430的所有軟件都采用IAR嵌入式工作臺(Kickstart版本)編寫編譯。該軟件是IDE的免費版,并可在WWW.ti.com/ez430網站的工具支持(TOOL SUPPORT)部分下載。您也可請求獲得示例中使用的代碼。
USI設置
USI模塊提供支持同步串行通信方案的基本功能。USI具有內置硬件功能,從而簡化了SPI通信的實施。此外,USI模塊還具有中斷功能,能進一步降低軟件的開銷。
USI控制寄存器0和1(USICTL0和USICTL1)設置串行接口的基本操作。通過在USICTL0中設置3,5,6和7位,可在SPI主模式下配置端口。此外,還可在USICTL1中設置USI計數器中斷,從而以最小的軟件開銷有效地實現SPI通信。
串行時鐘的極性、信號源及速度都可通過設置USI時鐘控制寄存器(USICKCTL)得到控制。就本文而言,時鐘極性設為零(保持為低),時鐘源為SMCLK,分頻系數為一。
位時鐘和移位寄存器配置在USI端口中實現控制,由USI位計數寄存器(USICNT)的位設置決定。USICNT寄存器有5位,每次可提供多達32個SCLK周期。如果USICNT設為0×13,MSP430將在每個轉換周期向ADS8361發送19個串行時鐘。將USICNT寄存器的USI16B位置1,可使移位寄存器發揮16位發送/接收緩存的作用。所發送的數據根據MSB排列,以首個SCLK周期開始。
開始轉換
我們將USI端口的MOSI輸出連接到ADS8361上的RD和CONVST輸入上,就能開始轉換周期,轉換結果提供給該器件的串行數據輸出引腳。
ADS8361將在第四個SCLK周期開始輸出轉換結果(先是MSB)。由于移位寄存器保留最后16位的接收數據,因此我們采集全部16位轉換結果,用于進一步的處理。圖2中的時序圖顯示了整個過程。
ADS8361工作模式
ADS8361有四種由M0及M1引腳控制的工作模式。ADS8361EVM提供的跳線可靜態設置工作模式。在MSP430上采用GPIO輸出后,還能通過微控制器來控制工作模式。
就雙通道工作而言,EVM應在模式I和II中配置。根據所采用MSP430器件的不同,用戶在決定如何接收轉換結果時有著若干選擇。具有多個串行端口的器件可同時從ADS8361的Serial DataA與Serial DataB輸出引腳接收數據。這種方法將設置一個端口作為SPI主設備而另一個端口為SPI從設備。主SPI端口將與從端口共享SCLK,兩個串行輸出引腳將被連接至MISO與MOSI。
雙通道同步采樣
就eZ430-F2013而言,由于只有一個串行端口,也就是說,ADS8361必須在Mode II中設置,才能從同步采樣的兩個輸入通道接收轉換結果。該模式將兩個轉換結果都提供給SerialDataA輸出引腳(見圖3)。
ADS8361通道ID位
ADS8361的串行輸出流還包括雙通道ID位,這樣控制器就能用軟件方法來破譯所接收的通道信息。首個ID位確定了通道對A或B。第二個ID位決定了采樣通道0或1。在ModeII工作模式下,兩個輸入通道被轉換,輸出數據流中包含一個ID位。
在該模式中,我們不使用A/B通道ID位,因為輸入采樣對取決于ADS8361的A0輸入控制引腳。當A0為低電平時,對通道A0/B0輸入對進行采樣。當A0為高電平,對通道AllB1輸入對進行采樣。
ADS8361EVM的跳線可通過A0引腳靜態設置輸入對。如果需要的話,我們也可通過MSP430上的GPIO來控制上述工作,這樣用戶就能實現四通道工作,即兩對同步采樣輸入通道。
四通道采樣
Mode Ⅲ及IV能幫助用戶實現ADS8361的四通道工作。Mode Ⅲ提供Serial Data A與Serial Data B輸出的數據。在此模式下,接收所有四個轉換的數據要求將兩個串行端口如前所述配置為主從關系。
Mode IV可使一個串行端口通過Serial Data A輸出引腳來接收所有四個轉換結果。在此模式下,A/B和0/1通道ID位都可傳遞轉換結果。這種情況下,如果配合使用eZ430-F2013器件,那么移位寄存器會丟失ID位,從而導致問題發生。我們可通過軟件恢復ID位,但這會增加軟件開銷,并擴大不必要的復雜性。
在四通道順序工作模式下,我們可通過特定方法來對ADS8361進行初始化,這樣就能保證通道的完整性,而根本無需破譯ID位。如果使用GPIO,我們可在程序開始處用簡單的軟件循環(software loop)來完成上述工作,從而靈活地對A0、M0與M1輸入的狀態進行操控。此外,我們也可以完全忽視第一組轉換結果。默認狀態下,ADS8361啟動Mode I;如果啟動時M0和M1固定為VCC,那么器件在第二次轉換周期會進入ModeIV工作模式,這使第三次SPI傳輸開始提供A0通道的數據,隨后順序提供B0、A1和B1通道的數據。
結語
與MSP430處理器的USI端口配合使用高性能ADS8361,這是一項相對簡單而直接的工作,幾乎不會造成什么軟件開銷,也不需要像前代MSP430產品中老式的UART端口那樣采用簡單的8位SPI接口來移動或連接轉換結果。本文介紹的接口方式為那些要求多通道同時進行數據采集的MSP430應用帶來了更高的靈活性。

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”