中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

您当前所在位置: 汽车电子 > 查看内容

基于LIN总线的车用无刷直流电机控制器设计

文章作者头像
发布:清雅轩 作者: webmaster来源: job.cartech8.com
PostTime:26-5-2008 17:07

以下为文章全文:(本站微信公共账号:cartech8)


汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师

4 控制器的软件设计

由于单片机的内嵌硬件模块和PC33896功能较强,使单片机有足够的资源完成较为复杂的控制策略,从而使控制器的性能大大提高。

4.1 主程序结构

系统的程序采用前后台结构。前台是中断级,后台是任务级。任务级由一个死循环和一个LIN通信服务程序构成。死循环内包含一个有限状态机和一个10ms服务程序,有限状态机如图3所示。系统上电,完成初始化任务后进入死循环。一旦发生SCI接收中断,中断服务程序判断接收到的是否为同步间隔场。若为同步间隔场,程序在退出中断服务时并不返回到死循环中,而是进入LIN通信服务程序,进行报文帧的接收和处理。完成通信服务后,程序重新返回死循环。依据接收的报文帧,有限状态机切换到相应的状态。为保护电机,图中正转态和反转态之间的转换强制经历了中间的停止态过渡。当发生过流或者低电压等出错事件时,控制器进入出错态,它关断所有PWM输出,并记录错误代码。控制器接收到总线的睡眠帧后,进入睡眠态,总线的唤醒信号将重新激活控制器。在正转态或反转态时,死循环内的10ms服务程序每间隔10ms执行一次,完成电机转速计算、PI控制算法、电池电压读取等任务。

4.2 LIN通信报文帧的定制

LIN总线是一种主从机通信模式,报文帧的定制在LIN网络软件总体设计时进行。文中的无刷直流电机控制器是总线上的一个从节点,它响应的报文帧如表1所示。标志符“0x3C”是下载命令帧,用于主节点向所有从节点广播命令和数据,其中第一个数据字节为“00”的是睡眠帧。标志符“0x3D”是上传命令帧,它触发一个从节点(由一个优先的下载帧编址)向主机上传数据。标志符“0x20”是无刷电机控制帧,用于控制器接收主节点的控制信息,第一个数据字节为“01”要求电机正转,为“02”是反转,为“04”是停止,第三、第四两个数据字节是电机转速的给定值。标志符“0x21”是电机状态帧,用于控制器向主节点传输信息,第一、第二两个数据字节是电机的实际转速,第三、第四两个字节表示电池电压。

<< 前一页 下一页 >>

[文章纠错]

文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到

你的权益请联系542334618@126.com,我们会及时处理。

会员评价:

0 发表评论

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 8-9-2025 09:58 , Processed in 0.288613 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.