电控设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发动机转速 发动机转速 油门信号 油门信号 图1控制系统.总体设计流程图
二、具体硬件的选取: 1.单片机选择80C51,控制器选用SJA1000,收发器用PCA82C251。三者 的连接图如下。CAN控制器SJA1000也用作80C51微控制器的时钟源,复 位信号由外部复位电路产。SJA1000的片选由80C51微控制器的P2.7口控 制。
值换算为转速实际值*/ sprintf(TLIHGT1,"s:%d r/min",r); LCD_P13((char*)TLIGHT1); //········/*显示转速*/ }
所在参数组: 61444(0x00f004) 参数在数据场的位置:第4-5字节 参数范围: 0到8031.875转/分钟 分辨率: 0.125转/分钟 刷新率: 20ms 29位标识符为: 0CF0040016 在程序设计时,采用模块化设计方法。主要包括:单片机的主程 序,A/D转换程序,CAN发送中断服务程序以及输出显示程序等。程序流 程如图4-1所示; 开始 开始 初始化 初始化 转换完成? 转换完成? A/D转换 A/D转换 计算发动机转速和油门踏板位置 计算发动机转速和油门踏板位置
P10=0;······························· /*定义CAN端口*/ P11=0;································/*定义CAN端口*/ P12=0;···························/*定义端口为输出模式*/ P13=0;···························/*定义端口为输出模式*/ P20=1;·····························/*定义端口为输入模式*/ P21=1;······························/*定义端口为输入模式*/ ADPC=0;····························/*0,模拟量输入功能*/ PM2=1;·····························/*1,模拟量输入功能*/ } void main(void) { DI();····················/*首先做准备,禁止中断*/ IMS=0XCC; IXS=0X00;·························/* 对于78F0547D存储器容量设定*/ hd_init(); EI();························· /*准备完成,允许中断*/ While(1) { }····························/*主程序无实际任务*/ } void interrupt INTP1 { m=0.004*C1R2; //·/*2位置(SAEJ1939)将结果寄存器中的值换算为油 门开度*/ sprintf(TLIGHT2,"p:%f",m); LCD_P12((char*)TLIGNT2); ········/*显示油门开度*/ } void interrupt INTP2 { r=256*C2R4+C2R5;/*4、5高、低转速(SAEJ1939)将结果寄存器的
图3.PCA82C250/251收发器与控制器SJA1000的接口连接 三、系统软件设计 根据SAEJ1939协议,可知 油门位置: 所在参数组: 61443(0x00f003) 参数在数据场的位置:第2字节 参数范围: 0%至100% 分辨率: 0.4% 刷新率: 50ms 29位标识符为: 0CF0030016 发动机转速:
图2.80c51单片机、SJA1000控制器和收发器PCA82C251 的连接图 2.硬件介绍:
Hale Waihona Puke Baidu
PCA82C250/251收发器与控制器SJA1000的连接如下图所示. 控制器 SJA1000串行数据输出线(TX)和串行数据输入线(RX)。分别通过光 电隔离电路连接到收发器PCA82C250。收发器PCA82C250通过有差动发 送和接收功能的两个总线终端CANH和CANL。连接到总线电缆。输入Rs 用于模式控制,参考电压输出VREF的输出电压是0.5x额定VCC,其中收 发器PCA82C250的额定电源电压是5V。
第一次电控作业 郜盼盼 2220130110 第一次作业:设计电控系统,具有CAN总线接口, 接受满足SAEJ1939协议的发动机电控单元送来的油 门和发动机转速信息。
一、设计思路:控制系统设计总体流程如下 ECU ECU
CAN控制器器器 CAN控制器器器
收发器 收发器
C AN 总线 C AN 总线
N CAN发送中断 CAN发送中断
Y
发送结束
发送结束
图4-1主程序流程图 A/D转换的模拟通道从AN10到AN17选择,转化完成后把结果存入寄 存器,并产生一个中断请求信号,并且输出信号至LCD显示模块。 程序代码如下: #pragma sfr······················/*特 殊功能寄存器说明*/ #pragma interrupt INTP1·········/*定义中断*/ #pragma interrupt INTP2·········/*定义中断*/ #pragma di·······················/*禁止中断声明*/ #pragma ei························/*允许中断声明*/ unsigned char C1R[9][9]={""};······/*定义输入存储转换值*/ unsigned char C2R[9][9]={""};·······/*定义输入存储转换值*/ unsigned char TLIGHT1[10]="SPEED s"; `········/*显示格式*/ unsieded char TLIGHT2[10]="POSITION p";·······/*显示格式*/ unsigned int s; float p; CAN1_ID=0xCF00300;························/*油门踏板数据帧的ID*/ CAN2_ID=0xCF00400;························ /*转速数据帧的ID*/ LCD_P12("SPEED s:"); LCD_P13("POSION p"); void hdint()·····························/*硬件初始化*/ {