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

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

3天内不再提示

利用ARM7202处理器和CAN总线技术实现机械监控系统终端的设计

电子设计 来源:网络整理 作者:佚名 2019-10-31 07:53 次阅读

1 、引言

近年来,随着土地资源不断的被开发利用,我国基础建设的规模也进一步扩大,工程机械市场呈现持续增长态势,但是国内的工程机械行业仍处于一种相对落后的生产方式,所以工程机械行业需要适合本行业要求的,智能的,性能优越的监控产品嵌入式技术、总线技术网络技术等高新技术融入到工程机械行业的监控系统中来,是十分必要的。为此,本文设计了一种基于嵌入式系统和总线技术的工程机械监控系统终端,详细讨论了监控系统终端的构成和CAN总线的设计。

2 、监控系统终端的总体构成

监控终端负责前端控制系统所有单元的监控,包括安全监控、电液比例等单元并通过液晶显示器和键盘进行人机交互,同时,连接视频监控设备,随时监控现场的情况。

如图1所示,监控系统终端包括:车载监控系统控制模块、人机交互模块、存储模块、视频监控模块、CAN总线控制模块。

利用ARM7202处理器和CAN总线技术实现机械监控系统终端的设计

图1监控系统终端的总体构成

各部分的功能如下:

1.载监控系统控制模块是整个终端的核心部件,采用ARM720TDMA内核的嵌入式处理器ARM7202,完成整个系统的控制功能。

2.储模块用来进行操作系统内核、引导程序和应用程序、以及驱动程序的存储,并缓存执行过程中产生的各种数据,使系统能稳定的运行。

3.机交互模块包括液晶显示器和键盘输入,用户通过人机交互模块进行直观的监测和控制。

4.为了对现场工作状况进行直接监控,系统集成了视频监控模块,通过视频采集卡连接摄像机,将采集到的图像转换成数字信号并压缩成JPEG格式文件,输入到处理器中,供用户进行监测。

5.系统通过CAN总线实现前端各个单元控制系统的监测。

3 、硬件设计

3.1 硬件总体结构

如图2 所示,监控终端分成包括:嵌入式处理器7202、存储系统、复位电路和晶振电路, JTAG调试接口、LCD显示接口、RS-232串行接口、CAN总线接口。

利用ARM7202处理器和CAN总线技术实现机械监控系统终端的设计

图2载监控终端硬件结构图

各部分的功能如下:

1.晶振电路为系统提供工作时钟

2.复位电路用于完成系统上电复位和在系统工作时用户按键复位。

3.存储系统由FLASH存储器、SDRAM存储器组成。FLASH存储器用于存放己调试好的用户应用程序、嵌入式操作系统和其他在系统掉电后需要保存的用户数据等。SDRAM存储器作为系统运行时的主要区域。

4.JTAG接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等。

5.LCD接口用于连接人机交互所需要的显示装置。

6.CAN控制器为系统提供CAN总线接口,与前端各单元控制系统进行数据和指令的传递。

7.RS-232串行通信接口用于视频压缩卡的连接,传输视频图像。

3.2 CAN模块的硬件设计

通过CAN模块接口,ARM处理器可以直接访问CAN寄存器组,这些寄存器可以配置CAN核心模块、CAN信息处理模块以及访问信息RAM的方式。本系统采用飞利浦公司的TJA1050作为收发器,在CAN接口和CAN总线之间的收发器,作用是将3.3V的逻辑电平转换为CAN的逻辑电平,也就是将发送和接收到的信号转换成CAN总线和ARM可以识别的信号。

利用ARM7202处理器和CAN总线技术实现机械监控系统终端的设计

图3 CAN模块的电路设计

4 、ARM中CAN模块的软件设计

在构造和特性上,7202的CAN控制器与标准的CAN模块基本没有区别,只是在寄存器的个数与基地址的偏移上有些不同。

如图4,在开始进行总线操作前需要做好4步工作。首先要使能CAN模块,向CAN Enable Register写入0X01,由于ARM的引脚是复用的,所以在使能CAN模块以前,先要将CAN模块占用的引脚切换到特殊模式。然后要初始化CAN模块,主要是正确的配置Command Mask Register,这个寄存器的作用是用来配置CAN模块收发的信息体。接着,配置波特率,通过所想达到的CAN总线波特率,计算出计算公式各个变量的值,而CAN的波特率计算公式如下:(Tseg2+Tseg1+SJW+3)* BRP = CAN_CLK/Fbps。左边的4个变量在BRP寄存器中,而等式右边的CAN_CLK是一个固定值,在这里是48MHz。最后,配置信息存储器,信息体的配置是与具体的应用信息相关的,具体到信息缓冲寄存器组中的每一个寄存器的设置。需要提出的是,前面三步都是在初始化模式下完成的,而最后一步则是在正常模式下进行。在进行完这四部以后,就可以对CAN模块进行操作了。

利用ARM7202处理器和CAN总线技术实现机械监控系统终端的设计

图4 CAN模块操作顺序

linux操作系统把对CAN的操作看成是对文件的操作,对于文件,最基本的操作是打开、关闭、读和写。对于CAN模块,读与写操作分别实现接收数据的读取和发送,打开和关闭文件则分别实现CAN模块的一些硬件资源的初始化和释放先前所占有的资源,配置波特率、配置信息模式等配置特性的操作,则由ioctl函数完成的。

static int _int can_init(void)

初始化默认波特率、注册驱动程序

int can_open(struct inode *inode, struct file *filp)

设置CAN工作寄存器、初始化读操作队列、注册CAN模块中断

static int can_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)

根据cmd参数选择相应的操作

上面列举出了对CAN操作的初始化、打开、和配置函数,其他的还有读、写、关闭等函数,最后所要实现的功能就是CAN模块中断,在中断中主要完成对于读写位置标志的改变,以实现阻塞型I/O操作,这样,用户通过应用这些操作函数就完成了CAN总线的使用了。

5 、结语

本设计利用嵌入式系统和CAN总线,实现工程机械的车载监控的集成化、信息化和智能化,通过在嵌入式系统CAN总线的应用,可以方便的实现前端安全监控、电液比例等单元监控,并且可以进行人机交互和图像采集,有很好的应用前景。

责任编辑:gt


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

    关注

    68

    文章

    18430

    浏览量

    222867
  • 嵌入式
    +关注

    关注

    4993

    文章

    18359

    浏览量

    289986
  • CAN总线
    +关注

    关注

    145

    文章

    1815

    浏览量

    129744
收藏 人收藏

    评论

    相关推荐

    Cortex-A9处理器的精妙应用

    `Cortex-A9处理器属于ARM公司的Cortex系列,是ARM公司既ARM11后推出的最新系列,在Cortex三大系列A、R、M中属于A系列,“A”系列面向尖端的基于虚拟内存的操
    发表于 11-03 17:02

    ARM Cortex-A9处理器

    类别:嵌入式系统处理器知识产权许可商ARMHoldingsplc已经成功开发出双内核Cortex-A9处理器设计(被称为Osprey)的两个实现。Cortex-A9
    发表于 09-06 09:27

    SEP3203处理器的FPGA数据通信接口设计

    SEP3203处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32位RISC微控制,面向低成本手持设备和其他通用嵌入式设备。该处理器内嵌
    发表于 12-05 10:13

    SEP3203处理器实现FPGA数据通信接口设计

    AHB总线宽度。由于FPGA与SEP3202处理器之间只有16位数据总线,所以设计中源地址数据宽度设为16位,目的地址数据宽度设为32位。程序如下:5 性能分析为了实现
    发表于 04-26 07:00

    嵌入式微处理器ARM7202触摸屏接口的原理是什么?

    随着芯片技术的发展,处理器内部集成的资源越来越丰富,有些芯片内部已经集成了触摸屏控制。如韩国现代半导体公司的32位ARM处理器
    发表于 03-17 07:33

    USB接口与CAN总线的实例怎么实现

    为了更好的将USB的通用性和CAN的专业性结合起来,通过计算机的USB接口接入CAN专业网络,实现系统控制的便利性和应用的高效性,本文讲述了一种基于
    发表于 03-25 07:18

    怎么实现基于ARM7处理器LPC2119的USB-CAN转换设计?

    本文讲述了一种基于ARM7处理器实现USB接口与CAN总线的实例,通过其可以在PC实现
    发表于 05-21 06:58

    基于ARM7及GPRS的路灯监控通信系统终端

    维护和推广,无制约,可靠性高,稳定性好,具有一定的先进性,标准性且易于扩充的系统。可以说,将GPRS应用于路灯监控系统的数据传输是目前最理想的选择。本系统设计一种基于
    发表于 11-02 07:00

    双内核Cortex-A9处理器设计实现

    类别:嵌入式系统处理器知识产权许可商ARMHoldingsplc已经成功开发出双内核Cortex-A9处理器设计(被称为Osprey)的两个实现。Cortex-A9
    发表于 12-13 06:03

    如何利用ARM9处理器如何设计一种SD卡电路呢?

    如何利用ARM9处理器如何设计一种SD卡电路呢?
    发表于 07-19 14:24

    Arm Cortex-A32处理器高级SIMD和浮点支持技术参考手册

    Arm Cortex-A32 Cortex-ACortex‑A32处理器支持A32和T32指令集中的高级SIMD和浮点指令。 Cortex‑A32浮点实现: •不生成浮点异常。 •在硬件中实现
    发表于 08-02 14:50

    ARM Cortex-M4处理器技术参考手册

    Cortex-M4处理器包含处理器核心、嵌套矢量中断控制(NVIC)、高性能总线接口、低成本调试解决方案和可选的浮点单元(FPU)。 Cortex-M4
    发表于 08-08 07:18

    ARM Cortex-M85处理器技术参考手册

    Cortex®-M85处理器是一款完全可合成的高性能微控制处理器,它实现ARM®v8.1-M主线架构,其中包括对M-Profile向量扩
    发表于 08-09 07:28

    Arm Cortex-R82处理器技术参考手册

    支持在同一内核上执行多个受保护的内存系统架构(PMSA)上下文,并使用虚拟化技术将它们隔离在内存空间中。 同样,Cortex®-R82处理器能够在时间上隔离不同情景的实时性能,从而限制一个情景对更关键情景的响应时间和确定性的影响
    发表于 08-17 07:45

    Arm Cortex-M55处理器数据集

    ARM Cortex-M55处理器是一款完全可合成的中端微控制处理器实现了ARMv8.1-M主线架构,并支持M-Profile向量扩展
    发表于 08-25 07:46