车载网络系统硬件及其驱动的设计

发布者:EtherealLove最新更新时间:2012-01-07 关键字:车载网络 手机看文章 扫描二维码
随时随地手机看文章

1引言
   在电子技术迅速发展以及在汽车上广泛应用的今天,汽车电子化程度越来越高。汽车电子系统中电子控件繁多、通信复杂度增大必然导致整车布线庞大而且复杂,安装空间紧缺,运行可靠性降低,故障维修难度增大。并且为提高信号利用率,要求数据信息互通,资源共享,传统的电气系统点对点的通讯方式已远不能满足这种需求。对上述问题,在已有成熟的计算机网络和现代控制技术的基础上,汽车网络技术应运而生。通过总线将汽车上的各种电子装置与设备连成一个网络,实现设备之间的信息共享,既减少了线束, 又可更好地控制和协调汽车的各个系统,使汽车性能达到最佳。 2系统硬件设计
本硬件系统所设计的车载网络具备数据处理、数据存储、数据通信、参数设置、显示等功能,能够很好地对传感器采集到的车速、车内温度、发动机运行状态、水温以及油量等数据进行传输、处理、存储,并通过显示屏显示,使驾驶员及时了解车体总的运行状况。系统按功能主要分为处理器模块、USB接口模块、存储模块、 UART异步串行口模块、CAN模块、10/100M以太网接口模块、显示模块以及电源。系统总体结构如图2.1所示。
2.1 处理器模块
     该系统采用Samsung公司开发的一种32位RISC微处理器S3C2410,内含一个 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.2  USB接口模块S3C2410的USB支持USB1.1版本,由悬空和唤醒功能。USB设备控制器可以用DMA接口提供一个高性能完备的速率功能控制解决方案,允许批量传输、中断传输和控制传输。S3C2410扩展USB十分方便,按照USB1.1标准协议连接即可,可以同时支持USB的低速和高速传输。

[page]

2.3  UART串行口模块
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 之上的应用程序。实时操作系统采用源码公开的linux操作系统。硬件驱动程序主要为USB设备驱动、CAN控制器驱动、串口驱动和LCD控制器驱动。
3.1 USB设备驱动程序的设计
    Linux的USB内核子系统中,提供了几个与设备驱动程序开发直接相关的核心数据结构,定义于内核源代码的中。限于篇幅,下面只讨论在 Linux下设计一个典型 USB设备驱动程序的通用架构流程。
static struct usb_device_id usb_demo_ids[ ] ={{USB DEVICE(venderid ,productid) } }/ * 用于识别设备的信息* / struct usb_demo_dev{struct usb_device usbdev ; / *指向相对应的特定USB设备*/ struct urb usbdev_irq ; / *用于中断端点处理的URB * / } ;
static struct file_operations usb_demo_fops = { / * 设备文件操作函数集*/ owner :THIS_MODULE read :usb_demo_read ; / * 从设备读数据函数 * / write :usb_demo_ write;  / * 向设备写数据函 * / ioctl :usb_demo_ioctl ;/ * 控制设备状态函数*  / open :usb_demo_open;  / * 打开设备函数 * / release :usb_demo_release ; / * 释放设备函数 * /
}; static struct usb_driver  usb_demo_driver = {probe : probe_demo ; / * 设备初始化函数 * / disconnect : disconnect_demo ; / * 设备卸载函数 *  / fops : usb_demo_fops ; / * 设备文件操作函数集 *  / static int init usb_demo_init (void) {usb_regester (&usb_demo_driver) ; / * 注册一个USB设备* /
} 以上即为Linux中一个典型USB设备驱动程序的框架,通常包含设备初始化、设备卸载、设备打开、设备释放以及对设备进行读、写、控制等部分,是一种相对固定的格式。

[page]

3.2CAN控制器驱动程序的设计
     Linux下驱动程序的编写有特定的规以及一些必要的模块,init_module模块是驱动程序中用来加载设备的,系统初始化时调用。此处用 arm9200_mcp2510_init()作为CAN总线驱动程序的入口函数,他将主要完成对MCP2510初始化,调用 register_chrdev()函数向系统注册字符型设备驱动程序,使用request_irq()函数为CAN总线的中断处理程序。根据传递CAN 数据的要求,设计了如下的数据结构予以存放一帧数据和对接收缓冲区进行管理: Typedef struct{ unsigned int id; / * CAN网络中节点的标志符 * / unsigned char data[8]; /  * 要传的数据,最大为8个字节 * / unsigned char dlc; / * 发送的数据长度 * / int IsExt; / * 判断消息是否为扩展帧 * / }candata; Typedef struct{ Candata MCP2510_Candata[128];  / * 定义一个接收缓冲区 * /
int nCanRevpos; / *  数据存入缓冲区的位置指针 * / int nCanReadpos; / *  数据读出的位置指针 * / int loopbackmode; wait_queue_head_t wq; spinlock_t lock; }MCP2510_DEV;
     数据结构file_operations是驱动程序中一个重要的数据结构,内核就是通过这个结构来访问驱动的。应用程序通过对_read()、_write()、_ioctl()函数调用驱动中相应的程序来读写数据和控制字符设备的工作。
3.3 串口驱动程序的设计串口驱动程序采用查询方式,主要包括串口初始化函数、数据接收函数和数据发送函数。串口初始化函数USIinit()主要是用来设置USART工作是的参数,用户应用程序可以通过调用数据接收函数RevUSData()对接收到的函数进行各种处理。USART的数据接收和发送都是一个主动的过程,因此此函数的设计较为简单。数据发送函数SendUSData()类似于数据接收函数,可以被用户程序调用。
3.4 LCD控制器驱动程序的设计      在驱动LCD设计过程中首要的是要配置LCD控制器,而在配置LCD控制器时最重要的则是

指定帧缓冲区(FrameBuffer)。帧缓冲设备对应的设备文件是/dev/fb*,数据结构如下: Static struct file_operations fb_fops={ ower:THIS_MODULE,  read:fb_read, write:fb_write, ioctl:fb_ioctl, mmap:fb_mmap, open:fb_open,
 }
     其中的函数对具体的硬件进行操作,对寄存器进行设置,对显示缓冲进行映射。初始化函数首先初始化LCD控制器,在Linux中可以用kmalloc()函数动态分配连续LCD显示缓冲区。接着就是初始化一个fb_info结构,补充成员变量,调用register_framebuffer(& fb_info),将fb_info注册入内核。结构fb_info的成员函数: struct fb_ops{
int (*fb_get_fix)(struct fb_fix_screeninfo *fix, int con, struct fb_info *info); int (*fb_get_var)(struct fb_var_screeninfo *var, int con, struct fb_info *info); int (*fb_set_var)(struct fb_var_screeninfo *var, int con, struct fb_info *info);
}

4结束语
本文详细介绍了嵌入式车载网络系统的底层硬件和驱动程序的设计并成功地完成了硬件与软件的调试。本文作者创新点:此网络系统极大地减少了电控装置数,节省了粗大线束占用的汽车宝贵空间资源以及实现了汽车内部电子仪表间的数据共赏、通信与处理,从而提高了汽车的安全性能。

 

关键字:车载网络 引用地址:车载网络系统硬件及其驱动的设计

上一篇:车载导航人机语音交互系统的实现
下一篇:一种基于MMS的低成本汽车安防系统设计与实现

推荐阅读最新更新时间:2024-05-02 21:50

2011年中国集成电路将突破1万亿元
  手机电视、数字电视、车载网络、智能识别等新技术带动集成电路产业快速发展,预计到2011年,中国集成电路市场规模将突破1万亿元。   第十三届国际集成电路展览会10日发布的信息显示,2008年,中国集成电路市场将迎来一个新的增长高峰。由于奥运会赛事观赏将推动手机电视、数字电视等新产品的使用和普及,集成电路的市场需求会明显增加。预计未来几年内,中国集成电路市场有望保持两位数的增长速度,2011年中国集成电路市场规模将达到1.08万亿元。   目前,集成电路已成为全球发展最迅速、竞争最激烈的领域之一。信息产业与电视、娱乐、汽车、医疗设备等传统行业相结合,为集成电路的发展提供了广阔空间。2007年中国集成电路市场规模超过5600亿
[焦点新闻]
车载网络接口的标准要跟上数据递增的速度
翻译自——semiwiki,Roger C. Lanctot 随着高速无线外部连接的引入,汽车制造商及其供应商正在提升汽车的处理能力。这些高速系统承担着收集、处理、解释和传输传感器数据的任务,来避免避碰,最终实现自动驾驶。 Strategy Analytics将于今年10月在德国波恩主办汽车智能架构研讨会,来自Aptiv、美光(Micron)、Valens和Visteon的专家将分享他们的见解。关于车辆架构的争论的核心是:我们在高速公路上观察到的交通堵塞,与日益互联的车辆中形成的数据交通堵塞类似。目前使用的连接和接口显然达不到大众市场系统和改变运输的任务。 要在现实世界的生产车辆中提供最新的先进解决方案,而不是自
[汽车电子]
<font color='red'>车载网络</font>接口的标准要跟上数据递增的速度
针对汽车应用的高能效解决方案
  当今,随着西方汽车市场需求的复苏以及发展中经济体车辆数目的持续增长使燃料消耗和污染不断增加,政府和制造商都在积极探索改善燃油经济性以节约能源、减少排放的途径,汽车中越来越多的电子功能也使 半导体 元件 在车辆中的比重不断激增。面对环保和丰富消费者体验的双重挑战,半导体制造商正在利用其技术专长开发各种符合汽车规范的解决方案。 汽车应用的挑战    汽车电子 市场一直是半导体工业的重要应用领域之一,今天的汽车已不再只是一种交通工具,对安全、舒适和多种功能的需求使电子产品在整车中的成本比例不断上升。最近几年,中国汽车市场连续两位数的强劲增长势头更引起了半导体厂商的关注。   但是,汽车应用使用的器件与普通工业应用要求
[汽车电子]
针对汽车应用的高能效解决方案
松下车载网络安全系统 提升车载网络安全性
据外媒报道,松下于2017年10月10日研发了一款网络安全方案,可供自动驾驶及互联车辆使用。 顾名思义,互联车辆势必依赖于互联网,就如个人计算机与服务器的关系一般。为此,互联车辆将成为网络攻击的新目标。在采用了松下新研发的系统后,车载系统可实时探查到网络攻击并予以拦截防护。 松下车载网络安全系统的特点: 该系统可在初级阶段(早期)探查到网络黑客入侵行为,还能够探查到对车载网络的入侵行为。除应用广泛的控制器局域网络(CAN)外,该系统还与以太网(Ethernet)兼容,该方案已预料到未来的网络入侵行为将波及车载网络,因此为整个车载网络系统提供了全面的入侵探查功能。 其利用云端技术,从各类车辆采集所需的信息,该系统可提前
[汽车电子]
车载AUTOSAR中gPTP协议介绍
AUTOSAR中gPTP协议介绍 相比IEEE802.1AS规范中定义的gPTP协议,AUTOSAR组织结合车载网络应用场景针对其部分内容也做了进一步限制与约束,以便能够更加灵活应用,降低整个系统的集成难度。 AUTOSAR规范中的gPTP主要约束条件如下: 由于车载网络属于静态网络,不支持BMCA算法; 不支持Anounce与Signaling报文的发送与接收; Pdelay_Req不作为开启发送SYNC报文的前置条件; IEEE802.1AS规定不能发送带有VLAN信息的时间同步报文,但AUOTSAR允许使用带有VLAN信息的报文,前提是网关支持转发预留的多播地址01:80:C2:00:00:00. 0F的报文; 报文中的
[嵌入式]
车载AUTOSAR中gPTP协议介绍
是德科技携手温莎大学进行车载网络安全培训
是德科技为汽车工程学生提供高级培训,帮助他们应对软件定义汽车的网络安全挑战 自动化的开源平台采用预编程,支持标准测试场景,并且完全可定制 是德科技(Keysight Technologies, Inc.)日前宣布, 公司将与温莎大学 SHIELD 车载网络安全卓越中心合作,利用 Keysight SA8710A 车载网络安全渗透测试平台为汽车工程学生提供高级网络安全培训。 SHIELD 项目致力于培养工程和计算机科学学生,进而推进和开发车载网络安全解决方案,从而确保未来车辆的安全性和可靠性。 是德科技携手温莎大学进行车载网络安全培训 随着驾驶员期望他们的汽车完全融入自己的数字生活,汽车在本质上正变得更加以
[测试测量]
是德科技携手温莎大学进行<font color='red'>车载网络</font>安全培训
恩智浦为车载网络开发汽车以太网收发器
恩智浦成为采用博通BroadR-Reach技术的首家汽车半导体供应商 中国上海,2011年11月16日 —— 恩智浦半导体NXP Semiconductors N.V. (Nasdaq:NXPI) 近日宣布进军汽车以太网开发领域,成为首家在车载网络产品中采用博通 (Broadcom) BroadR-Reach®以太网技术的汽车半导体供应商。作为车载网络电子元件的头号供应商,恩智浦此举使BroadR-Reach成为车载以太网领域实际的开放式标准。与此同时,博通、恩智浦、飞思卡尔 (Freescale) 和哈曼 (Harman) 近日宣布成立开放技术联盟(OPEN Alliance Special Interest Group)。该
[汽车电子]
美国陆军研究新型网络安全技术 可保护车载网络安全
据外媒报道,美国陆军研究人员研发了一种基于机器学习的新型框架,以改进汽车车载计算机网络的安全性,同时还不影响到其性能。 黑客(图片来源:techxplore.com) 随着将控制权委托给车载计算机的现代汽车在不断普及,美国陆军的该项研究希望能够加大投入,对空中以及陆地平台,特别是重型车辆提供更高水平的网络安全保护措施。 美国陆军作战能力发展司令部(the U.S. Army Combat Capabilities Development Command,DEVCOM)的研究人员与佛吉尼亚理工大学(Virginia Tech)、昆士兰大学(the University of Queensland)以及光州技术学院(Gw
[汽车电子]
美国陆军研究新型网络安全技术 可保护<font color='red'>车载网络</font>安全
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved