基于CAN总线的汽车空调软硬件系统设计.docx
《基于CAN总线的汽车空调软硬件系统设计.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的汽车空调软硬件系统设计.docx(44页珍藏版)》请在沃文网上搜索。
1、第4章 系统硬件结构设计4.1 系统总体结构汽车空调控制系统以主控芯片为中心,以CAN总线构建网络,传感器传递的信号以及主控制器发出的控制信号通过CAN总线接收或者发送。图4-1为该控制系统总体结构示意图。图4-1 空调控制系统硬件总体结构示CAN总线上挂接的节点有信号采集节点和控制执行机构节点两类,其结构如下: 图4-2 空调控制系统CAN节点示意图CAN节点包括控制器、传感器、CAN收发节点,节点的控制器采样的是MPS430单片机,CAN节点用于向主控制器的发送传感器的采样结果。每个节点的CAN网络节点地址分配如下:表 4-1 节点地址分配车外温度节点90车内温度节点91车外光照节点92发
2、动机水温节点93蒸发器温度节点94压缩机控制节点95混合风门控制节点96内外风门控制节点97鼓风机控制节点98由于本系统中主控制器和温度采集节点的控制器都没有带CAN总线接口,因此本设计采用CAN总线控制器SJA1000和一个CAN收发器PCA82C250组成CAN收发模块,总共需要9个这样的收发模块,分别用于主控制电路以及每一个信号采集节点。4.2 主控制器电路结构4.2.1基于ARM9的S3C2440微处理器ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点
3、。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。同时ARM也表示由ARM公司设计的RISC处理器,包括ARM7、ARM9、ARM10、ARM11、Crotex 系列等等。其中 ARM7 系列、ARM9 系列、ARM9E 系列和 ARM10E 系列为四个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的要求。本设计中采用的基于ARM920T 核心核的微处理器S3C2440。其
4、结构图如下:图 4.3 S3C2440A 处理器结构S3C2440A具有低功耗,简单,精致的特点,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的总线架构如先进微控制总线构架(AMBA)。S3C2440A 的突出特点是其处理器核心,是一个由Advanced RISC Machines(ARM)公司设计的16/32 位ARM920T 的RISC 处理器。ARM920T 实现了MMU,AMBA 总线和哈佛结构高速缓冲体系结构。这一结构具有独立的16KB 指令高速缓存和16KB 数据高速缓存。每个都是由具有8 字长的行(line)组成。通过提供一套完整的通用系统外设S3C2440A 减少
5、整体系统成本和无需配置额外的组件。S3C2440A集成了以下片上功能:(1)1.2V 内核供电, 1.8V/2.5V/3.3V 储存器供电, 3.3V 外部I/O 供电,具备16KB 的指令缓存和16KB 的数据缓存和MMU的微处理器。(2)外部存储控制器(SDRAM 控制和片选逻辑)。(3)LCD 控制器(最大支持4K 色STN 和256K 色TFT)提供1通道LCD专用DMA。(4) 4 通道DMA 并有外部请求引脚。(5) 3 通道UART(IrDA1.0, 64 字节发送FIFO 和64 字节接收FIFO)。(6) 2 通道SPI。(7)1 通道IIC 总线接口(支持多主机)。(8)
6、1 通道IIS 总线音频编码器接口。(9) AC97 编解码器接口。(10) 兼容SD 主接口协议1.0 版和MMC 卡协议2.11 兼容版。(11) 2 通道USB 主机/1 通道USB 设备(1.1 版)。(12)4 通道PWM 定时器和1 通道内部定时器/看门狗定时器。(13)8 通道10 位ADC 和触摸屏接口。(14)具有日历功能的RTC。(14)摄像头接口(最大支持40964096 像素输入;20482048 像素输入支持缩放)。(15) 130 个通用I/O 口和24 通道外部中断源。(16) 具有普通,慢速,空闲和掉电模式。(17) 具有PLL 片上时钟发生器。图 4.4 S3
7、C2440A 部分电路引脚图4.2.2 电源电路 汽车的电池一般为24V的电压输出,在本系统中需要用到5V和3.3V的电压,因此采用比较常见的三端稳压集成电路芯片7805将24V转换为5V。7805的实物图如下所示:图 4.4三端稳压集成电路芯片78057805只有三条引脚输出,分别是输入端、接地端和输出端。它的样子类似是普通的三极管,TO- 220 的标准封装,也有9013样子的TO-92封装。7805输出电压典型值为5.0V,误差不超过0.2V,最大输出电流1.5A。在实际使用时,当稳压管温度过高时,稳压性能将变差,甚至损坏,因此需要安装足够大的散热器(功率较小时也可不需要)。得到5V电压
8、后,可以用LM1117-3.3芯片输出3.3V的稳定电压。LM1117是一个低压差电压调节器系列。其压差在1.2V输出,负载电流为800mA时为1.2V。它与国家半导体的工业标准器件LM317有相同的管脚排列。LM1117有可调电压的版本,通过2个外部电阻可实现1.2513.8V输出电压范围。另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V)的型号。 LM1117提供电流限制和热保护。电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在1%以内。LM1117系列具有LLP、TO-263、SOT-223、TO-220和TO-252 D-PAK封装。输出端需要一个至少1
9、0uF的钽电容来改善瞬态响应和稳定性。本系统中用到的3.3V固定输出版本输出电压波动范围在0.2%以内,输出电流能达到800mA。电源模块电路如下:图 4.5电源电路模块4.2.3 外部存储器电路 本系统由于加入了Linux操作系统,因而要求有较大的存储容量,这里采用的是64M的SDRAM加上128M的NAND FLASH的双存储结构。SDRAM具备高速访问和随机读写的特性,用于作为系统的内存单元,NAND FLASH具有接口简单,存储容量大,擦写速度快等特点,用于作为数据和程序的存储设备。本系统采用两片K4S561632C组成32位宽的SDRAM。每片K4S561632C有12根地址线,这样
10、其总共的寻址空间就是4K*4k=16M,其数据线宽位16bit,因而每一片的存储空间大小就是16M*16bit=32MB。NAND FLASH则是采用的三星公司的KF91208F芯片。NAND FLASH采用特有的块与页的形式来存储数据,一片KF91208F有4096个块,每一个块有32个页,而每一页有512B,因而其总共存储空间有4096*32*512B=512MB,其电路图如下所示:图 4.6 SDRAM连接电路4.2.4 显示模块电路本系统的显示单元采用TFT LCD模块,LCD是基于液晶光电效应的显示设备,它的分子晶体以液固态形势存在,基本工作原理就是通过给不同的液晶单元供电,从而让光
11、线通过或者不通过某些液晶单元,以达到显示的目的。也就是说每个液晶单元都对应着一个电极,LCD 的驱动电路就是对每个液晶单元的不通电或通电的控制,对其电极不通电时,排列变得混乱,阻止光线通过,而当对其通电时液晶排列变得有秩序,使光线容易通过。液晶屏可以显示图形、文字等大量丰富的信息,在液晶屏上可以实时显示温度信息等。与单色图形点阵式 LCD 和 RCT 显示器相比,TFT 液晶屏在空间占用、色彩鲜艳度、清晰度、显示速度等方面具有非常大的优势,选用 TFT 液晶屏作为显示单元符合数字化、智能化的发展趋势。图 4.5 是 S3C2440A 内部的 LCD 控制器逻辑示意图。 图 4.6 S3C244
12、0A 内部LCD 控制器图 4.6 显示模块连接图4.2.5 按键输入电路 本系统中需要4个按键,分别为功能键、确认键以及“+”、“-”按键。由于按键数量较少,直接接在S3C2440的通用输入输出口GPF0、GPF1、GPF2、GPF3上,这四个GPIO口都具有中断功能,在驱动程序中,这四个按键被实现为一个简单字符设备,在读操作中等待按键端口的下降沿电平跳变到来。具体的电路图如下所示:图 4.7 按键输入电路图4.3 CAN收发模块 CAN总线模块由一个CAN总线控制器SJA1000和一个CAN收发器PCA82C250组成,它们共同构成一个CAN节点的收发模块。 SJA1000是Philips
13、公司推出的一种独立CAN控制器,用于移动目标和工业环境中的区域网络控制。它全面兼容CAN2.0B协议,同时支持11位和29位标识码,位速率可达1Mbits/S。SJA1000有两种工作模式,分别为BasicCAN模式和PeliCAN、模式。 SJA1000芯片的原理图如下所示:图 4.8 SJA1000芯片原理图SJA1000有自己的数据、地址总线,并且是分时复用的,ALE是地址锁存信号。PCA82C250 是CAN 协议控制器和物理总线间的接口,它主要是为汽车中高速通讯(高达1Mbps)应用而设计。此器件对总线提供差动发送能力,对CAN 控制器提供差动接收能力,完全符合“ISO11898”标
14、准。其引脚图如下所示:图 4.9 PCA82C250引脚图SJA1000和PCA82C250的连接图如下所示:图 4.10 CAN收发接口电路1. CAN接口与控制器的连接。SJA1000的AD0AD7作为地址数据复用线接在控制器的IO端口上,控制器控制ALE信号来表明AD0AD7是作为地址线还是作为数据线。当AD0AD7作为数据线时,控制器通过RD和WR信号来表明是读数据或者写数据的操作。2. CAN接口与总线的连接。CAN收发器82C250的CANH、CANHL直接连接到CAN总线的CANH、CANL数据线。4.4 CAN节点电路本系统的 CAN 节点分为两类:采集信号的采集节点和发出控制
15、信号的执行节点。采集节点与控制节点都包含MSP430控制器和CAN收发模块,而采集节点还包括传感器模块,控制节点则包括执行机构。4.4.1 MSP430单片机控制器 MSP430系列单片机是由TI公司开发的功能强大的16位低功耗微型控制器,抗干扰能力强,适应温度范围宽,在各种恶劣的环境下都能可靠的工作,同时该系列单片机将大量外围设备整合到片内,非常适合嵌入式智能仪器仪表和检测模块开发,同时MSP430有丰富的不同类型器件可供选择,给设计者带来了很大的灵活性,本设计采用的是该系列中的MSPF149A单机。MSPF149A单片机有60K的片内FLASH和1KB的片内RAM,并带有6个8位输入输出可
16、配置且带中断的IO口和12位的高速多通道积分型模数转换电路。其最小系统电路如下:图 4.11 MSP430最小系统电路单片机的P0口接CAN收发模块控制器SJA1000的AD0AD7,用于和CAN通信的IO端口,P2.1、P2.2、P2.3、P2.4分别接CAN收发控制器SJA1000的、ALE信号。4.4.2 信号采集节点4.4.2.1 温度采集本系统需要四个温度采集节点,分别采样车内外温度,蒸发器表面温度和发动机水温。温度的正确测量对本系统的正确运行至关重要,它的精度直接决定了整个系统的控制精度,因此要求选取高精度的温度传感器。温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALL
17、AS(达拉斯)公司生产的DS18B20温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,与单片机的线路连接简单,附加功能强,使得DS18B20成为开发温度相关的小产品的不二选择。DS18B20的主要特征如下:(1)全数字温度转换及输出。(2)先进的单总线数据通信。(3)最高12位分辨率,精度可达0.5摄氏度。(4)12位分辨率时的最大工作周期为750毫秒。(5)可选择寄生工作方式。(6)检测温度范围为55C +125C (67F +257F)(7)内置EEPROM,限温报警功能。(8) 64位光刻ROM,内置产品序列号,方便多机挂接。(9)多样封装形式,适应不同硬件系统。
18、DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPR
19、OM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。控制器对18B20操作流程如下: 1, 复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号
20、后则会在1560uS后向MSP430单片机回发一个芯片的存在脉冲。 2, 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 3, 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功
21、能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。 4, 控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是
22、命令18B20作什么样的工作,是芯片控制的关键。 5, 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。 DS
23、18B20只需要接到控制器(单片机)的一个I/O口上,由于单总线为开漏所以需要外接一个4.7K的上拉电阻,它的运行依靠接受控制器的指令,指令表如下:表 4.3 DS18B20的ROM指令指令名称指令值含义Read ROM33H读DS18B20的64位ROM值,在只挂一个DS18B20时使用Match ROM55H当多个DS18B20挂接在同一总线用于寻址芯片Skip ROMCCH使芯片不对ROM编码做出反应Search ROMF0H搜索总线上挂接的所有DS18B20Alarm SearchECH搜索高于最高温度或低于最低温度的芯片Write Scratchpad4EH向芯片RAM中写数据Rea
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CAN 总线 汽车空调 软硬件 系统 设计