当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于ARM9的智能车载系统设计


    引 言
    随着社会经济的发展,汽车已成为人们工作、生活中不可缺少的一种交通工具。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,开发了各种各样的电子控制系统。本文设计一种基于ARM9 S3C2410A的智能车载系统,它能够通过GPS全球定位系统和GPRS无线通信技术,实现车辆定位以及车辆与控制中心之间的数据通信,构建CAN总线控制模块用于采集车辆主要部分的工作状态,实时监控汽车的主要技术参数,并通过LCD模块显示车载信息的综合信息。

1 智能车载系统的功能
    车载智能导航终端应具有如下功能:
    车辆定位 它指通过GPS全球定位系统获取车辆的当前所处位置,包括经度、纬度、运动速度、标准时间以及海拔高度等信息;
    网络通信 它采用GPRS无线通信技术,与监控中心保持联系,实时获取道路交通状况,为交通道路的智能管理提供基础;
    故障检测 它通过CAN总线实时检测汽车的主要技术参数;
    信息显示 它通过LCD液晶屏显示车辆位置、调度信息以及检测到的汽车技术参数。
    智能车载系统可根据用户需要实现其他功能,例如通过GPRS自动报警增加自动报警功能,扩展音频设备和IDE接口设备以增加娱乐功能,通过USB接口连接图像采集设备,对车内外进行视频监控等功能。



2 智能车载硬件系统设计
    本系统以S3C2410A为主控模块,扩展了64 MBNand Flash,用于存放启动代码和嵌入式Linux操作系统等;64 MB SDRAM用作系统运行时的内存;LCD提供了更好的人机交互界面,并通过串口与GPS模块相连,通过UART异步串口与GPRS模块相连,通过SPI接口与CAN总线相连,利用CAN总线挂接传感器,检测汽车主要技术参数,系统框图如图1所示。
2.1 主控模块
    S3C2410A是韩国三星公司面向手持设备以及高信价比、低功耗和低价格而设计的一款基于ARM920T内核的16/32位RISC嵌入式微处理器。它采用5级流水线,资源丰富;带有独立的16 KB的指令Cache和16 KB的数据Cache,64 MB SDRAM,64 MB NandFLAsH,LCD控制器,RAM控制器,NAND内存控制器,3路UART,4路DMA,4路带PWM的定时器,并行I/O口,8路10位 ADC,Touch Screen接口,I2C接口,I2S接口,2个USB接口控制器,2路SPI,其工作频率最高达到203 MHz。
2.2 GPS模块
    GPS模块主要完成GPS定位信息的接收和处理。根据设计性能的要求和节约系统成本的考虑,选用的就是GARMIN公司的GPS25-LVC接收机,其内置了GPS25OEM板。该接收机与主控模块的接口方式采用RS 232兼容TTL的串行口方式,因此设计中将其与S3C2410A的串口1相连。GPS-25LVC与S3C2410A之间信号线仅需要连接GPS25- LVC的TXD1与S3C2410A的TXD1。另外,还要将GPS25-LVC的地线和电源线连接到主控板的地线和5 V电源上。
2.3 GPRS模块
    GPRS模块主要完成车辆与车辆、车辆与控制中心的通信。在本系统中,GPRS模块选用MC35。MC35的数据输入/输出接口实际上是一个UART,它可以与S3C2410中的UART接口直接相连。
2.4 CAN总线模块
    CAN总线模块可以使本系统与其他车载模块的连接,完成收集车辆的状态信息以及进一步控制。CAN总线模块主要包括CAN总线的控制器和收发器,在这里分别选用的是Microchip公司的MCP2510和飞利浦公司的PCA82C250。其中,CAN总线控制器MCP2510实现了CAN总线的协议,CAN总线收发器PCA82C250提供协议控制器和物理传输线路之间的接口。由于CAN总线控制器MCP2510具有SPI接口,因此,系统中将其与S3C2410A的SPI0相连。
2.5 故障检测模块
    故障检测模块主要是对汽车的主要技术参数进行检测,并显示到LCD显示器上,如果检测到故障,会发出报警信号。本文主要检测的技术参数包括燃油消耗量、制动力、转向力、发动机温度、冷却液温度、前照灯,以及车内噪声和尾气等方面。该模块主要是通过各种传感器把各种信号转换为电信号,再利用信号处理电路把电信号进行相应的处理,使其能与CAN总线模块进行数据传输。
2.6 LCD模块
    LCD模块用以实现信息的显示,提供一个良好的人机交互界面。本系统主控模块的处理器S3C2410内置了LCD控制器,支持STN-LCD和TFT- LCD。本文选用夏普公司的TFT-LCD模块LQ080V3DG01,该模块具有640×480的分辨率,18位的颜色深度,可与S3C2410A的 LCD接口直接相连。[!--empirenews.page--]
3 智能车载系统软件设计
    由于Linux具有源代码公开、剪裁方便、移植方便等诸多优点,所以本系统选择嵌入式Linux作为软件运行平台。嵌入式Linux是将Linux内核移植到S3C2410A平台上。嵌入式Linux操作系统不仅可使软件的开发更加灵活,也能使整个系统的可靠性得到提高。该软件设计的具体流程如图2所示。
 



    交叉编译环境是一个由编译器、连接器和解释器组成的综合开发环境。BootLoader是系统加电启动运行的第一段软件代码,类似于PC机的BIOS加上硬盘MBR中的引导程序。它可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核或用户应用程序准备好合适的环境。Linux操作系统的移植是将Linux内核经过重新的剪裁、编译后移入到S3C2410A上。下面主要阐述各模块驱动和应用程序的编写。
3.1 GPS定位功能实现
    GPS模块软件设计的基本思想如下:首先接收完整的NMEA0183语句,然后提取相关的数据(时间、经纬度、速度),再将这些数据送去显示或者发送出去,并且可以保存,以便日后查看。
    由于GPS模块是通过串行口1与S3C2410A进行通信的,因此本文设计了Linux系统下相应的串行口通信程序。串口程序设计具体步骤如下:
    (1)串行口1的初始化:设置串行口1的通信方式为8位数据位,1位停止位,无奇偶校验位。波特率为4 800 b/s。
    (2)一帧一帧接收ASCII码字符信息。
    (3)对每一帧ASCII码字符信息进行数据处理。
    在数据处理过程中,针对需要的定位信息要求,设计了如下的串行通信思想:
    ①以“$GPRMC”为过滤条件,接收定位语句。
    ②在“$GPRMc”之后的59个字符为有用的信息,所以用“59”作为判断定位语句完整的依据。
    ③在数据接收的过程中往往会有两种情况,一种是每帧会得到一个以“$GPRMC”开头的完整语句,另一种是上一帧的后半部分在加下一帧的前一部分共同组成的完整定位语句。
3.2 GPRS通信模块实现
    GPRS模块是借助GPRS无线网络实现数据的无线传输,从而在不同的车辆或车辆与控制中心之间架起沟通的桥梁,所以软件的功能主要是建立无线连接,按照GPRS通信协议传输数据。
    GPRS模块的通信主要是通过串口驱动实现,在嵌入式Linux内核中已经提供了对串设备的支持,因此在配置内核编译选项时,只需要选中对串口设备的支持,就可以实现对GPRS模块的串口数据通信功能。为了实现与Internet的通信,还需要在配置内核编译选项时选中PPP和TCP/IP协议。这样一旦网络连接建立,就可以使用应用程序来实现网络数据的通信。
    本系统数据链路层采用PPP协议,它是一种面向字符的协议,是为在两个对等实体间传输数据包连接而设计的,使用可扩展的链路控制协议LCP来建立、配置和测试数据链路。用网络控制协议族NCP来建立和配置不同的网络层协议,并且允许采用多种网络层协议。一个PPP会话分四个步骤:建立连接、连接质量控制、网络层协议配置和连接终止。
    嵌入式Linux系统内核源自于Linux内核,并保留了对TCP/IP以及其他的网络协议的支持。在嵌入式Linux系统上编写网络应用程序与在 Linux上编写网络应用程序没什么大区别,通常只需要做很小的修改就可以移植到嵌入式Linux系统上。至此,GPRS模块完整地集成到嵌入式终端中。
3.3 CAN模块实现
    CAN总线驱动程序要完成的报文发送、接收等任务都是围绕CAN总线控制器展开的,因此驱动程序主要是对控制器MCP2510内部寄存器进行操作。CAN总线控制器MCP2510的初始化按照以下步骤进行:
    (1)软件复位,进入配置模式;
    (2)设置CAN总线波特率;
    (3)关闭中断,设置ID过滤器;
    (4)切换MCP2510到正常状态;
    (5)清空接收和发送缓冲区;
    (6)开启接收缓冲区,开启中断。
4 结 语
    该系统不仅能够通过GPS和GPRs实现车辆定位以及车辆与控制中心之间的数据通信,还能够通过CAN总线检测汽车主要技术参数,为交通道路的智能管理以及汽车的安全驾驶提供了可靠保障。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统

北京2022年8月30日 /美通社/ -- 近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部...

关键字: 系统设计 英特尔 数据中心 电量

摘要:近年来,受人类活动的影响,各大水域的水质污染问题越来越严重,大部分水资源受到严重污染,水质处理问题亟需解决。分析水体污染情况对改进水质有着重要意义,目前水质监测主要采用人工或无人船的方式。人工监测方式工作量大,影响...

关键字: 水质监测 无人机 系统设计

摘要:根据饶平县高堂水闸重建工程建设实际需求,对高堂水闸运行管理进行实时在线式监控与监测,通过闸门控制、视频监控、水情测报、安全监测和网络通信等系统的设计,为高堂水闸的水工建筑物安全、防洪调度和自动化管理提供技术支持,以...

关键字: 管理信息系统 水利工程 系统设计

湖州2022年7月26日 /美通社/ -- 近日,浙江省科技创新大会在浙江省人民大会堂隆重举行。大会正式颁布2021年度浙江省科学技术进步奖,隆重表彰为浙江科技创新事业和经济社会发展做出突出贡献的科技工作者及团队。...

关键字: 电梯 检测技术 系统设计 零部件

摘要:简要介绍了柴油发电机组和重油发电机组的构成和主要特点,以某发电厂重柴油发电机组系统设计为例,重点分析了重油发电机组燃油系统、润滑油系统、循环冷却水系统、压缩空气系统的设计要点,以提高柴油、重油发电机组的运行效率和运...

关键字: 重油发电机组 特性 系统设计

摘要:针对一种小型消费级水下机器人,分析了其系统总体设计及各关键子系统(推进系统、通信系统、控制系统及其他系统等)设计的要点和方法,举例介绍了一种五推进器小型消费级水下机器人。经验证,该设计方法可以用于同类型水下机器人的...

关键字: 推进器 系统设计 五推进器

提供全面高效的电源管理建模,适用于汽车和工业应用领域 加州山景城2022年5月24日 /美通社/ -- 新思科技(纳斯达克股票代码:SNPS)和Analog Devices, Inc. 近日宣布达成合作,通过...

关键字: ADI 电源系统 系统设计 新思科技

摘要:PLC以其体积小、占用空间小、辅助设施投入少、工作可靠和维修简单等优点,被广泛应用于各个领域。现介绍了一款可对铁、铝及颜色进行材料分拣的装置,分析了该分拣装置的总体结构设计、硬件设计和软件系统设计要点。该分拣装置成...

关键字: 自动分拣 PLC 系统设计

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭