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

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

3天内不再提示

浅析ARM开发板的车辆检测控制单元设计

电子工程师 来源:电子设计应用 作者:吴忠杰 林君 周志 2021-04-07 18:25 次阅读

由于交通需求的不断增加,有越来越多的环形感应线圈检测器用于交通检测。这些埋设在道路表面下的线圈可以检测到车辆通过时的电磁变化进而精确地算出交通流量。交通流量是交通统计和交通规划的基本数据,通过这些检测结果可以用来计算占用率(表征交通密度),在使用双线圈模式时还可以提供速度、车辆行驶方向、车型分类等数据,这些数据对于交通管理和统计是极为重要的。

通常高速公路车辆检测系统由多通道环形检测单元LD4和控制单元CCU组成,本文采用PHILIPS公司最新推出的arm7内核微处理器LPC2114设计实现了车辆检测系统控制单元部分,并且和5个LD4环形检测器一起构成10通道高速公路车辆检测系统。

o4YBAGBth-aAR8BzAABhNOk__pY748.png

LPC2114和电子硬盘连线示意图

pIYBAGBth_OAAHqoAAGGIgLOkl4119.png

主程序流程图

总体方案设计

本文设计的控制板系统原理框图如图2所示,以LPC2114为核心控制单元,该芯片是一种支持实时仿真和跟踪的16/32位基于arm7TDMI-S内核的CPU。内部集成了4路10位A/D转换器,两个32位定时器、一个实时时钟看门狗,多个串行接口,包括两个工业标准的UART、高速和两个SPI总线接口,外部多达46个与TTL电平兼容的通用I/O口,非常适用于作为主控单元。

CPLD EPM7128作为微处理器的扩展输入/输出,通过光电耦合和LD4标准定义总线相连,该标准定义的总线基于RS-485总线通信协议。LD4和控制板通过标准总线进行数据交换,控制板每隔10秒扫描并发送一次请求数据的命令,相应LD4通道返回请求数据或者无效信息,arm处理器对获得的各通道数据进行相应的统计运算处理。

每隔用户设定的间隔时间就将统计数据存储于静态RAM,供中心站定时获取,同时,以分钟为单位将统计的数据备份至Flash电子硬盘中。中心站可以通过请求备份数据命令获取相应时间段的数据,并存入数据库。中心站和控制板采用RS-232串口方式通信,利用调制解调器实现远程数据传输。为了解决大容量存储问题,系统使用了三星公司提供的K9F2808来作为电子硬盘,16MB的容量能够存储11天备份数据,并且该电子硬盘能够灵活升级。

LPC2114与电子硬盘的接口实现

为了防止传输及中心站故障等问题而导致数据丢失,系统要求对一段时间内的数据进行备份,因此在系统设计的过程中需要考虑大容量存储问题。

设定本系统每分钟需要备份一次统计数据,根据环形检测器LD4的数据格式,一次数据量为1026B,若采用静态RAM作为存储单元,需要多片大容量RAM级联使用,价格昂贵,且存储容量扩展困难。若使用动态RAM作为存储单元,缺点在于控制困难,需要动态RAM控制器辅助操作。Flash作为存储器使用简单,容量大,尽管使用寿命有限,考虑到系统每1分钟存储1026B,就16MB容量而言,11天左右写满一次,那么一个月擦写约3次,以此计算,一年擦写约36次,而Flash寿命一般为擦写10万余次,所以本系统完全可以采用Flash作为电子硬盘用在车辆检测系统中。另外,Flash还具有掉电非易失特性,更适合应用于本系统。

为了便于存储容量的升级扩展,本系统选用K9F2808作为存储器。K9F2808为48脚表面封装器件,芯片内部有(16M+512K)×8 bit的存储空间,可组成32768行,528列,其中后备的16列的列地址编码为513~527,可进行528字节为一页的读、写和32页为一块的擦除操作。此外,K9F2808的特点还在于其命令、地址和数据信息均通过8条I/O总线传输,接口标准统一,易于存储容量升级。

LPC2114和Flash电子硬盘之间的连线如示意图,由于LPC2114没有外部总线,所以对Flash操作只能采用I/O操作方式。K9F2808各种操作具有共同特点,即在I/O端口首先发送操作命令字到命令寄存器,其后的连续3个周期发送需要操作单元的地址,顺序为:A0~A7,A9~A16,A17~A23,其中A8由命令字确定。

下面以页编程操作为例,给出K9F2808的arm驱动程序(基于ADS1.2开发环境),而页读以及块擦除等方法与页编程类似,只是读是由#RE信号来锁存数据,而擦除时只须送两个周期的地址。

row_add为页号,需要左移9位得到行地址。erase_flash()――擦除Flash函数

write_command()――写命令函数

write_address()――写地址函数

write_data()――写数据函数

read_data()――读数据函数

void flash_store(uint32 row_add, uint8 *buffer)

{ uint16 i;

uint32 statue,address;

//变量定义

IO0DIR

编辑:jq

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

    关注

    8

    文章

    136

    浏览量

    77570
  • 微处理器
    +关注

    关注

    11

    文章

    2241

    浏览量

    82241
  • CCU
    CCU
    +关注

    关注

    0

    文章

    9

    浏览量

    9147
  • ALD4702X
    +关注

    关注

    0

    文章

    2

    浏览量

    911
收藏 人收藏

    评论

    相关推荐

    解读 | 不简单的全志T113-S开发板

    引言:ARM开发板是作为核心的载,增加外设后具备许多功能接口,如扩展了TFT-LCD、LVDS接口、触摸屏、外部总线接口、CAN、SPI、PWM、高速USB、SD卡、RS232、R
    的头像 发表于 10-25 08:07 254次阅读
    解读 | 不简单的全志T113-S<b class='flag-5'>开发板</b>

    什么是储能控制单元

    产品介绍 acrellm安科瑞公众号 ANet-ESCU 储能控制单元是一种适用于储能一体柜(箱)的 EMS 装置,可用于磷酸铁锂电池、全钒液流电池等储能本体,快速对接市面上的电池管理系统(BMS
    的头像 发表于 10-22 16:05 115次阅读
    什么是储能<b class='flag-5'>控制单元</b>?

    【AG32开发板体验连载】基于NTC的温度测控装置制作

    项目计划: 1.构建该开发板所对应的开发环境,并验证程序的下载功能。 2.掌握GPIO口的使用,并实现数码管及TFT屏的显示驱动。 3.掌握ADC的使用,并以NTC为感温器件来进行温度的测控。 4.
    发表于 10-09 19:57

    电子控制单元(ecu)的作用有哪些?它是如何工作的?

    电子控制单元(ECU)是现代汽车中的关键组件,它负责管理车辆的各种电子系统。ECU的作用非常广泛,包括但不限于发动机管理、安全系统控制、车身电子设备管理等。 ECU的作用 发动机管理 : 燃油喷射
    的头像 发表于 09-24 16:28 656次阅读

    51开发板芯片资料

    51开发板芯片资料
    发表于 09-18 09:29 1次下载

    树莓派和arm开发板的区别

    树莓派(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓派(Raspberry Pi) 树莓派是由英国树莓派基金会
    的头像 发表于 08-30 15:36 622次阅读

    linux开发板和单片机开发的区别

    硬件架构 Linux开发板和单片机开发在硬件架构上有很大的区别。Linux开发板通常基于ARM、x86或其他处理器架构,具有较高的处理能力和内存容量。而单片机
    的头像 发表于 08-30 15:30 521次阅读

    米尔NXP i.MX 93开发板的Qt开发指南

    Qt应用开发中,推荐使用QtCreator集成开发环境,可以在LinuxPC下开发Qt应用,自动化地交叉编译为开发板ARM架构。本章使用Y
    的头像 发表于 06-07 08:01 1598次阅读
    米尔NXP i.MX 93<b class='flag-5'>开发板</b>的Qt<b class='flag-5'>开发</b>指南

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字电路和逻辑功能。FPGA开发板通常包括FPGA芯片、时钟模块、电源模块、输入输出接口等组
    的头像 发表于 03-14 18:20 1711次阅读

    fpga开发板使用教程

    FPGA开发板的使用教程主要包括以下几个关键步骤。
    的头像 发表于 03-14 15:50 920次阅读

    fpga开发板与linux开发板区别

    FPGA开发板与Linux开发板是两种不同的硬件开发平台,各自具有不同的特点和应用场景。在以下的文章中,我将详细介绍FPGA开发板和Linux开发板
    的头像 发表于 02-01 17:09 1983次阅读

    arm开发板如何安装linux系统

    安装Linux系统到ARM开发板是一个复杂的过程,涉及到多个步骤和不同的工具。下面是一个详实且细致的教程,包含了从准备工作到最终启动Linux系统的所有步骤。 准备工作 在开始之前,需要准备以下
    的头像 发表于 01-24 14:19 2610次阅读

    STM32+Linux开发板应用手册

    STM32 WIFI Linux 安卓智能控制开发板应用手册
    发表于 12-21 11:04 3次下载

    Saietta与HCL科技合作开发轻型电动汽车控制单元

    该款车辆控制单元将由Saietta集团和Padmini VNA合资的公司Saietta VNA公司在印度进行生产。作为完整电驱动解决方案的一部分,第一批车辆控制单元将被交由印度国内最大
    发表于 12-08 10:09 1053次阅读

    FP-XH控制单元指令语手册

    FP-XH 控制单元 指令语手册
    发表于 12-04 10:26 0次下载