对2812进行交流电流和电压采样程序教程文件
TMS320F2812在电力系统多通道同步交流采样中的应用
!"! 同 步 方 波 变 换 电 路 及 频 率 采 样
为了保证励磁装置采样的精度!必须使采样频率具 有快速的自适应能力!同步跟踪机端电量的 频率 变化$ 如图 ; 所示! 所设计的同步方波变换电路由迟滞电压 比较电路"高速 光耦 "锁相倍 频电 路和 脉冲整 形电 路组
6:H;#0I#J/# 芯 片 上 有 一 个 /# 位 % 转 换 频 率 为 #!:23 的 849 转 换 器 ! 其 前 端 为 两 个 J 选 / 的 多 路 切 换
/ 模 拟 多 路 选 择 器 :7/"0!;< ! 通 过 不 同 的 编 址 选 出 不
同 的 8 "< 两 组 ! 同 时 采 样 六 通 道 模 拟 量 $ 这 两 部 分 电 路 比较简单!不予详述$
!"# 限 幅 电 路
在 模4数 转 换 中 ! 如 果 8 # 9 转 换 器 损 坏 ! 检 测 和 控 制 的功 能就 不能 实现 $ 出 于安 全考虑 !在 8 # 9 转 换 器 前 采 用限幅 电路!以保障 系统 的 8 # 9 转 换器安 全$ 传 统 的 限 幅 器 如 齐 纳 二 极 管 限 幅 器 "稳 压 管 反 向 限 幅 器 "桥 式 限 幅 器 等 !都 是 利 用 二 极 管 的 击 穿 特 性 限 幅 $ 在 击 穿 区 由 于 二 极 管 内 阻 并 不 为 零 !并 有 漏 电 流 存 在 !所 以 稳 压 值 并 非 恒 定而且不易调节$ 本系统所设计的限幅电路如图 # 所示! 设 定 #$= $ #>!? ! 由 6@";/ 提 供 高 精 度 的 基 准 电 平 $
器后构成同步采样$ 考虑到发电机励磁控制装置电量 检测的重要性和其对电量采集精度%速度的较高要求" 本 系 统 采 样 模 块 中 选 用 了 外 置 的 六 通 道 54 位 模 8 数 转 换 器 /01294" & 其 内 部 包 括 六 个 高 速 采 样 $ 保 持 放 大 器 % 六 个 高 速 /0: % 一 个 参 考 电 压 源 及 三 个 参 考 电 压 缓 冲 器 " 可 以 提 供 ;!<=1*1 的 同 步 采 样 率 " 还 可 提 供 具 有 超 低 功 耗 ’ 4>?@ 8 每 通 道 ( 的 所 有 六 个 输 入 通 道 的 转 换 " 这 样 使 得 所 有 通 道 的 单 位 成 本 均 较 低 A !B $ 并 且 六 个 通 道 的 数 据 输 出 接 口 电 压 介 于 ; C D. 到 ! C !. 之 间 " 便 于 与 01* 直 接 接 口 " 省 去 了 中 间 的 电 平 转 换 $ 六 个 完 全 独 立 的 /0: 可 大 大 提 高 硬 件 整 体 的 并 行 处 理 速 度 E 在
TMS320F2812的多通道高速同步交流采样设计
TMS320F2812的多通道高速同步交流采样设计周启龙;李伟;徐明虎【摘要】In application system of power operation parameters measurement and control, the AD73360 A/D converter is used for acquisition and measurement of multiple voltage and current signals, and TMS320F2812 DSP chip is used to Achieve fast synchronous sampiing and electric parameters calculation in time domain. The AD73360 andTMS320F2812 hardware interface circuit is given. The sampling system uses the C programming language, and the main program and multichannel buffer serial interface initialization process flow chart are given. The sampling recieve interrupt and the time domain sampled data processing technique are discussed. Tests show the applicability and correctness of the design.%在电力运行参数测控类应用系统中,采用AD73360型A/D转换器采集多路电压和电流信号,使用TMS320F2812实现了高速同步采样及电力参数在时域的计算;给出AD73360和TMS320F2812的硬件接口电路;采样系统采用C语言编程,给出了主程序、多通道缓冲串行接口初始化过程等的流程图;论述了采样接收中断、时域采样数据处理等技术。
SY-MCK2812低压驱动板程序调试使用说明书
SY-MCK2812低/高压电机驱动评估板软件调试说明书1. CC2000或者CCS3.1下测试程序的使用测试本公司MCK2812LV/HV评估板需要安装CCS2000 2.2以上版本的CCS环境由于本测试程序是在三意电机驱动技术公司的USB2.0仿真器基础上开发为了方便起见建议用户用三意的USB接口DSP仿真器如果使用其它类型的仿真器请参考有关资料正确确安装驱动MCK2812LV/HV评估板提供的测试程序分基于CCS3.1环境在CCS2.2环境下应该也可以用安装时需要设置CCS的相关信息产生流水冲突的警告以及驱动程序的安装等等关于这些的设置请参考三意公司仿真器使用说明书或者DSP用户板的使用说明书这里不做介绍另外需要说明的是由于电机驱动板上的功率部分属于易损坏部分为了避免造成不必要的损失请在使用中注意以下几点1由于功率部分和评估板进行了全隔离不可在功率部分和控制部分额外的连接导线2测试程序在CCS环境中运行后在程序人为停止以后需要重新运行时请先选择DEBUG菜单中的RESET CPU命令在选择RESTART命令后再重新运行程序避免由于程序跑飞或者程序在不正常状态下启动造成的不良后果3在使用我们公司评估板编制新的电机程序时务必注意您所使用的定时器的TxCON寄存器一定不能配置成当仿真器挂起时定时器继续运行的状态4在调试过程中尽量先脱离电机运行待确定程序基本无误后再接上电机连调5在启动ccs之前一定要先连接好仿真器将连接EVM2812和MCK2812的排线插牢如需接电机也要先将电机的先连接好后在给电源电源指示灯全部工作后在打开CCS运行程序2 测试程序1有刷直流电机的调速正反转测试有刷直流电机调速测试程序SY DC MOTOR将光盘上的SY DC MOTOR文件夹COPY到X:\TI\MYPROJECTS中在CCS2000/CCS3.1环境中打开SY DC MOTOR.pjt打开后如图所示测试程序1为驱动电流小于6A的有刷直流电机的演示程序其基本功能为实现有刷直流电机的正反转在运行程序前请确认连线是否正确注意电机输出可以任选U,V,W中的任意两个在运行CC C2000后进入CCS后在FILE菜单中选择LOAD program将SY DC MOTOR.out装载入板上内存也可直接LOAD PROJECT后编译输出注意此时MP/MC跳线处于MP状态在DEBUG菜单中选择RESET复位后选择RUN运行程序注意在仿真器中运行时当程序运行后且电机旋转过程中请在按程序停止按钮后迅速将DSP复位CCS中Debug菜单中的RESET否则可能引起电机和MOS管的过电流发热如上图所示在程序中// Enable compare for PWM1-PWM6EvaRegs.CMPR1 =0x2050;EvaRegs.CMPR2 = 0x2050;EvaRegs.CMPR3 = 0x8fff;这三句语句是修改PWM占空比可以起到直流有刷电机的调速作用和正反转EvaRegs.CMPRx的修改范围为0x100,到0x85ffEvaRegs.CMPR1对应J4端口的U相EvaRegs.CMPR2对应J4端口的V相EvaRegs.CMPR3对应J4端口的W相我们知道直流有刷电机运行只需要将电机的两相接入直流电源电机既可旋转当直流电源的电压升高电机转速加快直到电压升高到额定电压当接入电机的电源反接于电机上时电机就会反转这里以直流电机接入U,V两相为例当需要U相为电源V相为地时令EvaRegs.CMPR1=0x2050该值越低占空比大转速越快EvaRegs.CMPR2=0x85FF,该值对应的占空比为零即为电源地端通过修改CMPR1的值就可以调速将CMPR1和CMPR2的值相互对调就可以令电机反转3 测试程序2无刷直流电机的开环调速测试无刷直流电机的开环调速测试程序在CCS3.1环境中请打开SY BLDC.PRJ在CCS2000环境中请打开SY BLDC 2000.PRJ测试程序2为对电流小于6A的三相无刷直流电机速度调节的演示程序其基本功能是通过unsigned int PWM_DUTY=pwm_half_per/2;语句的修改调整6路pwm占空比来调节电机转速在运行程序前请确认连线是否正确注意三相电机输出不可接反霍尔输入信号J5不可接反在运行CC C2000/CCS3.1后进入CCS后在FILE菜单中选择LOADprogram将SY DC MOTOR.out装载入板上内存也可直接LOADPROJECT后编译输出注意此时MP/MC跳线处于MP状态在DEBUG菜单中选择RESET复位后选择RUN运行程序注意1在仿真器中运行时当程序运行后且电机旋转过程中请在按程序停止按钮后迅速断电然后重新上电重新装载程序避免由于DSP寄存器被修改及原来驻留在内存中的变量引起的错误避免可能引起电机和驱动管的过电流极发热如下图所示unsigned int PWM_DUTY=pwm_half_per/2为PWM占空比调节可用于电机的转速调节.可以通过PWM_DUTY=pwm_half_per/n;其中这个n对应的相应的转速调节n越小转速越快,n越大转速越慢N=2,占空比为1半但对应的未必是额定转速的一半这由电机与ipm中的igbt的开度有关也可以修改dir=0;为dir=1;改变转向,修改图中黑圈处。
dsp2812,AD采样
2.1.1 AD采样F2812的ADC模块是一个12位的模/数转换器。
对于16路的AD输入单元,本实验平台为其中的8路AD输入通道确定了功能,配置了相关的单元电路,包括:两路温度信号采集、交流信号采集、温度给定、鼓风机调速给定、力应变片电桥输出信号采集、压电传感器输出信号采集以及流量计输出信号采集。
如图2.1所示:温度给定和鼓风机调速给定是对电位器上直流电压的采样(图a),比较简单不作过多介绍;力应变片电桥输出信号采集、压电传感器输出信号采集(图c)以及流量计输出信号采集(图b)是接口部分,分别与传感器动态试验部分(第四章)和流量仪表部分(第三章)连接。
这里着重介绍温度信号采集和交流信号采集。
图2. 1 AD2~AD6的接口电路2.1.1.1 温度信号采集两路温度信号分别通过F2812的AD0 、AD1通道来采集。
由于两个通道完全一样,这里只介绍一路温度信号(AD0)的采集。
(1)硬件原理温度传感器采用的是NS 公司生产的LM35[5],它具有很高的工作精度和较宽的线性工作范围,它的输出电压与摄氏温度线性成比例,且无需外部校准或微调,可以提供±1/4℃的常用的室温精度。
LM35的输出电压与摄氏温度的线形关系可用下面公式(2.1)表示,0℃时输出为0 V ,每升高1℃,输出电压增加10 mV 。
(2.()T T V OUT ⨯=101)式中,输出电压单位为mV ,温度单位为℃。
OUT V T 其电源供应模式有单电源与正负双电源两种。
正负双电源的供电模式可提供负温度的测量,单电源模式在25℃下电流约为50 mA ,非常省电。
本系统采用的是单电源模式,可测温度范围0~150℃。
温度传感器电路将测量到的温度信号转换成电压信号输出到信号放大电路,与温度值对应的电压信号经放大后输出至A /D 转换电路。
电压信号转换成数字量后DSP 根据显示需要对数字量进行处理,再送数码管进行显示。
关于数码管显示部分的设计在后面“2.2 输出单元”中介绍。
TMS320F2812的SPWM原程序
TMS320F2812的SPWM原程序//实现了SPWM的输出#include "DSP281x_Device.h"#include "stdio.h"#include "math.h"#include "float.h"#define NX 404#define PI 3.1415925float M=0.8;int k0=0,h1=0;double a[NX];void zkb();interrupt void eva_T1UFINT_ISR(void);unsigned int n=0;float q,l,j;void main(void){InitSysCtrl(); //系统初始化DINT; //禁止全局中断IER=0x0000;IFR=0x0000;EALLOW;GpioMuxRegs.GPAMUX.all = 0x00FF; // EVA PWM 1-6 pins EDIS;InitPieCtrl();InitPieVectTable();EALLOW; //使能定时器1下益中断PieVectTable.T1UFINT=&eva_T1UFINT_ISR;EDIS;IER|=M_INT2; //开中断2PieCtrlRegs.PIEIER2.bit.INTx6=1; //开下益中断////////////////////while (n<=NX){q=(n+0.75); //为消除偶次偕波,减少谐波角度出发,选择从A 相3/4周期进行采样q=q*2*PI;q/=405;j=sin(q);l=1875*(1+M*j);//M为调制比 //计算占空比表达式//if(l>=187&l<=1687)(此处网友设置为错误的)if(l>=375&l<=3375)a[n]=l;else{if(l>3375)a[n]=3375;elsea[n]=375;}n=n+1;/////////////////////////////////init_eva///////////////////////////////EvaRegs.ACTRA.all=0x0666;EvaRegs.DBTCONA.all = 0x0000; // Disable deadbandCONA.all = 0xa600; //使能比较操作EvaRegs.EVAIMRA.all=0x0200; //EVAIMRA(EVA的中断屏蔽寄存器A).T1UIINT(通用定时器1的下溢中断使能)EvaRegs.EVAIMRB.all=0x0000;EvaRegs.EVAIMRC.all=0x0000;EvaRegs.EVAIFRA.all=0xffff;//EVAIFRA(EVA的中断标志寄存器.T1UIINT(通用定时器1的下溢中断标志)EvaRegs.EVAIFRB.all=0xffff;//写1清除定时器1的下溢中断标志EvaRegs.EVAIFRC.all=0xffff;EvaRegs.CMPR1=0; //初始化寄存器的值EvaRegs.CMPR2=0;EvaRegs.CMPR3=0;EvaRegs.GPTCONA.all=0x0041;//周期必须大于最大的正弦表格值EvaRegs.T1PR = 3750; // Timer1 period PWM载波周期为 65536个定标的定时器时钟周期//EvaRegs.T1PR = 0xffff;//EvaRegs.T1CNT = 937; // Timer1 counterEvaRegs.T1CNT = 937;//EvaRegs.T1CON.all = 0x0b4e; // 选择模式产生PWM波10EvaRegs.T1CON.all = 0x0b4e;EINT;return;///////////////////////////EvaRegs.T1CON.all=EvaRegs.T1CON.all|0x0040; //启动定时器1for(;;);}interrupt void eva_T1UFINT_ISR(void) // EV-A{int h2;int flag;flag=(EvaRegs.EVAIFRA.all)&0x0200; //T1UFINT中下益中断标志位置1if(flag!=0x0200){EINT;return;}else{if(k0<=NX){h1=k0+135; //B相表达式if(h1>=404)h1=h1-404;h2=k0+270; //C相表达式if(h2>=404)h2=h2-404;EvaRegs.CMPR1=a[k0];EvaRegs.CMPR2=a[h1]; //更新比较寄存器2的值EvaRegs.CMPR3=a[h2]; //更新比较寄存器3的值k0=k0+1;}else{k0=0;}}EvaRegs.EVAIMRA.bit.T1UFINT=1; //清除中断屏蔽标志EvaRegs.EVAIFRA.bit.T1UFINT=1; //清楚中断使能标志PieCtrlRegs.PIEACK.all=0x0002; //响应同组中断EINT; //开全局中断}。
采用软件校正的TMS320F2812内置ADC采样值方案
采用软件校正的TMS320F2812内置ADC采样值方案韩富春;武天文;张宁;杨翠茹【期刊名称】《太原理工大学学报》【年(卷),期】2006(37)2【摘要】研究了TEXAS公司的TMS320F2812的ADC(Analog-to Digital Converter)的工作原理;根据电力系统微机继电保护中对多路电压及电流信号的采样精度和速度的高要求,结合TEXAS公司关于TMS320F2812的校正方案,介绍了利用软件程序对芯片TMS320F2812中内置ADC采样校正的软件实现方案,通过试验进一步验证了该方案的有效性.所提出的方案对电力系统自动控制装置的软、硬件设计具有一定的参考价值.【总页数】4页(P173-175,183)【作者】韩富春;武天文;张宁;杨翠茹【作者单位】太原理工大学,电气与动力工程学院,山西,太原,030024;太原理工大学,电气与动力工程学院,山西,太原,030024;太原理工大学,电气与动力工程学院,山西,太原,030024;太原理工大学,电气与动力工程学院,山西,太原,030024【正文语种】中文【中图分类】TN761【相关文献】1.ADC赢得2008奥运会场馆改建项目——2008北京奥运垒球馆将采用ADC TrueNet综合布线解决方案 [J], 爱德龙通讯系统(上海)有限公司2.采用开源软件优化多元校正中的基线校正 [J], Kristian Hovde LILAND;Trygve ALMOY;Bjem-Helge MEVIK3.基于TMS320F2812的ADC数据采集的软件实现 [J], 曹梦婷;潘宏侠4.采用color-pilot颜色校正软件校正比色片数码照片并分析其在CIEL*a*b*色度空间中的位置变化 [J], 贺专;段嫄嫄;沈丽娟;董潇;曾智惠;郭秋云;董瑜;贾骏5.基于TMS320F2812的ADC校正算法设计与实现 [J], 班允强;梁英;刘朝强因版权原因,仅展示原文概要,查看原文内容请购买。
EVMF2812用户使用手册
Techv- TMS320F2812评估板使用说明书北京精仪达盛科技有限公司2007.02.01*本公司保留对此说明书最终解释权,如有更改恕不另行通知*版权所有,严禁非法复制、传播北京精仪达盛科技有限公司 2007.01 version 2.0目录第一章TMS320F2812EVM评估板介绍 (1)1.1 F2812EVM概述 (2)1.2 F2812EVM主要功能 (2)1.3 F2812EVM功能框图 (4)第二章TMS320LF2407EVM评估板接口说明 (5)2.1 F2812EVM组成 (6)2.2 F2812EVM模块介绍 (6)2.2.1 F2812EVM存储器接口 (9)2.2.2 用户开关和LED (11)2.2.3 晶振选择 (13)2.2.4 复位电路 (13)2.2.5 电源接口 (14)2.2.6 扩展总线........ . (15)2.2.7 JTAG接口 (19)2.2.8 板上串行通信接口 (20)2.2.9 CAN总线接口...... .. (20)2.2.10 AD变换单元 (21)2.2.11 CPLD模块 (22)第三章TMS320F2812EVM评估板测试软件说明 (28)北京精仪达盛科技有限公司 2007.01 version 2.0第一章TMS320F2812 EVM评估板介绍本章主要介绍TMS320F2812 EVM评估板的基本概况、主要特点、评估板功能以及功能框图等内容。
北京精仪达盛科技有限公司 2007.01 version 2.0 11.1 F2812EVM概况F2812EVM是一个独立的嵌入式应用板卡,用户可以通过它直接验证自己的算法,或在此基础上进行最终产品的集成或开发。
板卡上面丰富的资源能够满足大多数应用场合的需求。
高容量的存储器能够满足各种应用代码的调试。
完全的信号扩展式用户更方便进行二次开发。
该产品灵活方便的外部接口,可以作为工业控制特别是电机控制系统集成的配套产品。
2812的AD程序
EvaRegs.GPTCONA.bit.T1TOADC = 2; //使能事情管理器B,周期中断启动ADC
EvaRegs.T1CON.bit.FREE = 1;
EvaRegs.T1CON.bit.SOFT = 0;//
AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;//带隙参考电路上电
for(i=0;i<10000;i++) NOP;
AdcRegs.ADCTRL3.bit.ADCPWDN=1;//除带隙参考电路外的其他ADC模块上电
for(i=0;i<5000;i++) NOP;
for(;;//等待中断
}
interrupt void ad(void)
{
int i;
IFR=0x0000;
// PieCtrl.PIEIFR1.all = 0;
// PieCtrl.PIEACK.all=0xffff;
// a2++;
for(i=0;i<128;i++)
{
a1[i]=((float)AdcRegs.RESULT0)*3.0/65520.0+adclo;//将转换结果存入数组
AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;//清除INT_SEQ1中断标志
我写了一个2812的AD程序,思路是这样的.我要采集1V的交流电压,在一个周期内采集128个点.我用EV来定时触发AD,用DSP2812的AD外设中的ADCINA0通道来采集数据,并将采集到的128个数据存入设定的数组中.程序如下:
基于TMS320F2812变频电源的交流采样系统设计
基于TMS320F2812变频电源的交流采样系统设计王荣海,乔之勇(绵阳职业技术学院 四川绵阳 621000)摘 要:详细介绍利用HCNR200及TMS320F2812内置ADC 采集交流电压和负载电流信号的系统设计。
HCNR200是一款专门用于模拟信号隔离采样的高精度线性光耦。
它的使用能有效地将主电路与控制电路进行隔离,并具有较高的线性度,检测误差小。
DSP 内置ADC 为12位转换器,具有转换精度高,转换时间短(12.5MSPS ),设计简单等优点。
关键词:HCNR200;TMS320F2812;模拟隔离;交流采样中图分类号:TP368.1 文献标识码:B 文章编号:10042373X (2009)242189203Design of AC S ampling System B ased on TMS320F2812V ariable 2Frequency Pow er SupplyWAN G Ronghai ,Q IAO Zhiyong(Miangyang Vocational and Tecnology College ,Mianyang ,621000,China )Abstract :In this paper ,the design of AC sampling system by linear optocoupler HCNR200and TMS320F2812ADC module is introduced in detail.HCNR200is a high accuracy linear optocoupler witch is specially used in the analog signal isola 2tion sampling.Its use can effectively isolate between the main circuit and the control circuit ,and it has high linearity so that the measurement error is small.The inner ADC module is a 122bit pipelined analog 2to 2digital converter ,and its fast conversion time runs at 25M HzK eywords :HCNR200;TMS320F2812;analog isolation ;AC sampling收稿日期:20092062300 引 言在三相变频电源设计中,需要采样交流电压及负载电流,用以实现双闭环控制和保护,因此交流电压、电流采集系统的设计直接关系到变频电源的性能。
TH2812C电桥测量仪操作指导书
TH2812C电桥测量仪操作指导书1. 目的本作业规范的目的是规定TH2817、TH2812C电桥测量仪的使用方法,便于正确使用电桥自动测量仪测试电阻、电容、电感等器件是否满足规定的质量要求。
2.范围本作业规范适用于本公司所有电阻、电容、电感类器件的测量。
3.权责品质部:负责LCR的测量。
4. 定义无5.内容5.1 电桥工作环境5.1.1温度10-30℃,湿度≤80%RH。
5.1.2要求放置于通风良好的工作场所,以免仪器因过热而损坏。
5.1.3仪器及测试线应远离电磁场,以免影响正常测量。
5.2 使用5.2.1检查测试夹具是否正确连接,将电桥的电源线连接到电源插座,按前板的POWER开关按至ON,显示窗口应有不断翻动的数字显示,否则重新启动电源。
预热10分钟,待机内达到热平衡后,进行正常测试。
5.2.2为消除测试导线之离散电容与残余阻抗,电桥在每班上班第一次开机测试时都必须先归零。
归零动作分两种:开路与短路。
5.2.2.1开路清零:测试夹具必须开路,不得连接任何元件,按面板上的“清零”键执行开路清零;5.2.2.2短路清零:测试夹具必须短路(可便夹具的两接头有效接触),按面板上的“清零”键执行短路清零;5.2.2.3执行清零时,一次即对当前测量速度、所有频率下各量程进行清零,当测量更换测量速度、测试电平及测量环境有变化时,如测量夹具等需重新清零,并将覆盖上次测量速度下的清零值。
5.2.2.3在清零时显示器B显示“FAIL”表示清零错误,反复重度仍无法成功,应立即通知品质工程师处理。
5.2.3可选测量参数有以下几种L/Q:电感量L——品质因数QC/D:电容量C——损耗角正切DR/Q:电阻值R——品质因数DZ/Q:阻抗值Z——品质因数DZ/D:阻抗值Z——损耗角正切D参数L、C、R、Z均由显示器A显示,D、Q由显示器B显示。
5.2.4 L、C、R的测量值均有串联和并联等效之分,且随D值的不同而变化,其转换关系见表一。
DSPAD实验代码(2812)
DSPAD实验代码(2812)** 功能描述: ADC程序,对ADCINA3和ADCINA2采样,中断方式**********************************************/#include "DSP28_Device.h"interrupt void adc_isr(void);//定义全局变量:Uint16 LoopCount;Uint16 ConversionCount;Uint16 Voltage1[10];Uint16 Voltage2[10];main(){InitSysCtrl();EALLOW;SysCtrlRegs.HISPCP.all = 0x3; // HSPCLK = SYSCLKOUT/6EDIS;DINT;IER = 0x0000;IFR = 0x0000; // 禁止和清除所有CPU中断InitPieCtrl();InitPieVectTable();InitAdc(); //初始化ADC模块,该函数在DSP28_Adc.c文件中EALLOW; //使能写保护寄存器的写操作PieVectTable.ADCINT = &adc_isr; //把用户中断服务的入口地址赋给中断向量表头文件中的对应向量EDIS; // 禁止写保护寄存器的写操作PieCtrlRegs.PIEIER1.bit.INTx6 = 1; //使能PIE中的ADCINT中断IER |= M_INT1; // // 使能CPU 中断1,使能全部INT1EINT; // 使能全局中断INTMERTM; // 使能全局实时中断DBGMLoopCount = 0; //循环计数器清零ConversionCount = 0; //当前转化结果数清零// 配置ADCAdcRegs.ADCMAXCONV.all = 0x0001; // 设置SEQ1的2个转化通道AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x3; // 设置SEQ1的ADCINA3 作为第//一转换通道AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x2; // 设置SEQ1的ADCINA2 作为第//二转换通道AdcRegs.ADCTRL2.bit.EV A_SOC_SEQ1 = 1; // 使能EV ASOC 去启动SEQ1AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // 使能SEQ1 中断(每次EOS)// 配置EV A// 假设EV A已经在InitSysCtrl()中使能;EvaRegs.T1CMPR =0x0080; // 设置T1 比较值EvaRegs.T1PR = 0xFFFF; // 设置周期寄存器EvaRegs.GPTCONA.bit.T1TOADC = 1; // 使能EV A中的EV ASOC(下溢中断启动ADC)EvaRegs.T1CON.all = 0x1042; // 使能定时器1比较操作(增计数模式)//等ADC转换while (1){LoopCount++;}}interrupt void adc_isr(void){Voltage1[ConversionCount] = AdcRegs.ADCRESULT0;Voltage2[ConversionCount] = AdcRegs.ADCRESULT1;// 如果已记录了40次转化,则重新开始转换if(ConversionCount == 9){ConversionCount = 0;}else ConversionCount++;// 重新初始化下一次ADC转换AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // 复位SEQ1AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // 清INT SEQ1位PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // 清中断应答信号,准备接收下一次中断return;}。
TMS320F2812的ADC采样配置
AdcRegs.ADCCHSELSEQ3.bit.CONV08=0x8;
AdcRegs.ADCCHSELSEQ3.bit.CONV09=0x9;
AdcRegs.ADCCHSELSEQ3.bit.CONV10=0xA;
AdcRegs.ADCCHSELSEQ3.bit.CONV11=0xB;
1
第三个:四个输入通道选择排序寄存器 ADCCHSELSEQx(X=1、2、3、4),都是 16 位的寄存器, 每个寄存器中的 4 位确定一个采样通道(因为 4 位最大值正好是 16,这样每个 4 位就可以 确定 16 个通道的任一个),这样一个寄存器确定 4 个通道,4 个寄存器正好是确定 16 个通 道。每个寄存器可以确定 4 个通道,这 4 个通道可以是一样的,甚至 4 个寄存器确定的都是 一样的,这样就实现了过采样技术。 a、双通道顺序采样 双通道顺序采样,用到的自动排序器是 SEQ1,SEQ2,其中 SEQ1 将用到 ADCADCCHSELSEQ1 和 ADCADCCHSELSEQ2,ADCCHSELSEQx 中的每 4 位的最高位设置为 0;SEQ2 将用到 ADCADCCHSELSEQ3 和 ADCADCCHSELSEQ4,ADCCHSELSEQx 中的每 4 位的最高位设置为 1;用 到 ADCMAXCONV 中最后七位的低三位和高三位。低三位 MAXCONV1_2-0 决定 SEQ1 中的采 样次数;高三位 MAXCONV2_2-0 决定 SEQ2 中的采样次数.转换顺序是从 ADCADCCHSELSEQ1 的最低 4 位开始一直到 ADCADCCHSELSEQ4 的最高 4 位这个顺序来的。 C 代码分析:这个是 16 个顺序采样的,每个通道都采样一次
JK2812C LCR台式电桥操作指引
JK2812C LCR台式电桥操作指引一.目的正确指导操作员操作该仪器,确保测量数据的科学性和准确性.二.范围LCR元件测量.三.使用前注意事项3.1 检查电源电压由电压220V频率50Hz的交流电源供电,电源插座位于仪器后面板.3.2操作环境不要将仪器放置在有强磁场或是强电场的环境中进行测量,因为测量的结果可能会受到影响而失去精确度。
3.3仪器安装仪器需放置在通风良好的工作场所,以避免仪器过热而损坏。
3.4 仪器测量夹具或测量电缆应保持清洁,以保证与测量元件之间接触良好。
四.操作说明4.1插入电源插头,将前面板电源开关按至“开”档,显示窗口应有变化的数字显示,否则请重启动仪器。
4.2预热10分钟以上,待机内达到热平衡后,进行正常测量。
4.3根据被测元件,选用合适的量夹具或测量电缆,被测元件应清洁,使之与测量端保持良好接触。
4.4根据被测元件的要求选择相应的测量条件。
面板菜单:参数,频率,速度,量程,清零,串并联:Cs/Cp, Rs/Rp, Ls/Lp(串/并联).测量频率:100Hz、120Hz、1kHz、10kHz四个频率.测量方式:自动和锁定两种方式.清零功能: ON/OFF.五.仪器技术指标5.1测量参数电感L、电容C、电阻R、品质因数Q.5.2测量频率100Hz、120Hz、1kHz、10kHz ±2%5.35.4测量精度:六. 测试精度:6. 1 本仪器满足上述之精度,但并非在整个测量范围内都满足此精度要求,对整个测量范围 的精度遵循以下精度曲线。
七:维护及注意事项 7. 1仪器应可靠接地。
7. 2在使用过程中,如果出现数据混乱或显示不正常,可用以下方法使之恢复到工厂的初始设 置,关闭电感测量仪电源,按住任意键,同时再打开仪器电源,则需重新先关闭和打开电 源开关.7. 3批量测量时,尽量使用量程锁定功能,以提高测量速度。
7. 4当开机启动不正常或使用中受干扰引起仪器不正常时,可关机重启仪器,使之恢复正常。
dsp2812,AD采样
2.1.1 AD采样F2812的ADC模块是一个12位的模/数转换器。
对于16路的AD输入单元,本实验平台为其中的8路AD输入通道确定了功能,配置了相关的单元电路,包括:两路温度信号采集、交流信号采集、温度给定、鼓风机调速给定、力应变片电桥输出信号采集、压电传感器输出信号采集以及流量计输出信号采集。
如图 2.1所示:温度给定和鼓风机调速给定是对电位器上直流电压的采样(图a),比较简单不作过多介绍;力应变片电桥输出信号采集、压电传感器输出信号采集(图c)以及流量计输出信号采集(图b)是接口部分,分别与传感器动态试验部分(第四章)和流量仪表部分(第三章)连接。
这里着重介绍温度信号采集和交流信号采集。
图2. 1 AD2~AD6的接口电路2.1.1.1 温度信号采集两路温度信号分别通过F2812的AD0 、AD1通道来采集。
由于两个通道完全一样,这里只介绍一路温度信号(AD0)的采集。
(1)硬件原理温度传感器采用的是NS 公司生产的LM35[5],它具有很高的工作精度和较宽的线性工作范围,它的输出电压与摄氏温度线性成比例,且无需外部校准或微调,可以提供±1/4℃的常用的室温精度。
LM35的输出电压与摄氏温度的线形关系可用下面公式(2.1)表示,0℃时输出为0 V ,每升高1℃,输出电压增加10 mV 。
()T T V OUT ⨯=10 (2. 1)式中,输出电压OUT V 单位为mV ,温度T 单位为℃。
其电源供应模式有单电源与正负双电源两种。
正负双电源的供电模式可提供负温度的测量,单电源模式在25℃下电流约为50 mA ,非常省电。
本系统采用的是单电源模式,可测温度范围0~150℃。
温度传感器电路将测量到的温度信号转换成电压信号输出到信号放大电路,与温度值对应的电压信号经放大后输出至A /D 转换电路。
电压信号转换成数字量后DSP 根据显示需要对数字量进行处理,再送数码管进行显示。
关于数码管显示部分的设计在后面“2.2 输出单元”中介绍。
2812AD采样
► 确定中断向量表的入口地址
主程序通过“DSP281X_PieVect.c” 主程序通过“DSP281X_PieVect.c”文件中 的InitPieVectTable(),已经为PIE向量表中的 InitPieVectTable(),已经为PIE向量表中的 所有中断向量配置了对应向量的入口地址。 如果针对某一个外设针对中断专门有一个中 断服务程序,则这个中断服务程序的入口地 址必须取代前面配置的入口地址。 EALLOW; PieVectTable.ADCINT=&adc_isr; EDIS;
► 使能PIE级及CPU级中断 使能PIE级及CPU级中断
ADCINT是第一组第6 ADCINT是第一组第6个中断 PieCtrlRegs.PIEIER1.bit.INTx6=1; IER |=M_INT1; 使能第1组中断 使能第1 EINT; 使能INTM全局中断 使能INTM全局中断 ERTM; 使能全局实时中断 PieCtrlRegs.PIECTRL.bit.ENPIE=1; 使能PIE向 使能PIE向 量表,可省略
ADC校正 ADC校正
► y=x*ma+b ► ma=(yH-yL)/(xH-xL) ma=(yH-yL)/(xH► b=yL-xL*ma b=yL► x=y*CalGain-CalOffset x=y*CalGain► CalGain=(xH-xL)/(yH-yL) CalGain=(xH-xL)/(yH► CalOffset=yL*CalGain-xL CalOffset=yL*CalGain-
启动模数转换的几种方法
► 软件启动—对ADCTRL2进行基本配置后,便 软件启动— ADCTRL2进行基本配置后,便
可通过软件将序列发生器1 可通过软件将序列发生器1的启动转换触发控 制位SOC_SEQ1置 制位SOC_SEQ1置1来启动模数转换 AdcRegs.ADCTRL2.bit.SOC_SEQ1=1 ► 通过事件管理器EVA(EVB)启动 通过事件管理器EVA(EVB)启动 AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1 ► 通过外部引脚启动 AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=1 XIntruptRegs.XINT2CR.bit.ENABLE=1 XIntruptRegs.XINT2CR.bit.POLARITY=1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(;;){}
}
void ADC_init(void)
{
AdcRegs.ADCTRL1.bit.RESET=1; //复位
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;//带间隙参考电路上电
DELAY_US(8000l); //等待稳定
AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ2=0; //EVB信号不能启动SEQ2
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0; //禁止SEQ2中断
AdcRegs.ADCTRL3.bit.ADCCLKPS=0x4; //ADCCLK=HSPCLK/(4+2)=75/6=12.5MHz
#include "Dsp281x_device.h"
#include "Dsp281x_Examples.h"
#include "math.h"
void ADC_init(void);
void EVA_init(void);
void convert(void);
void display_init(void);
EvaRegs.EVAIFRA.bit.T1PINT=1; //清除定时器T1周期中断标志位
AdcRegs.ADCTRL1.bit.SEQ_CASC=1; //级联模式
AdcRegs.ADCTRL1.bit.SUSMOD=0x1; //仿真挂起模式:转换完成后排序器和其他逻辑停止工作,最终结果锁存,状态机更新
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1; //允许EVA触发启动SEQ
IFR=0x0000;
InitPieVectTable();
EALLOW;
GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0; //跳闸
GpioMuxRegs.GPADIR.bit.GPIOA0=1; //输出
EDIS;
ADC_init();
EVA_init();
display_init();
adclo=0;
PieCtrlRegs.PIEIER1.bit.INTx6=1; //使能PIE模块中的ADC采样中断
IER|=M_INT1; //开CPU中断
EINT;
ERTM;
AdcRegs.ADCRESULT0=0x0000;
GpioDataRegs.GPACLEAR.bit.GPIOA0=1;
EvaRegs.T1CON.bit.TCLKS10=0x00; //使用内部时钟
EvaRegs.T1CON.bit.TECMPR=0; //禁止定时器比较操作
EvaRegs.GPTCONA.bit.T1TOADC=0x2; //周期中断启动ADC
EvaRegs.EVAIMRA.bit.T1PINT=1; //使能定时器T1周期中断
A其他电路上电
DELAY_US(20l); //等待稳定
AdcRegs.ADCTRL1.bit.ACQ_PS=0xf; //采样窗口(15+1)
AdcRegs.ADCTRL1.bit.CONT_RUN=0; //停止开始模式
AdcRegs.ADCTRL1.bit.CPS=1; // /2
AdcRegs.ADCTRL3.bit.SMODE_SEL=0; //顺序采样
AdcRegs.ADCMAXCONV.bit.MAX_CONV1=0x1; //每次采样一个通道,共采样两个通道
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; //采样ADCINA0
AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x4; //采样ADCINA4
//####################################################################
//*文件名:Dsp2812_adc_test.c
//*功能:对2812进行交流电流和电压采样
//####################################################################
void display(Uint16 j);
void processv(void);
void processi(void);
void sequence(float v[],int p);
float v[120]={0}; //用于存放ADC转换的电压结果
float i[120]; //用于存放ADC转换的电流结果
//说明:ADC时钟频率:12.5MHz,
//采样频率:6000Hz(0.1667ms)
//级联顺序采样模式,采样2路,ADCINA0-电流,ADCINA1=电压;
//采样窗口为16个ADCCLK
//启动方式:EVA
//##################################################################
}
void EVA_init(void)
{
EvaRegs.T1CON.bit.TMODE=0x2; //计数模式为连续增模式
EvaRegs.T1CON.bit.TPS=1; //T1CLK=HSPCLK/2=37.5MHz
EvaRegs.T1CON.bit.TENABLE=0; //暂时禁止T1计数
int adclo;
float ve; //存放电压有效值
float ie; //存放电流有效值
int m=0;
int n=0;
void main()
{
InitSysCtrl(); //高速时钟HSPCLK=75MHz
DINT;
InitPieCtrl(); //允许PIE中的ADC采样中断
IER=0x0000;
AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0; //禁止EVB触发启动SEQ
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; //允许SEQ1中断
AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0; //每个SEQ序列序列结束时,SEQ1置位