电机控制的DSP程序设计及CAN基础知识课件

上传人:仙*** 文档编号:241610583 上传时间:2024-07-09 格式:PPT 页数:65 大小:1.12MB
返回 下载 相关 举报
电机控制的DSP程序设计及CAN基础知识课件_第1页
第1页 / 共65页
电机控制的DSP程序设计及CAN基础知识课件_第2页
第2页 / 共65页
电机控制的DSP程序设计及CAN基础知识课件_第3页
第3页 / 共65页
点击查看更多>>
资源描述
电机控制的机控制的DSPDSP程序程序设计及及CANCAN基基础知知识 姓 名:叶振锋 时 间:2009年3月26日 公 司:上海电驱动有限公司1a主要内容概述概述 DSPDSP芯片芯片简介介电机控制系机控制系统结构构图电机控制系机控制系统程序需求分析程序需求分析电机控制系机控制系统动态结构构图电机控制系机控制系统程序流程程序流程图电机控制系机控制系统程序程序设计子程序模子程序模块设计说明明软件件设计与与调试注意事注意事项CANCAN基基础知知识2a概概 述述1.1.电机控制技机控制技术的的实现方案方案(1).传统模拟控制(2).微控制器(MCU)控制(3).数字信号处理器(DSP)控制3a概概 述述2.DSP2.DSP实现的的PMSMPMSM控制系控制系统结构构图4a概概 述述3.DSP3.DSP实现的的电机控制系机控制系统特点特点(1).DSP的高速计算能力,可以完成复杂的信号处理和控制算法,提高采 样频率,控制电力电子外围设备,在此基础上可实现电机的高性能控 制。(2).电机控制专用DSP丰富的外围功能模块,为电机控制带来了许多的便 利。如PWM模块,可产生高分辨率的PWM波形,灵活的产生方式可减小 EMI和噪音问题,多路PWM输出可以进行多电机控制。(3).丰富的第三方软硬件资源和开发工具可大大简化系统开发过程5a概概 述述4.DSP4.DSP技技术在在电机控制的机控制的应用情况用情况常用交流电机控制系统有如下几种:(1).异步电机(2).电励磁同步电机 隐极同步机;凸极同步机(3).永磁电机 永磁无刷直流电动机;永磁同步电动机(4).其他特种电机 开关磁阻电机;步进电机6a概概 述述5.5.主要相关技主要相关技术发展情况展情况(1).半导体功率器件 小型化、智能化、高频化、高效化。(2).数字信号处理器DSP 外围功能、数据处理能力、存储器容量等发展迅速,为电机控 制系统的高性能化、智能化提供了基础。(3).电机控制理论 电机控制策略、状态观测器、滤波器、自适应控制、无传感器控制、PWM 调制方法、死区补偿等技术的应用大大提高了电机控制系统的性能和可 靠性。7a概概 述述6.6.电机控制理机控制理论控制策略的控制策略的发展展 张博士的讲座中已做了非常详细的说明了。8a概概 述述7.7.先修先修课程程 模拟电路 数字电路 微机原理 单片机 自动控制原理 电力电子器件 电机拖动 9aDSP芯片简介1.TMS320LF2407A1.TMS320LF2407A的特征的特征CMOS技术,3.3V供电,最快指令周期25ns,最大主频40MHZ。和TMS320系列DSP代码兼容。片内程序存储器32K Flash、544字的双口RAM、2K字的单口RAM两个事件管理模块EVA、EVB可扩展的外部存储器:192K字看门狗定时器模块(WDT)10位 A/D转换器最小转换时间500ns控制器局域网络(CAN)2.0B模块。串行通信接口(SCI)16位串行外设接口模块(SPI)基于锁相环的时钟发生器40个 I/O口5个外部中断10aDSPDSP芯片芯片简介介2.DSP2.DSP的性能的性能DSP性能公式:CPU时间=CPI IC/时钟频率 三个参数反映了与体系结构相关的三种技术。(1).时钟频率反映了DSP实现技术、生产工艺和计算机组织。(2).CPI是指令时钟数,反映了DSP实现技术、计算机指令集的结构和计 算机组织。(3).IC是程序执行过程中所处理的指令数,反映了DSP指令集的结构和编 译术。从目前情况来看,提高某一个参数指标,不会明显地影响其它两个指标。这对于综合运用各种技术改进计算机系统的性能是非常有益的。11a电机控制系机控制系统结构框构框图本电机控制系统采用单DSP系统的架构,结构框图如下图所示。12a控制系控制系统程序需求分析程序需求分析1.1.控制控制对象及象及输入入输出量出量1.1.1.1.控制控制对象象永磁电机1.2.1.2.输入量入量直流母线电流、直流母线电压、A相电流、C相电流、电机温度、逆变器温度、电机转子位置信号1.3.1.3.输出量出量六路PWM信号、故障信号2.2.资源需求源需求I/O口、AD采样端口、芯片存储器容量等等13a电机控制系机控制系统程序需求分析程序需求分析3.3.时钟频率率晶振、系统时钟、外围时钟、PWM频率等 4.ADAD采采样精度分析精度分析 结合硬件进行分析5.5.通信通信说明明通信方式、通信目的。还包含波特率、数据格式等其它说明 14a电机控制系机控制系统结构构图15a电机控制系机控制系统程序流程程序流程图1.1.主程序主程序 流程流程图16a电机控制系机控制系统程序流程程序流程图2.AD2.AD中断程中断程 序流程序流程图17a电机控制系统程序设计1.1.程序程序设计开始的一些开始的一些约定定1.1.1.1.电动车电机控制系机控制系统程序文件程序文件组成成 头文件、CMD文件、表文件、ASM程序文件等等 1.2.1.2.程序名及程序名及变量名命名量名命名 程序名及变量名命名采用通俗易懂的英文组合进行命名。(1).常量命名 常量命名最后加Cnst,例如:UdcMaxCnst 过压常量值 SpeedOverCnst超速常量值(2).标志量命名 标志量命名最后加Fby,例如:PowerOffFby断电标志 FaultFby 故障标志18a电机控制系统程序设计(3).变量命名 命名最后加Dby,例如:SpeedSetDby转速给定变量 MotorRunStatusDby 电机运行状态变量(4).函数命名 函数命名最后加Sub,例如:SpeedComputeSub速度计算程序命名 ADCIntSub 中断程序命名 DSPInitSub 芯片初始化命名1.3.1.3.程序注程序注释 电机控制系统程序名称、公司名称、书写时间、作者、版本号、原 代码关键注释。如果程序要更改必须要写明更改原因、时间、作者 等。19a电机控制系统程序设计 本电机控制系统软件采用模块化、自顶向下、逐步细化的结构化程序设计方法。2.2.系系统初始化程序初始化程序设计(1).系统时钟设置、系统外设时钟设置、配置RAM块、设置数据页指针、AD中断模式、IO模式、等待状态设置、PWM模块设置、CAN模块设 置、定时器模块设置程序。(2).系统程序变量初始化程序。(3).AD采样偏移量读取及处理程序。(4).系统程序延时程序。(5).获取电机转子的初始位置程序。20a电机控制系统程序设计3.CAN3.CAN通信程序通信程序设计3.1.CAN3.1.CAN通信通信协议确确认 (1).标准帧、扩展帧确认。(2).通信周期确认。(3).通信波特率确认。(4).数据格式确认,英特格式还是摩托罗拉数据格式。21a电机控制系统程序设计3.2.CAN3.2.CAN初始化程序初始化程序设计工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器和接收代码寄存器的设置、波特率参数的设置和中断允许寄存器的设置等。22a电机控制系统程序设计3.3.CAN3.3.CAN通信通信发送程序送程序设计在发送部分软件设计中,如果根据状态寄存器的发送状态标志来判断是否可以发送数据,那么当CAN总线出现断路,然后又正常,这时即便进行软件初始化,数据也无法正常发送,原因是该状态标志位无法通过软件进行初始化来进行复位,因此在软件设计时可以不考虑该状态标志位。23a电机控制系统程序设计3.4.CAN3.4.CAN通信接收程序通信接收程序设计CAN通讯接收部分软件设计主要有两种方式,一种是通过查询方式来接收数据,另外一种是通过中断方式来接收数据,后一种方法对于实时性要求比较高的场合应用较多。24a电机控制系统程序设计3.5.CAN3.5.CAN程序程序设计的的难点点 (1).根据CAN外设时钟、通信波特率计算BTR0、BTR1寄存器值。(2).当CAN通信故障时如何来恢复通信。(3).多数据帧时如何完成程序设计(4个发送数据帧,8个接收数据 帧)。(4).CAN网络时钟同步。25a电机控制系统程序设计4.AD4.AD中断程序中断程序设计主要完成系统的功能程序。(1).AD采样数据读取及处理子程序(2).系统计时子程序(3).旋变信号读取子程序(4).模块故障检测子程序(5).电机转速计算子程序(6).Clark变换子程序(7).正弦余弦值计算子程序(8).Park变换子程序26a电机控制系统程序设计(9).系统故障保护子程序(10).交、直轴电流计算子程序(11).交、直轴电流调节子程序(12).系统信号反馈子程序(13).Park逆变换子程序(14).SVPWM子程序27a子程序模子程序模块设计说明明1.1.系系统信号反信号反馈子程序子程序 程序名称:SIGNAL_FEEDBK功 能:根据检测电机参数计算电机实际转矩输入变量:IQ;ID;Ld;Lq输出变量:MCTQIS计算公式:28a子程序模子程序模块设计说明明2.2.速度速度计算程序算程序 程序名称:SpeedComputeSub 功 能:电机实际转速计算 输入变量:ResolverNewDby 输出变量:SpeedDby,SpeedOverFby 说 明:(1).电机对极数 (2).采用M或T法计算电机转速说明 (3).计算公式,包括参数值说明 (4).电机达到多高转速时进行超速保护29a软件件设计与与调试注意事注意事项1.1.流水流水线冲突冲突 TMS320LF2407A是采用4级流水线操作,为取指、译码、取操作数及执 行。发生流水线冲突时,可以通过调整程序语句或在相应位置加一些 NOP指令来解决。2.2.设置等待状置等待状态寄存器寄存器 DSP的读操作从地址稳定到数据有效仅需几十个ns时间。当DSP与低速 外设在速度上冲突时,要设计好等待状态寄存器。3.3.保留区域保留区域 程序设计时不能向保留地址写数据,否则将造成处理器的不可预测操 作。30a软件件设计与与调试注意事注意事项4.4.中断中断资源源 中断程序结束前要将中断标志清零,否则无法正常相应中断。若某一中 断客观存在,而程序中无相应的中断程序,则会导致程序紊乱。5.AD5.AD采采样 AD采样的转换时间需要读DSP的数据手册确认。TMS320F240芯片的转换 时间约6us,TMS320LF2407A芯片的转换时间约500ns。6.6.程序程序调试步步骤 (1).先调试CAN通信程序 (2).数据接收正常后,调试算法部分。(3).计算结果正常后,调试输出部分。31a软件件设计与与调试注意事注意事项7.7.程序程序语法法错误7.1.程序设计中的错误(1).语法错误(2).运行错误(3).逻辑错误7.2.语法错误的分类(1).致命错误(2).错误(3).警告8.8.养成良好的养成良好的编程程习惯 (1).文件的注释(2).语句行与语句块(3).程序代码缩进对齐32aCANCAN通信的通信的一个一个实例例1.CAN1.CAN总线网网络示意示意图33aCANCAN通信的通信的一个一个实例例2.CAN2.CAN总线汽汽车空空调节点原理点原理图34aCANCAN通信的通信的一个一个实例例3.CAN3.CAN总线的相关器件的相关器件CANCAN总线控制器控制器 SJA1000SJA1000CANCAN总线驱动器器 82C25082C250、TJA1050TJA1050CANCAN总线控制器集成在控制器集成在DSPDSP芯片芯片 TMS320LF2407ATMS320LF2407ADB9DB9接接头 pin7pin7接接CAN_HCAN_H、pin2pin2接接CAN_LCAN_L、pin5pin5接屏蔽接屏蔽线高速光耦高速光耦 35aCANCAN总线基本概念基本概念CAN(Controller Area Network)是一个先进的串行总线系统。1.CAN1.CAN总线电平平隐性位(1:recessive)是被描述为两根CAN总线均由大约2.5V的电平驱动,这样在CAN_H与CAN_L之间的差分电压为0V左右。显性位(0:dominant)是被描述为CAN_H上升到大约3.5V,CAN_L降低到大约1.5V。对于一个显性位差分电压的结果为2V左右。36aCANCAN总线基本概念基本概念2.CAN2.CAN总线线与与37aCANCAN总线基本概念基本概念3.CAN3.CAN总线接口接口标准准 高速CAN(CAN High Speed)遵循标准ISO-IS 11898,用于位速率为125kbp到1Mbps之间的高速总线。低速CAN(CAN Low Speed)遵循标准ISO-IS 11519-2,用于位速率在125kbps以下的低速总线。38aCANCAN总线基本概念基本概念4.4.协议版本版本 (标准准/扩展展)V2.0A(标准)11位消息IDV2.0B(扩展)29位消息ID39aCANCAN总线基本概念基本概念5.CAN5.CAN总线与与EMIEMICAN对于电磁干扰(EMI)不敏感。为了进一步减少CAN对于EMI的敏感性,总线外面使用屏蔽层。这样可以减小总线自身的电磁辐射。40aCANCAN总线技技术特点特点CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,不分主从,通信灵活。CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点优先传送数据,可满足实时性要求。CAN总线具有点对点、一点对多点及全局广播传送数据的功能。CAN总线采用短帧结构,每帧有效字节数最多为8个,数据传输时间短,并有CRC及其他校验措施,数据出错率极低。CAN总线上某一节点出现严重错误时,可自动脱离总线,而总线上的其他操作不受影响。CAN总线系统扩充时,可直接将新节点挂在总线上,因而走线少,系统扩充容易,改型灵活。CAN总线最大传输速率可达1Mb/s(此时通信距离最长为40m),直接通信距离最远可达10km(速率5kbps以下)。CAN总线上的节点数主要取决于总线驱动电路。在标准帧(11位报文标识符)可达110个,而在扩展帧(29位报文标识符)其个数几乎不受限制。41a总线访问仲裁仲裁42a帧格式格式1.1.数据数据帧 控制域:CAN2.0A中包括数据长度代码、IDE位(为显性)和保留为r0。CAN2.0B包括数据长度代码和两个保留位r1和r0。其保留位必须发送为显性。数据域:为08个字节,每字节包含8个位。CRC域:CRC序列,后跟CRC界定符。应答域:ACK域为2个位,分别是应答间隙(ACK Slot)和应答界定符(ACK Delimiter)。所有接收到匹配CRC序列的站会在ACK间隙期间用1显性位写在发送器的隐性位置上来作出回应;ACK界定符是应答域的第2个位,必须是一个隐形位。帧结束(EOF):每个数据帧和远程帧都由一标志序列界定,这个标志序列由7个隐性位组成。帧起始:帧起始标志数据帧和远程帧的起始,它仅由一个显性位组成。仲裁域:在CAN2.0A中,11标识符和RTR(Remote Transmission Request)位构成;在CAN2.0B中,29位标识符和替代远程请求SRR(Substitute Remote Request)位、标识符扩展位IDE(Identifier Extension)和RTR组成。43a帧格式格式2.2.远程程帧远程帧的RTR位与数据帧相反,为“隐性”。它没有数据域,数据长度代码的数值没有意义(可以为08范围里的任何数值)。3.3.错误帧错误帧(Error Frame)由两个不同域构成,第一个域由来自不同节点的错误标志叠加给出,第二个域为错误界定符。4 4.超超载帧过载帧包括两个位域:过载标志和过载界定符。44a帧格式格式5.5.帧间空空间 帧间空间包括“间歇”、“总线空闲”的位域。如果是发送前一报文的“错误认可”节点,则还包括“挂起传送”的位域。45a错误检测1.1.循循环冗余冗余码校校验(CRCCRC)计算出的校验值与接收到的校验值必须一致,否则,消息帧没有被正确接收(CRCError)。46a错误检测47a错误检测2 2.应答答一个帧必须被一个或几个节点应答,否则会出现应答错误。3.3.帧检测在CRC分隔符、ACK分隔符、帧结束、帧间隔中不允许出现显性位。否则出现格式错误(Form Error)。4.4.位位监测所发送的位必须从总线上正确回读。在仲裁域和应答间隙,隐性位可以被显性位重写。5.5.位填充位填充检查在帧起始位与CRC分隔符之间不允许存在6个连续的相同极性的位出现。48a错误处理理所检测到的错误是通过错误帧来对所有节点公开的。错误消息的传输会被终止,并尽可能重新发送。49a消息消息编码、位填充、位填充1.1.消息消息编码格式格式NRZ-Code2.2.位填充位填充位填充是为了保证有足够的隐性到显性的跳变沿。填充位出现在5个连续的相同极性的位之后,填充位与其前面的位极性相反。50a同步同步硬同步发生在帧的起始位。重新同步发生在每一个隐性到显性的跳变沿。51a位构建每个位时间分为4个时间段,包括825个时间份额(Time Quantum)。时间份额来源于对晶振频率可编程的分频。CAN波特率可通过编程设置合适的时间份额长度与数量来确定。52a同步同步段段53a传播段播段用于补偿信号传播延时。54a相位相位缓冲段冲段1 1允许通过重新同步对该段时间加长。在这个时间段的末端进行总线状态的采样。长度可编程(18个时间份额)。55a相位相位缓冲段冲段2 2允许通过重新同步对该段时间缩短。长度可编程。56a位延位延长主要是为了调整采样点,以及位的结束时间。57a位延位延长58a位位缩短、同步跳短、同步跳转宽度度位位缩短短原理同位延长。同步跳同步跳转宽度度在重新同步中,位长度可调整的时间份额数量定义为同步跳转宽度。重新同步跳转宽度可以在1到4个时间份额间进行设定,但是它不可以比相位缓冲段2还长。59aCANCAN总线优势信息共享减少线束关联控制60aCANCAN总线方案方案-方案一方案一61aCANCAN总线方案方案-方案二方案二62aCANCAN总线方案方案-方案三方案三63aCANCAN总线技技术在汽在汽车中中应用的关用的关键技技术1.总线传输信息的速率、容量、优先等级、节点容量等技术问题2.高电磁干扰环境下的可靠数据传输3.确定最大传输时的延时大小4.网络的容错技术5.网络的监控和故障诊断功能6.实时控制网络的时间特性7.安装与维护中的布线8.网络节点的增加与软硬件更新(可扩展性)64a谢谢大家!大家!65a
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!