linux怎么查看本机内存大小
270
2022-11-24
基于LPC2292微控制器和CAN控制器实现车辆行驶监控系统的设计
1 终端功能
2 终端功能模块设计
2.3 CAN总线接口功能设计
CAN通信与一般的串口通信类似,在数据通信前先要对CAN总线进行初始化操作,包括CAN控制器的选择、数据寄存器的设置、通信波特率的设置等。初始化完成后,需要设置双方的通信协议,建立彼此的连接。只有在同一协议下工作的双方才能正确进行数据的交换。本系统设置的CAN通信协议为:无过滤条件、 bypass模式、波特率可以预先设置。
本系统提供的CAN-BUS通信函数接口如下:
①初始化CAN:int CAN_Init(int cannum,uint32volatile baudset)。
函数入口参数:cannum为CAN控制器的选择标志符,为1选择CAN0控制器,为2选择CAN1控制器;baudset为波特率,可以预先设置。
函数出口参数:初始化成功返回0,失败则返回1。
函数功能:对CAN控制器进行初始化。
②CAN总线发送数据:int CAN_SendData(int can-num,uint32 volatile frameinfo,uint32 volatile senddatal,uint32 volatile senddata2,uint32 volatile canmode)。
函数入口参数:cannum同上;frameinfo为帧信息,用于设置帧信息寄存器;senddata1和senddata2分别为要发送的数据,用于设置数据寄存器A和B;canmode用于设置CAN工作模式。
函数出口参数:数据发送成功返回0,失败则返回1。
函数功能:CAN总线进行数据发送。
③CAN总线接收数据:int CAN_RcvData(int can-num。uint32 volatile *pdatal,uint32 volatile *pdata2)。函数入口参数:cannum同上;pdata1和pdata2为接收数据指针。
函数功能:CAN总线接收数据,并从数据寄存器CANRDA和CANRDB中将数据读进对应的指针中。
2.4 LIN总线接口电路设计
出于用户统一采集数据需求考虑,本系统设计了通用的红外接口。它能够支持红外遥控和数据通信,支持IrDA协议,能够方便地与各种符合协议标准的设备进行通信。该模块由HSDL7001编解码芯片和HSDL3600红外收发芯片组成。 HSDL7001与MCU串口相连,原理框图如图6所示。
3 终端软件设计
3.1 进程管理
μClinux的进程调度沿用了Linux的传统,系统每隔一定时间挂起进程,同时系统产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程何时拥有相应的时间片,然后进行相关进程切换,这通过父进程调用:fork函数生成子进程来实现。
本系统中,为每个任务建立数据处理子进程,包括:车速、转速等信号采集处理任务、串口定时通信任务、USB数据传输任务、GPRS数据传输任务、LCD数据显示更新任务等。子进程采用由μClinux内核中的cron组件触发任务机制。系统中的crontab文件记录了终端的定时数据处理任务信息(可由系统前台设定任务执行周期),时间一到即可被cron触发其相应的子进程。由于采用多进程处理,终端可方便地实现多种信号的实时采集以及数据的及时处理、存储和上送。
3.2 设备驱动程序编写
设备驱动程序是内核与硬件之间的唯一接口,也是内核代码的一部分。当硬件设备要与内核进行交互时,就会产生一个中断信号,通过驱动程序预定义的入口点进入内核,入口点将此信号保存在栈中并保存被中断任务的寄存器的值。内核提取保存在栈中的中断信号,再由内核调用相应的中断处理程序。应用程序可以像操作普通文件一样对硬件设备进行操作。
本系统用到LPC22292的4路A/D采样接口对水温、刹车气压以及发动机电压状态等参数进行采集。下面以A/D采样驱动程序为例进行分析:
②在设备驱动程序中使用中断,是提高系统数据处理速率的有效手段。有两项工作要做:
其中的参数irq是驱动程序使用的设备中断号;handler是中断服务函数指针;flags是一个与中断管理有关的各种选项的字节掩码;device在/proc/interrupts中用于显示中断的拥有者;dev_id这个指针用于共享的中断信号线,返回0成功,非0失败。
A/D驱动程序安装如下一个中断处理程序:
结 语
基于ARM核的LPC2292为控制核心的嵌入式车辆行驶监控终端,在现有行车记录仪基础上增加了若干新功能。它具有以下特点:
①以μClinux系统为数据处理平台,通过多任务进程调度机制大大提高了系统处理海量数据的能力,实时性得到很大提高,对于车速、发动机转速、刹车气压等监测频率要求高的参数可以精确监测,增强了车辆行驶安全性。
②先进的通信功能。CAN、LIN总线接口使得终端可以与具备通用总线接口的车辆融为一体,作为车辆的内置诊断装置,可全方位获取车辆参数。USB接口使得监控数据可以方便地保存至系统后台,利于数据分析。
③完善的数据上传与车辆定位跟踪功能。管理者不仅可以实时了解车辆的位置现状,而且可以实时监控车辆的运行状态,通过司机与管理者的双重监控,可以有效保证车辆的安全运行,这对于从事高危运输行业的车辆具有重要意义。
总之,将高性能的ARM微控制器与嵌入式操作系统运用于车辆行驶监控终端中,既能大大提高车辆数据采集与分析的效率和准确性,又可实现对车辆多种性能参数的实时监控,是今后车辆远程实时监控技术的发展趋势。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~