TMS320f28335控制AD7656的硬件电路设计

tms320f28335简介 tms320f28335是一款ti高性能tms320c28x系列32位浮点dsp处理器。
tms320f28335型数字信号处理器ti公司的一款tms320c28x系列浮点dsp控制器。与以往的定点dsp相比,该器件的精度高,成本低,功耗小,性能高,外设集成度高,数据以及程序存储量大,a/d转换更精确快速等。
tms320f28335具有150mhz的高速处理能力,具备32位浮点处理单元,6个dma通道支持adc、mcbsp和emif,有多达18路的pwm输出,其中有6路为ti特有的更高精度的pwm输出(hrpwm),12位16通道adc。得益于其浮点运算单元,用户可快速编写控制算法而无需在处理小数操作上耗费过多的时间和精力,与前代dsp相比,平均性能提高50%,并与定点c28x控制器软件兼容,从而简化软件开发,缩短开发周期,降低开发成本。
tms320f28335核心板电气特性 tms320f28335(som-tl28335核心板)工作环境
环境参数\最小值\典型值\最大值
工业级温度:0°c\-\85°c
工作电压:4.8v\5v\5.5v
som-tl28335(tms320f28335)核心板功耗
供电电压:5v
输入电流:292ma
额定功率:1.46w
tl28335-evm开发板功耗
供电电压:5v
最大输入电流:400ma
最大功率:2w
tms320f28335主要特点 基于tms320f28335浮点dsp控制器;
ti主推高性能tms320c28x系列dsp控制器,主频高达150mhz;
具备i2c、spi、ecan、epwm等总线接口,适用于各种控制类工业设备;
体积小、性能强、便携性高,同时适用于多种手持设备;
符合高低温、振动要求,满足工业环境应用。
tms320f28335控制ad7656的硬件电路设计 ad7656片内集成6个16位250kpbsadc,6个真双极性高阻抗模拟输入,允许并行或串行输出,加速度仪采用+-15v供电,输出电流信号-20ma到20ma,调理电路采用ad627做调理电路,原理图已经设计出来如下:
p2为外接加速度传感器,2脚为电流输出,ad627是一种低功耗的仪表放大器。它采用单、双两种电源供电,并可实现轨——轨输出。ad627采用真正的仪用放大器结构,它有两个反馈环。其基本结构和典型的“双运放”仪用放大器类似,只是细节有所不同。另外,) 所具有的一个“电流反馈”结构,使得它具有较好的共模抑制比。
图中20ma电流经过100欧姆采样电阻后变为2v;ad627不接r35则增益为5,故ad627输出为+-10v的电压,然后送入ad。ad7656的接线如下图所示:
上图中三路电流信号分别经过ad7656调理之后,变为电压信号送入dsp。在电路布线时应该采用模拟地数字地分开布线,然后经过磁珠单点连接,把整个电路板分为模拟部分和数字部分,否则很难达到采样精度要求。
下面附上ad7656的28335驱动程序
void reset_ad(void)
{
eallow;
gpioctrlregs.gpapud.bit.gpio4 = 1; // disable pullup on gpi4
gpioctrlregs.gpamux1.bit.gpio4 = 0; // gpi4 = gpi4
gpioctrlregs.gpadir.bit.gpio4 = 1; // gpi4 = output
gpiodataregs.gpaset.bit.gpio4 = 1;
edis;
delay_us(100);
eallow;
gpioctrlregs.gpapud.bit.gpio4 = 1; // disable pullup on gpi4
gpioctrlregs.gpamux1.bit.gpio4 = 0; // gpi4 = gpi4
gpioctrlregs.gpadir.bit.gpio4 = 1; // gpi4 = output
gpiodataregs.gpaclear.bit.gpio4 = 1;
edis;
}
void start_convert()
{
eallow;
gpioctrlregs.gpapud.bit.gpio0 = 1; // disable pullup on gpi0
gpioctrlregs.gpamux1.bit.gpio0 = 0; // gpi0 = gpi0
gpioctrlregs.gpadir.bit.gpio0 = 1; // gpi0 = output
gpiodataregs.gpaclear.bit.gpio0 = 1;
edis;
eallow;
gpioctrlregs.gpapud.bit.gpio0 = 1; // disable pullup on gpi0
gpioctrlregs.gpamux1.bit.gpio0 = 0; // gpi0 = gpi0
gpioctrlregs.gpadir.bit.gpio0 = 1; // gpi0 = output
gpiodataregs.gpaset.bit.gpio0 = 1;
edis;
}
void wait_ad()
{
eallow;
gpioctrlregs.gpapud.bit.gpio2 = 0; // disable pullup on gpi2
gpioctrlregs.gpamux1.bit.gpio2 = 0; // gpi2 = gpi2
gpioctrlregs.gpadir.bit.gpio2 = 0; // gpi2 = input
edis;
while(gpiodataregs.gpadat.bit.gpio2 == 1);
}
void start_ad(void )
{
start_convert();
wait_ad();
}
uint16 ad_read(void )
{
uint16 temp=0;
temp= ad7656_add;
return temp;
}
void get_ad_dat(void )//采集所有ad数据
{
int16 i=0,temp1;
int32 temp[3]={0,0,0};
for(i=0;i《filterlen;i++)
{
start_ad();
temp1=ad7656_add;
temp[0]+=temp1;
temp1=ad7656_add;
temp[1]+=temp1;
temp1=ad7656_add;
temp[2]+=temp1;
temp1=ad7656_add;
temp1=ad7656_add;
temp1=ad7656_add;
}
accdat.ad_x_cur[counter]=temp[0]/filterlen;
accdat.ad_y_cur[counter]=temp[1]/filterlen;
accdat.ad_z_cur[counter]=temp[2]/filterlen;
}
以下是当输入个通道接地时的输出波形 程序中filterlen=8;
可以看到经过简单的数字处理ad7656可以达到1位的跳变精度, 上图中个通道的数据结果有些不一样, 差距比较大, 暂时还没有找到原因。

CB Insights 2021 AI100名单发布,一流科技等6家中国企业入选
三星首款可折叠智能手机已开卖,市场需求极大
国星光电宣布一项目技术改造项目获政府补助资金
FP-AI-FACEREC1,机器学习市场渗透新篇章
推动人工智能安全发展
TMS320f28335控制AD7656的硬件电路设计
管理多云环境的十条重要实践
擎朗智能完成2亿元B系列融资 推动配送机器人在医疗场景下落地
线上渠道正在成为五一家电销售的主场
小米Max3前面板被外媒曝光
线束测试仪系统的组成、原理及应用
如何看待BAW滤波器未来发展
iOS11最新消息汇总:iOS11Beta3已更新推送,iOS11Beta3更新内容盘点!iOS11Beta3描述文件、可更新设备奉上
UltraSoC和Canis Labs合作确保CAN总线的安全
基于电信设备中液体泄漏检测的光电液位传感器
NVIDIA与英特尔成为车用半导体市场的两大势力
基于STM32L496RET6+LIS2DS12TR+MP34DT05TR-A的电机振动检测方案
PCB中的串扰是什么?如何测量串扰?
在应用层面了解迁移学习的原理及其优势
长江上的气象浮标如何安装多普勒流速仪