《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于TMS320F2812和ADS8364的智能節(jié)點設(shè)計
基于TMS320F2812和ADS8364的智能節(jié)點設(shè)計
山西電子技術(shù)
劉曉宏 國營785廠
摘要: 介紹了以TMS320F2812和ADS8364為核心的智能節(jié)點設(shè)計,該節(jié)點不僅可以進行數(shù)據(jù)采集,還可以實現(xiàn)闞值報警、數(shù)字濾波,、FFT變換等功能,。并詳細介紹了本設(shè)計的工作原理,、硬件設(shè)計以及軟件設(shè)計,。
Abstract:
Key words :

摘要:介紹了以TMS320F2812" title="TMS320F2812">TMS320F2812和ADS8364" title="ADS8364">ADS8364為核心的智能節(jié)點" title="智能節(jié)點">智能節(jié)點設(shè)計,該節(jié)點不僅可以進行數(shù)據(jù)采集,,還可以實現(xiàn)闞值報警,、數(shù)字濾波、FFT變換等功能,。并詳細介紹了本設(shè)計的工作原理,、硬件設(shè)計以及軟件設(shè)計。
關(guān)鍵詞:DSP,;CAN總線" title="CAN總線">CAN總線:智能節(jié)點

0 引言
    在實際工程應(yīng)用中,,經(jīng)常需要對各種設(shè)備進行狀態(tài)監(jiān)測和故障診斷,首先要對各傳感器的信號進行采集,,為了減輕上位機的運算負(fù)荷,,設(shè)計了一種基于DSP的智能節(jié)點,主要用來實現(xiàn)信號采集和FFT變換等功能,。

1 硬件設(shè)計
    智能節(jié)點的硬件主要包括DSP處理器,、模數(shù)轉(zhuǎn)換器、擴展的靜態(tài)存儲器,、電平轉(zhuǎn)換芯片,、CAN接口驅(qū)動、光電耦合輸入和傳感器調(diào)理及電源電路等,。
    DSP處理器選用TI公司的32位定點高速DSP芯片TMS320F2812,。TMS320F28X系列是當(dāng)今世界上最先進的32位定點DSP芯片。它不但運行速度高,處理功能強大,,并且具有豐富的片內(nèi)外圍設(shè)備,,便于接口和模塊化設(shè)計。它既具有數(shù)字信號處理能力,,又具有強大的事件管理能力和嵌入式控制功能,,特別適用于有大批量數(shù)據(jù)處理的測控場合,如工業(yè)自動化控制,、智能化儀器儀表及電機伺服控制系統(tǒng)等,。采用8級指令流水線,單周期32×32位MAC功能,,最高速度每秒中可執(zhí)行1.50億條指令(150MIPS),,保證了控制和信號處理的快速性和實時性。另外MS320F2812片上還集成了豐富的外部資源,,包括16路12位ADC,、16路PWM輸出、3個32位通用定時器,、128k的16位FLASH存儲器,、18kRAM存儲器,外圍中斷擴展模塊(PIE)可支持45個外圍中斷,,并具有McBSP,、SPI、SCI和擴展的CAN總線等接口,。TMS320F2812還支持最大1M的外部存儲器擴展,。TMS32 0F2812支持C/C++編程語言,其c語言優(yōu)化器的C編譯效率可達90%,,還有虛擬浮點數(shù)學(xué)函數(shù)庫提供支持,,可以大大縮短數(shù)學(xué)運算與控制程序的開發(fā)周期。
    模數(shù)轉(zhuǎn)換器選用TI公司的ADS8364,,該芯片是一款6路模擬輸入,、16位并行輸出的模數(shù)轉(zhuǎn)換器。6路模擬輸入分為三組(A,,B和C),,每個輸入端都有一個保持信號來實現(xiàn)所有通道的同時采樣與轉(zhuǎn)換功能,非常適合于多路(多種)采集系統(tǒng)的需要,。ADS8364提供了一個靈活的高速并行接口,,可以運行在直接尋址、循環(huán)采樣,、FIFO等三種模式,,每個通道的輸出數(shù)據(jù)都可直接作為一個16 bit的字,可以直接與數(shù)字信號處理器TMS320F2812相連。
    由于數(shù)據(jù)采集和FFT變換需要大量數(shù)據(jù)空間,,而TMS320F2812片上只有18 k的RAM可供使用,,而且分布于5個不同的區(qū)域,不能滿足使用要求,,因此在外部又?jǐn)U展了一片64 k的16位無等待靜態(tài)存儲器IS61LV6416,。
    本智能節(jié)點電路設(shè)計的關(guān)鍵部分是TMS320F2812芯片的最小系統(tǒng)設(shè)計和ADS8364的接口設(shè)計。
1.1 TMS320F2812的最小系統(tǒng)設(shè)計
    (1)電源和復(fù)位部分:本設(shè)計采用外部5 V直流電壓供電,。通過DC/DC器件產(chǎn)生3.3 V的內(nèi)核電壓VDD和1.8 V的I/O電壓VDDIO電壓,。電源芯片TPS767D318為雙電源輸出,一路為3.3 V,、一路為1.8 V,。每路電源的最大輸出電流為1 A。芯片還提供兩個寬度為200 ms的低電平復(fù)位脈沖,。本設(shè)計的復(fù)位信號分兩種:上電復(fù)位,、手動復(fù)位。上電復(fù)位由芯片TPS767D318產(chǎn)生,,手動復(fù)位由電阻電容組成的電路產(chǎn)生,。
    (2)時鐘部分:為DSP芯片提供時鐘一般有兩種方法。一種是采用晶體,,一種是采用外部有源時鐘芯片,。本設(shè)計采用前者。它利用了DSP芯片內(nèi)部所提供的晶振電路,,在DSP芯片的x1和x2之間連接一晶體可啟動內(nèi)部振蕩器。
    (3)仿真部分:這一部分將作為程序的調(diào)試和燒錄所用,。2812芯片提供了5個標(biāo)準(zhǔn)的JTAG信號(TRST,、TCK、TMS,、TDI,、TDO)和兩個仿真引腳(EMU0、EMU1),。
1.2 ADS8364的接口設(shè)計
    ADS8364采用+5V模擬電源(AVDD)和數(shù)字電源(DVDD),,而其內(nèi)部的緩沖器采用與TMS320F2812相同的+3.3 V電壓。緩沖器電壓(BVDD)允許直接連接到3 V或5 V電壓系統(tǒng),。TMS320F2812的I/O電壓為+3.3 V,,因此,若使用該元件,,ADS8364的BVDD必須設(shè)置成3.3 V,。
    在這個設(shè)計中,ADS8364采用的是4 MHz時鐘。每個通道的吞吐率最大可達200 ksps,。將ADS的地址線A[2:0]接到TMS320F2812的地址線,。當(dāng)A0接到數(shù)字地,A2和A1接到VCC上可迫使ADS8364進入周期模式,。在這個模式中,,轉(zhuǎn)換器可自動對6個通道進行采樣,并可將數(shù)據(jù)按從A0到C1的順序傳送到輸出端,。
    將ADS8364的BYTE引腳接到VCC上,,可以使能字節(jié)模式。在這個模式中,,要從ADC中正確地讀取數(shù)據(jù),,需要對每個通道進行兩次連續(xù)的讀操作。第一次讀取的是轉(zhuǎn)換數(shù)據(jù)的高位字節(jié),,第二次讀取的是低位字節(jié),。假如通道信息要作為數(shù)據(jù)輸出的一部分,那么,,應(yīng)將ADS8364的ADD引腳也接到VCC,。讀取數(shù)據(jù)時,需要對ADS8364的每個通道進行三次讀操作,。第一次讀取通道和數(shù)據(jù)信息,,后兩次分別讀取高位和低位數(shù)據(jù)。
1.3 ADC的初始化操作
    觸發(fā)ADS8364的復(fù)位引腳RST可以確保讀指針指向第一個數(shù)據(jù)位置,。作為TMS320F2812初始化的一部分,,由TMS320F2812的通用輸入輸出口GPIOFO提供給ADS8364的引腳RST。當(dāng)系統(tǒng)時鐘穩(wěn)定后,,被觸發(fā)為低電平,,從而確保了從ADC輸出的數(shù)據(jù)對應(yīng)于通道A0、A1,、B0,、B1、C0,、C1的排列,。
    對于每一個轉(zhuǎn)換通道,EOC均是低電平信號,。ADS8364可為TMS320F2812提供三個脈沖,。每個脈沖信號表明一個轉(zhuǎn)換的結(jié)束。當(dāng)ADC的這三個引腳同時置低時,,三個通道被認(rèn)為有效并同時進行轉(zhuǎn)換,。另外,,EOC引腳也可被連接到TMS320F2812的一個中斷引腳,以觸發(fā)一個讀周期,。
    ADS8364的片選CS是一個有源低電平輸入信號,。當(dāng)CS為高時,并行輸出引腳處于高阻態(tài),。當(dāng)CS為低時,,并行數(shù)據(jù)線反映了輸出緩沖器的當(dāng)前狀態(tài)。為了正確地從ADS8364的并行數(shù)據(jù)總線上讀取數(shù)據(jù),,ADS8364必須被片選CS選中后才能進行讀操作,。

a.jpg


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

2 軟件設(shè)計
    在實際工作中,智能節(jié)點將采集到的數(shù)據(jù)或頻譜值發(fā)送到上位機進行存貯,、處理,。上位機通過CAN接口與智能節(jié)點通信。
    智能節(jié)點的程序是在TI提供的開發(fā)工具Code Composer Studio上用C語言開發(fā),。在開發(fā)過程中,,使用了TI公司提供的C281×C/C++頭文件庫。該頭文件庫利用結(jié)構(gòu)體和聯(lián)合體的形式對F2812的各個寄存器進行了定義,,用戶可以通過C語言直接對處理器內(nèi)部的寄存器進行訪問,。
    由于MS320F2812沒有獨立的程序存儲空間和數(shù)據(jù)存儲空間,是統(tǒng)一編址的,,因此用戶首先要根據(jù)需要通過配置鏈接命令文件(.cmd文件)對存儲空問進行劃分,。
    為了實現(xiàn)數(shù)據(jù)的FFT變換,,開發(fā)過程中還使用了TI公司提供的FFT函數(shù)庫,。FFT函數(shù)庫提供了32位復(fù)數(shù)FFT變換(CFFT32)和實數(shù)FFT變換(RFFT32)兩種模塊,可以進行128,、256,、512和1024點的復(fù)數(shù)和實數(shù)FFT變換。需要注意的是變換中所使用的數(shù)據(jù)是Qx格式,,因此對變換后的結(jié)果需要進行格式轉(zhuǎn)換才能得到真實數(shù)值,。
    智能節(jié)點的主程序流程為:加電后,,程序先初始化,進入主循環(huán)后就不斷進行數(shù)據(jù)采集和閾值判斷,,如有收到上位機命令(CAN接口接收中斷)就轉(zhuǎn)入中斷處理程序,,根據(jù)上位機的不同命令選擇不同的處理方式。如采集到的數(shù)據(jù)超出閾值,,優(yōu)先向上位機發(fā)送報警信息,。

3 結(jié)束語
    本文設(shè)計的智能節(jié)點已在多個監(jiān)測和故障診斷系統(tǒng)中得到應(yīng)用,實踐證明該模塊工作可靠,,能滿足工程中分布式數(shù)據(jù)采集與監(jiān)測需要,。

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