DSP控制器原理及应用课件素材(下)_第1页
DSP控制器原理及应用课件素材(下)_第2页
DSP控制器原理及应用课件素材(下)_第3页
DSP控制器原理及应用课件素材(下)_第4页
DSP控制器原理及应用课件素材(下)_第5页
已阅读5页,还剩290页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.4.3比较单元中断7.4.4比较单元复位7.5比较单元与脉宽调制电路7.5.1脉宽调制电路概述比较匹配SVPWM状态机死区DTPHr幢出单元逻辅较动作控制寄存器图7-13EVA模块的PWM电路功能结构图7.5.3可编程死区单元保瘤位7保罪位保留拉7432保罪位表7-14根据DBTCONx中典型的位组合而产生的死区值DBTPS2~DBTPSO(p)(DBTCON110和0000000l23454216789A8421BCDEF63女死区控M签存器晨P图7-14全比较单元死区逻辑框图和波形图3“1”“0”7.6用比较单元和PWM电路产生PWM波形7.6.4非对称和对称PWM的产生定时周期1定时简期1比较值大于周期1高有政)(低有效)图7-16非对称PWM波形的产生4十比较匹配图7-17比较单元和PWM电路产生对称的PWM波形图7-18三相功率反相换流器的原理图表7-15三相功率反相换流器的开关模式abc00000000000101010100110100一1/3101011010011110000005图7-19开关模式和基本空间向量7.7.2用EV产生空间向量PWM波形图7-20对称的空间向量PWM波形的两个例子6GP定时潜2计数器GP注时器1计数器22极深度FIFO堆栈8捕获FIFO状态622选择动动图7-21EVA捕获单元原理框图GP定时器3计数器检测—CAPCONB[8]66GP定时器4计数器2级深搜捕获单元6捕获市件CAPCONB|9.10]-选择图7-22EVB捕获单元原理框图7.8.3捕获控制寄存器保留位保留位保醒位保留模RW-0RW-0保壁位保留位7.9正交编码器脉冲电路7.9.2正交编码器脉冲电路时间基准2GP定时器2wnx图7-23EVA模块中正交编码器脉冲电路原理框图2GP定时器4Nnx图7-24EVB模块正交编码器脉冲电路原理框图7.9.3正交编码器脉冲电路的解码 图7-25正交编码脉冲解码的实例图7.9.4正交编码器脉冲电路的计数7.9.5正交编码器脉冲电路的寄存器设置中断标志寄存器中断屏蔽寄存器EV模块表7-17所有EVA中断和分组组每组内的优先级描述/中断源内部中断号A1(最高)功率驱动保护中断A12比较单元1比较中断23比较单元2比较中断4比较单元3比较中断5GP定时器1周期中断6GP定时器1比较中断7GP定时器1下滥中断8(最低)GP定时器1上溢中断B1(最高)GP定时器2周期中断32GP定时器2比较中断3GP定时器2下溢中断4GP定时器2上溢中断C1(最高)捕获单元1中断42捕获单元2中断3捕获单元3中断表7-18所有EVB中断和分组组每组内的优先级描述/中断源内部中断号A1(最高)功率驱动保护中断B12比较单元4比较中断23比较单元5比较中断4比较单元6比较中断5678(最低)B1(最高)3234C1(最高)4237.10.1EV中断请求和服务98保留位73210保留位保留位K-0.RWIC-0KWLC-0210保留位保盛位保雷位保留位保留位B-0保屈拉保解位32l0保留位保霜位98保罪位72保研位保留位RW-0.保留位7.11事件管理器应用实例7.11.1事件管理器EVA的定时器1操作事件管理测试器;变量和寄存器定义,参考第4章__;位15~11;位10~8;位3~2;看门狗复位宏;数据页面(DP)指向7000H-707FH;数据页面(DP)指向0000H-007FH:禁止中断:屏藏所有核心中断:外设数据页00001,设置为连续增/减计数模式:外设数据页111.设置预定标系数为x/12801.定时器1使能00,当数值为0时,重载比较寄存器NOPBNOPXORXORXORXOR0.使用自身的周期寄存器#11111111111111111B.T1PB;设置周期寄存器的值#000000001111111IB,T1CMPR;设置比较寄存器的值#0000111100000000B.EVAIFRA;清除所有中断#0000000000000010B,TMR;使能中断2(INT2);主循环;INT2的第1级通用中断服务程序#0E0H;外设数据页#002AH;定时器1是否上溢#0029日;定时器1是否下滥#0028H;定时器1是杏发生比较匹配#0027H;定时器1是否发生周期匹配;定时器1下监中断服务程序#0EiH:外设数据贞#0FF02H,PBDATDIR;设置IOPB0#0E8H;外设数据页#0400H:在EVAIFA中清除上盟中断标志;使能所有中断;定时器1下滥中断服务程序#0E1H;外设数据页#0E8H;外设数据贞#0200H;在EVAIFA中清除下滥中断标志INTM;使能所有中断#0E1H;外设数据页#0E8H;外设数据页#0100H;在EVAIFA中清除下监中断标志INTM;使能所有中断;定时器1下溢中断服务程序:外设数据页;设置IOPB3;延时;外设数据页:使能所有中断;产生延时子程序NOP:延时参数可以根据用户需要进行修改7.11.2事件管理器的捕获单元操作.include“f2407regs.h”:变量和寄存器定义,参考第4章:定义延时:设置数据页DP=0:禁止中断;屏蔽所有核心中断:读取中断标志;清除所有中断标志;外设数据页;外设数据贞;清除所有EVA中断标志:清除所有EVA中断标志;将延时值载入寄存器AR7;设定当前寄存器位AR7;外设数据页;使能所有EV信号;使能所有EV信号5101H表示CAP1值不正确/·装载EVA定时器寄存器*/;位15~7;位5~4;位3~2;位1~01.使能定时器比较输出00,保留10,定时器2比较高有效01,定时器1比较低有效;外设数据页;位15~1100010,设置为连续增计数模式:位10~8111.设置预定标系数为x/1280.定时器1为保留位01,定时器1使能:位5~400,使用内部CPU时钟;位3~200.当计数值为0时,重载比较寄存器1.使能定时器比较操作0,使用自身的周期寄存器TSWT1=1,使用定时器1的使能位SELT1PR=1,使用定时器1的周期寄存器:其他位与定时器1的控制寄存器定义一样:定义定时器1周期寄存器:定义定时器I比较寄存器:定义定时器2比较寄存器SPI.K;禁止EVA的所有中断SPI.K:禁止EVB的所有中断/装载捕获寄存器*,:位14~1301,使能捕获单元I和2,禁止QEP;位121.使能捕获单元3:位110.保留位:位100,CAP3使用通用寄存器2;位91.CAP1和2使用通用寄存器1:位80,CAP3中断不启动ADC事件;位7~601.CAP¹捕获上升沿信号:为5~410.CAP2捕获下降沿信号:位3~211,CAP3捕获双沿信号00,保留位:使能CAP3,CAP2.CAP1中断;写错误码的开始数据页:如果测试成功这些值会被覆盖:使能INT4;使能打开的中断6101H表示CAP4值不正确6201H表示CAP5值不正确6301H表示CAP6值不正确*装载EVB定时器寄存器*/L.DP#0EAH;外设数据页SPLK#0000000001001001B,GP:位15~7000000000:位5~400,保留;位3~210,定时器4比较高有效;位1~001,定时器3比较低有效SPLK#0000000000000000B,T3CNT;定时器3的计数初值为0SPLK#0000000000000000B.T4CNT;定时器4的计数初值为0SPLK#0001011101000:位15~1100010,设置为连续增计数模式;位10~8111,设置预定标系数为x/128;位70,定时器3为保留位;位601,定时器3使能;位3~200,当计数值为0时,重载比较寄存器SPLK#0001011111000011B.;位7TSWT3=1.使用定时器3的使能位;位0SELT3PR=1,使用定时器3的周期寄存器:其他位与定时器1的控制寄存器定义一样SPLK#1111111111111111B.T3PR;定义定时器3周期寄存器SPLK#0011111100000000B,T3CMPR;定义定时器3比较寄存器SPLK#0011111100000000B.T4CMPR:定义定时器4比较寄存器SPLK#0000000000000000B,EVAIMRA;禁止EVA的所有中断SPLK#0000000000000000B,EVAIMRB;禁止EVB的所有中断SPLK#001100100110110;位150,清除捕获寄存器:位14~1301.使能捕获单元4和5.禁止QEP;位110,保留位:位91.CAP4和5使用通用定时器3:位7~601,CAP4捕获上升沿信号;位5~410,CAP5捕获下降沿信号;位3~211,CAP6捕获双沿信号;位1~000,保留位CLRCINTM:使能打开的中断:退出子程序B:ISR(中断服务子程序)XORXORXORXORXORXOR;屏蔽所有中断;读取中断标志:清除所有中断标志;外设数据页:外设数据页;禁止EVA和EVB时钟;测试模块结束:中断4(INT4)的通用中断服务程序:外设数据页;是否为CAP1中断:获取中断向量PIVR值:是否为CAP2中断;获取中断向量PIVR值;是否为CAP3中断;获取中断向量PIVR值;是否为CAP4中断:获取中断向量PIVR值;是否为CAP5中断;获取中断向量PIVR值;是否为CAP6中断:CAP1的中断服务程序;外设数据页;清除捕获标志;检查FIFO值XORXOR:报告CAP1错误B:外设数据页:清除捕获标志;检查FIFO值XORXORBL.DP;外设数据页:清除捕获标志;检查FIFO值XORXOR;报告CAP3错误BXORBXOR:报告CAP5错误BSPLK#0004H,EVBIFRC;外设数据页:清除捕获标志:检查FIFO值XORXORB:延时子程序NOP:在不同模式之间产生延时事件管理器的QEP功能应用:主代码NOP__R:初始化GPIO和定时器R_B/·假中断*!;禁止所有中断:屏蔽除INT2,INT3,INT4以外的其他中断:读中断标志:清除中断标志:配置块B0到数据存储空间;数据页指向7000H~707FH;如果VCCP=5V,则禁止看门狗;数据页指向7080H~70FFH:配置1/0.选择CAPI/QEP1.CAP2/QEP2:数据页指向7400H~747FH:选择通用定时器1:设置周期寄存器T2PR的初值;配置定时器2,并选择正交编码器脉冲作为时钟源:复位看门狗8.1.1ADC特性与结构框图结果寄存器结果寄存器一软件立即启动(S/W)AD转换启动一EVB事件府动ADCIN15-软件立即启(S/W)→EVA事件脂动一10位A/D模块(带柔样保持器最知转换时间375n)ADC控割奇存器排序器2搅拟多路开天指序器1图8-1TMS320LF2407AADC模块结构框图D15-D12DII-D8D7-D4D3-DOD1S-DI2CHSELSEQ2D15-D12D11-1)8B7-LNBj-[J0D1S-DI2CHSELSEQMCHSELSEQ3图8-3SEQ2的CHSELAEQ3~CHSELSEQ4位域定义结果结果MUX44+ADCINO-—图8-4单排序器(16状态,级联)模式选拌转换器MX结果选择P4排序仲哉器结果选择:状态状态4自动排序器状态机软件—+排序触发启动软件排序触安府动十图8-5双排序器(两个独立的8状态排序器)模式CHSELSEQ1=[CONV03ICONV02ICONV01|CONV00CHSELSEQ2=[CONV07ICONV06|CONV⁰5|CONV04No返回NoNoNo表8-1模数转换(ADC)寄存器ADC控制寄存器1ADC控制寄存器2最大转换通道寄存器通道选择排序控制寄存器1通道选择排序控制寄存器2通道选择排序控制寄存器3自动排序状态寄存器转换结果缓冲寄存器0转换结果缓冲寄存器1转换结果缓冲寄存器2转换结果缓冲寄存器3转换结果缓冲寄存器4转换结果缓冲寄存器5转换结果缓冲寄存器6转换结果缓冲寄存器7转换结果缓冲寄存器8转换结果缓冲寄存器9转换结果缓冲寄存器10转换结果缓冲寄存器11转换结果缓冲寄存器12转换结果缓冲寄存器13转换结果缓冲寄存器14转换结果缓冲寄存器15校准寄存器8保辞位76543210表8-2ADC的采样时钟预定标值(30MHz的CPLJ)中预定标器(除以)采样时间信号源阻抗信号源阻抗000001100012续表#预定标器(除以)采样时间信号源阻抗信号源阻抗20010330011440100550016601077011188100099001A010B1011CI00D101E1I10F111表8-3ADC的采样时钟预定标值(40MHz的CPU)#预定标器(除以)采样时间信号源阻抗信号源阻抗00000110001220010330014400055001660107701118800099001A1010B011C00D01E10F11表8-4参考电压位选择CALENA=1参考电压STESTENA=1参考电压000110117654321D;SEQ]复位NOPNOPNOPNOP表8-5SEQI的中断方式使能控制位描述位1100中断方式禁止01中断模式:当INTFLAGSEQ1位被置1时,立刻产生中断请求10中断模式2:如果INTFL.AGSEQ1位已经被置1了,则产生中断请求。如果位被清除后INTFLAGSEQ1位再被置1,则中断请求被禁止。这种方式允许每隔一次排序转换结束产生中断请求11保留表8-6SEQ2的中断方式使能控制位描述位3位2操作描述00中断方式禁止01中断模式1:当INTFLAGSEQ2位被置丨时,立刻产生中断请求10中断模式2:如果INTFLAGSEQ2位已经被置1了,则产生中断请求,如果位被清除后INTFLAGSEQ2位再被置1,则中断请求被禁止11保留765保罪位43210尺W-0表8-7MAXCONV寄存器的位定义和转换数目的关系转换数目转换数目192345678I98保留位保醒位表8-8SEQCNTRn的4位状态域值SEQCNTRn(只读)剩余的转换数目SEQCNTRn(只读)剩余的转换数目192345678表8-9寄存器CHSELSFQn的域值与通道选择对应表选择ADC输入通道CONVnn值选择ADC输入通道通道0通道1通道9通道2通道10通道3通道11通道4通道12通道5通道13通道6通道14通道7通道15765432l0000000单个8状态排序器1单个8状态排序器2级联16状态排序器转换触发启动软件,EVA、外部引脚软件、EVB软件、EVA.EVB,外部引脚最大的自动转换数(排序长度)88排序结束后自动停止是是是仲裁优先级高低无CHSELSEQn位分配图8-7事件管理触发器启动排序器位15~12位11=~8位7-4XXxXXXXXXX缓冲寄存器缓冲寄存器XXXXXXxXxXSEQI(排序器1)SEQ2(排序器2)级联的SEQ软件触发器(软件SOC)事件管理器A(EVASOC)外部SOC引脚(ADCSOC)软件触发器(软件SOC)事件管理器B(EVBSOC)软件触发器(软件SOC)事件管理器A(EVASOC)事件管理器B(EVBSOC)外部SOC引脚tADCSOC)8.1.5排序转换期间的中断操作图8-8排序转换时的中断操作图8-9模数转换(ADC)过程的时间段除以来以1图8-10ADC模块中预定标器位的使用000000表8-14ADC转换周期对应的时间转换阶段CLKOUT周期(CPS=0)22121123:通用目标寄存器;MACRO-宏定义;看门狗复位宏;数据页(DP)指向7000H~707FHLDP#0;数据页(DP)指向0000H~007FHSRART:LDP#0;程序开始;数据页(DP)指向0:屏藏所有中断;读中断标志:清除所有中断标志;禁止看门狗WDSPLK#0H.GPRO:为程序空间设置等待状态发生器,0~7个等待状态;/*初始化ADC寄存器*/SPLK#010000000000000B,ADCTRL1NOP;位140,无影响:位13~1211.自由运行;位11~80000,预定标系数为2×TCLK:位50.高中断优先级设置最多16个转换7/*对转换排序进行编程·/SPLK#07654H,CHSELSEQ2SPLK#0BA98H,CHSELSEQ3SPLK#0FEDCH·CHSELSEQ4SPLK#0010000000000000B,ADCTRL2NOPNOPNOPNOPCHK-EOS1:BITADCTRL2,BIT12:设置最大转换通道为16:转换通道:转换通道;转换通道8,9,10,11:转换通道12,13,14.15;启动转换:空指令;等待SEQ1BSY位被清除:如果TC=1.继续循环NOPLOOP;B:转换结果可以从寄存器RESULTSn中8.1.10A/D转换C实验程序设计.refcint0,_intl(2)main.c程序清单}(3)func.c程序清单#include'“f2407_c.h”参考第4章例.4-18*unsignedintadc_res[8]=0,0,0,.0):DSP公共初始化7{/>禁止看门狗定时器//→设置共享I/)引脚*!/*事件管理器A组引脚配量·/*事件管理器B组引脚配量*/清除IMR寄存器*/→设置事件管理器中断→*清除所有EVAA组中断*·清除所有EVAB组中断*//*清除所有EVAC组中断*//*开放EVAA组希望的中断*/*开放EVAB组希望的T2中断*/*开放EVAC组希望的中断*/*清除所有EVBA组中断*//*清除所有EVBB组中断*//*开放EVBA组中断*//*开放EVBB组中断*//*开放EVBC组中断*/A/D转换器初始化*,voidade_soc(void)/*DSP内核中断源INT1中断服务程序voidinterruptint{8.2串行通信接口高偶世岳拜座能艾述搜款做险中高存游发动中断他能)tXFMWTV|安沃器包标仰度持平高8竞择离石器被轻家证2优持毒在器TXENA(发道焚能-1世比先线——°-0荔优先级——-0协部叫数其光级——0NIPRS接收得断化光地志厚电峡册t教扫能收也能接收浮软据海申青存器kXRnV(拨收器难备好耘去)SSNIKXST图8-11串行通信接口模块结构框图表8-16串行通信接口(SCI)寄存器及其地址寄存器SC1通信控制寄存器定义SCI使用的字符格式、协议和通信模式SC1控制器1控制RX/TX和接收器错误终端使能、TXWAKE和SLEEP功能.内部的时钟使能和SC1软件复位SCI波特率选择寄存器,高8位保存产生波特率所需要的高8位数据5C1波特率选择寄存器,低8位保存产生波特率所需要的低8位数据SC1控制器2使能、发送器准备标志和发送器空标志SC1接收器状态寄存器包括7个接收器状态标志件止位’续表件止位’寄存器SCI仿真数据缓冲寄存器包括用于屏幕更新的数据·主要用于仿真器SCI接收数据缓冲寄存器包括来自接收器移位寄存器的当前数据非法非法SCI发送数据缓冲寄存器保存被SCITX发送的数据位非法非法非法非法非法非法非法非法非法非法SCI优先级控制寄存器包括接收器和发送器中断优先级选择位和仿真器挂起使能位1234567起帕闷1234567地址数据奇偶问停止惊!图8-12典型SCI数据帧格式表8-17对数据格式进行编程的位位名位选择字符(数据)长度(1-8位)如果设置为1,则使能奇偶校验功能,否则禁止奇俱校验果该位清0.则为奇校验位:如果该位置1.则有两个停止位1个镇块开始数制最后1卜数捌-V1个喷块中其他辅格式10位以上10位以上室闲高期空闲周期后面为10位以上的空闲端斯图8-13空闲线多处理器通信格式无盘义的空闲周期1设置为“1”地址位模式轴格式开始位LSB234567MSB1奇偶位停止位[空闲周期地址位地址地址图8-15地址位多处理器通信模式图8-16SCI异步通信数据格式1帷I400235图8-17SCI中RX的通信模式实例 tl) 起始位0l2位起始位012f 图8-18SCI中TX的通信模式实例8.2.5串行通信接口中断理想波特率CPU时钟频率(40MHz)实际的波特率误差(%)08.2.7SCl模块寄存器表8-19对应于SCICHAR2~0位的位值和字符长度SCICHAR2~0的位值(二进制)字符长度/bit0001001201630114100510161071118保留位保贸位表8-20受SWRESET影响的SCI操作标志串口标志寄存器的位110000000保宣位保贸位 保到位保健位R-0RW-0R图8-20SCITXD和SCIRXD引脚短路自发自收连线图;文件名:;文件名:__R:看门狗复位宏;禁止中断:使能SCI模块的时钟:禁止看门狗WD;设置等待状态发生器:设置0~7个等待状态:设置AR2为计数器:设置AR3为指针;设置为17.则选择内部回送自测;空闲线协议;禁止RXERR.SLEEP.TXWAKE:禁止RX和TX中断:波特率=9600bps(40MHz)SYSCLK:复位放弃SCl:装载xmit字符到ACC;写xmit字符到TX缓冲器;如果TXRDY=0,则重复循环:如果RXRDY=0,则重复循环;接收到的字符保存在60H:该循环执行20H次:重复循环:执行了发送循环后在此进入空闲_:读中断标志;清除中断标志:配置块BO到数据存储空间:数据页指向7000H-707FH;SCI模块时钟使能;初始化SCl:选中SCl模块的输人引脚:波特率=9600bps(40MHzSYSCLK);复位放弃SCl;为程序空间设置等待状态发生器,0~7;个等待状态:复位看们狗:使能DSP中断;定义接收数据的保存首地址:设置判断高8位和低8位的一个识别变量:接收数据寄存器NOPBNOPXORBBB:主循环_;保存状态寄存器与第0页数据地址:保存低16位ACCCONTEXT_MEM_PTR+1:保存高16位ACC#0E0H:外设数据贞;是否为SCI接收中断_;判断是否为高8位数据;判断是否为高8位数据:读取高8位数据:读取高8位数据#CONTEXT_MEM_PTR:将保存的上下LST/*假中断*/;复位WD计数器8.3串行外设接口(报收器超取际去1sTXHFO1MSsSs畦钟极性封钟相位36SPH皮特率MM图8-22SPI模块结构框图表8-21串行外设接口(SP1)寄存器及其地址SPI配置控制寄存器SPI操作控制寄存器SPI状态寄存器保留SPI波特率寄存器保留SPT接收仿真缓冲寄存器SPI串行输入缓冲寄存器SPI串行发送缓冲寄存器续表SPI串行数据寄存器保留保留保留保留保留SPI优先级寄存器申行输入级冲器串行输入缓冲器处理器I图8-23SPI主从控制器连接8.3.5数据格式有时钟移位寄存器串行发送缓冲器处理器2发送SPIDAT数据发送01l001101l1l01lU01011011ISPIRXBUF(数据发送后)00)101lxSPICLK的信号模式上升沿,无延时00上升沿,有延时01下降沿.无延时10下降沿,有延时11图8-25SPI时钟模式选择图8-26SPICLK引脚在当(BRR+1)为奇数、BRR>3、CLOCKPOLARITY=1时的输出特性8.3.7SPI复位初始化8.3.8SPI数据传送实例767CLOCKPHASE=0-56356图8-27每个字符传送5位的SPI数据传送时序保留位表8-23不同位值所选择的字符长度00001000120010300114010050101601107011181000910011010101111001011110111保留位R-0.RW-0RW-0RW-0保留位保留位7654321076543210R-0R-0R-0R-0765432l076543210保留化保髓位4古1238765.include“f2407regs.h”R;变量和寄存器定义,参考第4章:看门狗复位宏:初始化时禁止中断:清除符号扩展:复位溢出方式:禁止WD:设置锁相环倍旗系数为4;使能SPI模块的时钟:16个字符长度:设置GPIO引脚为SPI功能:下面的程序为产生数据齿波的代码,通过将一个计数器按一LP:LARAR0,#07FEH;最高位为1,这是DAC所要求的XOR;测试SPI_INT位:若计数器非0,则发送下一个数B:若计数器为0,则重载计数器重复循环习题与思考题他长12或32627起始位仲裁域控制位数据域CRC位应答结来图9-1CAN数据帧应用层传输层网络层数据链路层物理层图9-2ISO/OSI参考模型分层结构数据链路层逻辑链路层(LLC)报文验收滤波过载通知,恢复管理合法访问控制子层桢包装/解包植编码仲裁错位检测,标志.应答物理层位流编码/解码·位定时,位同步驱动器/接收器接口电平特征图9-3CAN的ISO/OSI参考模型分层结构图9-4CAN总线差分电压与逻辑位表示关系表9-1邮箱配置模式工.作模式使用的LAM(局部接收屏蔽寄存器)只接收只接收发送/接收(可配置)LAM1(当配置为接收时)发送/接收(可配置)LAMI(当配置为接收时)只发送只发送控制状态寄存器中断遭料存储器管理单元发送缓冲CAN内核艺片CAN总线临时接收缓冲接收滤波器1111 控制逻辑匹配的ID图9-5TMS320LF2407A内嵌CAN模块结构图表9-2CAN控制寄存器地址分配表MDER(MailboxDirectionEnableRegister)邮箱方向/使能寄存器(位7~0)发送控制寄存器(位)5~0)接收控制寄存器(位15~0)主控制寄存器(位13~6,1.0)BCR2(BitConfigurationRegister2)位配置寄存器2(位7~0)BCR1(BitConfigurationR位配置寄存器1(位10~0)错误状态寄存器(位8~0)全局状态寄存器(位5~3,1.0)CAN错误计数寄存器(位15~0)CAN中断标志寄存器(位13~8.6~0)CAN中断屏蔽寄存器(位15.13~0)LAM0_H(LocalAcceptionMaskedRegisterHigh)局部接收屏蔽高位毒存器(位31.28~16)*LAM0_L(LocalAcceptionMaskedRegisterLow)局部接收屏蔽低位寄存器(位15~0)LAM1_H(LocalAcceptionMaskedReg局部接收屏蔽高位寄存器(位3).28~16)LAM1L(LocalAcceptionMaskedRegisterLow)局部接收屏蔽低位寄存器(位31,28~16)注①:用于邮箱0~1tMhilbox0~1)的局部接收屏蔽,保留保留Mailbox2图9-6CAN控制器内存映射图F●1数据位6数据位7(F●1数据位6数据位7(RC致据位6数据位7(R[E○F…(接收邮箱)(接收邮箱)(配置邮箱)(配置邮箱)(发送邮箱)(发送邮箱)保留标准标低符11位R10E扩展标识符1%位RIR|6数据位0故据位1sof标准标识符11位RIR105r0数据位0敬据位1图9-7CAN数据帧数据格式(扩展帧和标准帧)445个字节6个学节5个字节6个学节7个字节8个字节2个字节3个字节4个字节9.4.3信息缓冲器9.4.5发送邮箱9.4.6接收邮箱9.4.7远程帧处理邮箱状况邮箱状况发送邮箱发送邮籍发道邮群数师延程帧RTR=W如果应答配毁为数据辊.那之无产的话,应等会在竖前接收献箱中或者在另-一个CAN模块中的数据树数据树接收邮霍接收邮箱CPU姓理情况TRS-0.TRS-0.TA保持为0没行产生邮箱中断接收邮箱包含这个邮箱2或3的D,RTR·DLC和TRS,片且图9-8远程帧请求9.4.8邮箱配置保留位7邮箱方向/使能寄存器2109.5.2发送控制寄存器76432109.5.3接收控制寄存器989.5.4主控制寄存器保招位76保程位9.5.5位配置寄存器发送点图9-9CAN位定时时序图保留位保留位表9-4CAN模块位时间实例(Iax=40MHz)位时间波特事433116419.6.1错误状态寄存器 FERRC-0RC-1RC-0RC-09.6.2全局状态寄存器保留位保留位9.6.3错误计数寄存器保群位76543210保留位9.7.2CAN中断屏蔽寄存器保留位7532109.8CAN初始化配置配置工作模式ICCR=1.CCE=0)等待配置工作模式iCCR=1,CCE=D)配置工作模式有效(CCR-1,CCE=1)位时间参数的改变被使能正常工作模式请求(CCR=U.CCE-1)等待正常工作模式iCCR=0.CCE=1)图9-10CAN初始化流程图9.9低功耗和挂起模式9.9.1低功耗模式9.9.2挂起模式9.10.1接口驱动器件的选择图9-11PCA82C250的引脚排列表9-5PCA82C250引脚说明1发送数据2地34接收数据5678Slope电阻R₂4生4一R567832图9-12CAN接口器件与TMS320LF2407A的硬件连接电路.include“f2407regs.h”NMIEMU_TRAPBPHANTOMPVECTORSBPHANTOM:引用头文件;定义子向量段pvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorBPHANTOMpvectorBPHANTOMpvectorpvectorpvectorpvectorpvectorpvectorpvectotpvectorpvectoraddrpffset0x02f-Tpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvectorpvector__:保留向量地址偏移量0040HCAN接收中断:保留向量地址偏移量0041H_:系统初始化R:清除中断标志SPLK#0E8H.WDCR;Disabl控制器初始化#00C0H,MCRB:Config#0FFFFH,LAMIL;'1':don'tcare_:CAN波特率=Ix/[(BRP+1)·Bittime];Bittime=(TSEG1+1)+(TSEG2+1)+1=10+1+7+;设置邮箱3的ID和控制字SPLK#0FFFFH,MSGID3L;;设置邮箱3的控制域;邮箱3信息初始化;数据区改变请求复位:循环等待GSR.CCE由'1'变'0',才退出循环;不使能邮箱,邮箱2设为接收方式;应答的邮箱3数据域操作;设置邮箱2的ID和控制字;设置邮箱2的控制域数据长度DCL=8,RTR=0,数据帧;邮箱2信息初始化;接收邮箱8字节单元初始化全写00H邮箱3的29位ID=447FFFFH数据长度DCL=8.RTR=0,数据帧;将要发送的8个字节:;CDR='0'.DBO='1'.ABO='1'(总线自动打开),;MD2='1'(邮箱2配置为接收邮箱。4.邮箱3为发送邮箱),ME3='1',ME2='I';设置邮箱3中断禁止·邮箱2中断允许,除禁止邮箱3中断MIM3外,其他中断均开放,:高级中断优先级邮箱初始化结束:置TRS3='1',邮箱3发送数据请求;检测TA3='1'(表示发送成功)BNOPB:保护现场B;优先级INT1中断入口;读取外设中断向量寄存器(PIVR).并左移一位;邮箱中断外设中断向量40H*2=80H;加上外设中断入口地址x跳到相应的中断服务子程序.:CAN接收中断程序;置用户接收标志;中断返回:恢复现场兴莫133-110l`Ol面当平青133-110lOldS0真翻亚各影专燥喜01嵬醋条留与黯区—(k)+W*Zk)图10-1蝶形运算符号一x(3)=1(3)+/Fz(3)—#5P1)W(z).—7)m(3)-<=(3)N2=4点DFTN=8N2-4点DFTx{2)-x3)—图10-2N=8基2DIT-FFT第1级蝶形运算符号图N=8N=8N74=2点DFTx(2)-t(4)-图10-3第2级偶数序列的蝶形运算符号图N=:8N-8x(3)-图10-4第2级奇数序列的蝶形运算符号图Y(k)=A(k)+WMz·B(k)Y(k+N/4)=A(k)+W#X^·B(k)(k=0,…,N/4-1)N/2~4点DFTN/2=4点DFT—A(2)—A(7)—A(5)xf6)图10-5N=8点DFT蝶形运算符号图原始数组下标3位二进制数新数组下标3位二进制数原数组下标000114222336441555663777A(0)=x(0)WN+x(4)WB(0)=x(2)WM+x(6)WM₄.B(1)=D(0)=x(3)WN+x(7)WM·D(1)=图10-6N=23=2M=8基2DIT-FFTM=3级蝶形运算符号图10.1.2基2DIT-FFT微机算法实现ww""M@WW第1级蝶形运算第2级蝶形运算第3级蝶形运算制肃序列N(I)N(5)输入州序图10-7N=8基2DIT-FFT归一化N点旋转因子M=3级蝶形运算符号图A()WWWwA(3)W第2级蝶形运算第3级蝶形运算原址计算存放存效频语序列##水7;A(0)A(2)A()40图10-8N=8基2DIT-FFT归一化N点旋转因子M=3级蝶形原址运算符号图p=j·2M-u+⁰=j·2*--·其中i=0,…,M-1:j=0…,2¹-1表10-2N=8点FFT输入数据正序与倒序关系表顺序存储地址数组标号地址原存储地址倒序存放地址数组标号地址N-2”点采样数据x*存入2N个存储单元的惧地址单元,金地址单元清0.初始化N-2”,A变量,按FFT要求将或h的属地址单元国序k-0(0--N-1,步距2g-2)取出动少和式1+g)实、虚部R1,A和R2,2fxr+g=/l-('1·2+SI·R?NoNoNoNo图10-9基2DIT-FFT运算程序流程图共#*¥号号:共*共关关*长的为**为为长关关长条关关关1JMBT__LDPKKK63H;循环计数器;复数的实部:6CH;复数的虚部6DH:实部与虚部的存放间隔70H;W因子虚部的起始单元71H;W因子虚部的暂存单元72H;暂存单元73H;W因子实部的暂存单元74H;暂存单元75H;控制每级单个蝶形单元计算的阶数900H;128个正弦波样值存放单元首址;W因子(128点用Q10定标)存放DATA300H单元03FFH.03FEH,03FBH,03F4H.03ECH,03B2H,039DH,0387H,036EH,0353H,02D4H.O2AFH,0289H,0261H,0238H.00187H.0158H.0129H,00F8H.00C7H.00000H.0FFCEH,OFF9CH,OFF6AH,0FF39H,OFF0FCO0H,OFCO2H,OFCO5H,OFCOCH,OFC14H.0FCI0FE79H,0FEA8H,0FED7H,OFF08H,0FF39H,OFFINTM:系统初始化:产生正弦波的频率为500Hz,采样颜率为10kHz(系数定标Q10)LACL#128;偏移量LARAR1,#200H:倒LARAR2.#127:128次循环初值LARAR3,#TABLE;TABLE=900HBANZREPR.AR3:位倒序LARAR1.#280H;虚部从280H开始;下面开始N=128=2^7,M=7,共0~7级蝶形运算:BBNZGLP:若7级运算全部结束转去求功率谱RPTB:求2*(B+1)的算法.可以用0001H左移(B+1)次:下面求旋转因子的指数P=J*2*(M-B)中的2^(M-B)LACCTTTB:取2^(B+1)C;右移一次,结果为2^BC:再右移一次,结果为2^(B-1)IB:计算T=M-BTT:采用0001H左移M-B+1M;计算M=2*(M-B+1)MC:右移一次,结果为2^(M-B)M0I2OJBL1T2BII0IJT*TT*TT*TT*MT#TT1」T号TT类TT克TJJB;求功率谱(80H);实部存放于200H开始的单元中;虚部存放于280H开始的单元中;求功率谱存放于380H开始的单元中++B;正弦波一个周期128个采样点迭代生成子程序DA:输出波形存放起始地址 布j=j-j/2¹=N/2-N/2²=N/2²输人N=2V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论