首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
多功能嵌入式车辆行驶监控终端设计
来源:本站整理  作者:佚名  2010-04-15 16:50:46




    ②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总线接口电路设计
    LIN是低成本网络中的汽车通信协议标准,可以提高通信质量、降低成本,将是在汽车中使用汽车分级网络的重要因素。LIN总线是一种简单的单总线系统,其软件协议栈比较简单。一个LIN网络由一个主机节点和一个以上的从机节点组成,所有的节点都包括有从机服务程序,用来发送和接收数据,仅有一个节点包含有主机服务程序。主机程序主要用于发送同步间隔、同步场和ID场(或命令),以控制和协调各个节点的有序通信。
    LPC2292微控制器集成有实现LIN总线节点的必要硬件,包括UART、捕获输入和足够的定时器,特别是其捕获输入功能,为LIN的帧头识别、帧同步 &波特率测量提供了极大的便利。LIN总线接口电路如图5所示,主要由LIN物理层接口芯片TJA1020构成,与LPC2292串口2相连,其主要完成MCU通信信号与LIN物理总线信号之间的相互转换,为MCU提供一个与LIN物理总线的接口。

2.5 红外通用接口模块
    出于用户统一采集数据需求考虑,本系统设计了通用的红外接口。它能够支持红外遥控和数据通信,支持IrDA协议,能够方便地与各种符合协议标准的设备进行通信。该模块由HSDL7001编解码芯片和HSDL3600红外收发芯片组成。 HSDL7001与MCU串口相连,原理框图如图6所示。

    HSDL7001可驱动IrDA兼容的收发器,最高传输速率达11 502 kbps,其内部有1个SIR编码器和1个SIR解码器,支持内部(外接3.684 MHz晶振)和外部16XCLK输入两种模式。当使用内部时钟时,波特率可通过A0、A1和A2进行调整。

3 终端软件设计
    嵌入式μClinux具有结构小巧、实时性强、稳定性高、可定制性强的特点。在网络通信方面,嵌入式操作系统支持TCP/IP及其他协议并提供通信协议动态挂接技术,以及操作系统内部的进程通信应用接口技术。本设计采用稳定的2.4版本的内核,并对它进行合理的裁减和加载,作为操作平台。μClinux己对本系统采用的主控器有了很好的支持,但在编译本系统的内核前,需要修改 uclinux/linux-2.4.x/arch/armnommu/config.in文件中关于外部存储空间的定义,以满足本系统关于外部 Flash、CH375B和LCD液晶屏等器件的存储空间的划分。
3.1 进程管理
    μClinux的进程调度沿用了Linux的传统,系统每隔一定时间挂起进程,同时系统产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程何时拥有相应的时间片,然后进行相关进程切换,这通过父进程调用:fork函数生成子进程来实现。
    本系统中,为每个任务建立数据处理子进程,包括:车速、转速等信号采集处理任务、串口定时通信任务、USB数据传输任务、GPRS数据传输任务、LCD数据显示更新任务等。子进程采用由μClinux内核中的cron组件触发任务机制。系统中的crontab文件记录了终端的定时数据处理任务信息(可由系统前台设定任务执行周期),时间一到即可被cron触发其相应的子进程。由于采用多进程处理,终端可方便地实现多种信号的实时采集以及数据的及时处理、存储和上送。
3.2 设备驱动程序编写
    设备驱动程序是内核与硬件之间的唯一接口,也是内核代码的一部分。当硬件设备要与内核进行交互时,就会产生一个中断信号,通过驱动程序预定义的入口点进入内核,入口点将此信号保存在栈中并保存被中断任务的寄存器的值。内核提取保存在栈中的中断信号,再由内核调用相应的中断处理程序。应用程序可以像操作普通文件一样对硬件设备进行操作。
    本系统用到LPC22292的4路A/D采样接口对水温、刹车气压以及发动机电压状态等参数进行采集。下面以A/D采样驱动程序为例进行分析:

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:119,488.30000 毫秒