《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 并行模數(shù)轉(zhuǎn)換器ADS8364與TMS320F2812的接口設(shè)計(jì)
并行模數(shù)轉(zhuǎn)換器ADS8364與TMS320F2812的接口設(shè)計(jì)
摘要: ADS8364是美國德州儀器公司(TI)的一款六通道、16位并行輸出、同步采樣的模數(shù)轉(zhuǎn)換器。該芯片提供了一個(gè)靈活的高速并行接口,可以直接與數(shù)字信號(hào)處理器TMS320F2812相連。本文主要介紹了這個(gè)接口的軟、硬件設(shè)計(jì),著重論述了這兩款芯片是如何配置啟動(dòng)和工作的。本設(shè)計(jì)廣泛應(yīng)用于電機(jī)控制、多軸定位系統(tǒng)、三相功率轉(zhuǎn)換、多通道數(shù)據(jù)采集等場合。
Abstract:
Key words :

  0 引言

  ADS8364是美國德州儀器公司(TI)的一款六通道、16位并行輸出、同步采樣的模數(shù)轉(zhuǎn)換器。該芯片提供了一個(gè)靈活的高速并行接口,可以直接與數(shù)字信號(hào)處理器TMS320F2812相連。本文主要介紹了這個(gè)接口的軟、硬件設(shè)計(jì),著重論述了這兩款芯片是如何配置啟動(dòng)和工作的。本設(shè)計(jì)廣泛應(yīng)用于電機(jī)控制、多軸定位系統(tǒng)、三相功率轉(zhuǎn)換、多通道數(shù)據(jù)采集等場合。

  1 芯片簡介

  ADS8364是一款六路模擬輸入、16位并行輸出的模數(shù)轉(zhuǎn)換器。六路模擬輸入分為三組(A,B 和C) ,每個(gè)輸入端都有一個(gè)保持信號(hào)來實(shí)現(xiàn)所有通道的同時(shí)采樣與轉(zhuǎn)換功能,非常適合于多路(多種)采集系統(tǒng)的需要。ADS8364提供了一個(gè)靈活的高速并行接口,可以運(yùn)行在直接尋址、循環(huán)采樣、FIFO等三種模式,每個(gè)通道的輸出數(shù)據(jù)都可直接作為一個(gè)16bit的字。

  TMS320F2812是TI公司生產(chǎn)的一款DSP芯片,TMS320F28X系列是當(dāng)今世界上最先進(jìn)的32位定點(diǎn)DSP芯片。它不但運(yùn)行速度高,處理功能強(qiáng)大,并且具有豐富的片內(nèi)外圍設(shè)備,便于接口和模塊化設(shè)計(jì)。它既具有數(shù)字信號(hào)處理能力,又具有強(qiáng)大的事件管理能力和嵌入式控制功能,特別適用于有大批量數(shù)據(jù)處理的測控場合,如工業(yè)自動(dòng)化控制、智能化儀器儀表及電機(jī)伺服控制系統(tǒng)等。

  2 ADS8364的工作原理

  ADS8364的最大工作頻率可達(dá)5MHz,采樣/轉(zhuǎn)換可在20個(gè)轉(zhuǎn)換時(shí)鐘周期內(nèi)完成。ADS8364的六個(gè)通道可以同時(shí)進(jìn)行采樣/轉(zhuǎn)換。吞吐率最大可達(dá)250ksps。ADS8364采用+5V工作電壓,并帶有80DB共模抑制的全差分輸入通道以及六個(gè)4μs連續(xù)近似的模數(shù)轉(zhuǎn)換器、六個(gè)差分采樣放大器。另外,在REFIN和REFOUT引腳內(nèi)部還帶有+2.5V參考電壓。ADS8364的差分輸入可在-VREF到+VREF之間變化。三個(gè)保持信號(hào)(HOLDA、HOLDB、HOLDC)可以啟動(dòng)指定通道的轉(zhuǎn)換。當(dāng)三個(gè)保持信號(hào)同時(shí)被選通時(shí),其轉(zhuǎn)換結(jié)果將保存在六個(gè)寄存器中。對(duì)于每一個(gè)讀操作,ADS8364均輸出十六位數(shù)據(jù),地址/模式信號(hào)(A0,A1,A2)可以選擇如何從ADS8364讀取數(shù)據(jù),也可以選擇單通道、單周期或FIFO模式。在ADS8364的HOLDX保持至少20ns的低電平時(shí),轉(zhuǎn)換開始。這個(gè)低電平可使各個(gè)通道的采樣保持放大器同時(shí)處于保持狀態(tài)從而使每個(gè)通道同時(shí)開始轉(zhuǎn)換。當(dāng)轉(zhuǎn)換結(jié)果被存入輸出寄存器后,引腳EOC的輸出將保持半個(gè)時(shí)鐘周期的低電平。另外,通過置RD和CS為低電平可使數(shù)據(jù)讀出到并行輸出總線。

ADS8364工作時(shí)序圖

ADS8364工作時(shí)序圖

  3 ADS8364與TMS320F2812的接口電路

  電路部分主要分為DSP芯片的最小系統(tǒng)設(shè)計(jì)和ADS8364的接口設(shè)計(jì)。分別給予介紹。

  3.1 TMS320F2812的最小系統(tǒng)設(shè)計(jì):

 ?。?)電源和復(fù)位部分:本設(shè)計(jì)采用外部5V直流電壓供電。通過DC/DC器件產(chǎn)生3.3V的內(nèi)核電壓VDD和1.8V的I/O電壓VDDIO電壓。電源芯片TPS767D318為雙電源輸出,一路為3.3V、一路為1.8V。每路電源的最大輸出電流為1A。芯片還提供兩個(gè)寬度為200ms的低電平復(fù)位脈沖。本設(shè)計(jì)的復(fù)位信號(hào)分兩種:上電復(fù)位、手動(dòng)復(fù)位。上電復(fù)位由芯片TPS767D318產(chǎn)生,手動(dòng)復(fù)位由電阻電容組成的電路產(chǎn)生。

  (2)時(shí)鐘部分:為DSP芯片提供時(shí)鐘一般有兩種方法。一種是采用晶體,一種是采用外部有源時(shí)鐘芯片。本設(shè)計(jì)采用前者。它利用了DSP芯片內(nèi)部所提供的晶振電路,在DSP芯片的X1和X2之間連接一晶體可啟動(dòng)內(nèi)部振蕩器。

 ?。?)仿真部分:這一部分將作為程序的調(diào)試和燒錄所用。2812芯片提供了5個(gè)標(biāo)準(zhǔn)的JTAG信號(hào)(TRST、TCK、TMS、TDI、TDO)和兩個(gè)仿真引腳(EMU0、EMU1)。

  3.2 ADS8364的接口設(shè)計(jì)

  ADS8364采用+5V模擬電源(AVDD)和數(shù)字電源(DVDD),而其內(nèi)部的緩沖器采用與TMS320F2812相同的+3.3V電壓。緩沖器電壓(BVDD)允許直接連接到3V或5V電壓系統(tǒng)。TMS320F2812的I/O電壓為+3.3V,因此,若使用該元件,ADS8364的BVDD必須設(shè)置成3.3V。

  在這個(gè)設(shè)計(jì)中,ADS8364采用的是4MHz時(shí)鐘。每個(gè)通道的吞吐率最大可達(dá)200ksps。將ADS的地址線A[2:0]接到TMS320F2812的地址線。當(dāng)A0接到數(shù)字地,A2和A1接到VCC上可迫使ADS8364進(jìn)入周期模式。在這個(gè)模式中,轉(zhuǎn)換器可自動(dòng)對(duì)六個(gè)通道進(jìn)行采樣,并可將數(shù)據(jù)按從A0到C1的順序傳送到輸出端。

  將ADS8364的BYTE引腳接到VCC上,可以使能字節(jié)模式。在這個(gè)模式中,要從ADC中正確地讀取數(shù)據(jù),需要對(duì)每個(gè)通道進(jìn)行兩次連續(xù)的讀操作。第一次讀取的是轉(zhuǎn)換數(shù)據(jù)的高位字節(jié),第二次讀取的是低位字節(jié)。假如通道信息要作為數(shù)據(jù)輸出的一部分,那么,應(yīng)將ADS8364的ADD引腳也接到VCC。讀取數(shù)據(jù)時(shí),需要對(duì)ADS8364的每個(gè)通道進(jìn)行三次讀操作。第一次讀取通道和數(shù)據(jù)信息,后兩次分別讀取高位和低位數(shù)據(jù)。

 

  3.3 ADC的初始化操作

  觸發(fā)ADS8364的復(fù)位引腳RST可以確保讀指針指向第一個(gè)數(shù)據(jù)位置。作為TMS320F2812初始化的一部分,由TMS320F2812的通用輸入輸出口GPIOF0提供給ADS8364的引腳RST。當(dāng)系統(tǒng)時(shí)鐘穩(wěn)定后,被觸發(fā)為低電平,從而確保了從ADC輸出的數(shù)據(jù)對(duì)應(yīng)于通道A0、A1、B0、B1、C0、C1的排列。

  對(duì)于每一個(gè)轉(zhuǎn)換通道,EOC均是低電平信號(hào)。 ADS8364可為TMS320F2812提供三個(gè)脈沖。每個(gè)脈沖信號(hào)表明一個(gè)轉(zhuǎn)換的結(jié)束。當(dāng)ADC的這三個(gè)引腳同時(shí)置低時(shí),三個(gè)通道被認(rèn)為有效并同時(shí)進(jìn)行轉(zhuǎn)換。另外,EOC引腳也可被連接到TMS320F2812的一個(gè)中斷引腳,以觸發(fā)一個(gè)讀周期。

  ADS8364的片選CS是一個(gè)有源低電平輸入信號(hào)。當(dāng)CS為高時(shí),并行輸出引腳處于高阻態(tài)。當(dāng)CS為低時(shí),并行數(shù)據(jù)線反映了輸出緩沖器的當(dāng)前狀態(tài)。為了正確地從ADS8364的并行數(shù)據(jù)總線上讀取數(shù)據(jù),ADS8364必須被片選CS選中后才能進(jìn)行讀操作。

  ADS8364的讀(RD)信號(hào)端也是有源低電平信號(hào)。當(dāng)CS為低時(shí),在讀信號(hào)(RD)的下降沿,ADS8364 中寄存器的內(nèi)容將被更新。這意味著在每個(gè)讀序列之前,RD信號(hào)必須被觸發(fā),這樣才能更新輸出緩沖器。通過TMS320F2812的中斷子程序?qū)DS8364的RD引腳置低可以保存輸入的數(shù)據(jù),之后可再將RD引腳置高。

ADS8364與TMS320F2812的連接圖

ADS8364與TMS320F2812的連接圖

  4 初始化編程

  (1)頭文件(.H)的編寫:主要用來定義片內(nèi)寄存器以便函數(shù)中引用

  例如:系統(tǒng)控制與狀態(tài)寄存器的定義:

  此外頭文件中還聲明一些全局函數(shù)和常量。

                                   例如:extern void InitAdc(void);         //初始化ADC函數(shù)

程序

  (2)命令文件(.CMD)的編寫:該文件中用到了兩個(gè)偽指令MEMORY和SECTIONS。

  MEMORY偽指令用來標(biāo)示實(shí)際存在的目標(biāo)系統(tǒng)中可被使用的存儲(chǔ)器范圍。

  SECTIONS偽指令用來定位一些代碼和數(shù)據(jù)塊。

  部分代碼:

程序

  (3)主程序及中斷程序:

程序

  5 結(jié)束語

  本文以ADS8364模數(shù)轉(zhuǎn)換芯片為基礎(chǔ),詳細(xì)討論了ADS8364和TMS320F2812的接口設(shè)計(jì)和工作原理,重點(diǎn)介紹了TMS320F2812控制芯片的最小系統(tǒng)設(shè)計(jì)、ADS8364和TMS320F2812的連接、初始化程序等三部分內(nèi)容。該設(shè)計(jì)方案在電機(jī)控制、多軸定位系統(tǒng)、多通道數(shù)據(jù)采集等場合有著廣泛的應(yīng)用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。