基于S3C44B0X及uClinux操作系统的汽车黑匣子设计

发布者:TranquilMind88最新更新时间:2012-05-10 来源: 中国计量测控网 关键字:S3C44B0  uClinux  汽车黑匣子 手机看文章 扫描二维码
随时随地手机看文章
 

  汽车黑匣子就是汽车行驶记录仪,它是用来记录汽车在行驶中的状态。随着黑匣子在飞机上的成功运用,越来越多的国家也在汽车上运用这种技术。

  1 系统的总体结构

  1.1 需求分析

  根据国家最新出台的汽车行驶记录仪的标准:要求汽车行驶记录仪能够对实时时钟、日期及驾驶时间的采集、记录、储存,车辆行驶速度、里程的测量、记录、储存等,对于事故疑点数据,记录仪应以不大于0.2秒的时间间隔持续记录并储存停车前20秒实时时间对应的车辆行驶速度值及车辆制动状态信号[2]。

  1.2 系统的结构

  本系统采用的主要的硬件是:32位三星的S3C44B0X处理器、信号处理电路、RS232型标准接口和USB1.1标准接口、4M Flash、8M SDRAM、4K FRAM、操作键盘和扩展接口。操作系统用的是uClinux操作系统。系统结构如图一。

  1.3 结构描述

  1、32位三星的S3C44B0X处理器,其内置有RTC(实时时间芯片)可以实现北京时间的日期和时钟,该日期和时钟被用于为记录仪实现所有功能(记录、存储、输出等)标注日期和时钟,同时其强大的其它功能为本系统应用和以后的升级或扩展提供很好的支持。2、信号处理电路处理汽车黑匣子采集的信号,使其满足我们系统的要求。3、本系统配置了RS232型标准接口和USB1.1标准接口,采用USB接口来完成数据从汽车黑匣子到计算机间的通信,使数据间的通信更加的方便和迅速。4、主要是的存储单元是4M的Flash用来存储uClinux操作系统和记录的数据,8M的SDRAM和一块4K的FRAM。当汽车运行时记录仪以0.2s的时间间隔持续记录并储存停车前20s实时时间对应的车辆行驶速度以及包过制动的8个信号量进行记录,并且把其存储在FRAM存储器中。这些数据将作为事故疑点数据。同时记录仪将以0.5min的间隔时间从FRAM中进行采样,把采样的结果存进Flash存储器中。5、软件方面采用uClinux操作系统,可以更好的满足系统稳定性、可扩展性和运用程序的多样性。

  2 关键技术

  2.1 信号数据的采集和处理

  为了降低成本达到可实用性,本系统采用的信号都是从汽车上的各个传感器上直接采取。主要采集的信号有车速信号、制动信号和各个灯光的信号。

  2.1.1 车速信号的采集和处理

  本系统车速信号的采集是汽车上的ABS轮速传感器上的信号。目前ABS传感器轮速传感器广泛采用的是变磁阻式的电磁传感器,通过研究发现ABS传感器发出的信号是正弦波信号,并且信号的频率和汽车的速度成正比关系,因此我们需要把信号的频率转换成相应的电压值,然后再送入A/D转换器。但同时又由于汽车在行驶的时候对ABS传感器发出的信号有非常大的干扰,所以需要在信号进行频压转换前对信号进行处理。

  信号的处理过程为(1)通过限幅电路。由于车轮的转速越快,正弦波信号的幅值越大。所以通过两个稳压二极管将信号的幅值限制到正负5幅以内。(2)通过滤波电路。由于汽车在运行的时候会产生很大的高频干扰信号,因此采用二 阶带反馈的有源滤波器,去除高频干扰信号。(3)通过整形电路,把正弦波信号转换成方波信号。(4)最后通过频压转换电路。转换过程如图二所示。


图二

  2.1.2 制动信号和各个灯光信号的采集和处理

  汽车上的制动和灯光信号的采集都是直接通过汽车上的制动电路或者灯光电路采集而得,其输出都是一个电压为12V的地跃信号,因此我们通过一个光电隔离器来实现抗干扰和稳压。

  2.2 USB接口的设计

  USB即通用串行总线(Universal serial bus),是一种快速、灵活的总线接口。与其它通信接口比较,USB接口最突出的特点是易于使用和传输的速率快。所以USB接口被越来越多的系统所采用。为了实现本系统本项目通过USB接口把汽车黑匣子记录存储的数据传送到计算机或者PDA上,我们把整个系统当成个U盘来考虑,这样就可以方便、快速的实现数据的传送。

  USB组织按设备的不同属性,定义了一系列设备类及设备次类。将这些相同属性的设备组合在一起的优点是,可以同时发展该类以PC主机为主的驱动程序。目前USB中定义了以下类:Audio、Communication、Display、Human Interface、Mass storage、Image、Printer、Power、PC Legacy、Physical interface。因为我们这个项目需要做的是把整个系统当成一个U盘来进行数据的传输,所以需要我们遵循Mass storage协议。同时Microsoft Windows 中提供对Mass storage协议的支持,因此USB 移动设备只需要遵循Mass storage协议来组织数据和处理命令,即可以实现与PC机之间的数据交换。同时在Flash的存储单元组织形式中采用FAT16 文件系统,这样,就可以直接在Windows 的浏览器中通过可移动磁盘来交换数据。[page]

  USB 组织现在定义了Mass Storage 协议传输的两个规范,即:1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 2. USB Mass Storage Class Bulk-Only Transport。但是CBI不能用于高速设备,所以在我们的这个系统中选用第二种传输方式Mass Storage Class Bulk-Only。

  在这种传输模式下,需要注意接口描述符中的一些值的设定。把bInterfaceClass的值设为08,代表本设备为Mass storage Class。把bInterfaceSubClass的值设为06,这样表明USB设备在传输中遵循SCSI协议。这是因为海量存储设备(General Mass Storage Device)是随机存取、基于块/扇区存储的设备。它只能存储和取回来自CPU 的数据。这种设备的接口遵循SCSI-2 标准的直接存取存储设备(Direct Access Storage Device)协议。bInterfaceProtocol的值设为50,即USB设备为Bulk-Only Transport传输模式。

  当设备插入到USB 后,USB 即对设备进行搜索,并要求设备提供相应的描述符。在USB Host 得到上述描述符后,即完成了设备的配置,识别出为Bulk-Only 的Mass Storage 设备,然后即进入Bulk-Only 传输方式。在这种传输方式下,有三种类型的数据在USB 和设备之间传送,CBW、CSW 和普通数据。CBW(Command Block Wrapper,即命令块包)是从USB Host 发送到设备的命令,命令格式遵从接口中的bInterfaceSubClass 所指定的命令块,这里为SCSI 传输命令集。USB设备需要将SCSI 命令从CBW 中提取出来,执行相应的命令,完成以后,向Host 发出反映当前命令执行状态的CSW(Command Status Wrapper),Host 根据CSW 来决定是否继续发送下一个CBW 或是数据。Host 要求USB 设备执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使Host 进行下一步的操作。USB 设备所执行的操作可用图三所示。

  在这里需要注意的是Flash的读写特点是其可随机读,但无法随机写。Flash在写之前必须先擦除,而一擦又必须擦一个Block或者一个sector,因此在擦除某Block或sector 之前必须保存同一个Block或sector 中有关的数据。如果每收到一次数据就进行一次擦、保存、写的操作,系统任务将十分繁重,无法及时响应USB Host 端的请求,因此这个需要通过设置一定大小的缓冲区来解决。

  3 uClinux操作系统

  在进行嵌入式系统设计中,对操作系统的选择是至关重要的,对于系统需求不同需要运用不同的操作系统。本系统考虑的主要是稳定性和安全性,所以运用uClinux操作系统。uClinux操作系统是基本上跟Linux操作系统是一样的。(1)它是免许可证用费同时具有很高的稳定性、安全性和可裁剪性。(2)支持强大的网络功能,这个使我们的系统有更好的扩展性,比如以后在上面实现GPRS等网络功能(3)具有丰富的开放工具,提供C、C++、JAVA以及很多其它的开发工具,这个为我们的应用程序的开发提供了很大方便。(4)具有大量的文档可供我们参考。它们之间最大的不同是是uClinux是了为了满足没有MMU的处理器而特别设计的,即uClinux不能使用处理器的虚拟内存管理技术而是采用的是实存储器管理策略。

  这里有主要的三个方面在移植的过程中是需要注意的。1、如果处理器的核不被uClinux支持,这就需要我们在uclinux/linux-2.4.x/arch/中增加一个新的体系结构,这个工作量将是巨大的。但在我们的这个系统中ARM7TDMI体系结构已经存在uclinux/linux-2.4.x/arch/armnommu/目录中。2、在相同体系结构目录中找一个与你的处理器比较接近的处理器的配置文件进行修改,使之适合你的处理器。如果没有合适的就需要你自己写,同样这个工作量也是相当大的。3、如果本系统的一些外围设备电路不被uClinux所支持,需要自己编写其的设备驱动程序。

  4 结束语

  本汽车黑匣是建立在以32位三星的S3C44B0X微处理器为核心及uClinux操作系统的嵌入式系统,可以更好的满足系统稳定性和运用程序的多样性,因此可以更加完整、精确和多样性的记录下汽车的行驶状态,为事故的分析提供准确的依据,同时也对抑制交通事故起到很大的重要。另外在本系统中我们把整个系统做成U盘,这样可以把记录的数据方便、迅速的传输到计算机或者PDA上。

关键字:S3C44B0  uClinux  汽车黑匣子 引用地址:基于S3C44B0X及uClinux操作系统的汽车黑匣子设计

上一篇:基于ARM9和μC/OSII的多频道数据采集系统的智能化设计
下一篇:基于ARM7和LM35的温度采集系统设计

推荐阅读最新更新时间:2024-03-16 12:59

基于uClinux的远程温度监控系统的实现
作者Email: xiangziyu9942064@163.com 摘要:随着网络技术的发展和市场需求的变化,工业设备实现网络化管理控制已经成为一种必然趋势。本文介绍了基于uClinux的远程温度监控系统的设计和实现方法,并对组播技术加以讨论。 关键词:uClinux s3c44b0x 温度监控 组播技术 引言 当今社会已经进入数字信息技术和网络技术高速发展的后pc(post-pc)时代,嵌入式设备已经渗透到各个领域,逐渐向着网络化方向发展,如视频监控、网络摄像头、远程控制、信息家电等都离不开嵌入式设备与网络的结合。 目前,国内的远程温度监控系统主要是用单片机和pc终端完成,单片机将采集到数据的经串口发送到pc机,
[应用]
基于uclinux的CAN总线嵌入式驱动编程
   1 引言   早期应用于八位单片机软件设计的嵌入式系统主要为前后台系统(或超循环系统),程序大约在几千行以内,由两部分组成,即其应用程序是一个无限的循环,循环中调用函数完成相应的操作,属于后台行为;其中断服务程序处理异步事件,属于前台行为.随着嵌入式系统功能越来越庞杂,如友好的人机界面、网络化、远程监控等.各种任务的优先级不同,传统的设计方法无法完成,程序长达数万行,程序员必须同繁琐的底层硬件打交道,这样效率低下.现代电子技术的发展为嵌入式微处理器提供了更多的外设,通用的如串口、并口、以太网口、现场总线、USB口等.基于免费自由软件Linux发展而来的嵌入式系统uclinux,是一种免费的嵌入式操作系统.uclinux系
[嵌入式]
Blob在S3C44B0上的移植
摘要:Bootloader是嵌入式系统软件开发的第一个环节,它紧密地将软硬件衔接在一起,对于一个嵌入式设备后续的软件开发至关重要。Blob是一款功能强大的Bootloader,S3C44B0是三星公司一款基于ARM7TDMI的嵌入式通用处理器。本文详细介绍Blob在基于S3C44B0的开发板上的运行原理与移植过程。 关键词:S3C44B0 Blob Bootloader 移值 Bootloader对于嵌入式设备来说至关重要,它涉及到许多硬件相关的知识。对于自制的嵌入式开发板,它又是不可跳过的步骤,所以很多人对于它感到很头痛。本文将以一款优秀的Bootloader Blob为例,详细讲解它的运行原理以及在S3C44B0通用处理器
[嵌入式]
基于S3C44B0的串口服务器系统的设计
  0 引言   目前,煤矿瓦斯、负压及电动机、供电等自动化监控装置已在各大矿井广泛采用,甚至在个别矿井已组网运行。但是,各自动化监控装置绝大部分仍然采用RS232 、RS485 或CAN 总线组网方式,严重影响了矿井安全监控系统运行的实时性、可靠性、交互性。而工业以太网从10 M、100 M 带宽发展到现在的千兆网,已成为矿井监控系统的主要组网方式。   因此,如何使现有的基于RS232 、RS485 或CAN 总线的串口设备以以太网的方式组网运行,是目前需要解决的一个问题。本文介绍一种基于S3C44B0的串口服务器系统,该服务器系统可将串口数据转换成TCP/ IP 协议进行数据传输,具有广泛的应用前景。   1  系统硬
[单片机]
基于<font color='red'>S3C44B0</font>的串口服务器系统的设计
S3C44B0的可用I/O口分析
  PA0~PA8:做地址线, 最好不用   PA9 :如果不需要扩展32M的存储器, 可用(仅做输出)   PB0~PB10:SDRAM接口和片选线, 最好不用   PC0~PC3:如果不需要IIS音频接口, 可用   PC4~PC7:如果不需要外接LCD, 可用   PC8~PC9:如果不需要使用外部DMA, 可用   PC10~PC15:如果不需要使用串口1, 可用   PD0~PD7:如果不需要外接LCD, 可用   PE0: 如果不需要作为时钟输出, 可用   PE1~PE2:串口0的数据输入输出, 最好不用   PE3~PE7:定时器0~4输出, 可用   PE8: 如果不需要IIS音频接口, 可用   PF0~PF1
[单片机]
汽车黑匣子”仅是昙花一现吗?
  能记录汽车行驶状况,还能拍摄到车身周围的视频画面,“汽车黑匣子”日渐受到不少有车一族的青睐,但专家认为这一装置还不是很完善,消费者应理性对待。请关注——   前不久,北京市交管局根据公安部通知公布了三项机动车管理新政。新政要求,从2011年1月1日起,大中型客车(包括长途客车和旅游客车)必须按规定装备汽车行驶记录仪(俗称“黑匣子”)。一时间,“汽车黑匣子”成为人们探讨的话题,“汽车黑匣子”与人们熟知的飞机黑匣子有什么异同,在日常驾驶中是否应该自觉安装…… “汽车黑匣子”渐成有车族新宠   在北京中关村e世界、科贸电子商城、海龙电子城等几家大型电子商场,与热卖的各类笔记本电脑、数码相机等产品相比,汽车行驶记录仪并未被
[汽车电子]
UC/OS和uClinux的比较
摘要:嵌入式操作系统是嵌入式系统应用的核心软件。本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据。 关键词:嵌入式系统 操作系统 uC/OS uClinux 引言 随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动设备、网络设备和工控仿真等领域。 嵌入式系统是以嵌入式计算机为核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、体积、成本、功耗等综合性
[嵌入式]
基于ARM的嵌入式设备中uCLinux系统开发
1 引言 信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。因为Linux源代码开放、免费,任何将其定制于PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以Linux在嵌入式开发领域得到稳步发展。uCLinux 即是目前嵌入式linux 中最流行的一种,它是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存管理单元模块),适合嵌入式系统小型化应用。   uCLinux支持多任务,支持多种文件系统,提供了对网络的强大支持,具有完整的TCP/IP协议栈,以及标准丰富的API。由于它的很多
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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