1引言
在电子技术迅速发展以及在汽车上广泛应用的今天,汽车电子化程度越来越高。汽车电子系统中电子控件繁多、通信复杂度增大必然导致整车布线庞大而且复杂,安装空间紧缺,运行可靠性降低,故障维修难度增大。并且为提高信号利用率,要求数据信息互通,资源共享,传统的电气系统点对点的通讯方式已远不能满足这种需求。对上述问题,在已有成熟的计算机网络和现代控制技术的基础上,汽车网络技术应运而生。通过总线将汽车上的各种电子装置与设备连成一个网络,实现设备之间的信息共享,既减少了线束, 又可更好地控制和协调汽车的各个系统,使汽车性能达到最佳。
2系统硬件设计
本硬件系统所设计的具备数据处理、数据存储、数据通信、参数设置、显示等功能,能够很好地对传感器采集到的车速、车内温度、发动机运行状态、水温以及油量等数据进行传输、处理、存储,并通过显示屏显示,使驾驶员及时了解车体总的运行状况。系统按功能主要分为处理器模块、USB接口模块、存储模块、 UART异步串行口模块、CAN模块、10/100M以太网接口模块、显示模块以及电源。系统总体结构如图2.1所示。
2.1 处理器模块
该系统采用Samsung公司开发的一种32位RISC微处理器,内含一个 ARM920T内核,芯片中集成了16KB 指令Cache、16KB 数据Cache、MMU、外部存储器控制器、NANDFlash控制器、1个LCD控制器、SDRAM控制器、 3个通道两个独立的 UART、4个通道的DMA、 8通道的10位ADC、触摸屏接口、IIC总线接口、1个USB主机接口,1个USB设备接口、117位通用I/O口和24位外部中断源。 S3C2410x支持从NAND Flash启动,系统采用NAND Flash与SDRAM组合,可以获得非常高的性价比。
2.2USB接口模块
S3C2410的USB支持USB1.1版本,由悬空和唤醒功能。USB设备控制器可以用DMA接口提供一个高性能完备的速率功能控制解决方案,允许批量传输、中断传输和控制传输。S3C2410扩展USB十分方便,按照USB1.1标准协议连接即可,可以同时支持USB的低速和高速传输。
2.3UART串行口模块
UART,指的是异步串行口。在 ARM9微控制器中包含有两个UART0和UART1。UART0仅提供TXD和RXD信号引脚,UART1增加了一个调制截调器 MODEM接口,其余方面两者都是完全相同的。
2.4 CAN模块
本系统采用 Philips公司生产的适合汽车环境和一般工业系统环境的独立 CAN控制器MCP2510。MCP2510支持 CAN2.0B,而且具有一些新特征,应用非常广泛,是比较典型的独立CAN控制器。SJA1000有两种操作模式,即基本CAN模式和具有很多扩展功能的Peli CAN模式。
2.5显示模块
由于本系统选用芯片已集成了LCD控制器,所以只要选择合适的 LCD显示屏即可。系统选择SHARP公司的LQ080V3DG01显示屏。 LQ080V3DG01是一款 TFT-LCD显示模块,它由彩色TFT-LCD模板、驱动电路、控制电路、电源电路和背光单元组成,显示分辨率为RGB640×480,具备3.3V和 5V两种供电方式。
3驱动程序设计
车载网络系统的软件由三部分组成:实时操作系统、硬件驱动程序和运行于操作系统、 10/100M以太网USB存储设备、 USB鼠标、 USB键盘、 GPRS/CDMA、 GPS 之上的应用程序。实时操作系统采用源码公开的操作系统。硬件驱动程序主要为USB设备驱动、CAN控制器驱动、串口驱动和LCD控制器驱动。
3.1 USB设备驱动程序的设计
Linux的USB内核子系统中,提供了几个与设备驱动程序开发直接相关的核心数据结构,定义于内核源代码的<linux/usb.h>中。限于篇幅,下面只讨论在 Linux下设计一个典型 USB设备驱动程序的通用架构流程。
以上即为Linux中一个典型USB设备驱动程序的框架,通常包含设备初始化、设备卸载、设备打开、设备释放以及对设备进行读、写、控制等部分,是一种相对固定的格式。
评论
加载更多