




已阅读5页,还剩79页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
车载数字化仪表系统软件设计毕业论文目 录摘 要I第一章 绪论11.1 选题的意义与研究现状11.2 设计的理论依据31.3 论文总体介绍5第二章 嵌入式系统的设计及主要控制芯片说明62.1 系统工作原理62.2 设计开发的主要任务62.3 系统软硬件开发平台的选择72.3.1 ARM微处理器72.3.2 CPU选型82.3.3 Nand FLASH92.3.4 嵌入式操作系统的选择102.4 本章小结12第三章 内核定制与驱动移植133.1 完整的Windows CE.net系统的内容143.2 建立基本的操作系统镜像143.2.1 启动Platfrom Builder做选择153.2.2 生成操作系统镜像173.2.3 调式操作系统镜像203.2.4 建立当前平台的SDK203.3 驱动移植223.3.1 CANBus驱动移植223.3.2 TFT屏、USB等驱动程序的添加223.4 嵌入式系统的调试准备233.4.1 Anchor USB EZ-Link Cable驱动安装233.4.2 利用ActiveSync建立通讯连接243.4.3 应用程序远程调试253.4.4 WINCE映像自启动设置263.5 应用程序的封装与自启动设定273.6 本章小结27第四章 汽车控制器局域网(CAN)284.1 CAN总线原理284.1.1 CAN层的定义284.1.2 CAN报文帧类型格式304.2 CAN独立通信控制器SJA1000334.2.1 CAN模块SJA1000控制功能334.2.2 S3C2410与SJA1000总线接口设计344.3 CAN总线通信应用层协议的定义344.3.1 标识域定义354.3.2 数据域定义354.4 本章小结37第五章 应用程序的设计与开发385.1 CAN通信模块405.1.1 打开CAN驱动415.1.2 设置CAN验收过滤器、通信波特率、发送模式425.2 数据处理及液晶显示模块485.2.1 背景图片加载495.2.2 速度、转速、油温等表盘的设计505.2.3 油量表的设计575.2.4 报警(声光)的设计595.2.5 后视的设计(有滚动文字提示设计)635.2.6 事故追忆的设计665.2.7 其他设计和几个关键技术715.3 本章小结75第六章 课题结论和展望776.1 课题结论776.2 未来展望77参考文献79附录80致谢83第一章 绪论1.1 选题的意义与研究现状随着汽车行业的飞速发展以及家用汽车的普及,车载信息对驾驶员的重要性也越来越大。通过查阅有关国内外文献和调查国内汽车车载信息系统的情况了解到:随着交通部门对汽车车载信息的重视越来越高,开发汽车电子数字车载系统己经成为汽车车载系统领域的热点技术。车辆仪表是驾驶员与车辆进行信息交流的重要接口和界面,它是安全行驶和经济行驶不可缺少的装置。随着电子技术的发展,车用仪表开始由传统的机械式向电子式方向发展。传统仪表一般是机电式模拟仪表,只能为驾车人员提供汽车运行中必要而又少量的数据信息,已远远不能满足现代汽车新技术、高速度的要求。我国的车载仪表目前主要处于第3代和第4代,一些中高档汽车第四代配置的较多。车载信息设备的开发起步也较国外慢很多,且在功能设置、性价比、与交通大系统的兼容性以及与整车的匹配设计方面和国外产品存在明显差距。国产的车载信息设备功能单一,几乎清一色用于商业车队调度,市场容量大的基础车辆的车载信息设备的开发还比较少。有些国产的车载设备集成了GSM、GPS,却仅用于反劫防盗,性价比较低。这与我国智能车载信息系统的开发起步较晚有关,也与我国的智能交通系统的开发和建设的不完善有关。我国目前主流的大多数汽车仪表都存在着以下的缺陷:(1)精度不高。传统的汽车仪表在低速区的基本误差相当大,在低速区的线性也是很差,而在转速表、油量表和水温表等都有类似的问题。(2)分度不均匀。由于传统汽车仪表的指针位置是由合成磁场确定的,其线性差的问题难以解决,故常采用低速区和高速区不均匀分度方法加以纠正,但这样会导致高速区和低速区指示精度降低和分辨率下降。(3)可靠性差。由于传统的汽车仪表由针轴、游丝、线包、磁屏蔽罩和机械零件构成,其故障率很高。国内汽车仪表行业在整体上仍滞后于整车的发展,与国外相比有很大的差距,如产品技术水平低,造型单调,产品质量可靠性和耐久性差,数字化程度低等。进行技术创新,寻求和确定我国汽车仪表产品的发展方向,研制开发新一代汽车仪表产品,使得汽车仪表产品的更新换代势在必行。汽车仪表电子化方向发展主要表现在以下几个层次:第一层是部分电子化指示或控制机构与传统汽车仪表组合在一起使用,电子化部分只是为了克服诸如磁感应式车速里程表、发动机转速表等精度不同、误差大、质量不可靠的问题而部分使用;第二层是整个汽车仪表的控制或显示部分均采用电子化技术,实现电子化汽车仪表;第三层是结合计算机技术和因特网技术实现汽车仪表智能化和信息与控制中心化。由于现代汽车仪表所要显示的内容和信息种类越来越多,精度越来越高,传统电气式仪表难以满足不同层次的要求,因而汽车仪表的电子化和数字化将成为必然趋势。随着科学技术的飞速发展,汽车上的电子装置越来越多,从发动机控制到传动系控制,从行驶、制动、转向系控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车电气系统形成了一个复杂的大系统,并且都集中在驾驶室控制。若采用传统的系统通信方式,必然造成庞大的布线系统。汽车电器的布线是先将要布的线制成线束,然后再把线束装在纵梁下等看不到的地方,这些线路本身没有故障检测功能,一旦线束中出了问题,不仅查找相当麻烦,而且维修也很困难。在后置式发动机空调大客车上,驾驶室和发动机及空调器之间的连线又明显加长,使布线中的矛盾进一步加深。参照国外汽车行业的现状,选择CAN作为汽车的通信总线,是解决上述问题的良好途径。控制器局部网CAN(Controller Area Network),属于现场总线的范畴,是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制和测试仪器之间的数据交换而开发的一种有效支持分布式控制或实时控制的串行通信网络。它是一种多主总线系统,理论上,单元数目是无限的,实际的单元总数受限于延迟时间或者总线的电气负载。CAN的应用范围遍及从高速网络到低成本的多线路网络。CAN总线具有很强的纠错能力,可在抗高噪声干扰的环境中使用,因此,在自动电子领域的汽车发动机控制部件、传感器、抗滑系统、信号传输等方面得到广泛应用。CAN总线的通信实时性强,它的数据传输速率可高达1Mbps,并且各节点使用相同的位速率。CAN总线的通信介质可以是双绞线、同轴电缆或者光导纤维,通过标准的插接件能够方便的连接。CAN总线是最早具有国际标准的现场总线。同时也是所有现场总线中价格比较便宜、开发手段比较简便的一种现场总线技术。CAN总线技术的引入,不仅可以大大简化布线,实现数据共享,提高可靠性,而且为汽车的智能化提供了无可比拟的拓展空间。是汽车发展的划时代的革命。资料表明,目前世界上大部分著名的汽车制造商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用CAN总线技术来实现汽车内部控制系统与各检测和执行机构间的数据通信.由于其高性能、高可靠性、及独特的设计,CAN越来越受到人们的重视。适应CAN总线的广泛应用和电子显示技术的发展,汽车仪表必须与汽车上其它装置交换数据,即要求汽车仪表作为“汽车局域网”中的节点,接入到汽车的计算机系统总线上,而这是传统汽车仪表所无法胜任的,这就必然推动了汽车仪表的升级换代。本文设计并实现了全数字化仪表系统。该仪表系统采用嵌入式计算机技术,能够高精度和高可靠性地检测车辆运行参数,以虚拟仪表形式直观显示,具有灵敏度高、记录信息量大、故障追忆、具有电子后视、侧视和事故追忆的功能。仪表的维护简便、应用灵活、灵巧美观、成本低、一表多用。汽车仪表的数字化技术可推动我国汽车电子化的进程,而且具有缩短与国外汽车电子技术水平的差距,迅速赶上国际水平的重要意义。1.2 设计的理论依据本着数字化、简约化、多功能、低成本和高可靠性的设计思路,参照国内外成功案例,结合国内汽车仪表现状,查阅大量资料文献,提出“ARM LCDWINCE”的大胆设想,并进行实地调查研究和可行性分析。从要显示的信息量入手,选用具体型号的LCD显示屏,进行确定支持其能够良好运行的硬件平台,然后根据硬件平台条件选择合适嵌入式操作系统,选定适宜的软件开发环境。软件编制调试完毕后,进行操作系统内核定制,裁减出最小操作系统,并将应用程序与最小系统在仿真环境下进行联合调试。最后将应用程序与最小系统封装,下载固化到硬件平台,并实现开机自动运行。本课题致力于全数字式汽车液晶智能仪表系统的开发和研究,深入讨论了该系统平台的设计思想与实现方法,根据要求,自制内核,提出了在嵌入式WINCE平台上用液晶显示屏图形化显示复杂车载信息的方法。理论上是作为汽车CAN总线上的节点,通过CAN总线提取车速、发动机转速、油温、油压、冷却水温度及其它车况信息等各种数字量和模拟量,经ARM微处理器分析计算,采用表盘和数字显示及图形化动态LCD显示。还可以通过触摸屏进行交互响应,既为驾驶员对汽车状态的了解提供尽可能丰富的交流界面,又可以为相关人员对汽车行驶后的各种信息状态的分析提供数据依据。在本课题的开发中,应用程序的编制是难点,是关键,是核心。经过反复分析论证,本课题选定三星公司的S3C2410 ARM微处理器作为核心CPU;64M Nand FLASH(K9F1208)为程序存储器;64M SDRAM(K4S281632)为系统运行随机存储器;SJA1000 CAN控制器负责CAN报文的接收与发送;LCD进行GUI图形界面的显示,选用MicrosoftWindows CE作为嵌入式操作系统,运用Microsoft Platform Builder进行CAN接口、SD、USB、LCD、触摸屏等驱动程序移植、WINCE操作系统内核定制与移植、SDK生成与应用程序的打包封装,选用Embedded Visual C+语言作为软件开发平台,进行程序编写与GUI设计与自定制模拟器联合调试,最后,对硬件平台进行串口调试、USB下载与烧写固化,并实现了应用程序的开机自动运行。1.3 论文总体介绍本设计第一章介绍论文选题的意义和研究现状,以及设计的理论依据;第二章是嵌入式系统的设计和主要控制芯片的说明,概括介绍系统的工作原理设计开发的主要任务以及软硬件开发平台的选择;第三章是内核制定与驱动移植,主要是介绍如何建立操作系统的镜像、驱动移植和应用程序的封装和自启动设定,是后续模块设计的基础;第四章是汽车控制局域网,主要介绍CAN总线原理、独立控制器SJA1000和CAN总线通信应用层协议;第五章是应用程序的设计与开发,是论文的核心,主要进行通信模块和液晶显示模块的设计;最后一章是课题的结论和展望。第二章 嵌入式系统的设计及主要控制芯片说明2.1 系统工作原理 系统结构如图2.1所示:CAN总线传感器 处理 A/D MCU CAN收发器 开关量 处理 MCU CAN收发器 TFT真彩液晶显示屏TFT控制器S3C2410 ARM微处理器时钟芯片Flash模块CAN接口数据存储器触摸屏控制看门狗电路报警器JTAG调试接口电源模块 SDRAM模块 USB接口摄像头图2.1 系统原理结构图2.2 设计开发的主要任务(1)嵌入式操作系统平台的选定;(2)应用程序开发平台的选定;(3)应用程序的编写与调试,封装与固化;(4)嵌入式操作系统的内核定制与移植;(5)CAN、LCD等关键硬件驱动程序的移植和通信;2.3 系统软硬件开发平台的选择2.3.1 ARM微处理器ARM处理器是世界上最流行的嵌入式处理器,广泛应用于个人通信等嵌入式领域。ARM7处理器虽然功能强大,但是目前已经开始退出主流应用领域,代替它的是性能更加强大的ARM9系列处理器。ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。ARM7处理器采用3级流水线,而ARM9采用5级流水线,如图2-2所示。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1822倍。 取指令 译码 执行ARM9TDMI 如图2.2 ARM9流水线操作5级流水线具体如下:取指:从存储器中取出指令,并将其放入指令流水线。译码:对指令进行译码。执行:把一个操作数移位,产生ALU的结果。缓冲/数据:如果需要,则访问数据存储器;否则ALU的结果只是简单地缓冲1个时钟周期,以便所有的指令具有同样的流水线流程。回写:将指令产生的结果回写到数据寄存器堆,包括任何从存储器中读取的数据。ARM9处理器最大能带动800600象素的LCD显示屏,为了更清晰地显示图形曲线,本系统采用ARM9处理器。LCD硬件电路图见附录图7。2.3.2 CPU选型本系统中央处理器采用韩国三星公司的S3C2410。这块处理器是一款基于ARM920T内核的16/32位RISC嵌入式微处理器,主要面向手持式设备以及高性价比、低功耗的应用。S3C2410的资源包括:1个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)。SDRAM控制器。3个通道的UART。4个通道的DMA。4个具有PWM功能的计时器和1个内部时钟。8通道的10位ADC。触摸屏接口。IIS总线接口。2个USB主机接口,1个USB设备接口。看门狗定时器。117位通用I/O口和24位外部中断源。8通道10位AD控制器。由S3C2410的资源可以看出,这块处理器具有本课题用到的LCD控制器、SDRAM控制器、UART、AD转换及控制器、通用I/O口及外部中断源。这些能够满足本系统的需求。另外,现在市场上带有S3C2410处理器的核心板上大部分都带有64M的NAND Flash和2片32M的SDRAM,能够满足系统所需要的程序存储器和数据存储器的容量的要求。在时钟方面S3C2410也有突出的优点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达203MHz这个工作频率能够使处理器运行于wince操作系统以及进行较为复杂的信息处理。S3C2410支持从NAND Flash启动,NANN Flash具有容量大、比NOR Flash价格低等特点。系统采用NAND Flash与SDRAM组合(硬件图见附录图9),可以获得非常高的性价比。所以本系统采用S3C2410处理器。其供电电源电路在附录图1。2.3.3 Nand FLASHNandFlash是最近些年来才出现的新型Flash存储器,目前世界上主要有Samsung、TOSHIBA和Fujistu生产。这种结构的闪速存储器适合于纯数据存储和文件存储,主要作为SmartMedia卡、CompactFlash卡、PCMCIA ATA卡、固态盘的存储介质,并正成为闪速磁盘技术的核心。硬件电路图如附录图6NandFlash存储器具有以下特点:(1)以页为单位进行读和编程操作,1页为256或512B(字节);以块为单位进行擦除操作,1块为4K、8K或16KB。具有快编程和快擦除的功能,其块擦除时间是2ms;而NORFlash技术的块擦除时间达到几百ms。(2)数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器。(3)芯片包含有失效块,其数目最大可达到335块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将失效块在地址映像表中屏蔽起来。2.3.4 嵌入式操作系统的选择方案1采用WINCE操作系统,方案2采用LINUX操作系统。WINCE的优点是开发过程相对简单,有强大的支持工具,缺点是商业操作系统,有使用费。LINUX的优点是开源、免费但资料可读性较差,开发难度大。综合考虑,本人选择Windows CE。Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。它是精简的Windows 95。Windows CE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于Win32 API重新开发的、新型的信息设备平台。Windows CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C+等)、使用同样的函数、使用同样的界面网格,使绝大多数的应用软件只需简单的修改和移植就可以在windows CE平台上继续使用。Windows CE的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种CPU。它的设计可以满足多种设备的需要,这些设备包括了工业控制器、通信集线器以及销售终端之类的企业设备,还有像照相机、电话和家用娱乐器材之类的消费产品。一个典型的基于Windows CE的嵌入式系统通常为某个特定用途而设计,并在不联机的情况下工作。它要求所使用的操作系统体积较小,内建有对中断的响应功能。Windows CE的特点有:具有灵活的电源管理功能,包括睡眠/唤醒模式。使用了对象存储(object store)技术,包括文件系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(heap)等。拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域连接以及拨号连接,并提供与PC、内部网以及Internet的连接,还提供与Windows 9x/NT的最佳集成和通信。支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是等待低级别的ISR完成。这使得该操作系统具有嵌入式操作系统所要求的实时性。更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入式应用程序。256个优先级别。可以使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性。Windows CE的API是Win32 API的一个子集,支持近1500个Win32 API。有了这些API,足可以编写任何复杂的应用程序。当然,在Windows CE系统中,所提供的API也可以随具体应用的需求而定。在掌上型电脑中,Windows CE包含如下一些重要组件:Pocket Outlook及其组件、语音录音机、移动频道、远程拨号访问、世界时钟、计算器、多种输入法、GBK字符集、中文TTF字库、英汉双向词典、袖珍浏览器、电子邮件、Pocket Office、系统设置、Windows CE Services软件。 内核定制工具为Platform Builder和应用程序开发工具为Embedded Visual C+,后续章节将对其有更为详细的介绍。2.4 本章小结本章看似平铺简介,其实是非常重要的一章。正所谓:思路决定出路!对开发方案、系统的选择和开发工具的筛选,其实凝聚了指导教师和作者的大量心血,也对后续系统的开发有着深远的影响!是课题开发的基石。第三章 内核定制与驱动移植内核制定与驱动移植流程图如下:图3.1 内核制定与驱动移植流程图3.1 完整的Windows CE.net系统的内容完整的操作系统是基于固定的硬件平台来运行的,本课题要求其操作系统镜像基本内容见表3.1:表3.1操作系统镜像基本内容序号项目说明1Bootloader加载Windows CE操作系统镜像的程序2CPU初始代码基于特定CPU系列的初始代码,由WindowsCE提供3驱动程序键盘一般厂商提供不同硬件驱动不同,驱动程序一般由厂方和windowsCE提供,其他驱动设计人员自行编写鼠标声卡显卡IDECOMUSB4CAN总线网络的驱动程序以及数据传输中的通信协议5完成特定功能的应用程序3.2 建立基本的操作系统镜像 Windows CE.net为开发人员提供了一个相当不错的集成开发环境:Platfrom Builder,本人就是借助它和相关提示完成系统镜像的定制、编译与调试工作。3.2.1 启动Platfrom Builder做选择新建Platfrom Builder工程,单击New Platform 按钮,启动工程向导,并选择开发板支持包和基本配置结构,如图3.2和3.3图3.2 开发板支持包图3.3 基本配置结构选择定制设备的方法、基础类库、应用程序、核心服务、通信服务等。如图3.43.6。图3.4 选择定制设备图3.5 完成界面图3.6 操作界面3.2.2 生成操作系统镜像选择图3.7,因为这个版本发布给用户,而调试版本为Debug。图3.7调试版本为Debug选择生成版本后,还需进行下列设置:(1) 打开Build菜单,选择Set Active Configuration项。(2) 打开Platform菜单,选择Seting项。(3) 单击BuildOptions选项卡,选择如图3.8(4) 在环境选项卡里单击New按钮,输入IMGRAM32.向导只是对嵌入式平台内核进行的大致的选择。这还远远不够,还要根据开发需要作进一步的精细设置。在“Platform Settings”设置框的“Build Options”标签页,作如下修改:取消选项Enable CE Target Control Support、取消选项Enable KITL,选中EnableFull Kernel Mode,选中Enable Image for Flash,选中Enable ImagesLargerthan 32MB。由于应用程序要用到基础类库MFC,所以,必须要求WINCE系统内核提供对MFC的支持。在Platform Builder的特性目录里,找到Catalog|CoreOS|DisplayBase devices|Micrlsoft Fondation Classes(MFC),并将它添加到系统内核中。手动添加系统内核支持MFC所需要的mfcce400.dll、olece400.dll、mfcce400d.dll、olece400d.dll动态链接库文件。打开系统内核平台的ParameterView栏,打开YL2410 Parameters|smdk2410|HardwareSpecific Files|Platform.bib文件,在File中添加语句:olece400.dll$(_FLATRELEASEDIR)olece400.dll NK Umfcce400d.dll$(_FLATRELEASEDIR)mfcce400d.dll NK Uolece400d.dll$(_FLATRELEASEDIR)olece400d.dll NK U在PlatformBuilder中正确配置WINCE内核后的界面。这样,所需要的动态库文件就能进入到WINCE系统内核中去。这时,就可以进行编译生成NK.BIN文件了。图3.8 BuildOptions选项卡图3.9 正确配置WINCE内核然后就可以编辑生成镜像。其含有一个NK.BIN文件,这个就是操作系统镜像文件。3.2.3 调式操作系统镜像调试仿真操作系统镜像,是用软件模拟wince运行。仿真调试前要先打开Target菜单,调试如图3.10。图3.10 调试3.2.4 建立当前平台的SDK有了一个正常启动并且调试成功的平台,就可以使用Platform builder来建立平台的SDK了。(1) 首先要停止仿真,停止调试工作。(2) 打开Platform菜单,单击ConfigureSDK 启动配置向导,如图3.113.12(3) 打开Platform菜单,单击BuildSDK菜单项,开始生成SDK图3.11 启动配置向导图3.12 配置向导3.3 驱动移植3.3.1 CANBus驱动移植首先,利用YL2410的厂家提供BSP开发包中的CANBus驱动源程序,在Platform Builder中生成CANBus.dll动态链接库文件,并将CANBus驱动源程序复制到TFT液晶屏刚才建立的YL2410平台目录下打开YL2410工程文件,打开WINCE420PUBLICYL2410RelDirSAMSUNG_SMDK2410_ARMV4ReleasePlatform.bib文件,在File中添加语句:CAN BUS driverCANBus.dll$(_FLATRELEASEDIR)CANBus.dll NK U打开WINCE420PUBLICYL2410RelDirSAMSUNG_SMDK2410_ARMV4ReleasePlatform.reg文件,在File中添加语句:CAN BUS driverHKEY_LOCAL_MACHINEDriversBuiltInCANBusPrefix=CANDll=CANBus.dllOrder=dword:1Index=dword:1执行MAKE Image命令(不能用Builder或Rebuilder命令),重新生成NK.nb0和NK.bin文件。3.3.2 TFT屏、USB等驱动程序的添加打开YL2410工程文件,在Platform Builder的特性目录里,找到Catalog|BSPs|Samsung SMDK2410:ARMV4|DEVICE Drivers,依次将Display,PCMCIA,TOUCH添加到系统内核中,进行重新编译(不要用MAKE Image命令)。USB HOST的驱动添加:找到Catalog|BSPs|Samsung SMDK2410:ARMV4|DEVICE Drivers,将USB HOST添加到系统内核中,然后找到Catalog|CoreOS|Core OS Services|USB HOST SUPPORT,把它添加到系统内核中去。进行重新编译。这是因为USB HOST除了CPU的支持,还需要核心板服务的支持。USB硬件图见附录图8。3.4 嵌入式系统的调试准备可以使用微软公司提供的一些工具,并在进行了一些必要的设置后,就可以在安装了WINCE操作系统的YL2410和Windows桌面系统之间进行通讯连接,从而可以实现文件上传下载,远程调试等功能。3.4.1 Anchor USB EZ-Link Cable驱动安装启动WINCE后,用USB线连好USB DEIVCE和PC的USB端口,如果以前没有 安装WINCE下的驱动,这时插上USB线后,在计算机端会出现“发现新硬件”的提示,这时就需要安装驱动了,驱动的位置在smdk2410/DRIVERS/USB/FUNCTION,安装好USB驱动,就可以进行YL2410和Windows桌面系统之间的通讯连接了。图3.13 YL2410建立USB连接3.4.2 利用ActiveSync建立通讯连接 运行ActiveSync同步工具,并对其进行设置,点击菜单File|Connection Settings,在弹出的设置对话框中,选择允许通过USB口、以太网口进行通讯连接,串口就不用选上了,以免同DNW工具发生冲突。在确认USB线缆连接的前提下,启动YL2410,使用USB鼠标或触摸屏,在WINCE中的控制面板中找到“网络与拨号连接”,新建一个连接,并选择连接类型为“直接连接”,选择设备为“S3C2410 USB Cable”,如图3.13示。在控制面板里的PC连接属性里,启用与桌面计算机的直接连接,并更改连接为“我的连接”。在PC机上的ActiveSync里,执行连接命令,如果连接成功,ActiveSync的图标会变成绿色。ActiveSync的成功连接是使用所有微软远程连接工具的基础。在ActiveSync连接成功后,可以使用ActiveSync的Explore工具进行浏览WINCE资源,也可以在WINCE和PC机之间拷贝文件。图3.14在PB中远程平台属性配置3.4.3 应用程序远程调试 在ActiveSync成功连接的基础上,用交叉网线将YL2410与PC机相连接。在Platform Builder中和Embedded Visual C+中,选择自定制的SDK,在平台管理器中配置为YL2410,点击“Transport”下拉框右边的“Configure”按钮,以设置TCP/TP传输的设置,HOST IP一项填入桌面PC的与YL2410相连的以太网卡的IP地址,必须保证WINCE的IP地址与PC机IP地址在同一段地址内。如图3.14、图3.15 PB中进行网络配置所示。在YL2410的WINCE的网络设置里,也可以在CS8900设置里面利用输入面板,输入指定IP地址,以保证WINCE与PC机在同一网段内。如图3.16 PBYL2410建立网络连接所示。这时,就可以使用Platform Builder中和Embedded Visual C+中的运程工具,也可以使用它们进行应用程序的调试运行。在程序编译完成后,选择原来定制的SDK,点击运行,系统会自动把生成的可执行文件发送到在RAM在建立的WINC映像中运行。图3.15 PB中进行网络配置图3.16 PBYL2410建立网络连接3.4.4 WINCE映像自启动设置 为了让系统复位后能够自动从Nand Flash引导WINCE操作系统,需要烧写“24101oader.bin”引导程序,烧写过程如下:从NOR FLASH启动bios(即将JP1短路块拔出来),因为NAND FLASH的bios已经被wince的格式化破坏掉了。运行dnw.exe,选择“configuration/option”,设置“UART/USB”选项的下载地址为0x30038000。给2410复位以进入bios操作菜单界面,选择“CSB Port|Transmit”,选中要传输的文件为24101oader.bin,然后开始传送24141oader.bin到YL2410。24101oader.bin下载完毕后,程序会询问是否执行它,输入“n”,即不执行,然后按“2”键进行烧写,再按“0键选择BOOT分区,将该文件烧写到NANDFLASH的BOOT区,烧写完毕后,断电,然后将2410上的JP1短路块接上,上电从Nand FLASH启动,按“7”键进行自启动配置,按“2”键将系统自启动参数设为WINCE,复位上电,这时一个全新的WINCE操作系统就运行起来了。3.5 应用程序的封装与自启动设定应用程序必须封装到WINCE内核映像文件NK.nb0,下载到SDRAM 0x30200000并实现自动开机运行。生成NK.nb0(或NK.bin)就包含了应用程序LcdInstrGUI.exe和LcdInstrGUI.lnk,当把相应的内核烧入YL2410中后,LcdInstrGUI.exe程序就会在系统启动时自动运行。3.6 本章小结本章内容较多较复杂,由于本人对这方面知识接触较晚,学的尚浅,所以调试和消化花了很多时间和精力,并且主要步骤是参考WINDOWS CE.net 内核定制及应用开发一书而作,但又不仅仅局限于此书,根据设计需要略有改动,因此SDK的调试和安装同书本有出入。本章主要完成PB中对WINCE嵌入式系统内核进行定制和裁剪,并根本仪表系统需要进行了CANBus、USB、TFTLCD屏等驱动移植。同时,完成了应用程序的封装、WINCE映像的下载烧写及应用程序的自启动设置。是论文后续工作的基础!第四章 汽车控制器局域网(CAN)控制器局域网(ConrtolelrAraeNetwork,CAN)是国际上应用最为广泛的国际标准现场总线之一,已有许多大公司在采用CAN技术,应用范围已不再局限于汽车领域,而向过程控制,机械工业数控机床以及传感器等领域发展。CAN属于总线形式串行通信网络,采用了许多新技术及独特的设计。CAN总线的数据通信具有高稳定性、高灵活性、高可靠性的特点。一个由CAN总线构成的单一网络中,理论上可以挂无数个节点。实际应用中,节点数目受网络硬件的电器特性所限制。随着车用电气设备越来越多,为了解决现代汽车内部用少量的线束实现大量的控制测控仪器、微处理器、传感器和执行机构之间的数据交换问题,基于CAN协议的分布式控制网络逐渐在现代汽车上广泛采用。本课题也是结合CAN总线的优势和汽车总线的发展采用了CAN总线通信网。4.1 CAN总线原理4.1.1 CAN层的定义CAN层的定义与开放系统互连模型(OSI)一致,是基于OSI的网络层定义的。每一层与另一设备上相同的那一层通讯。实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。表41中展示了OSI开放式互连模型的各层。CAN的规范主要是采用三层网络的结构:物理层、数据链路层、应用层。对应物理层的是收发器(Trnaseeiver),主要功能是位编码解码、位定时及同步等。对应数据链路层的器件是CAN控制器(Controller),主要功能是数据传输和远程数据请求服务、滤波及过载通知和恢复管理等。在应用层上主要是用户特殊的应用,对应的器件是MCU。己在工业控制和制造业领域得到广泛应用的标准是DeviceNet,这是为PLC和智能传感器设计的。在汽车工业,许多制造商都应用他们自己的标准。表4.1第七层应用层最高层。用户、软件、网络终端之间用来进行信息交换。第六层表示层将两个应用不同数据格式的系统信息转换为能共同理解的格式。第五层会话层依靠底层的通信功能进行数据的有效传递。第四层传输层两个通信节点之间数据传输控制。如数据重发、数据机错误修复第三层网络层规定了网络连接的建立、维持和拆除的协议。如:路由和寻址第二层数据链路层规定了在介质上传输数据位的排列和组合如数据校验和帧结构第一层物理层规定通讯介质的物理特性。如:电气特性和信号交换的解释CAN的分层结构图和功能如图4.1所示:图4.1 CAN的分层结构图和功能LLC子层接收的报文实际已被接收,并为恢复管理和通知超载提供了信息,在定义目标处理时,存在许多灵活性。MAC子层的功能主要是传送规则,亦即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。同时也要确定,为开始一次新的发送,总线是否开放或者是否马上接收。位定时特性也是MAC子层的一部分。MAC子层特性不存在修改的灵活性。CAN能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为“CANH”和“CANL”,静态时均是2.5V左右,此时状态表示为逻辑“l”,也可以叫做“隐性”。用CANH比CANL高表示逻辑“O”,称为“显性”,此时,通常电压值为:CANH=3.5V和CANL=1.5。4.1.2 CAN报文帧类型格式(1)数据帧(Data Frame):数据帧将数据从发送器传输到接收器。数据帧由7个不同位场组成,包括:帧的起始标志位,仲裁场,控制场,数据场,CRC检查场,ACK应答场和帧结束标志位。数据场的长度可以为零。 图4.2 CAN报文帧类型格式帧起始(标准格式和扩展格式)帧起始(SOF)标志数据帧和远程帧的起始,仅由一个显性位组成。只在总线空闲时才允许站点开始发送(信号)。所有的站必须同步于首先开始发送报文的站的帧起始前沿。仲裁场仲裁场由标识符和远程发送请求位标志组成,标识符的长度为11位,从高位到低位依次发送。控制场控制场包括数据长度码和两个保留位,这两个保留位必需发送显性位。数据长度码为4位,它指出了数据场的字节数目。数据场数据场由数据帧中被发送的数据组成,可以包括08个字节。循环冗余码(CRC)场CRC场包括CRC序列,再加上CRC界定符。应答场应答场包括应答间隙和应答界定符。应答域长度为2个位,包含应答间隙(ACK Slot)和应答界定符(ACK Delimiter)。在应答域里,发送站发送两个隐性位。当接收器正确地接收到有效的报文时,接收器就会在应答间隙期间(发送ACK信号)向发送器发送一显性位以示应答。帧结束每个数据帧和远程帧均由7个隐位组成的标注序列组成。(2) 远程帧(Remote Frame):总线单元发出远程帧,请求发送具有同一标识符的数据帧。远程帧被用来请求总线上某个远程节点发送自己想要接受的某种数据,具有发出这种远程消息的节点受到这个远程帧后,就会尽力相应这个远程传送的要求。所以对于远程帧本身来说是没有数据场的。图4.3 CAN报文远程帧组成图(3) 错误帧(Error Frame):任何单元检测到总线错误就发出错误帧。错误帧由两个场组成,第一个场由来自各个节点的错误标志叠加得到,第二个场是出错界定符。报文在传输过程中,检测到任何一个节点出错的话,即于下一位开始发送错误帧,通知发送端(发送节点)停止发送。错误帧的组成如图4.4。图4.4 CAN报文错误帧的组成(4) 过载帧(Overload Frame):过载帧用在相邻数据帧或远程帧之间提供附加的延时。过载帧也有两个场组成:过载标志和过载界定符。当某次接受数据因为内部原因要求缓发下一个数据帧时,它就向总线发出过载帧。如图4.5。图4.5 CAN报文过载帧的组成4.2 CAN独立通信控制器SJA1000目前市场上最常见的CAN总线产品有很多,最常见的有这样几种:PHILIPS的SJA1000,PSXC591,P8XC592,Motorala的MC68HC05X4/X16/X32,NITEL的8252,682527等。其中PHILIPS的产品系列更为完整,有独立的CAN控制器。PCA82C200和SJAIO00,将微控制器和CAN通信控制器集成为一体的PSXC591和P8XC592,CAN总线收发器82C250,CAN串行I/O器件82C150等,应用也更为广泛。在独立的CAN控制器中,PHILIPS公司首推的新一代功能更为完善的SJA1000。其软件、硬件均设计为和PHILIPS公司已有的PCA82C200相兼容,并增加了许多功能用以支持CAN2.0协议。4.2.1 CAN模块SJA1000控制功能接口管理逻辑(IML)解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。发送缓冲器(TXB)是CPU和BSP位流处理器之间的接口,能够存储发送到CAN网络上的完整信息。缓冲器长13个字节,由CPU写入,BSP读出。接收缓冲器(RXBRXFIFO)是验收滤波器和和CPU之间的接口,用来存储从CAN总线上接受的信息。接受缓冲器(RXB长13个字节)作为接收FFIO(RXFFIO长64个字节)的一个窗口,可以被CPU访问。CPU在此FIFO的支持下可以在处理信息的时候接收其他信息。验收滤波器(ACF)把它其中的数据和接收的识别码的内容相比较,以决定是否接受信息。在纯粹的接收测试中所有信息都保存在RxFFIO中。位流处理器(BSP)是一个在发送缓冲器RXFIFO和CAN总线之间控制数据流的程序装置。它还在CAN总线上执行错误检测,仲裁填充和错误处理。位时序逻辑(BTL)监视串口的CAN总线和处理与总线有关的位时序。它在信息开头弱势支配的总线传输时同步CAN总线位流(硬同步),接收信息时再次同步下一次同步(软同步)。BTL还提供了可编程的时间段来补偿传播延时时间相应位转换、定义采样点和一位时间内的采样次数。错误管理逻辑(EML)负责传送层模块的错误管制,它接收BSP的出错报告,通知BSP和IML统计错误。4.2.2 S3C2410与SJA1000总线接口设计S3C2410的地址总线和数据总线是分开的,不能直接连接到SJA1000,所以需要模拟类似80C51单片机的外部存储器时序才能使用。图4.5电路中,使用一个“或”门和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 2 He worked in an office .教学设计-2025-2026学年小学英语五年级下册外研版(一起)
- 2025签订合同授权书范本
- 第4课 集字临摹练习(二)说课稿-2025-2026学年小学书法西泠版六年级上册-西泠版
- 2025电竞赛事品牌合作合同
- 2025商业银行借款合同范本
- 2025年浙江公务员考试试题真题
- 2025年的物流配送服务合同
- 高中历史 第8课 欧洲的殖民扩张与掠夺说课稿 岳麓版必修2
- 化肥厂化肥进口管理制度
- 2025年上海市租房租赁合同范本
- 高校物业考核管理办法
- 2025年党员党的基本理论应知应会知识100题及答案
- c1满分考试题型及答案
- 【公开课】+地球的运动-地球的公转+课件-2024-2025学年七年级地理上学期人教版
- 绿化工程采购管理制度
- 国家保密培训课件
- 2025至2030中国快递行业发展现状及发展趋势与投资风险分析
- 关于医院“十五五”发展规划(2026-2030)
- 雪花啤酒终端销售协议书
- 贵州省2025年高职院校分类考试招生中职生文化综合英语试题答案
- 配餐公司库房管理制度
评论
0/150
提交评论