0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用W77E58和AT45DB161B实现行驶记录仪的设计

电子设计 来源:电子元器件应用 作者:何敏,刘荣,孙峥 2021-04-02 13:35 次阅读

1 概述

行驶记录仪的主要数据包括事故疑点和行驶状态数据。其中,事故疑点数据是记录仪以不大于0.2s的时间间隔持续记录并存储停车前20 s实时时间所对应的车辆行驶速度及车辆制动状态信号,记录次数至少为1O次:行驶状态数据是无论车辆在行驶状态还是停止状态,记录仪提供的与实时时间对应的车辆行驶速度信息。记录仪应能以不大于1 min的时间间隔持续记录并存储车辆在最近360 h内的行驶状态数据,该行驶状态数据主要是车辆在行驶过程中与实时时间相对应的每分钟间隔内的平均行驶速度值。

该记录仪需要采用大容量的数据存储器。以往的设计均采用并行存储器或铁电存储器。其中并行存储器存储容量大,读写速度快。但是抗干扰能力差,而汽车上的干扰较强.虽然可以通过其它软、硬件措施来避免。但是在设计时一般都需要选择抗干扰能力强的芯片;铁电存储器采用串行接口,抗干扰能力强,也具有很高的灵活性,可以单字节读写(不需要擦除,可直接改写数据),但其存储密度小,单位成本高,读写速度较慢,由于行驶记录仪要求每0.2 s采样一次速度和状态,因此读写存储器的速度会影响采样的精度和程序的运行。

现在的EEPROM闪速存储阵列Flash Memory有ATMEL、SST的小扇区结构闪速存储器(Small Sector Flash Memory)和ATMEL的海量存储器(Data-Flash Memory)。这类器件具有EEPROM与NOR技术Flash Memory的综合优势,主要表现为:

(1)读写灵活性比EEPROM差,不能直接改写数据。在编程之前需先进行页擦除,与NOR技术Flash Memory的块结构相比,其页尺寸小,因而具有快速随机读取和快编程、快擦除的特点:

(2)与EEPROM相比,这种存储器具有明显的成本优势;

(3)存储密度比EEPROM大,但比NOR技术Flash Memory小。

因此,该Dataflash存储容量大,读写速度快,抗干扰能力强,在行驶记录仪中作存储器是较好的选择。本文给出了采用ATMEL的AT45DB161B来存储数据的记录仪设计方案。

2 AT45DB161B串行存储器

ATMEL公司的Data-Flash产品的代表型号为AT45DBxxxx。此系列存储器容量较大(从1~256MB);封装尺寸小,最小封装型式(CBGA)的尺寸为6 mm×8 mm:可采用SPI接口进行读写;硬件连线少;内部页面尺寸较小,8 MB容量的页面尺寸为264字节,16 MB和32 MB容量的页面尺寸为512字节,64 MB容量的页面尺寸为1056字节,128 MB容量和256 MB容量的页面尺寸为2112字节。另外,AT45DBxxxx系列存储器内部有两个与主存页面大小相同的SRAM缓存,可提高系统的灵活性,简化数据的读写过程。AT45DBxxxx系列存储器的工作电压只需2.7~3.6 V;整个芯片的功耗也较小;典型读取电流为4 mA,待机电流仅为2 μA:读写的速度最大为20 Mbps。

AT45DB161B的容量为16 MB。分成4096页,每页有528个字节。另外还有两个528字节的数据缓冲器SRAM。在对主存储器进行操作时,这两个SRAM也可以接收数据。因此,和串行EEP-ROM相比。该器件可大大缩短读写时间。而采用SPI总线接口和并行的flash相比.其速度并不慢,而且抗干扰能力也比较强。

2.1 AT45DB161B引脚接口定义

表1所列是AT45DB161B的部分接口引脚定义。其中CS为片选信号,RESET为复位端,SCK、SI、SO为SPI总线,RDY/BUSY为忙信号,WP为前256页的写保护。

采用W77E58和AT45DB161B实现行驶记录仪的设计

SPI接口是一种通用串行接口总线,利用SCK、SI和SO三根线可进行数据的读/写控制。数据以字节(8 bit)为单位。其中,SCK为时钟信号,SI和SO为数据输人和输出线。

AT45DB161B仅支持SPI模式0和3。在这两种模式下。SCK信号的上升沿触发数据输入,下降沿触发数据输出,二者的区别是SCK的起始电平不同。AT45DB161B复位时,默认为SPI模式3。

2.2 指令

除了存储单元外,AT45DB161B内部还包括命令用户接口CUI(Command User Interface)和状态机。CUI接收用户的软件指令,以将其翻译成状态机内部操作码并进行命令的有效性检验。状态机则可控制存储器所有的内部操作。器件内部包含一个8位的状态寄存器,可用来指示设备的操作状态。向存储器输入读状态寄存器命令可将状态寄存器的数据读出。下面简单介绍模式SPI0和模式SPI3的读写存储单元和状态寄存器指令。

(1)读状态寄存器

发送命令字0XD7。可以直接得到状态字(一个字节),其格式如下:

其中RDY/BUSY为1时表示不忙,可以接收下一条指令;为0则表示忙。

设计时可通过读状态寄存器或SO端口来判断前一条指令是否读写完毕。当存储器不忙时,SO端口从O变到1。此外,RDY/BUSY端口也可以用来判断前一条指令是否读写完毕。

COMP用来指示主存储单元数据和缓冲器中数据的比较结果:COMP为0表示相等。COMP为1表示不同。

Bit5一Bit2可表示存储器的容量大小。

(2)读存储器指令

读存储器的数据有两种方式,具体如图1所示。其中一种是直接读存储器任意地址的数据,这可用指令D2H加3个字节的Dataflash地址再加上四个字节的空数据来实现,以SPI模式3为例,其工作时序如图2所示。

另一种是通过缓冲器1(2)来读存储器上某一页的数据。该方式可分两个步骤:一是将数据读到数据缓冲器1(2),即指令53H(55H)+3个字节的Dataflash中的页地址(在任意SCK的模式下);二是读数据缓冲器1(2),这可用指令D4H(D6H)+3个字节地址(主要表示从数据缓冲器的哪个地址开始读)+1个字节空数据来实现。以SPI模式3为例的读数据缓冲器时序如图3所示。

(3)向存储器写数据

写存储器也有两种模式,具体如图4所示。其中一种是通过缓冲器1(2)直接写到存储器中;另一种是先写到缓冲器,再将缓冲器的数据写到存储器中。具体的命令过程如图5所示。

上述几个命令的格式都是一个字节的命令+3个字节的地址。

3 W77E58和AT45DB161B的接口电路

W77E58是华邦电子公司(WinBond)推出的高速增强型:MCS-51系列单片机。使用W77E58的系统速度要比传统51系列单片机快2.5倍。工作频率为40 MHz的W77E58相当于100 MHz的8051,加上其内置32 KB可重复编程的Flash EPROM和1KB用MOV指令访问的内部SRAM(节省了16条数据/地址I/O口线),以及2个增强型全双工串行口和较低的价格,W77E58无疑是一款高性能、多功能、的高集成度8位微控制器,非常适合高速、双串口、外围简捷、低成本系统。其抗干扰性能和加密性能相对也是比较好的。

采用W77E58和AT45DB161B进行接口的汽车行驶记录仪的电路连接如图6所示。

4 软件实现

由于W77E58没有SPI总线,因而需要用软件来实现,下面给出SPI总线模拟程序和对AT45DB161B的读写程序。

该软件采用Keil C编程,其源程序代码如下:

4.1 SPI总线的模拟

(1)从SPI上读一个字节

4.2 对AT45DB161B的读写

(2)写Datanash中的数据

下面的程序采用先写到缓冲器,再将缓冲器的数据写到存储器中的方式存储数据:

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7485

    浏览量

    163788
  • 接口
    +关注

    关注

    33

    文章

    8582

    浏览量

    151064
  • 封装
    +关注

    关注

    126

    文章

    7887

    浏览量

    142917
收藏 人收藏

    评论

    相关推荐

    多功能汽车行驶状态记录仪的设计

      由于要记录的数据量比较大,因此记录仪要求具有掉电记忆的大容量存储器。通过比较采用了ATMEL公司生产的Flash存储器AT45DB081B。 AT5
    发表于 01-21 15:32

    怎么在元器件库里增加单片机w77e58

    怎么在元器件库里增加单片机w77e58
    发表于 03-14 21:29

    W77E58的芯片能否用STC89C52来代替

    最近要做一个USB通信的,但是发现程序与硬件的搭配是用W77E58芯片来做的,能否用C52来代替吗?
    发表于 08-24 13:51

    请问AT45DB161B为什么读出来的全是0XFF

    各位请问AT45DB161B怎么读出来的全是0XFF啊?
    发表于 03-01 02:51

    请问AT45DB161BW25X16在编程上有什么区别?

    AT45DB161BW25X16在编程上有啥区别?
    发表于 04-08 20:22

    分享一款不错的采用ATMEL的AT45DB161B来存储数据的记录仪设计方案

    本文给出了采用ATMEL的AT45DB161B来存储数据的记录仪设计方案。
    发表于 05-12 06:13

    w77e58中文资料手册

    W77E58是一个快速8051 兼容微控制器;它的内核经过重新设计,提高了时钟速度和存储器访问周期速度。经过这种改进以后,在相同的时钟频率下,它的指令执行速度比标准8051 要快
    发表于 06-13 09:23 231次下载

    增强型51系列单片机W77E58的存储器访问

    W77E58是Winbond公司推出的新一代增强型51系列单片机,文中介绍了W77E58对存储器访问的特点,并举例给出多种有关的应用程序实例.
    发表于 04-28 13:50 26次下载

    W77E58,中文资料,pdf datasheet(快速80

    W77E58是一个快速8051兼容微控制器;它的内核经过重新设计,提高了时钟速度和存储器访问周期速度。
    发表于 07-24 10:39 72次下载

    基于W77E58单片机的通用GSM无线传真终端实现

    无线传真作为GSM的一项基本电信业务,对于经常移动办公的人,是一种非常有用的业务。本文详细阐述了如何利用W77E58单片机和GSM无线模块Q2403A构成GSM无线传真终端设备的硬件实现
    发表于 08-29 09:24 22次下载

    高速单片机W77E58的特点及应用

    本文介绍的W77E58确实是一个非常难得的、功能强大的微处理器产品,尤其特别适合于对存储器资源有一定要求和对软件运行速度有特别要求的场合。
    发表于 02-08 15:36 9269次阅读
    高速单片机<b class='flag-5'>W77E58</b>的特点及应用

    W77E58单片机控制电路原理图

    W77E58单片机控制电路原理图 原理图详细说明详见以下链接: 基于MCU的智能定位报警拐杖研究
    发表于 05-18 15:26 3878次阅读
    <b class='flag-5'>W77E58</b>单片机控制电路原理图

    W77E58特殊功能寄存器

    自己之前开发华邦W77E58单片机时,对特殊功能寄存器的归档整理。希望对初学者有用。
    发表于 05-20 14:28 4次下载

    基于W77E58单片机和Neuron 3150实现图像采集系统的设计

    作者采用神经元芯片Neuron 3150并配合W77E58单片机系列开发了低成本的图像采集节点,并能通过上位机向用户发送手机短信,有效地弥补了现在的智能住宅的不足。
    的头像 发表于 03-19 10:37 2858次阅读
    基于<b class='flag-5'>W77E58</b>单片机和Neuron 3150<b class='flag-5'>实现</b>图像采集系统的设计

    W77E58中文数据手册

    W77E58中文数据手册分享。
    发表于 04-13 11:21 45次下载