工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->机动车 电动车电路图->汽车电子电路图->汽车仪表基于CAN总线的设计系统

汽车仪表基于CAN总线的设计系统

作者:不爱吃窝瓜时间:2015-09-14

系统MCU的选型在整个方案设计中至关重要,是主要功能实现的关键元件,并直接关系到外围元器件的配置要求和整体方案的可实现性。系统性能的稳定性、功能需求的可靠性以及市场定位要求和合理的经济性都是在MCU方案选择中必须考虑的。选择的MCU过于昂贵,即使性能良好也会因为价格的原因而失去市场;系统方案满足实验室台架试验,其价格也比较合理,但却不能满足汽车电气设备基本技术条件(QC门禅13一2002)中的振动、高低温、耐酸等试验,这同样会使你的开发方案失去价值。所以在进行开发方案系统设计时,选择适合本系统的MCU是开发方案成功的重要一步。如今,嵌入式应用技术在过去的20年里得到了迅猛的发展,世界上很多单片机公司都根据汽车的特定环境推出了各种不同性能的MCU 。其中在汽车领域内比较领先的有Freeseale、Philips,其他单片机公司如:microchip、atmel、fujitsu、TI、NEC、ST等也相继开发除了适合汽车工作环境的单片机。本系统MCU选择FREESCAI石公司的16位单片MC9512H128。Freescafe(飞思卡尔)半导体公司(原MOTOROLA公司半导体产品部)是世界上最大的单片机供应商。其单片机产品的技术根基可追溯到1974年的8位处理器MC6800和后来的MC6801,使用HMOS工艺,功耗高。最早出现CMOS工艺的单片机是MC14685,后来出现了HCMOS(高速CMOS)工艺的单片机MC68HC05,产量突破了20亿片,是世界上产量最高的单片机。其后又推出了HCS05和HCLDS两个系列的单片机,于2000年后推出了低功耗、低成本、高性能的8位单片机有Hc08、MCSOS、HCn,其系列品种繁多、片内资源丰富,应用范围广泛,可靠性高,抗干扰能力强。其他相关产品见表4一1。

 


本课题在MCU选型方案方案上做了大量工作,经过了如下程序:首先根据功能需求划分功能模块,然后根据功能模块选择合适型号的MCU,根据各MCU的性能进行配置外围电路,最后通过比较各个方案的综合性能、成本价格、工艺条件后最后确定了以H128为MCU的开发方案,选择了Freescale公司专门为汽车仪表设计的16位单片机Megs12H12s(以后简称HiZs)136]。H12s属于16位单片机中512系列中的一种(512系列单片机根据应用场合的不同分为A、B、C、D、E、F、G、H、L等系列)。选择H128其最主要的原因就是其片内功能模块的高集成度完全符合本系统结构框图方案的功能需求,无需扩展任何外围电路即可完成系统功能的实现。H128其外围引脚功能如图4一1所示。

 

 

MC9512H128封装图

MC9512H128单片机的功能正好能满足仪表系统的需求,其内部集成的每个功能模块都在本仪表中使用到,并有部分接口预留,可以作为功能扩展和产品升级使用。H128内部丰富的集成资源、成本价格相对便宜,专门针对汽车环境进行功能开发能满足汽车电子耐温、振动、耐酸等多项试验,使得系统性能稳定,工作可靠。H128单片机在使用和运行上具有以下特点:

1.低功率消耗:通过编程的方法对输入时钟进行分频,避开了功耗更大的高频电路,总线速率为4MHz时,通过4分频,只需使用16MHz晶体。此外,还具有认AIT和STOP模式进一步降低功耗。它还可以使用低频率晶体(例如32K)的节能方式,通过PLL倍频后供MCU使用。程序可控制PLL在满足要求的前提下尽量降低时钟速率,自动平衡性能与功耗之间的关系。

2.兼容性:CPU12完全兼容HCn的源程序,多数指令汇编后生成相同的目标代码,它的程序设计模型与中断相应的堆栈操作顺序与HCll完全相同。此外CPU12增加了不少新的指令。

3.提高速度:CPU12是16位的处理器,ALU在某些运算中为20位。MCgs12内部所有数据总线为16位,外部总线可扩展为16位工作方式,也可以扩展为8位工作方式,这样可用8位的存储器件构成低成本的应用系统。即使选择了这种8位的工作方式,CPU12仍然按16位方式操作,智能总线接口自动将其分成两次8位操作,期间暂时冻结CPu。其次,CPU12具有一个类似流水线的指令队列,用于缓冲指令代码。CPU开始执行任何一条指令时,除了8位操作码以外,至少另外两个字节的目标代码对CPU可见。这意味着对于多数指令来讲,开始执行时,所需代码已经进入CPU,可在单个周期内完成,而无需等待取指令操作。取指令操作固定按照16位进行,与指令代码长度无关,因此不要求代码长度是偶数字节,从而提高了代码效率。CPU12的指令队列逻辑和微代码使对齐的和非对齐的指令执行时间完全相同。

4.片内集成128KB的闪速存储器(FLASH)和 6KBRAM及ZKB的EZPRoM。近年来,随着闪速存储器在微控制器片内的应用走向成熟,微控制器的开发、应用又迎来了一次新的飞跃。FLASH是一种非易失性存储介质,读取它的内容同RAM的读取一样方便,而对它的写操作却比EZPROM还要快。同时,在系统掉电后,FLASH中的内容仍能可靠保持不变。FLASH的主要优点是结构简单、集成密度大、成本低。由于FLASH可以局部擦除,且写入、擦除次数可达数万次以上,从而使开发微控制器不再需要昂贵的仿真器。6KB的RAM使得CPU能适应大多数中高级系统的需求。

5.应用锁相技术提高了系统的电磁兼容性在以往不使用锁相环的微控制器应用系统中,晶振电路由于其工作频率比较高(通常为几兆赫兹至几十兆赫兹)而成为一个很大的干扰源,这一问题给系统设计、线路板布局带来了很多不便。MCgs12的时钟发生系统中巧妙地使用了锁相技术,因而可在外接几十千赫的外部晶振情况下,通过软件编程产生几兆的系统时钟,从而降低了对外辐射干扰,提高了系统的稳定性。

6.模糊运算指令:HCS12CPU中有特殊的四条模糊逻辑指令,利用他们可以计算隶属度函数、加权或非加权的规则推理以及用于加权平均解模糊算法的输出求和、权值求和。利用这些指令,可以在大约50个字节代码长度内构成一个完整的模糊推理核心,执行时间仅60us(16MHz晶振)。

7.背景开发模式:简单的背景开发模式(使用在线仿真器或评估板)使得开发成本进一步降低,也使得现场开发和系统升级变得比较方便。

8.硬件断点:如果程序位于ROM中,调试过程需要使用硬件断点逻辑。HCS12可以提供两个普通断点,或者一个包括16位地址、16位数据及读写信号的条件断点。断点处理方案包括在匹配地址前停止CPU或者产生软件中断SWI。双地址断点模式下,通过SWI可以为ROM中的程序作两个软件补丁。

例如在初始化阶段对断点逻辑进行设置,使它在遇到错误地址时产生SWI,SWI服务历程可以调用安排在EEPROM中的补丁程序,替代受损的指令序列,最后跳转到错误指令序列后面继续运行。

H128集成了丰富的外围资源除包括闪速存储器FLASH和内部RAM以外,该芯片还集成多种功能模块。其各功能模块分别与外围电路接口对应,每个功能模块都对应一个系统功能需求,并与外围电路和元器件相对应,是选型的重要参考因素。主要集成的功能模块:

》26位的epuzZ内核 (starCore);

》单线BDM调试模块;

》具有可选16位或8位总线扩展能力;

》集成CAN控制器,带2路CAN控制接口,支持CAN2.OA旧协议;

》’8路10位精度的习D转换通道;

》2路PWM(脉宽调制)输出;

》6KB的RAM,128KB的FLASH,ZKB的片内EEPROM;

》内部集成的供单片机核心部分工作的SV电源;

》丰富的刀O资源,最多可利用的刀0引脚达61个;

》16位主计数器,7位分频计数器;

》可驱动32个前极和4个背极LCD;

》包括同步串行设备接口(SPI)和一步串行通信接口(Scl);

》6路步进电机驱动模块。

4.1.1MSCAN控制器

H128片内具有可扩展的控制器区域网络MSCAN(Motorolascalablecontrofler areanetwort)模块,是为16位MCU设计的通用CAN通信模块,它和CAN2.0川2.0B完全兼容,实现CAN控制器的功能。MSCAN控制器和发动机、变速箱等底盘动力传动装置的CAN总线节点相连,实现CAN总线数据的接收与发送工作卿l。H128中有两路CAN总线接口,分别为RXCANO、TXCANO和RXCANI、TXCANI。其中CANO口可定义为CAN通信接口,也可定义为J1850通信接口,CANI除了定义为cAN端口外也可定义为IZc端口。双路CAN接口使得仪表不仅作为CAN总线上的一个节点,同样也可以作为一个中继器,实现不同网络协议之间的互连。MSCAN模块结构图如 CAN接口结构图。

 


MSCAN模块具有如下特点:

1)模块化设计结构;

2)符合CAN2.OA/B标准:支持标准帧和扩展数据帧,最多8个BYTE的数据长度,支持远程请求帧,高达IMbps的可编程通信速率;

3)4个具有先进先出FIFO(first·  infirstout)结构的缓冲区;

4)3个具有局部优先级的发送器;

5)灵活设置可屏蔽标识符  (maskableidentifierfilter)的工作方式,可以配置2个32位过滤码(适用于扩展模式)、4个16位过滤码或6个8位过滤码;

6)具有内置低通滤波的远端唤醒功能;

7)可编程为方便调试的自环工作模式,即自发、自收;

8)MSCAN模块提供了使用方便的自钡叮模式,用户可以在不加任何外围电路的情况下,是CAN的发送和接收两个引脚在芯片内部相连,用户可以编程测试CAN模块的正常使用。MSCAN模块通过引脚CANT和CANR和驱动器连接,在 CAN总线上,CANT输出引脚代表的CAN总线上的逻辑电平,0表示显性状态,输出1表示隐性状态。

4.1.A/D转换模块

H128内置一个8路10位线性逐次逼近A/D转换模块,该模块特性如下:

1)10位数字量转换仅需75;

2)采样缓冲放大器

3)可编程采样时间

4)数据左/右对齐方式,无符号/有符号结果

5)外部触发转换通道

6)转换完成中断

7)模拟/数字量复用通道;

8)1一8位顺序转换长度

9)多通道扫描,连续转化模式

A/D模块内部可分为三个部分:IP总线接口、转换模式控制寄存器/寄存器列表、自定义模拟量。IP总线接口负责该模块与总线的连接,实现A/D模块和通用I/O的目的。转换模式控制寄存器列表中有控制该模块的所有寄存器,自定义模拟量负责模拟量到数字量的转换。A/D转换模块没有分频机制,最大转换时钟频率为 ZMHZ,最小转换时钟为5OOKHZ,所以必须是经过分频后的转换始终频率处于两者之间,可能得不到正确的结果。转换时间可用以下公式来计算:

 


4.1.3串行外设接口SPI

在一个单片机系统中,MCU除了进行控制数据传送外,还需要与外围器件进行数据交换。虽然并行接口传输速率比串行接口要快,但其占用了太多的硬件资源,而且连线复杂。所以为了简化系统,现在各厂家推出的芯片中大多都带有串行数据接口。

SPI(serialperipheralinterfaee)是一种高速高效率的同步串行技术,这种接口技术主要用于MCU与外部接口芯片交换数据,这在Freesca1e(原Motorola)单片机中已经是一个标准模块,也逐渐成为一种工业接口标准。SPI接口常用于主从分布系统,一个标准的SPI系统包括一个MCU和几个不同的外部设备。SPI使用4条线,具体为:

1)串行时钟线 SCLK(SerialCloCk)。SCLK是主机与从机之间数据传输的同步信号。对于主机来说,SCLK是时钟输出引脚,而对于从机来说,SCLK就是时钟输出引脚。

2)主机输入、从机输出数据线  MISO(masterin/slaveout).MISO是SPI模块的两根串行数据之一,在全双工操作模式下,SPI主机的MISO被连接到从机的MISO,这样,数据由从机传到主机。仅在SPI设备配置成主机模式时,才可以由M工50接受数据。

3)主机输出、从机输入数据线  MOSI(Masterout/slavein)。MOSI是Spl模块的另外一根串行数据线。

4)低电平有效的从机选择线 55(slaveseleet)。55在主机和从机模式中具有不用的功能。从机模式下,SS是依次数据传输开始前允许SPI工作的片选信号;主机模式下,SS可以置位 MODF标志位,保证一个系统只有一个SPI作为主机。SPI工作原理如同一个16位的分布式移位寄存器,一半在单片机里面,一半在外设中。当SPI工作时,通过串行时钟线的同步信号,循环移位8位,从而实现单片机与外设的数据交换。工作原理如图4一3所示:

 

 

4.1.4PWM脉宽调制模块

PWM(pulsewidthmodulate)即脉宽调制,脉宽调制波是一种可用程序来控制波形占空比、周期、相位的波形。H128单片机内部集成了2路PWM输出通道,在精度要求不高的情况下,PWM模块可以当作单片机的D/A口模块使用,从而降低系统成本Isl]。本系统正是利用了这一特性来改变仪表背光灯的明暗度,其原理如图4一4:

 

HCs12增强型定时器和HC12定时器一样,有8个输出比较瑜入捕捉通道,通过选择n0s寄存器的Iosx位可以在输出比较和输入捕捉的功能之间切换(见图4一5和图4一6)。

 


普通输入通道中带有一个捕捉寄存器用来记录管脚上电平变化时自由计数器的锁存值。在带缓冲的输入捕捉通道中,除了带有捕捉寄存器之外,还有一个保持寄存器,可以在不中断的条件下连续记录两次自由计数器的值。脉冲累加器与定时器中4个带缓冲的通道相连,通过检测相应管脚上的有效边缘来记录脉冲的个数。相邻的两个8位脉冲累加计数器可以联成为一个16位的脉冲计数器,用户可以选择4个8位或者2个16位累加计数器。定时器最常见的用法是用于内部定时和外部脉冲计数,脉冲累加器有两种工作模式:锁存方式和队列方式。

锁存方式:当模数计数器减为0、向模数计数器写入$仪刃0或写强制锁存位ICLA时,脉冲累加计数器将锁存到相应通道的保持寄存器中,并将累加计数器清零。

队列方式:当读取某通道保持寄存器的值时,相应的脉冲累加器的值将被写入该保持寄存器中并将脉冲累加器清零。

4.1.6.LCD接口模块

H128内部带有笔段式LCD驱动模块,可以驱动32个前极和4个背极,所有产生的波形均由片内的充电泵提供,不需采用外部元器件脚l。有4个1/0端口BPO一BP3专门用来驱动背极,其他32个前极驱动引脚为复用端口,从FPO一FP27,PT4一PT7。当LCD驱动模块禁止时,LCD显示将被关闭,所有的前极和后极驱动电压都为VDD,梯形电阻结构也将不在和VDD相连,以此来降低功耗。一般根据需要多少背极驱动来设置LCD输出波形的占空比,可以有三种设置方法:

1)静态占空比—仅使用BPO

2)1/3占空比—使用BPO、BPI和BPZ

3)1/4占空比—使用BPO、BPI、BPZ和BP3

当LCD驱动模块使能后,背极引脚就会按照设定好的占空比输出背极波形。背极波形是周期的。

4.1.7步进电机接口模块

H128内部集成了6个步专注电机驱动模块,无须在外围电路增加步进电机驱动芯片,是目前为止集成在芯片上驱动步进电机最多的汽车仪表芯片之一。其片内有单独的步进电机电源驱动模块,每路驱动两个步进电机。对应的引脚分别为PUO一PU7,PVO一PV7,PWO一Pw7,通过改变各引脚中的电平高低和频率来驱动步进电机按方向和速度运转。

4.1.8内部时钟生成模块和实时时钟

HCS12系列毗U具有内部时钟生成模块ICG.,可以不利用外部器件就可以为MCU产生稳定的时钟源,精度可达到士3.5%。内部时钟发生器具有可编程的时钟输出,同时可以选择外部时钟发生器,通过软件可选择总线时钟为内部或者外部时钟。HCS12系列MCU还具有实时时钟RTC模块,它可以提供实时时钟与日历功能,并具有年、月和日自动调整的作用,此外还可产生闹钟中断、周期性中断和0.015秒表记时中断。还可以根据闰年自动调整日历功能,其他中断包括报警中断、周期性中断和一个记时定时器。

4.1.9与其他开发方案的比较

由于51单片机在我国的普及与广泛应用,大多数的项目工程师都对51单片机的结构和性能非常熟悉。采用51单片机作为MCU,然后增加一个CAN控制器(如sJA10加)也可以组成一个CAN的节点,即51单片机+CAN控制器的模式。采用这种方式的特点是其结构简单易懂,开发费用比较低廉,大多数学生也可以有条件进行CAN节点的开发。其缺点是51单片机没有经过汽车上相关环境性能的试验,对于突发性的环境,会出现错误;同时,51单片机的珊口资源相对较少,需要扩充相当数量的外围电路,如多通道周D转换芯片,步进电机的驱动芯片,LCD的驱动芯片等等,致使外围电路结构复杂,工艺难度增加,性能也会相对降低,价格成本也比较昂贵脚]。也有部分在汽车仪表上使用的芯片如MICR0eHxP的PxC16F946系列PHILIPS的P8X591系列,FUJISTU公司的MB9()F系列的和Tl公司的TMS32OLF系列等,针对本方案的功能需求,也都存在着资源相对不足的问题。



评论

技术专区