CAN总线汽车显示仪表设计_第1页
CAN总线汽车显示仪表设计_第2页
CAN总线汽车显示仪表设计_第3页
CAN总线汽车显示仪表设计_第4页
CAN总线汽车显示仪表设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成都学院学士学位论文(设计)目 录第1章 绪论11.1 CAN总线汽车显示仪表概述11.2 CAN总线汽车显示仪表国内外研究现状11.2.1国外现状11.2.2 国内现状11.2.3 发展趋势21.3 本课题研究内容概述3第2章 CAN总线技术42.1 CAN总线的性能特点42.2 CAN总线的技术规范42.3 CAN总线的节点组成4第3章 uC/OS-II操作系统移植53.1 uC/OS-II操作系统简介53.2 STM32系列Cortex-M3核微控制器简介53.3 如何把uC/OS-II移植到STM325第4章 CAN总线汽车显示仪表设计方案64.1 系统总体设计思路64.1.1 嵌入式

2、汽车虚拟仪表系统整体设计方案。64.1.2 基于CAN总线及TFT-LCD显示技术的硬件平台设计64.1.3 确定系统内核、设计驱动程序,搭建汽车虚拟仪表软件开发环境64.1.4 嵌入式车载仪表信息处理算法、显示系统显示界面的设计及软件实现64.2 方案选择及可行性分析74.2.1 虚拟仪表硬件方案选择74.2.2 虚拟仪表软件方案选择8第5章 系统硬件方案105.1 主控芯片系统105.1.2 电源模块115.1.3 CAN收发器模块115.1.4 JTAG调试模块125.2 TFT-LCD显示模块125.2.1 ILI9341控制器结构135.2.2 像素点的数据格式145.2.3 ILI

3、9341的通讯时序155.3 辅助调试硬件电路16第6章 软件及算法设计方案176.1 系统软件移植176.2 驱动程序设计176.2.1 STM32驱动TFT-LCD屏176.2.2 STM32驱动CAN总线176.3 应用软件设计176.3.1 虚拟仪表面板设计176.3.2 仪表数据处理程序设计17第7章 调试结果分析187.1 虚拟仪表实时性187.2 CAN通讯可靠性18第8章 结论与展望19致谢20参考文献21附录1 硬件原理图22附录2 部分程序 23II第1章 绪论 1.1 CAN总线汽车显示仪表概述随着汽车电子产业的快速发展,越来越多的电子信息新技术被应用于汽车制造。仪表作为

4、汽车整个系统中十分重要的部分,是提高汽车综合性能的重要方面之一。随着计算机软硬件技术、总线技术、电子技术等快速发展,控制系统臃肿、接线布线复杂、占用空间大的传统电磁机械仪表渐渐被淘汰,虚拟仪表以其时尚、界面友好、功能强大等优点,成为了汽车电子领域的研究热点之一。本项目的主要研究目的:利用目前最先进的薄膜场效应晶体管LCD(TFT-LCD)显示技术,以CAN总线技术为基础,研制出一套界面友好、功能丰富、性能优越的汽车虚拟显示仪表系统。该系统能通过软件模拟出各种真实汽车仪表的动态图像,在LCD显示屏上实时显示出汽车当前的车速、油量、灯光等状态信息。 1.2 CAN总线汽车显示仪表国内外研究现状 1

5、.2.1国外现状虚拟仪表显示技术最早出现在航空和军事领域,而现在诸如驾校的汽车驾驶模拟器和赛车游戏都有虚拟仪表出现。国外虚拟仪表技术在汽车上的应用研究始于上世纪九十年代初,一般在大学的研究实验室和大型汽车公司的研发实验室进行,经过十多年的实验研究,该项技术已经比较成熟,目前的主要研究投入是用于降低该项技术的实现成本。在虚拟仪表技术应用方面,梅赛德斯-奔驰是该项技术的领头羊,早在2006年的全新一代奔驰S级豪华桥车上就装备了这种虚拟仪表, 自此之后,路虎揽胜、捷豹XJ、福特Fusion Hybrid等品牌的汽车上相继开始采用这一项技术,它们装备的虚拟仪表系统技术先进、性能优越,表盘设计合理、美观

6、大气。可见近几年来,国外这项技术已经快速走向成熟,开始在汽车上推广使用。 1.2.2 国内现状我国国内电子产业和软件产业相对国外发展滞后缓慢,嵌入式汽车虚拟仪表系统和相应的控制设备开发起步较晚,开发成本较国外高,功能上也相对单一,和国外同类产品在与整车的兼容性方面也存在很大的差距,而且技术上不是很成熟,市场上应用的非常少。国内民族汽车仪表领域的厂商,很少有批量生产嵌入式汽车虚拟仪表显示终端的。目前国内的部分高校开展了嵌入式汽车虚拟仪表系统的研究,如武汉理工大学、北京工业大学、安徽大学和南京航空航天大学等,但是技术都不是很成熟,没有应用到具体的汽车上,只处在研发的阶段。目前嵌入式汽车虚拟仪表的研

7、究,硬件平台大都采用ARM体系结构,ARM处理速度快,体积小,代表了未来嵌入式处理的发展方向。嵌入式操作系统目前应用的比较多的是Linux、windows CE.net,通信方式一般采用CAN总线,而图形显示界面的开发一般用MiniGUI,或者Qt,当然也有用Labview进行界面开发的。一般都用触摸屏来实现人机交互。 1.2.3 发展趋势汽车仪表技术的发展趋势虽然具体过程还不清楚, 但总的趋势还是比较明朗的, 那就是充分应用光技术和机、电一体化技术, 并突出现代信息技术和网络技术的应用, 其功能将极大拓宽, 指示形式将演变成计算机终端显示器。就目前技术条件而言,仅从技术本身的角度出发,制约新

8、技术在汽车仪表上应用的主要因素是制造成本。因为汽车仪表是一个量大、对成本极为敏感的产品, 在其改进和创新的过程中, 不仅要考虑技术的可行性、功能的拓宽、性能的改善、使用的可靠性等, 更重要的是其制造成本。脱离制造成本谈汽车仪表, 那只能是概念性的汽车仪表。在有关技术使用费用, 特别是其依赖的硬件成本进一步降低的前提下, 汽车仪表未来可能发展趋势如下。1)未来汽车仪表的功能将不局限于现在的车速、里程、发动机转速、油量、水温、方向灯指示等功能。2)电光学技术将在汽车仪表上得到广泛应用。显示和内照明器件不再用白炽灯泡, 而是选用高效冷光源发光器件, 如LED、电致发光器件等。导光系统更多体现出光学领

9、域的新技术, 如仪表面板颜色可变等满足个性化要求设计等。同时,现在的后视光学反光镜有可能被取消, 而改用电子摄像显示后视系统, 驾驶员的视野范围将更宽。3)自动导航和定位系统可能也是未来汽车仪表上不可缺少的部分, 包括全球卫星定位系统和电子地图等。4)具备完善的通讯系统。将来汽车上的计算机系统会与公共互连网相连, 以便充分共享信息资源, 处理通讯作业将是汽车仪表计算机系统工作内容的一部分。5)汽车仪表的计算机系统具备对娱乐、空调等舒适性设备进行监管的功能, 可以自动控制这些设备或支持驾驶员远程操纵。 1.3 本课题研究内容概述本项目采用虚拟仪器技术模拟汽车仪表盘,设计综合数据采集、信号分析、仪

10、器面板等多项内容的虚拟汽车仪表盘。利用传感器节点采集转速、耗油、速度等模拟或数字信号,进行预处理后通过CAN总线传送到嵌入式车载计算机,进行分析处理,得到发动机转数、汽车车速、油耗、温度及转向灯等信息,然后将它们在TFT-LCD显示屏以虚拟仪表的形式形象的显示出来。第2章 CAN总线技术CAN(Controller Area Network)是控制器局域网络的简称,是由德国Bosch公司于80年代为解决现代汽车中各种过程控制器、执行机构、监测仪器、传感器之间的数据通讯而提出并开发的总线式串行通讯网络,1981年由ISO制定为国际标准,称为IS011898。作为一种设备级总线网络,CAN的国际标

11、准中只定义了物理层和数据链路层,而其他的高层协议则交给用户完成,这样,对于CAN的开发就有更大的灵活性。 2.1 CAN总线的性能特点CAN总线由于采用了许多新技术及其独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。CAN本身的特点可概括如下: ,(1)多主方式传送和接收数据,利用这一特点可方便地构成多机备份系统;(2)CAN总线网络上的节点信息具有不同的优先级,可满足不同的实时要求;(3)采用短帧结构,传输时间短,受干扰率降低,具有极好的检错效果;(4)每帧信息都有CRC校验及其它检错措施,保证了数据出错率极低;(5)采用非破坏性总线仲裁技术,保证了在

12、网络负载重的情况下不会出现网络瘫痪;(6)通信介质可灵活选择、通讯距离最远可达10km(传输率为lkbps)、通讯速率最高可达1MbPs(传输距离为40m);(7)总线节点数可达110个;(8)实时性强、抗电磁干扰能力强、成本低。 2.2 CAN总线的技术规范 2.3 CAN总线的节点组成第3章 uC/OS-II操作系统移植 3.1 uC/OS-II操作系统简介 3.2 STM32系列Cortex-M3核微控制器简介 3.3 如何把uC/OS-II移植到STM32第4章 CAN总线汽车显示仪表设计方案 4.1 系统总体设计思路 4.1.1 嵌入式汽车虚拟仪表系统整体设计方案。本部分内容是项目初

13、期必须重点完成的内容,是项目能否实现预期指标的关键部分之一,需首先对汽车虚拟仪表必须达到的各项性能指标、实现的功能、可接受的成本及拟采用的新技术等进行综合分析,确定出系统最终采用的软硬件实现方案,并在此基础上完成硬件选型工作。 4.1.2 基于CAN总线及TFT-LCD显示技术的硬件平台设计本部分内容的研究是建立在(1)所确立的硬件实现方案上的,研究的重点在于CAN总线技术和TFT-LCD技术在汽车上的硬件实现方式。在此基础上,围绕选取得嵌入式核心处理器设计出整个系统的硬件电路图,然后做出PCB板及其它支撑结构,焊接元器件,实现系统的硬件集成。 4.1.3 确定系统内核、设计驱动程序,搭建汽车

14、虚拟仪表软件开发环境对应嵌入式系统,为了能够充分、高效的利用系统的硬件资源,必须为其配备操作系统。目前,可用于嵌入式系统的操作系统有多种,但各有特点,需通过系统功能需要、开发难易度等合理选取。此部分的重点研究内容是在操作系统上设计传感器、输入设备、TFT-LCD屏等的驱动程序,良好的驱动程序,有助于充分发挥各硬件设备的功能,提升整个系统的性能指标。 4.1.4 嵌入式车载仪表信息处理算法、显示系统显示界面的设计及软件实现 本部分是整个项目的重点研究部分,研究的内容包括虚拟表盘显示图形设计、虚拟表盘应用软件程序结构流程设计,在此基础上采用一种高级计算机语言,编写出简洁、高效的程序代码,实现虚拟表

15、盘的显示功能。 4.2 方案选择及可行性分析 4.2.1 虚拟仪表硬件方案选择根据系统功能、性能需要,拟通过如图4-1所示系统结构框图构建虚拟仪器的硬件平台。图4-1 虚拟仪表硬件结构框图该硬件平台可分为如下两个部分:第一部为核心处理器部分,本部分负责虚拟仪表盘的实现、CAN总线数据接收、实时刷新显示仪表信息。考虑到ARM系列处理器的强大的处理能力和完善的开发工具,这里选用自带CAN模块的ARM Cortex-M3系列处理器STM32作为该虚拟仪表系统的核心处理器。通过对开发成本以及可靠性等综合分析,最终确定采用STM32F103VET6处理器。选取TFT-LCD作为虚拟仪器系统的显示屏,是该

16、项目的创新之处,是本项目的研究重点之一。先根据需要选择所需TFT-LCD屏,然后设计TFT-LCD控制器,编写驱动程序。根据多方面考虑,本设计采用3.2寸TFT-LCD屏。第二部分为汽车状态信号采集部分,包括车速、灯光信号、油量等传感器以及信号预处理电路,负责汽车状态参数信号的采集和预处理。为了降低设计成本,各部分信号均通过模拟完成调试。为了提高设计的可靠性,本设计增加了CAN调试处理器模块,本模块目的是产生汽车所需的模拟数字信号,如车速(模拟信号),灯光灯(数字信号),将产生的信号通过CAN总线发送给核心处理器。如此设计,不仅模拟了汽车各种信号还检验了CAN总线。本模块硬件电路采用STC89

17、C58RD+SJA1000+SJA1050。 4.2.2 虚拟仪表软件方案选择虚拟仪表软件部分是虚拟仪表系统能否实现其全部功能、达到预定效果的关键。虚拟仪表软件开发主要有2个内容:开发环境的搭建、虚拟仪表应用程序的设计,其软件结构框图如图4-2所示图4-2 虚拟仪表的软件结构图选择一个合适的嵌入式操作系统,在该操作系统平台下编写虚拟仪表的驱动程序和应用程序,再选择一款图形化界面开发工具库设计虚拟仪表软面板。应用程序的主要功能是,当接收到信号后,将其有用数据提取并加以存储,然后调用仪表显示程序,将需要的显示内容显示到不同的虚拟仪表盘中,同时判断各项参数是否正常,若出现异常则调用报警子程序。具体流

18、程如图4-3。图4-3 应用程序流程图通过对可行性论证,本设计核心处理器软件最终采用KEIL开发平台、uC/OS-II操作系统以及uC/GUI图形支持软件来实现。第5章 系统硬件方案 5.1 主控芯片系统主控芯片采用STM32F103VET6处理器,外围模块包含TFT-LCD显示模块、JTAG调试模块、电源模块、CAN收发器模块。 5.1.1 单片机最小系统STM32单片机支持串口下载和JLINKV8。两种下载方式STM32F103第94号脚BOOT0设置有点不一样,在此需要注意。采用串口下载时,下载程序时,BOOT0必须拨到VCC,下载完后程序需要运行,BOOT0必须拨到GND。采用JLIN

19、KV8下载时,BOOT0不做要求,但是下载完后程序需要运行,BOOT0必须拨到GND。本设计采用JLINKV8下载,因此设置BOOT0一直为GND。STM32系统时钟有HSI振荡器时钟(8M)、HSE振荡器时钟(416M)、LSE时钟(32768Hz)。最小系统原理如图5-1所示。图5-1 最小系统原理图 5.1.2 电源模块电源模块采用多种供电方式,支持USB供电、稳压电源供电等,STM32工作电压为3.3V。对输入5V采用AMS1117-3.3进行稳压。本模块需要两种地供单片机的模拟地和数字地,因此采用电感电容起一个隔离滤波作用,降低两地之间的干扰。旁路电容起滤波作用,降低电源的高频干扰。

20、电源模块原理如图5-2所示。图5-2 电源模块原理图 5.1.3 CAN收发器模块每个CAN节点需要三部分组成:控制器、CAN控制器、CAN收发器。接核心控制器的CAN节点控制器当然是STM32,由于STM32内部集成了一个bxCAN模块,所以CAN控制器也是STM32,本设计所使用的收发器是TJA1050。在总线末端均接有抑制反射的终端负载电阻,阻值为120。CAN收发器原理如图5-3所示。图5-3 CAN收发器原理图 5.1.4 JTAG调试模块本设计采用JTAG下载调试核心控制器程序。由于JTAG采用的是并口与电脑相接,而现在电脑很多都不具备并口接口。为了方便调试,本设计的调试工具使用J

21、LINK。JLINK实现USB转JTAG功能。JTAG接单片机接口如图5-4所示。图5-4 JTAG接口 5.2 TFT-LCD显示模块因为STM32内部没有集成专用的液晶屏控制接口,所以在显示面板中应自带含有驱动芯片的驱动电路,STM32芯片通过驱动芯片来控制液晶屏,与STM32接口电路如图5-5。本设计选用3.2寸TFT-LCD屏(240*320)。它使用ILI9341芯片控制液晶屏。 图5-5 TFT-LCD接口后面部分ILI9341控制器介绍摘自野火团队零死角玩转STM32高级篇P5558。在此感谢野火团队的辛勤付出。 5.2.1 ILI9341控制器结构液晶屏的控制芯片内部结构非常复

22、杂,在此只做简单介绍。ILI9341控制器内部框图如图5-6所示。其最主要的是位于中间GRAM(Graphics RAM ),可以理解为显存。GRAM中每个存储单元都对应着液晶面板的一个像素点。它右侧的各种模块共同作用把GRAM存储单元的数据转化成液晶面板的控制信号,使像素点呈现特定的颜色,而像素点组合起来则成为一幅完整的图像。框图的左上角为ILI9341的主要控制信号线和配置引脚,根据其不同状态设置可以使芯片工作在不同的模式,如每个像素点的位数为6、16还是18位;使用SPI接口还是8080接口与MCU进行通讯;使用8080接口的哪种模式。MCU通过SPI或8080接口与ILI9341进行通

23、讯,从而访问它的控制寄存器(CR)、地址计数器(AC)、及GRAM。在GRAM的左侧还有一个LED控制器。LCD为非发光性的显示装置,它需要借助背光源才能达到显示功能,LED控制器就是用来控制液晶屏中的LED背光源。图5-6 ILI9341控制器内部框图 5.2.2 像素点的数据格式图像数据的像素点由红(R)、绿、蓝三原色组成,三原色根据其深浅程度被分为0255个级别,它们按不同比例的混合可以得出各种颜色。如R:255,G:255,B:255混合后为白色。根据描述像素点数据的长度,主要分为8、16、24及32位。如以8位来描述的像素点可表示28=256色,16位描述的为216=65536色,称

24、为真彩色,也称为64K色。实际上受人眼对颜色的识别能力的限制,16位色与12位色已经难以分辨了。ILI9341最高能控制18位的LCD,但为了数据传输简便,我们采用它的16位控制模式,以16位描述的像素点。按照标准格式,16位的像素点的三原色描述的位数为R:G:B=5:6:5,描述绿色的位数较多是因为人眼对绿色更敏感。16位的像素点格式如图5-7所示。图5-7 16位像素点格式图中的是默认18条数据线时,像素点三原色的分配状况,D1D5为蓝色,D6D11为绿色,D13D17为红色。这样分配有D0和D12位是无效的。若使用16根数据线传输像素点的数据,则D0D4为蓝色,D5D10为绿色,D11D

25、15为红色,使得刚好使用完整的16位。RGB比例为5:6:5是一个通用的颜色标准,在GRAM相应的地址中填入该颜色的编码,即可控制LCD输出该颜色的像素点。如黑色编码为0X0000,白色编码为0XFFFF,红色编码为0XF800。 5.2.3 ILI9341的通讯时序目前,大多数的液晶控制器都使用8080或6800接口与MCU进行通讯,它们的时序十分相似,野火以ILI9341使用的8080通讯时序进行分析,实际上ILI也可以使用SPI接口来控制。ILI9341的8080接口有5条基本的控制信号线:1、 用于片选的CSX信号线;2、 用于写使能的WRX信号线;3、 用于读使能的RDX信号线;4、

26、 用于区分数据和命令的D/CX信号线;5、 用于复位的RESX信号线。其中带X的表示低电平有效。除了控制信号,还有数据信号线,它的数目不定,可根据ILI9341框图中的IM3:0来设定,这部分一般由制作液晶屏的厂家完成。为便于传输像素点数据,野火使用的液晶屏设定为16条数据线D15:0。使用8080接口的写命令时序图如图5-8所示。由图可知,写命令时序由CSX信号线拉低开始,D/CX信号线也置低电平,表示写入的是命令地址,以WRX信号线为低,RDX信号为高表示数据传输方向为写入,同时,在数据线17:0输出命令地址,在第二个传输阶段传送的为命令参数,所以D/CX要置高电平,表示写入的是命令数据。

27、当我们需要向GRAM写入数据的时候,把CSX信号线拉低后,把D/CX信号置为高电平,这时由D17:0传输的数据则会被ILI9341保存至它的GRAM中。图5-8 使用18条数据线的8080接口写命令时序 5.3 辅助调试硬件电路辅助调试硬件模块由单片机模块、按键和LED模块、MAX232模块、CAN处理器模块和CAN收发器模块组成。辅助调试硬件电路作用是通过CAN总线为STM32传输汽车信息。本设计汽车信息采用模拟实现。模拟信号由电位器实现,数字信号由按键模拟。具体硬件电路详见附录。第6章 软件及算法设计方案 6.1 系统软件移植 6.2 驱动程序设计 6.2.1 STM32驱动TFT-LCD

28、屏ILI9341的8080通讯接口时序可以由STM32使用普通I/O接口进行模拟,但这样效率较低,STM32提供了一种特别的控制方法使用FSMC接口。 FSMC简介FSMC(flexible static memory controller),译为静态存储控制器。可用于STM32芯片控制NOR FLASH、PSRAM、和NAND FLASH存储芯片。其结构如图6-1所示。本设计使用FSMC的NORPSRAM模式控制LCD,所以在此重点分析框图中NOR FLASH控制信号线部分。控制NOR FLASH主要使用到信号线如图6-2所示。根据STM32对寻址空间的地址映射,如图6-3所

29、示。地址0x6000 00000x9fff ffff是映射到外部存储器的,而其中的0x6000 00000x6fff ffff则是分配给NOR FLASH、PSRAM这类可直接寻址的器件。当FSMC外设被配置为正常工作,并且外部接了NOR FLASH,这时若向0x6000 0000地址写入数据0xffff,FSMC会自动在各信号线上产生相应的电平信号,写入数据。该过程的时序图如图6-4所示。图6-1 FSMC结构图图6-2 FSMC控制NOR FLASH的信号线图6-3 NOR FLASH 存储器映像图6-4 FSMC写NOR时序图它会控制片选信号NEx选择相应的某块NOR芯片,然后使用地址线A25:0输出0x6000 0000,在NEW写使能信号线上发出写使能信号,而要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论