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

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

当前位置:首页 > 图纸专区 > 课件教案


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

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


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