车载CAN总线记录仪实现大容量存储系统

最新更新时间:2012-04-12来源: 互联网关键字:车载CAN  总线记录仪  大容量存储 手机看文章 扫描二维码
随时随地手机看文章

引言

  CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。本文利用“FPGA+单片机”作为存储控制器,采用基于LZW算法的数据压缩技术,以SDRAM作为周期存储和缓存,SD卡作为最终存储载体,实现车载CAN总线记录仪实现大容量存储系统

  1 系统整体结构设计

  

车载CAN总线记录仪实现大容量存储系统框图

 

  如图1所示,存储系统主要包括以下模块:FPGA主控模块、CAN总线监听控制模块、数据压缩模块、SDRAM控制模块和单片机控制CH376模块。本文主要介绍存储部分,CAN总线监听控制模块不做介绍。图中,点画线内的部分均由FPGA控制。后端SD卡由MSP430单片机控制,SD协议芯片采用CH376。FPGA控制CAN总线控制芯片、CAN总线收发器从总线上获取数据,经过数据压缩模块压缩,存入SDRAM里。这里采用两种存储模式:一种是利用SDRAM存储的可覆盖性进行周期存储,具体存储周期由压缩率和SDRAM容量决定;另一种是直接存储,SDRAM作为缓存。当选择直接存储时,FPGA与单片机通信,利用FIFO给单片机发送数据,单片机控制CH376将数据存入SD卡(存储时间由SD卡容量决定)。

  2 系统硬件设计

  2.1 FPGA主控模块

  FPGA选用Altera公司的Cyclone II系列芯片EP2C5T14418N,它具有内部资源丰富、速度快的特点。上电后,主控模块使能CAN总线监听控制模块、数据压缩模块、SDRAM控制模块。如果选择周期存储,则不使能单片机;若选择直接存储,则让单片机处于低功耗状态,当SDRAM有数据时FPGA把数据发给单片机,并使其控制CH376工作。

  2.2 数据压缩模块

  

LZW算法流程
压缩算法采用LZW算法。该算法是一种基于字典的压缩算法,在数据的压缩过程中会根据输入的数据动态地建立一个字典。后续输入的数据都会在这个字典中进行匹配查找,根据查找是否成功决定压缩编码的输出。LZW压缩算法流程如图2所示。根据该流程,采用C语言设计压缩与解压缩软件以验证算法和硬件压缩的正确性,用Verilog语言编写了压缩代码,利用FPGA内部RAM资源建立字典。LZW压缩算法的硬件逻辑功能框图如图3所示。

  

LZW压缩算法的硬件逻辑功能框图

 

  2.3 SDRAM控制模块

  SDRAM(同步动态随机存储器)是一种易失性存储器,以其容量大、价格低的特点得到越来越广泛的应用。但其控制逻辑复杂,需要周期性刷新操作、行列管理、不同延时和命令序列等。图4是SDRAM的控制状态转移图。

  

SDRAM的控制状态转移图

 

  2.4 单片机控制CH376模块

  CH376是一款国产文件管理控制芯片,用于单片机系统读写U盘或者SD卡中的文件。CH376内置了SD卡的通信接口、FATl6、FAT32以及FAT l2文件系统等固件,无需自己编写底层协议,控制简单,提供2 MB、24MHz的SPI设备接口,支持连接到单片机的SPI串行总线。CH376应用连接图如图5所示。

  

CH376应用连接图
3 系统仿真与测试

  程序编写完之后,利用Modelsim语言仿真软件对其进行仿真。ModelSim能提供友好的仿真环境,是单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,是FPGA/ASIC设计的首选仿真软件。硬件压缩与存储模块仿真如图6所示。仿真结果表明,硬件压缩与软件压缩完全符合。

  

 

  结语

  本文利用“FPGA+单片机”作为存储控制器,采用基于LZW算法的数据压缩技术,以SDRAM作为周期存储和缓存,SD卡作为最终存储载体。实验结果表明,该存储系统可以很好地应用于车载信息记录仪。

关键字:车载CAN  总线记录仪  大容量存储 编辑:神话 引用地址:车载CAN总线记录仪实现大容量存储系统

上一篇:USB 2.0与 USB 3.0功能特性对比分析
下一篇:HPI在MCU和DSP接口中的应用

推荐阅读最新更新时间:2023-10-12 20:38

车载CAN总线记录仪容量存储系统设计
引言     CAN(Controller Area Network,控制器局域网)总线是德国Bosch公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它的短帧数据结构、非破坏性总线性仲裁技术以及灵活的通信方式适应了汽车的实时性和可靠性要求,倍受汽车生产厂商的青睐。随着汽车电子技术的发展,汽车上的ECU(Electronic Control Unit,电子控制单元)越来越多,如电控燃油喷射系统、防抱死制动系统、防滑控制系统等,相应的数据量也越来越大,如何采用合理的存储方案是记录仪等大容量存储系统的关键。本文详细阐述了大容量存储系统系统的整体结构、硬件电路设计。利用
[嵌入式]
基于CAN总线结合射频和USB实现车载故障诊断仪的设计方案
设计一款基于2.4G 射频 的车载 CAN 总线故障诊断仪,详细介绍其工作原理及系统硬件 电路 ,最后分别阐述接收端、发射端和PC端的软件模块。 该方案采用自动跳频的2.4G空中协议,经 测试 统计误码率保持在有效范围之内,在14m内仍能正常工作。采用 USB 作为接收端和PC 接口 ,保证了系统的即插即用及数据的高速传输。 控制器局域网络CAN(Controller Area Network)为汽车内部各种复杂的电子设备、控制器、 测量 仪器等提供了统一数据交换渠道,已得到广泛的应用。目前,太多数汽车部件都提供了CAN总线通信接口。 在当今的中高档汽车中,都采用了CAN总线技术。针对车载CAN总线会出现的故障.结合射
[汽车电子]
基于<font color='red'>CAN</font><font color='red'>总线</font>结合射频和USB实现<font color='red'>车载</font>故障诊断仪的设计方案
STM32CubeMX学习--(6)USB容量存储设备
CUBE配置 USB_OTG_FS配置 记得勾选NVIC中断使能。 USB_DEVICE配置 clock配置 修改代码 主要修改usbd_storage_if.c文件 /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : usbd_storage_if.c * @version : v1.0_Cube * @brief : Memory management layer. ***********
[单片机]
STM32CubeMX学习--(6)USB<font color='red'>大</font><font color='red'>容量</font><font color='red'>存储</font>设备
STM32 USB 容量存储器Mass Storage工程的讲解
程序可以兼容官方推出来的不同系列的评估版,所以程序里经常看见类似于#ifdef STM32L1XX_MD、#ifdef USE_STM3210E_EVAL这样的宏开关语句,甚至随工程附带了两个版本的库文件,这也照成了程序理解和调试的困难。 工程随带了两个库文件:STM32F10x_StdPeriph_Driver和STM32F1xx_StdPeriph_Driver。我们当然只能选一个了,比如手我们选择 STM32F1xx_StdPeriph_Driver,只要点击该组,右键- option for Group....,钩上iinclude in Target 和always build,就可以,另一个库文件组,钩掉这两个选项就可
[单片机]
针对MCS96系列单片机的段式管理的容量数据存储器扩展技术
MCS96系列单片机是一种16位字长,比MCS51系列单片机功能更全、性能更高的单片机,在仪器仪表、过程控制等领域应用极为广泛。在采用MCS96系列单片机的应用开发中,我们碰到一个难题:当需要大容量的数据存储时,数据存储器的扩展如采用与MCS51系列单片机同样的方法则无法工作。因为其内存体系结构采用程序存储器与数据存储器统一编址的普林斯顿结构,程序存储器的地址与数据存储器的地址不能相同;而MCS51系列单片机采用程序存储器与数据存储器分开编址的哈佛结构,程序存储器的地址与数据存储器的地址不冲突,可以相同,因而其数据存储器扩展容易,而且整个数据存储器地址空间连续。MCS96系列单片机的普林斯顿内存体系结构决定了不能简单采用与MC
[单片机]
2TB英睿达X8移动SSD,让容量存储进入GB/s时代
这个中秋节加十一的小长假共8天,笔者把之前错过的经典3A大作游戏再回顾了一下。可是完全低估了《荒野大镖客:救赎2》占据硬盘容量的“硬实力”。 现在的游戏上个20GB已经不是什么新鲜的事情了,可能只能算作一个“起步价”,《荒野大镖客2》安装后容量在110GB左右,而目前本地512GB的SSD硬盘已经被大量剪辑视频文件所占据,容量已接近红线告急区。 面对超大容量的游戏文件,捉襟见肘的硬盘容量就凸显了出来,是时候添置一块大容量移动硬盘了。这样可以将平时不经常使用的文件集中放置在一块移动硬盘上,为台式机的本地磁盘留下足够的存储空间。 对于大容量的文件搬运,移动硬盘的确是一个得力的帮手。但是在传输过程中有两个关键痛点需要
[嵌入式]
2TB英睿达X8移动SSD,让<font color='red'>大</font><font color='red'>容量</font><font color='red'>存储</font>进入GB/s时代
基于闪存的星载容量存储器的研究和实现
   空间飞行器的数据记录设备是卫星上的关键设备之一。自20世纪90年代初起,各航天大国开始研制固态记录器(Solid State Recorder,简称SSR)。由于SSR使用半导体存储芯片作为存储介质,所以其存储密度高、无转动部件、可靠性高、体积小、重量轻,因而逐渐成为空间飞行器的数据记录器的主流方案。闪速存储器(简称闪存)作为一种新兴的半导体存储器件,以其独有的特点得到了迅猛的发展,其主要特点有:(1)具有非易失性,掉电时数据不丢失,可靠性高;(2)功耗小,不加电的情况下可长期保持数据信息;(3)寿命长,可以在在线工作情况下进行写入和擦除,标准擦写次数可达十万次;(4)密度大、成本低,存储单元由一个晶体管构成,具有很高的容
[缓冲存储]
基于车载CAN总线记录仪容量存储系统设计方案
  引言   CAN(Controller Area Network,控制器局域网)总线是德国Bosch公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它的短帧数据结构、非破坏性总线性仲裁技术以及灵活的通信方式适应了汽车的实时性和可靠性要求,倍受汽车生产厂商的青睐。随着汽车电子技术的发展,汽车上的ECU(Electronic Control Unit,电子控制单元)越来越多,如电控燃油喷射系统、防抱死制动系统、防滑控制系统等,相应的数据量也越来越大,如何采用合理的存储方案是记录仪等大容量存储系统的关键。本文详细阐述了大容量存储系统系统的整体结构、硬件电路设计。利用“F
[嵌入式]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved