新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 并行模數(shù)轉換器ADS8364與TMS320F2812的接口設計

并行模數(shù)轉換器ADS8364與TMS320F2812的接口設計

作者: 時間:2009-03-31 來源:網(wǎng)絡 收藏

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

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

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

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

部分代碼:

MEMORY

{

PAGE 0 : //聲明了片內的存儲單元,包括起始地址和長度

PRAMH0 : origin = 0x3F8000, length = 0x001000

PAGE 1 :

RAMM0 : origin = 0x000000, length = 0x000400

……

}

SECTIONS

{ codestart : PRAMH0, PAGE = 0 /*定位代碼數(shù)據(jù)段*/

PieCtrlRegsFile : > PIE_CTRL, PAGE = 1 /* 定位各外設的積存器結構體 */

……

}

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

void main(void)

{ ……

InitSysCtrl(); //調用初始化系統(tǒng)控制函數(shù)

//該函數(shù)用于初始化系統(tǒng)控制寄存器、PLL、看門狗、時鐘

InitGpio(); //調用初始化GPIO函數(shù),用于選擇適當?shù)腉PIO

Reset(); //復位

……

DINT; // 禁止和清楚所有CPU中斷

IER = 0x0000; IFR = 0x0000;

InitPieCtrl(); // 初始化Pie控制寄存器為默認值

InitPieVectTable(); // 初始化中斷向量表

……

EINT; // 使能全局中斷 INTM

PWM(); //開啟轉換時鐘

while(1) // 循環(huán),根據(jù)條件讀數(shù)并產(chǎn)生中斷

{……}

}

void read_ADD() //該函數(shù)讀取采集的數(shù)據(jù)

{ //根據(jù)通道讀取數(shù)據(jù)

if (ADD_Mode){ADC_address[0] = (*ptrCHA0);}

……

if (ADD_Mode){ADC_address[5] = (*ptrCHC1);}

CHC1_Data[idx] = *ptrCHC1;

}

5 結束語

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


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉