新闻中心

EEPW首页>嵌入式系统>设计应用> 并行模数转换器ADS8364与TMS320F2812的接口设计

并行模数转换器ADS8364与TMS320F2812的接口设计

作者: 时间:2009-03-31 来源:网络 收藏

例如:extern void InitAdc(void); //初始化ADC函数

(2)命令文件(.CMD)的编写:该文件中用到了两个伪指令MEMORY和SECTIONS。

MEMORY伪指令用来标示实际存在的目标系统中可被使用的存储器范围。

SECTIONS伪指令用来定位一些代码和数据块。

部分代码:

MEMORY

{

PAGE 0 : //声明了片内的存储单元,包括起始地址和长度

PRAMH0 : origin = 0x3F8000, length = 0x001000

PAGE 1 :

RAMM0 : origin = 0x000000, length = 0x000400

……

}

SECTIONS

{ codestart : PRAMH0, PAGE = 0 /*定位代码数据段*/

PieCtrlRegsFile : > PIE_CTRL, PAGE = 1 /* 定位各外设的积存器结构体 */

……

}

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

void main(void)

{ ……

InitSysCtrl(); //调用初始化系统控制函数

//该函数用于初始化系统控制寄存器、PLL、看门狗、时钟

InitGpio(); //调用初始化GPIO函数,用于选择适当的GPIO

Reset(); //复位

……

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

IER = 0x0000; IFR = 0x0000;

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

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

……

EINT; // 使能全局中断 INTM

PWM(); //开启转换时钟

while(1) // 循环,根据条件读数并产生中断

{……}

}

void read_ADD() //该函数读取采集的数据

{ //根据通道读取数据

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

……

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

CHC1_Data[idx] = *ptrCHC1;

}

5 结束语

本文以转换芯片为基础,详细讨论了ADS8364和和工作原理,重点介绍了控制芯片的最小系统、ADS8364和的连接、初始化程序等三部分内容。该方案在电机控制、多轴定位系统、多通道数据采集等场合有着广泛的应用。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭