您的位置:控制工程论坛网论坛 » 现场总线 » 基于 CAN总线结构的并联液压混合动力车控制系统

chenwh78

chenwh78   |   当前状态:在线

总积分:6174  2024年可用积分:0

注册时间: 2008-10-10

最后登录时间: 2019-06-16

空间 发短消息加为好友

基于 CAN总线结构的并联液压混合动力车控制系统

chenwh78  发表于 2009/5/15 10:58:04      2062 查看 9 回复  [上一主题]  [下一主题]

手机阅读

摘 要:本文介绍了一种应用于并联液压混合动力车的控制系统。该控制系统采用基于CAN总线的分布式控制系统体系结构,确定了网络协议,并设计了控制系统的硬件平台和控制软件,最后对系统软硬件可靠性进行了设计。该控制系统可实现并联液压混合动力车的复杂控制,并具有良好的可扩展性,具有较好的应用前景。

关键字:并联液压混合动力车 分布式控制系统 CAN总线
Abstract: A CAN BUS based control system is introduced in this paper, which is designed for PHHV (Parallel Hydraulic Hybrid Vehicle). The control system adopts the distributed frame, which is more Flexible than the concentrated one. The hardware and software are designed, and especially the reliability design is introduced. The control system can meet the requirement of complicated control process of PHHV, and has well expansibility, so that will be a good application.
Key Words: PHHV , distributed control system, CAN BUS
1 引言
  目前,我国城市公共交通主要依赖公交车,站间距离一般在500~1000米。公交车在每站间有数次刹车和启动,在交通流量的高峰期,刹车和启动更加频繁,带来能源浪费、尾气污染加剧、部件寿命缩短等一系列问题。
  本课题研究的控制系统,可使并联液压混合动力车充分利用制动能量,在频繁刹车和启动的路况,可以明显提高车辆启动、加速和减速特性,改善车辆排放,降低油耗,延长发动机及刹车装置的寿命。而且与混合动力电动车相比,该系统在成本,技术成熟度,可靠性,维护性等方面均占有相当的优势。
  并联式液压混合动力车的动力传动系中有两种或两种以上的动力源可同时或单独提供动力,有两个或两个以上相应的执行元件可同时驱动负载,该动力传动系主要由发动机、变速箱、主减速器、液压蓄能器和液压泵/马达组成。并联形式保留传统车的动力传动链,只是在原传动链上增加了由液压泵/马达和液压蓄能器组成的能量再生系统,从而形成双动力驱动。
  目前,并联液压混合动力车技术已经比较成熟,如图1所示。
  车辆在启动和加速时,液压驱动系统提供辅助动力,释放蓄能器中储存的能量;车辆减速和制动时,液压驱动系统提供辅助制动力,并向蓄能器中储存能量。

 


图1 并联液压混合动力车结构原理图
2 控制系统网络结构
  CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,优越性是显而易见的,同时,CAN总线也被认为是混合动力车最佳通讯结构,本文采用CAN总线网络来搭建控制系统。
  图如下图2所示,控制系统采用分布式控制,共有5个节点控制器,主要分布在车上控制量和采集量密集的地方,包括主控制模块、液压系统测控模块、液压充液控制模块、车辆信息采集模块以及发动机控制模块。

 


图2 控制系统网络结构
  主控制模块控制器采用配备了智能PC104 CAN控制卡的PC104计算机,其他模块控制器采用以P80C592单片机为核心构成。P80C592芯片本身集成有CAN控制器,A/D转换器,看门狗,使用该芯片使各控制节点小型化成为可能,在它的基础上扩展了外围模拟量和数字量的输入和输出,便于过程控制。
1楼 0 0 回复
  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/4 13:06:24

    3.1 CAN总线节点地址分配
      对于以上述P80C592和PC104结构CAN通讯卡为硬件基础的CAN总线网络形式,节点之间通讯报文所用到的信息帧有两种:数据帧和远程帧。数据帧和远程帧的帧起始位之后都包括有标识符和远程发送请求位(RTR)组成的仲裁场。标识符的长度为11(ID.10~ID.0)位,包含信息帧目标地址特征。RTR位在数据帧中必须是“显性”电平,用以标记帧类型。
      节点报文接收器的接收滤波器由两部分组成:接收码寄存器(ACR)和接收屏蔽寄存器(AMR)。此两个寄存器均为8位:验收码位(AC.7~AC.0),验收屏蔽位(AM.7~AM.0)。当信息帧的报文标识符最高8位(ID.10~ID.3)满足下列等式:
      〔(ID.10~ID.3)=(AC.7~AC.0)〕或(AM.7~AM.0)=11111111B
      则该信息帧将被报文接收器接收。
      对于本系统的5个网络节点,定义各节点的验收码和验收屏蔽码如下:
      1#:ACR=81H,AMR=BEH;
      2#:ACR=82H,AMR=BDH;
      3#:ACR=84H,AMR=BBH;
      4#:ACR=88H,AMR=B7H;
      主机:ACR=A0H,AMR=9FH;
      根据上述节点地址分配,各节点均可实现对其它任意节点组合的信息发送。如主机对1#、2#、3#节点同时发送信息,则主机发送信息帧的标识符高8位可写为:87H或07H。
      可见对报文接收器而言,ID.10=0或1没有区别。但根据CAN总线协议,显性位“0”将比隐性位“1”具有更高的总线优先权。定义ID.10=0的信息帧为“快速帧”,ID.10=1的信息帧为“普通帧”。
      因此,上述地址分配方法具有以下优点:
      (1)容易实现单点对其他点任意组合的信息发送;
      (2)各节点具有不同的优先级,从1#到5#到主机优先级依次降低,保证发往关键节点的信号不被阻塞;
      (3)每个节点都有两种地址编码,且优先级不同,保证关键指令首先被接收。
      3.2通讯方式及信息帧分类
      由于分布式控制通讯量较大,对信息进行分类和规定相应的协议将有利于软件的标准化,提高编程效率和程序的可靠性。首先,依据CAN总线协议标准,定义以C语言描述的CAN信息帧格式:
      struct CAN_MSG
      {
      unsigned char CAN_FLAG;
      unsigned char CAN_DLC;
      unsigned char CAN_DATA[8];
      };
      其中CAN_FLAG是信息目标标识符,CAN_DLC含远程帧信号位、帧定义描述和数据帧长度信息,CAN_DATA为8字节数据。
      依据信息的流向、总线优先级和作用的不同,将通讯信息分为5类,其具体定义如下(按优先级从低到高排列):
      (1)远程帧:由主机以一定节拍发往各控制器,击活相应控制器的状态帧发送。目的是使主机能在规定的时间内获得电动车的状态信息,同时减少因各控制器自动发送状态帧而引起总线阻塞。
      格式:CAN_FLAG采用“普通帧”点对点编码;CAN_DLC=0xF0;CAN_DATA为空。
      (2)状态帧:由控制器发往主机或其他控制器。状态帧返回当前命令执行状态和采集量信息,作为上层控制器执行下一步规划的标志。
      格式:CAN_FLAG采用“普通帧”点对点、点对多编码;CAN_DLC=0xE8;CAN_DATA[0]为状态或信息数据标识,确定后续数据的含义;CAN_DATA[1]~ CAN_DATA[7]为数据。
      (3)间接命令帧:由主机发往控制器,或由某运行复合动作元的控制器发往其他控制器。间接命令帧含有复合动作元或动作元指令,接收方必须对命令进行分解才能产生驱动外设动作的控制元指令。
      格式:CAN_FLAG采用“普通帧”点对点、点对多编码;CAN_DLC=0x60+DLC,DLC等于有效数据的字节数;CAN_DATA[0]为状态或信息数据标识,确定后续数据的含义;CAN_DATA含有具体指令信息。
      (4)直接命令帧:发送方向同间接命令帧。但该命令帧所含命令将被接收方直接执行,驱动控制元动作,因此,应具有比间接命令帧更高的优先级。
      格式:CAN_FLAG采用“快速帧”点对点、点对多编码;CAN_DLC=0x20+DLC,DLC等于有效数据的字节数;CAN_DATA含有具体指令信息。
      (5)紧急命令帧:从检测到紧急状态的控制发往其他相关控制器。此命令具有最高优先级,用以在检测到紧急状态时,快速执行相应动作、避免事故发生。该命令将被接收方直接运行。
      格式:CAN_FLAG采用“快速帧”点对点、点对多编码;CAN_DLC=0x00+DLC,DLC等于有效数据的字节数;CAN_DATA含有具体指令信息。
    2楼 回复本楼

    引用 chenwh78 2009/5/4 13:06:24 发表于2楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/4 13:07:16

    3.3 软件设计
      CAN总线为分布式控制提供了良好的硬件基础,使各节点的通讯不再是制约分布式控制实现的主要因素。整个系统从本质上说已经不存在主、从节点之分,整个系统的控制的控制已经从传统网络中主节点的单一控制(这种体系结构要求上位机具有大容量的程序存储器和高运算速度,必然造成上位机的大型化),转化为各节点的协调控制,整加了系统控制的灵活性,也同时降低了对主节点的要求。

     


    图3 控制器1#,3#输入输出参数
      如上图3所示,车辆信息采集模块采集车速、发动机转速、档位信号(前进、空档、倒车)、油门踏板及刹车踏板的状态及幅度。液压系统测控模块采集蓄能器的压力,控制离合器的吸合与断开,通过油路控制(4个开关量)实现油路分配控制,最后通过液压泵/马达控制实现液压系统回收/释放功能及强度。
      各节点控制器均能独立完成部分命令分解和调用底层指令的功能。这样,对于某一动作元而言,节点控制器将充当“命令主机”。下面以“液压系统运行调节”这一复合动作元执行时,1#,3#控制器流程图(如图4,图5所示)为例,说明各控制器在分布式控制系统中的作用。可以看出,在该指令执行过程中,3#控制器充当了1#控制器的“命令主机”。

     


    图4 1#控制器流程
      采用分布式控制方式,可以将主机从繁琐的逻辑控制过程中解放出来,对于主机的小型化、产品化有重要作用。

     


    图5 3#控制器软件流程
    3楼 回复本楼

    引用 chenwh78 2009/5/4 13:07:16 发表于3楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/4 13:07:52

    4 系统的可靠性设计
      硬件可靠性方面的工作很多,主要有以下两点:
      (1)双时限看门狗:系统的每个节点控制器均采用了双时限看门狗电路。双时限看门狗有两个定时器:一个为短定时器(用单片机P80C592内带的),一个为长定时器(外部看门狗定时器MAX705)。短定时器定时为T1,长定时器定时为T2,0
      这样,当程序进入某个死循环,如果这个死循环包含短定时器FeedDog语句而不包含长定时器FeedDog语句,那么长定时器终将溢出,使单片机复位。巧妙安排长定时器FeedDog语句的位置,可保证出现死机的概率极低。
      (2)CAN总线系统的抗干扰性:为了增强CAN 总线节点的抗干扰能力,P80C592的CTX0和CRX0并不直接与82C250 的TXD和RXD相连,而设计为是通过高速光耦6N137后与82C250相连这样就很好的实现了总线上各CAN 节点间的电气隔离。应该特别说明的一点是,光耦部分电路所采用的两个电源是完全隔离的,否则采用光耦也就失去了意义。电源的完全隔离采用的是两个小功率DC/DC电源隔离模块。实现这些部分虽然增加了节点的复杂和成本,但是却提高了节点的稳定性和安全性。
      82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。82C250的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,电阻可起到一定的限流作用保护82C250免受过流的冲击。CANH和CANL与地之间并联了两个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。
      另外,每个节点控制器还配置了电源指示灯,总线数据收发指示灯,可在一定程度上让用户了解控制器的状况。
      软件可靠性设计中,在各节点控制器程序中,每处需要等待的程序分支都设置了定时器。当规定时间内运行条件仍不能满足,控制器将取消当前任务,并向主机报警
    5 结论
      本文的创新点在于设计了采用CAN总线网络结构的液压混合动力车控制系统,构建了基于CAN总线的分布式电动车控制系统硬件平台,确定了系统的网络协议,并根据所提出的分布式结构设计了控制软件,最后对系统软硬件可靠性进行了设计。
      根据本文所设计的串联式混合动力电动车控制系统已经在试验台上进行了试运行,并完成了各种功能测试。经试验证明,该控制系统性能稳定,工作可靠,对紧急指令的响应速度快,并能对历史数据进行保存,能够很好的满足液压混合动力车的运行需求。
    参考文献
      1 邬宽明,CAN 总线原理和应用系统设计.北京:北京航空航天大学出版社,1996
      2 王巍、崔维娜、宗光华,基于CAN总线的壁面移动机器人分布式控制系统软件设计研究.计算机测量与控制,2002.1 P65.
      3.张维刚、漆志佳,基于CAN总线的串联式混合动力电动车控制系统. 自动化技术与应用,2003 Vol.22 No.5
      4. 王轶、张凡,CAN总线技术在智能汽车系统中的应用. 微计算机信息,2005 No.7
    4楼 回复本楼

    引用 chenwh78 2009/5/4 13:07:52 发表于4楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/4 13:08:53

    1 汽车电子与CAN总线
    随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,连接导线显著增加,因而提高控制单元间通讯可靠性和降低导线成本已成为迫切需要解决的问题。为此以研发和生产汽车电子产品著称的德国BOSCH公司开发了CAN总线协议,并使其成为国际标准(ISO11898)。1989年,Intel公司率先开发出CAN总线协议控制器芯片,到目前为止,世界上已经拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微处理器芯片。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。我国的汽车CAN总线技术起步较晚,但随着现代汽车电子的不断进步发展,其研究和应用正如火如荼的进行中。CAN总线是一种串行多主站控制器局域网总线,是一种有效支持分布式控制或实时控制的串性通讯网络。CAN总线的通信介质可以是双绞线,同轴电缆或光导纤维,通信速率可达1Mbps/40m,通信距离可达10km/40Kbps。由于其通信速率高,可靠性好以及价格低廉等特点,使其特别适合中小规模的工业过程监控设备的互连和交通运载工具电气系统中。CAN总线有如下基本特点:
    ◎废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;
    ◎采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;
    ◎采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;
    ◎每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;
    ◎节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响;
    ◎可以点对点,一对多及广播集中方式传送和接受数据。
    现代汽车典型的控制单元有电控燃油喷射系统,电控传动系统,防抱死制动系统(ABS),防滑控制系统(ASR),废气再循环系统,巡航系统和空调系统,车身电子控制系统(包括照明指示和车窗,刮雨器等)。完善的汽车CAN总线网络系统架构如图1所示。
    2 CAN节点硬件构架
    核心芯片:
    选用PHILIPS公司的高性能8位微处理器P89C668。
    其突出特点如下:
    ◎80C51中央处理单元;
    ◎内置可ISP(在系统编程)和IAP(在应用编程)的Flash存储器,BootROM可通过串口访问从而升级下载用户程序;
    ◎每个机器周期6个时钟周期操作标准,每个机器周期12个时钟周期操作可选,周期12个时钟周期下速度高达33MHz;
    ◎8K字节RAM和64K字节FLASH;
    ◎4个中断优先级,8个中断源;
    ◎自带串行接口序列;
    ◎5路可编程的计数器阵列PCA(PWM输出,捕捉/比较,高速输出三种工作方式)。
    无论从处理能力,存储容量,还是外围资源以及网络可扩展性方面来评价,P89C668都是一款出色的微处理器,适用工控电子等各个领域。尤其是其8K字节RAM的海量内存,更是许多高速存储应用场合的首选。
    CAN接口电路:
    采用技术成熟应用广泛的SJA1000(CAN控制器),6N137(光电隔离),P82C250(CAN收发器)组成接口电路。需要指出的是,CAN总线(CANH,CANL)两端务必跨接120欧的终端电阻。SJA1000中断引脚接CPU的外中断0引脚。
    在应用/系统编程电路:
    IAP/ISP技术在许多款高性能单片机得到应用,其突出特点是方便快捷的实现程序的下载和更新。P89C668的FLASH空间0XFC00~0XFFFF烧写入1K字节的BootRom程序,上电后可以通过软件和硬件置位方法进入BootRom程序,通过PHILIPS提供的编程软件由串行口通讯就可以实现程序的在线升级(ISP)。当然用户还可以根据需要依据协议,自己编写BootRom程序(IAP)。通过拨码开关硬件置位(ALE,,,P2.6,P2.7),上电后强制进入BootRom程序,烧写程序完毕后拨回原来状态重新上电后就进入用户程序。串行口电平转换芯片用MAX202替代MAX232,其匹配电容只需103瓷片电容。串行数据通讯波特率可达38400bps。
    晶振和复位电路:
    外接一块工业级的12M振荡芯片作为时钟信号。复位电路采用X25045芯片进行智能控制。X25045芯片将看门狗定时器,电源监控电路和E2PROM功能合三为一。看门狗定时器功能在系统出错期间,经过一个可设置的时间间隔就置位RESET信号。电源监控电路能检测到欠电压状况,在VCC下降到限阀值以下,系统被复位。并且RESET信号在VCC恢复且稳定之前一直有效。存储器功能的X25405是CMOS的4096字的E2PROM.并且支持SPI协议的三线(SO,SI,SCLK)存取。本节点用到X25405的前两个功能构成可靠的复位电路。
    开关/数字量,模拟量检测电路:
    汽车节点的开关器件(信号灯,雨刮,面板,车窗玻璃,电动后视镜等等的开关)特别复杂和繁多,而电流检测,水温油位传感器信号都是非线性的模拟信号,所以可靠实时地对这些开关/模拟量进行检测成为汽车电子硬件必须解决的问题。
    传统的分立元件保持电路存在可靠性差,尤其是开关触点氧化严重,浪费大量的微处理器I/O口等问题,推荐采用MOTOROLA公司的多路开关检测芯片MC33993。其突出优点如下:◎3.3/5.0V的SPI序列读写(SO,SI,SCLK);
    ◎8路可编程开关输入检测(接地或接电源),14路接地开关输入检测,每路开关状态改变均能够产生中断;
    ◎开关输入电压从-14V~Vpwr(工作电源),Vpwr最大可达40V;
    ◎开关状态改变时的可选择唤醒;
    ◎可选择的湿性电流(16mA或2mA);
    ◎22对1的模拟量输出;
    ◎Vpwr的低功耗电流(standbycurrent)小于100uA,VDD的低功耗电流(standbycurrent)小于10uA。
    可见只需要四个CPU口线(SPI序列线和片选),就能够完成22路开关量(其中有8路可编程为对接电源开关)的检测,还可以进行串行和并行的多片MC33993级连。所谓的湿性电流(wettingcurrent),指的是MC33993内部提供的输入口的上拉和下拉恒流源,可以编程选择为16mA或2mA,这对于保证开关的可靠闭合,去除金属触点的氧化物有着良好的作用。输入口的恒流源,可以直接驱动MOSFET以及LED。每一个输入口都可以编程为模拟量输出状态,从而在AMUX引脚输出所选输入口的电压。利用MC33993恒流源和模拟量输出可以组成线性的传感器检测电路。ADC芯片选用AD公司生产的并行数据采样集成芯片AD1674。它从引脚到功能都与AD574/674完全兼容,但内部增加了采样/保持电路,采样频率为100kHZ,并且有全控模式和单一工作模式。其采样精度可达0.05%,符合高速数据采集的要求。
    功率器件驱动电路:
    汽车车身控制系统需要驱动大功率的用电器件,比如照明信号灯,前后雨刮器电机,电动车窗,电动后视镜等等。功率驱动器件考虑采用MOTOROLA公司的汽车专用功率器件。MC33286为汽车电气专用智能的双路控制驱动芯片,与传统的机械继电器相比,自身提供过流和过热保护,响应时间更短,稳定性更高。MC33286设有两路驱动通道,每路最大工作电流可达15A,通过两路输入端口将CPU引脚电平信号引入,经过内部的逻辑处理模块转换成输出通道的电平变化。特别适合信号灯以及阻性负载的驱动。MC33887是带反馈的H桥型驱动芯片,专用来驱动需要正反转的电机负载。MC33486与MC33887类似,但内部只有半桥须外加CMOS管以构成全桥驱动电路,稳定输出可达10A,尤其适用于电动车窗电机之类的大功率并伴有冲击电流的正反相控制要求。
    3 软件结构
    系统的程序结构分为四个部分:CAN通讯程序(包括应用层协议的SJA1000通讯),外围接口程序(所有检测芯片和驱动芯片的驱动),中断服务程序(处理开关信号以及故障报警等消息),主程序(完成系统初始化和任务调度,喂狗等)。限于篇幅,以下着重介绍CAN应用层协议。
    本系统CAN通讯选用CAN2.0B协议的PeliCAN模式,通信位速率为500Kbps,采用双验收滤波器机制。为使用及修改方便,通讯协议中标识码设计兼容点对点、一对多及广播通讯模式。开关量消息通讯时各节点间采用主从结构,子节点的报文只有主节点接收(点对点模式),主节点的报文所有子节点均接收(广播模式)。模拟量消息通讯时各节点间采用点对点模式。标识符定义:(如图3所示)
    ◎类名:00000100--应答类消息(自检应答、故障诊断);00001000--命令类消息;00010000--调试类消息;00100000--下载类消息;01000000--工作类消息。
    ◎保留A:验收滤波器配置预留。
    应答类消息中:ID19:1--自检应答消息0--故障诊断出错消息
    ID20:验收滤波器配置预留
    工作类消息中:ID19:1--开关量消息0--模拟量消息
    ID20:验收滤波器配置预留
    ◎目的地址:接收报文节点的地址。
    ◎源地址:发送报文节点的地址,用于系统自检。
    4 结束语
    CAN总线以其高性能,高可靠性及独特的设计,受到工业控制领域和汽车电子领域的广泛重视,已被公认为最有前途的现场总线之一。我们深信不久的将来,国产的CAN总线汽车必将诞生。
    5楼 回复本楼

    引用 chenwh78 2009/5/4 13:08:53 发表于5楼的内容

  • wygtong

    wygtong   |   当前状态:在线

    总积分:5074  2024年可用积分:0

    注册时间: 2006-05-29

    最后登录时间: 2018-05-11

    空间 发短消息加为好友

    wygtong   发表于 2009/5/7 14:09:03

    楼主辛苦了,写的确实好.
    6楼 回复本楼

    引用 wygtong 2009/5/7 14:09:03 发表于6楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/15 10:56:02

    1 系统的总体设计思想

    系统设计从保证系统可靠性和降低成本并具有通用性、实时性和可扩展性等方面着手。

    (1)网络拓扑采用总线式结构,如图1所示,这种结构比环形结构吞吐率低,但结构简单、成本低、且无源抽头连接,系统可靠性高。 


    (2)CAN总线控制器工作于多主方式,采用多主站依据优先权访问总线,支持主从或广播方式,最大网络节点110个,最大传输速率1Mbps,最远距离10km(也可以接CAN中继器增加距离,但通信速率会下降),同时具有极强的错误处理能力。

    (3)CAN遵循ISO标准模式,具体定义了数据链路层和物理层,在工程上,这两层通常由CAN控制器和收发器实现,CAN总线控制器通常有两类:一类是在片的CAN微控制器。采用这种器件可以方便用户制作印刷板、电路图也比较紧凑,另一类是独立的CAN控制器,可以使开发人员根据需要选用比较实用的单片机,本系统选择独立的CAN控制器。

    (3)该系统的上位机是PC机,由于PC机有多条扩展槽,利用局域网通信卡、使得该系统很容易与其他部门联网,便于统一调度和管理,另外选用PC机还可以充分利用现有的软件工具和开发系统,方便快捷地设计功能丰富的计算机软件,该系统的控制台由PC机、PC总线适配卡和相应的软件组成。

    (5)传输介质采用双绞线,为了进一步提高系统的抗干扰能力,在控制器与传输介质之间采取光电隔离。

    (6)信息传输采用CAN通信协议,该系统的主要通信方式是控制台向各个控制器发送控制数据以及各控制器向控制台发挥各种检测信息。

    2 智能照明节点模块的硬件设计 智能节点结构框图如图2所示。


    从成本和难易程度考虑,系统采用AT89C52作微控制器。AT89C52是一种高性能、低功耗采用COMS工艺制造的8位微控制器,拥有8KB的可编程闪存,它为很多嵌入式控制系统提供了一种高效灵活的解决方案,其功能是根据上位机的给定值控制执行器,系统的执行器是可控硅控制电路,通过它提供均匀可调的输出电压以调节电灯的亮度。

    上位机可以根据传感器所提供的外界光照度,判断此时的灯光亮度范围,再向控制器发送控制数据,使执行器按照设定的值调节灯光亮度,传感器1采用光敏传感器可将光信号变成电信号、电信号的大小随光的强弱成比例变化,所以使用它可以根据室外光线照度的变化对灯光进行调节,在保证一定标准照度的同时最大限度地节约能源。传感器2是热释电传感器,其只对运动的人或物体敏感,利用它可以知道房间里是否有人,进而可以及时地将无人区的灯关掉,以免造成不必要的浪费。

    CAN控制器选用Philips公司生产的SJA1000。它是PCA82C200的替代产品,可完成CAN通信协议所要求的全部特性,经过简单的总线连接可以完成CAN总线的物理层和数据链路层的所有功能,它能够提供总线仲裁及错误检测功能,并且在检测到错误时能自动重复发送数据,从而减少数据的丢失,确保了系统的可靠性,它通过直接内存映射方式访问CAN控制器,同时,新增加的CAN模式(PeliCAN)还可以支持CAN2.0B协议。

    CAN收发器采用Philips公司生产的PCA82C250,它是CAN控制器与物理总线之间的接口,提供向总线的差动发送功能和对CAN控制器的差动接收功能。

    采用光电耦合是为将网络与系统内部隔离,以提高抗干扰能力,这里采用高速光电耦合器6N137。

    看门狗采用集看门狗、复位电路与EPROM于一体的X25045,由于看门狗和EPROM有着重要的作用,看门狗可以防止因程序的"跑飞"而引起故障。EPROM可以存储掉电前所需保护重要参数、CAN节点的配置参数,包括屏蔽字和校验码、报文定义等。

    CAN总线适配卡可以自己设计,但目前市场上的CAN总线通信适配卡产品较多,而且技术也很成熟,所以选用了北京华控公司的HK--CANISO智能PC总线通信适配卡。

    3 智能照明系统的软件设计

    智能照明节点模块的软件采用结构化设计,具有良好的模块性,可修改性和可移植性。程序用Franklin C51和ASM51语言混合编写,Franklin C51是一种与C语言十分类似的高级语言,具有较高的效率,可读性好,易于修改,采用C51可减轻软件编程的工作量,软件设计主要包括单片机的初始化程序、报文发送和接收程序以及CAN总线的初始化设计,这是CAN总线设计中的重要一环,也是一个设计难点,为了提高通信的实时性,采用中断接收方式,为了能支持更多的CAN协议功能,在初始化时使SJA1000工作在Peli CAN模式,智能照明节点的主流程如图3所示。


    上位机监控软件采用Delphi实现,具有良好的界面和可操作性。

    国外的智能照明控制系统广泛地应用于建筑领域,无论室内、室外,然而我国在灯光调控、节能方面的研究起步较晚(目前,灯光调控在美国的使用率70%,欧洲40%-50%,亚洲10%-15%,在日、韩占15%-20%,而中国还不到1‰),当前较先进、流行的灯光控制系统采用的"ShowNet"数字网络也只是为将来应用CAN协议打下基础,本文在智能照明控制系统中应用CAN总线技术,通过上位计算机进行灯光调控,有一定先进性。该系统经扩展后有着非常广阔的应用前景,不仅是办公大楼、商业中心等公共场所理想的智能照明控制且在节能方面也有着重大的经济价值。
    7楼 回复本楼

    引用 chenwh78 2009/5/15 10:56:02 发表于7楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/15 10:56:44

    宝莱车采用两条CAN总线,即驱动系统CAN总线和车身系统CAN总线,这两总线完全能够满足ISO的定义。驱动系统CAN总线,其通信速率为500kbps,被称为高速CAN,其连接对象为汽车动力和传动机构的控制单元等。汽车发动机控制单元、自动变速器控制单元、ABS控制单元、安全气囊控制单元等。车身系统CAN总线,其通信速率为100kbps,被称为低速CAN或舒适系统CAN,其连接对象为中央控制器,4个门控制器等。此外宝莱车还有一个重要特征,便是在车身系统的CAN中引入了网络管理的概念。这对于事件触发性质的数据通信来说是非常合适的。
    用于驱动系统的高速CAN和用于车身系统的低速CAN是两个相互独立的总线,但从资源共享的角度来看,它们之间最好有座连接桥梁,以使车身系统也能获得驱动系统的信息。当然,从传统思路来考虑,只要增加几根导线似乎就能解决问题。但从实际开发时,即在现有的控制器硬件上,要增加哪怕一个信号引出脚都将导致硬件的重新设计,往往成本和进度都不允许这么做。为了获得对方系统的信息,而又不涉及到硬件上的任何改动,宝莱车使用了网关—J533完成了此任务,宝莱车的网关是“寄生”在组合仪表内的。
    宝莱汽车上典型的与驱动系统有关的控制单元有电控燃油喷射系统、自动变速器系统、防抱死制动系统(ABS)、安全气囊系统等。
    由于每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的,为了满足各子系统的实时性要求,与对公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等,如宝莱车的4缸汽油机运行在4000r/min,则电控单元控制两次喷射的时间间隔为6ms,其中喷射持续时间为30度的曲轴转角(1ms),在剩余的5ms内须完成转速测量、油量测量、A/D转换、工况计算、执行器的控制等一系列过程。这就意味着数据发送与接收必须在1ms内完成,才能达到汽油机电控的实时性要求。这就要求其数据交换网是基于优先权竞争的模式,且本身具有极高的通信速率,宝莱车采用了CAN总线正是为满足这些要求而设计的。
    除驱动系统外,车身系统CAN也是一条主要的控制器局域网络。它的主要连接对象为:中央控制器,4个门控制器,还包括记忆模块和其他组件。车身系统的控制对象主要是4个门上的集控锁、车窗、行李箱锁、后视镜及车内顶灯。在具备遥控功能的情况下,还包括对遥控信号的接收处理和其他防盗系统的控制。
    8楼 回复本楼

    引用 chenwh78 2009/5/15 10:56:44 发表于8楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/15 10:57:29

    一、引言
        20世纪80年代以来,随着集成电路和单片机在汽车上的广泛应用,汽车上的电子控制单元越来越多,例如电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电控门窗装置和主动悬架等等。在这种情况下,如果仍采用常规的布线方式,即电线一端与开关相接,另一端与用电设备相通,将导致车上电线数目的急剧增加,使得电线的质量占整车质量的4%左右。另外,电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。为此,改革汽车电气技术的呼声日益高涨。因此,一种新的概念——车用控制器局域网络CAN应运而生。

        CAN是控制器局域网络(Controller Area Network)的简称,它是由德国Bosch公司及几个半导体生产商开发出来的,CAN总线是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通讯可靠性和实时性,而且简单实用,网络成本低。特别适用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

        二、CAN总线的技术特点

        CAN总线可有效支持分布式控制或实时控制。该总线的通信介质可以是双绞线、同轴电缆或光纤,其主要特点如下:


    • CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,且不分主从; 
    • CAN总线采用独特的非破坏性总线仲裁技术,高优先级节点优先传送数据,故实时性好; 
    • CAN总线具有点对点、一点对多点及全局广播传送数据的功能; 
    • CAN总线采用短帧结构,每帧有效字节数最多为8个,数据传输时间短,并有CRC及其它校验措施,数据出错率极低; 
    • CAN总线上某一节点出现严重错误时,可自动脱离总线,而总线上的其他操作不受影响; 
    • CAN总线系统扩充时,可直接将新节点挂在总线上,因而走线少,系统扩充容易,改型灵活; 
    • CAN总线的最大传输速率可达1Mb/s,直接通信距离最远可达到10km(速率在5kbps以下); 
    • CAN总线上的节点数取决于总线驱动电路。在标准帧(11位报文标识符)时可达到110个,而在扩展帧(29位报文标识符)时,个数不受限。

        三、车身系统的CAN控制设计

        1. CAN总线网络系统架构

        现代汽车典刑的控制单元有发动机控制模块、变速器控制模块、多媒体控制模块、气囊控制模块、空调控制模块、巡航控制模块、车身控制模块(包括照明指示和车窗、刮雨器等)、防抱死制动系统(ABS)防滑控制系统(ASR)等。完善的汽车CAN总线网络系统架构如图1所示。



    图1 汽车CAN总线网络系统架构


        2. CAN节点的硬件架构

        本系统中,CAN节点采用:

        ECU(AT89C51)+CAN控制器(SJA1000)+CAN收发器(PCA82C250)的电路结构以下是其核心芯片简介:

        (1)CAN控制器

        为了系统进一步扩展的需要,可选取支持CAN 2.0B通讯协议的芯片SJA1000。SJA1000是PHILIPS公司生产的既支持CAN 2.0B,又支持CAN 2.0A的CAN控制器,它与仅支持CAN 2.0A的CAN控制器PCA82C200在硬件和软件上完全兼容。

        (2)CAN收发器

        PCA82C250是PHILIPS推出的CAN控制器和物理总线接口芯片,可提供对总线的差分发送和接收。它与ISO 11898标准完全兼容,并有高速、斜率控制和待机3种不同的工作方式,可根据实际情况选择。

        (3)单片机AT89C51

        AT89C51是ATMEL公司的单片机。它是一种低功耗、高性能、内含4KB闪速存储器的8位CMOS微控制器,与工业标准MCS-51指令系统和引脚完全兼容。AT89系列的优越性在于其片内闪速存储器可进行1000次的编程与擦除,且数据不易丢失,数据可保存10年。

        CAN总线控制器、总线驱动器和单片机连接基本方法如图2所示。




    图2 CAN总线控制器、总线驱动器和单片机连接图
    9楼 回复本楼

    引用 chenwh78 2009/5/15 10:57:29 发表于9楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/5/15 10:58:04

    三、车身控制模块中的CAN应用层协议
        1. 协议原则
        本协议遵循CAN2.0B规范,根据车身控制模块的特点,采用源→目的方法,每个节点都有自己固定的标识地址,且节点数小于64,设计时可将中央控制模块设为主节点,而将车门、电动座椅子模块及自检子模块设置为从节点。本协议可完成以下功能:
        (1)特定信息的广播;
        (2)主从节点之间的连接;
        (3)主从节点之间的信息交换(包括故障信息)。
        本协议采用帧优先原则分配标识符,每一帧标识符中的高四位表示帧类型,不同帧类型有不同的优先权,优先权决定了各种信息帧在同等情况下的发送顺序,协议中的29位标识符的分配如下:
        帧类型(4位)+目的地址(6位)+源地址(6位)+命令(或状态、报告)属性(13位)[或数据属性+分段标志+分段号(共13位)]。
        对所有的命令或状态、数据、报告属性、除定时采集发送的数据外,原则上均需应答(发送确认帧以保证通讯正常)。
        2. 帧格式仲裁场和控制场定义
        仲裁场由29位标识符ID28-ID0以及SRR、IDE和RTR组成,SJA1000中的寄存器17-21用来存放扩展帧格式帧信息的标识符。发送时,SRR=1,IDE=1,RTR=1/0(远程帧/数据帧)。标识符中的ID28-ID25为车身控制模块交换报文的帧类型(共4位)。ID24-ID19为车身控制模块中帧信息使用者的地址(或称为目的地址,共6位)。ID18-ID13为车身控制模块中帧信息发送者的地址或称为源地址(共6位)。ID12-ID5为车身控制模块中交换的命令、状态、数据或报告属性(共8位),ID4位需附加命令或状态、数据、报告属性时的分段标志。ID3-ID0为附加命令或状态、数据、报告属性的分段号(共4位)。当ID4=0时,ID3-ID0控制场、数据寄存器0-7有效。对于远程帧,则可忽略ID4-ID0以及控制场的值。SJA1000的寄存器16低四位DLC3-DLC0可构成控制场,以决定数据帧的数据长度。
        3. 车身控制模块CAN2.0B通讯报文约定
        按车身控制模块的节点要求,通讯的信息帧分为表1所列的6种,表1中的优先级按序号从高到低排列。其目的地址和源地址的分配见表2所列。
    表1 车身控制模块帧模型

    表2 车身控制模块各节点地址分配

    10楼 回复本楼

    引用 chenwh78 2009/5/15 10:58:04 发表于10楼的内容

总共 , 当前 /