数字信号处理技术_05电压信号的采集(交流电机的模拟参数输入).doc

数字信号处理技术_05电压信号的采集(交流电机的模拟参数输入).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理技术_05电压信号的采集(交流电机的模拟参数输入)

第3章 交流电机的模拟参数输入 3.1交流电机的模拟参数输入 3.1.1交流电机的模拟参数输入硬件电路的组成 3.1 交流电机的模拟参数输入硬件电路 3.1.2交流电机的模拟参数输入过程 3.2 MCP604 3.2.1 MCP604简介 3.2.2 MCP604的引脚与引脚功能 3.3 TMS320LF2407 A/D转换模块 3.3.1 模数转换模块(ADC)工作原理 3.3.2 模数转换模块(ADC)工作方式 模数转换模块(ADC)有两种不同的工作方式:连续自动排序模式、启动/停止模式。 3.3.3 ADC模块的寄存器 ADC控制寄存器1(ADCTRL1) ADC控制寄存器2(ADCTRL2) 最大转换通道寄存器(MAXCONV) 自动排序状态寄存器(AUTO_SEQ_SR) ADC输入通道选择排序控制寄存器(CHSEL SEQn) ADC转换结果缓冲寄存器(RESULTn) 3.3.4 ADC转换举例 此例中用事件管理器A的定时器2定时时间到来触发A/D采样的启动。采样时采用级连模式,一次做16个转换,转换通道分别是0~15。转换完成后,在A/D中断服务子程序中将转换结果读出。该程序只作一次A/D采样。 所需的复位和中断向量定义文件“vectors.asm” // 该文件利用汇编语言代码定义了复位和中断向量 .title “vectors.asm” .ref _c_int0,_nothing,_.sect “.vectors” reset: b _c_int0 // 复位向量 int1: b _ADINT // A/D中断向量 int2: b _nothing int3: b _nothing int4: b _nothing int5: b _nothing int6: b _nothing 主程序Adc.c // 该程序用于进行A/D转换,A/D转换的结果保存在DRESULT[16]中,寄 // 存器ceshi用于测试每个A/D转换的结果 #include register.h int ADRESULT[16]; // 定义一个数组用于保存AD转换的结果 volatile unsigned int *j; // 定义一个指针变量 int i=0x00,cesi;void inline disable() { asm( setc INTM);void inline enable(){ asm( clrc INTM);} // 系统初始化子程序 void initial(){ asm( setc SXM); // 符号位扩展有效 asm( clrc OVM); // 累加器中结果正常溢出 asm( clrc CNF); // B0被配置为数据存储空间 *SCSR1=0x81FE;// CLKIN=6M Hz,CLKOUT=4*CLKIN=24M// 不使能看门狗 *IMR=0x0001; // 允许INT1中断 *IFR=0x0FFFF; // 清除全部中断标志,“写1清0” } // AD初始化子程序 void adinit () { *CHSELSEQ1=0x3210; *CHSELSEQ2=0x7654;*CHSELSEQ3=0x0BA98;~15 } // 启动AD转换子程序(通过启动定时器4的方式间接启动) void ADSOC() {} // 若是其它中断则直接返回子程序 void interrupt nothing() {return; } void interrupt ADINT() {“ clrc SXM”); // 抑制符号位扩展 j=RESULT0; // 取得RESULT0的地址 for(i=0;i=15;i++,j++) { } *ADCTRL2=*ADCTRL2|0x4200;// 复位SEQ1,且清除INT FLAG SEQ1。 enable(); // 开总中断,因一进入中断总中断就自动关闭了 } main() { adinit ( ); // AD初始化子程序 enable( ); // 开总中断 ADSOC( ); // 启动AD转换 while(1) {while(1) {} 3.4 TMS320LF240x常用汇编指令 3.4.1 TMS320LF240x DSP汇编指令的寻址方式 立即数寻址 直接寻址 间接寻址 3.4.2 TMS320LF240x DSP的常用汇编指令 ABS,累加器取绝对值 ADD,累加器加 ADDC,带进位的累加器加 ADDS,符号扩展抑制的累加器加 ADRK,辅助寄存器加短立即数 AND,和累加器进行与操作 B,无条件跳转 BACC,跳转到累加器指定的地址 BANZ

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档