汽车行驶记录仪中USB HOST相关模块的设计

发布者:DataExplorer最新更新时间:2006-09-22 来源: 今日电子关键字:单片机  时钟  驱动 手机看文章 扫描二维码
随时随地手机看文章

USB HOST相关模块的总体设计

  汽车行驶记录仪中的USB HOST相关模块由单片机、USB HOST接口、FLASH、铁电存储体(FRAM)、实时时钟和电源管理等部分组成,其功能框图如图1所示。汽车行驶记录仪工作时,由单片机通过前端接口电路拾取汽车行驶状态的各种信息,包括车速、发动机转速和各种车辆开关信号等。汽车行驶记录仪以实时时钟为基准,把车辆信息按类别分别存入FRAM和FLASH。需要从汽车行驶记录仪中获取汽车记录状态信息时,用户插入优盘,单片机自动识别优盘并加载驱动程序,当完成设备枚举和Bulk_Only传输协议后,单片机就可以把汽车行驶记录仪中记录的状态信息以文件的形式传输到优盘。本文重点介绍电源模块、USB HOST模块、数据存储模块的硬件设计。

  考虑到汽车的复杂工况以及记录仪的性价比,单片机至少为工业级产品,由于有USB HOST结构,FLASH和RAM要足够大,这样系统资源才够用。另外,考虑到成本和开发周期,单片机选择51系列比较有利,综合以上因素,单片机选择AT89C51RD2,扩展RAM;目前市场上的USB设备芯片比较多,而HOST要少一些。选择USB HOST接口芯片要考虑两点:一是在硬件上必须比较容易和51单片机相连接,二是软件开发难度不能太大,因此选择SL811HST。对于数据存储体,必须满足存储时间为15年有效,而且存储容量为至少360小时有效数据,普通数据FLASH擦写次数为100万次,不能满足记录仪中频繁擦写数据的要求,而铁电擦写次数为无限次,但大容量FRAM价格很高,综合这两点,存储体采用小容量FRAM和FLASH结合,这样既满足记录仪要求又有比较低的成本。

电源模块硬件设计

  汽车电子产品产生电磁干扰的最根本原因就是在其工作过程中产生的di/dt。电源模块设计就是要在这些干扰源下能正常工作,其硬件电路如图2所示。

  在电源输入处,二极管VD1(IN4007)的作用是防止反接,这样即使在电源接反的情况下,电子设备也不会被损坏;VD2(A36A)为瞬态抑制二极管,能吸收高压脉冲电压,防止大功率器件工作时产生的高压脉冲对电子设备的损坏;L1和L2是低电感磁条,其能有效的损耗干扰成分的能量,能很好改善电源性能;F1和F2为自复位二级管,防止电子设备内有器件被损坏时,电源短路造成对其他器件的损坏。三端稳压管7812(N2)提供12V电压满足前端输入接口拾取电路的需要,同时给三端稳压器7808(N1)提供输入,N1提供8V电压,满足里程输出以及速度输出需要,开关稳压器LM2576(N3)提供5V输出,最大输出电流为3A,满足记录仪带打印机的需要。WRD24B05(N4)为DC-DC转换器,隔离汽车和电子设备电源,使设备电源稳定可靠。正向电压调节器SPX1117(N5)提供3.3V电压,供SL811HST和存储体的需要,N6前端的晶体管8550控制N6的输入,N6给IC卡供电,需要电源可控。

USB HOST模块硬件设计

  在汽车行驶记录仪USB HOST模块中,单片机采用AT89C51RD2,USB HOST接口芯片采用SL811HST,该模块硬件电路如图3所示,SL811HST提供并口总线数据协议和控制线CS、RD、WR、INTRQ以及A0,利用单片机的读写信号线RD、WR,以及控制线A0、INT1就能把SL811HST和AT89C51RD2连接起来,其中8根数据线在控制线的控制下与AT89C51RD2进行数据交换。USB HOST包含有USB设备枚举协议、Bulk_Only传输协议以及FAT文件结构,AT89C51RD2的RAM资源不够,因此,系统扩展了32Kb SRAM,其占有低32Kb地址。为了保证操作SL811HST的可靠性,用HC00扩展了逻辑电路,因此SL811HST占有0x8000和0x8001两个地址。另外,USB总线的电气特性要求在USB收发器之前必须串接22~44Ω电阻,同时必须根据不同的USB设备传输速度(全速或低速),配置好上拉电阻和下拉电阻的位置。

  当CS、RD有效时,如果A0为高,这是读当前地址或寄存器数据,如果A0为低,则读当前地址或寄存器地址。当CS、WR有效时,如果A0为高,这是写当前地址或寄存器数据,如果A0为低,则写当前地址或寄存器地址。

  USB HOST识别设备过程如下:当SL811HST连接上USB设备后,就会产生一个中断。AT89C51RD2接收到中断后,进入枚举过程。从USB设备插入接口开始到客户驱动程序能够使用该设备还有一些工作要做,这一段可以称作设备识别过程,也称枚举过程。枚举过程是所有USB设备使用前必经的过程,USB HOST端在使用前需要知道这是一个低速设备还是一个全速设备,需要知道这个设备的一些特性和能力,以便载入相应的驱动程序。当USB HOST配置完USB设备后,通过描述符提供的信息识别出Bulk_Only的Mass Storage设备,然后进入Bulk_Only 传输方式,在此方式下,USB与设备之间的所有数据均通过Bulk_In和Bulk_Out 来传输,不再通过控制端点传输任何数据。在这种传输方式下,有三种数据类型在USB和设备之间传输,CBW、CSW和普通数据。CBW(Command Block Wrapper,即命令块分组)是从USB HOST发送到设备的命令,命令的格式遵从接口中的bInterfaceSubClass所指定的命令块,这里为SCSI传输命令集。USB设备需要将SCSI命令从CBW中提取出来,执行相应的命令,完成以后向HOST发出当前命令执行状态CSW(Command Status Wrapper), HOST根据CSW来决定是否继续传送下一个CBW或数据。USB HOST要求USB设备执行的命令如果为发送数据,则此时需要将特定的数据传送出去,传送完毕后发出CSW,使USB HOST进行下一步操作。

图2 电源模块原理图

图3 USB HOST模块原理图

存储模块硬件设计

  结合普通FLASH和FRAM来存储数据,既满足了数据存储擦写次数的要求,也有比较低的成本。数据存储模块的硬件电路如图4所示。

  FRAM芯片FM24CL16通过I2C接口和AT89C51RD2相连,I2C总线通过两根线——串行数据(SDA)和串行时钟(SCL)线连接到总线上的任何一个器件,每个器件都有一个唯一的地址,而且都可以作为一个发送器或接收器。此外,器件在执行数据传输时也可以看作是主机或从机,I2C是一个多主机总线,SDA和SCL都是双线路,连接到总线的器件的输出级必须是漏极开路或集电极开路,都通过一个电流源或上拉电阻连接到正的电源电压。当总线空闲时,这两条线路都是高电平。FLASH芯片AT45DB041通过SPI接口和AT89C51RD2相连接,SPI是一个全双工的串行接口,采用三线同步的数据传输形式。在一定的数据传输过程中,接口上只能有一个主机和一个从机进行通信。在一次传输过程中,主机总是向从机发送一个字节数据,而从机也总是向总机发送一个字节数据。

图4 存储模块原理科

小结

  本设计实现了汽车行驶记录仪的USB HOST功能,使汽车行驶记录仪与优盘可进行大量数据的快速交换。基于本设计的产品在送检、认证和使用过程中,USB HOST技术性能达到了产品设计要求和技术要求,方便了用户对大量数据进行快速采集。

关键字:单片机  时钟  驱动 引用地址:汽车行驶记录仪中USB HOST相关模块的设计

上一篇:基于超声波检测的倒车雷达设计
下一篇:汽车视频应用中的LVDS数据格式和接口电路

推荐阅读最新更新时间:2024-05-13 18:14

51XA单片机与图形液晶显示器的接口设计
0 引言 P51XA是PHILIPS公司的一种16位单片机,可管理的存储器空间大,运行速度快,支持实时多任务系统的增强了实现高级语言的支持,可以运用在需要复杂、高速控制的场合,在体系结构上与MCS-5高度兼容,便于实现向高性能微控制器的快速、平滑转移。北京精电蓬远显示技术有限公司的MGLS240128T是一种240×128点阵的图形LCD(液晶显示器),可以显示图形、曲线,全屏可显示15×8个汉字,适宜用在需要有较多显示内容的场合,它内含T6963C控制器,能直接与INTEL系列的微处理器接口。 1 P51XAG37单片机和T6963C简介 P51XA单片机的内部结构和外部数据总线均为16位结构,支持扩展的外部存储器空间为1
[应用]
猎豹启发:生物力学与深度学习驱动的机器人革新
在地跨南非和博茨瓦纳广袤的卡格拉格帝跨境公园内,野生猎豹妈妈和她的三只幼崽正在捕猎跳羚。猎豹之所以能够迅速扑倒猎物,是因为敏捷性和快速加速能力赋予它们决定性的优势。Amir Pal 是开普顿大学生物力学教授兼非洲研究 (ARU) 主任。在他的实验室内,他正在安全距离内现场训练着动作捕捉系统。 Patel 和他在 ARU 的团队致力于通过研究猎豹如何移动,打造更出色、更敏捷的机器人。“猎豹代表着机动性的巅峰水平,”Patel 说道。“要深入研究它,我们需要设计新的方法来衡量运动和力或者执行优化。” 关注猎豹这种地表速度最快的动物催生了诸多技术上的进步和发展。在机器人、多体建模、反馈控制、轨迹优化、和领域,研究人员
[机器人]
CPLD在IGBT驱动设计中的应用
    摘要: 介绍了一个实用IGBT驱动信号转换电路的CPLD设计并给出了该设计的仿真波形。     关键词: PWM  CPLD  IGBT  VHDL  自顶向下     随着国民经济的不断发展,变频调速装置的应用越来越广泛。如何打破国外产品的垄断,已成为一个严肃的课题摆在我国工程技术人员的面前。     在某型号大功率变频调速装置中,由于装置的尺寸较大,考虑到结构和散热的条件,主控板上DSP产生的PWM信号需经过较长的距离才能送到IGBT逆变单元中。为保证PWM信号传输的准确性和可靠性,必须解决以下几个问题:首先是抗干扰问题变频器工作时,IGBT的开关动作会产生高频干扰信号其次是
[应用]
51单片机PWM控制LED亮灭
设计思路:用定时器中断产生最小时间单位T0,每m个T0组成一个子 周期 T10,其中前n个T0为LED导通时间,即Ton=n*T0,则Toff=(m-n)*T0 ;每X个T10组成一个母周期T20,其中前y个T10为有效控制时间,后续的(x-y)个T10令LED熄灭或者子周期占空比调至最小。 ;适当调节n/m和x/y的比例使显示效果达到最佳。 ;以下是刚刚调试通过的小段程序,显示效果良好。 ;实验过程本人有一种推测,不知是否成立: ;子周期的最小占空比的宽度应大于LED的点亮时间,即点亮LED的时间宽度n/m*T0应足够产生余辉。类似于动态数码管对点亮时间的要求。 ;母周期的宽度应小于1/50s,提高刷新频率以令肉眼察觉不出闪烁。
[单片机]
8-基于51单片机的羽毛球计分器
具体实现功能 系统由STC89C52单片机+超声波测距传感器(HC-SR04)+DS18B20温度传感器+LCD1602液晶显示屏+按键+蜂鸣器+电源构成 具体功能:1、LCD1602液晶显示测量的距离和温度; 2、测量范围0.02m~4m,精度为0.01m; 3、可以设置距离报警上下限值;按键功能:加键,减键,设置键 4、超过设定的报警上下限值则开始声光报警。 设计分析 根据功能要求及设计成本,控制系统选用AT89C51芯片。采用按钮开关实现功能控制,按照设计的功能模块共选用8个按钮开关,分别实现启动、A队加分、A队减分、B队加分、B队减分、暂停、停止、清零功能。时钟电路由晶体振荡器、晶振控制芯片和电容组成,
[单片机]
8-基于51<font color='red'>单片机</font>的羽毛球计分器
JSN-SR04T超声波模块驱动(模式二、STM32)
一、前期准备 单片机:STM32F103C8T6 开发环境:MDK5.14 库函数:标准库V3.5 JSN-SR04T模块:淘宝有售 二、实验效果 三、驱动原理 此模块分3中模式: (1)模式一:R27 = open,普通驱动模式; (2)模式二:R27 = 47K,串口模式,每隔100ms更新一次数据。 (3)模式三:R27 = 120K,串口模式,发0x55。 注意:次模块测试盲区20cm。 串口二接收模块数据,每隔100ms刷新次数据,串口接收数据之后,做完校验之后算出测试距离并打印出来。 需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。 四、驱动代码 JSN-SR04T.h #if
[单片机]
JSN-SR04T超声波模块<font color='red'>驱动</font>(模式二、STM32)
基于AVR单片机和无线传感网络为基础的3D环境监测系统设计
1.概述 1.1文档说明 本设计文档作为“基于AVR32及Labview的3D环境监测及评估系统”的计划书,为项目开展的依据。也作为项目的说明。 1.2项目背景 本项目希望以AVR微控制器作为基础,配合Atmel公司所公开Zigbee协议栈,对现有的绿地进行全方位的数据采集工作,摒弃原先陈旧且缺乏合理性的绿化覆盖面积标准,而是采用3维立体坐标的方式,测量出每一小块区域各环境参数值的具体数值,绘出3D图像,以立体的环境改善状况作为分析绿地使用价值的有效指标,并通过测试所得的数据,指导根据不同区域的环境特征建立最为合适并具积极效果的绿化设施。 本项目也将能够实现对于各项复杂的环境数据的统一数据采集工作,例如对温湿度、可吸入颗粒
[单片机]
基于AVR<font color='red'>单片机</font>和无线传感网络为基础的3D环境监测系统设计
STM32F0单片机如何用一个GPIO引脚来触发中断
1. 按键如何触发中断 我们从一个例程看一下,如何用一个GPIO引脚来触发中断,来控制另一个引脚的翻转去控制LED指示灯。 我们用 Keil 打开下面这个工程: STM32Cube_FW_F0_V1.11.0ProjectsSTM32F030R8-NucleoExamplesGPIOGPIO_EXTIMDK-ARMProject.uvprojx 编译下载运行此代码,然后按压 B1 USER 这个按键,每一次按压会触发板上一个LED灯翻转一次。这个功能也很简单,但它牵涉到的东西却不少。看一下代码: 上一篇文章讲了如何翻转GPIO引脚,所以现在我们只关注一下如何用一个引脚触发中断吧。main()函数里调用了一个外部中断模块(E
[单片机]
STM32F0<font color='red'>单片机</font>如何用一个GPIO引脚来触发中断
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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