首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于DSP的现场测控装置及通信软件设计
来源:本站整理  作者:佚名  2009-03-31 15:41:52



以 TMS320LF2407 为核心芯片,PCA82C250 为驱动 CAN 控制器和物理总线间的接口, 对总线提供差动发送能力,对 CAN 控制器提供差动接收能力。因为 TMS320LF2407 用 3.3V 的电压,PCA82C250  用 5V  的电压,所以需要电平转换。图中:R2、R3、R4  和二极管 D 组成的电路为电平转换电路,R1 为 CAN 终端匹配电阻。接口电路如图 2 所示。

如果考虑到提高系统的抗干扰能力,可以在 CAN 总线收发器 PCA82BC250 前增加 2 个 高速光电隔离器件  6N137  芯片,实现总线与控制器的隔离,可以保护总线不受瞬态冲击的影响,并可提高节点的总线驱动能力。

4  软件设计

图 3 从节点主程序流程图

 节点的软件设计主要包括四大部分:CAN  现场智能测控装置初始化、报文查询发送及中断接收、用户 A/D、D/A 转换子程序即协议实现程序。其主程序的实现流程如图 3 所示。 本测控装置的节点通信软件采用的语言是 DSP 的 C 语言嵌入汇编语言,因为在用 C 语言开发 DSP 应用程序时,可能会遇到一些对实时性要求较高或是需要对 DSP 的底层资源进 行操作的场合。这时如果用  C  语言编写相应的代码就会给开发带来一定的难度,甚至某些操作 C 语言根本就无法实现。这时,就需要在 C 语言中嵌入汇编语言。

4.1  节点的通信初始化流程

CAN 现场测控装置节点的初始化主要包括:系统初始化、CAN 初始。系统初始化包括 开中断优先级、清中断标志等。CAN  初始化主要包括:局部接收屏蔽寄存器的设置、主控制寄存器的设置、邮箱方向控制寄存器的设置、波特率参数设置、邮箱标识符的设置、邮箱的设置和中断允许寄存器的设置等。

1、位定时器的初始化

在对位定时器(BCR1  和  BCR2)进行初始化时,首先注意要对  CAN  模块主控制寄存器 MCR 中的 CCR(改变配置请求位)置 1,并对全局状态寄存器 GSR 中的 CCE(改变配置始能 位)置 1,方可进行下面的初始化。因为此时 CAN 控制器处于脱离 CAN 总线状态,因此当 配置完位定时器后,将 CCR 位清零,使 CAN 控制器恢复总线。CAN 控制器波特率的计算 方法如下:

波特率=ICLK/ [(BRP+l)+Bit Time]

其中:TCLK 为 CAN 控制器的时钟频率,也就是 DSP 的系统频率。BRP 为波特率预分频位,决定CAN 控制器的时间片(TQ)。TQ= (BPR+1)/ ICLK

位时间(Bit Time)=(TSEGl+1)+(TSEG2+1) +1

TSEG1 为时间段1,可编程为 3 到 16 个 TQ 时间片。TSEG2 为时间片 2,可编程为 2

到 8 个 TQ 时间片,但必须满足小于或等于时间段 1。

2、CAN 初始化。对 CAN 控制器的访问是以外部存储器的方式。

4.2 CAN 信息的发送与接收

本系统中数据的传输速率设置为 1Mbps,将邮箱 0、2 配置为接收邮箱,其中邮箱 2 为 命令信息专用邮箱,用于接收上位机发来的控制命令。邮箱 0 用来接收上位机发来的节点参 数,节点可根据这些参数来重新配置节点的信息。将邮箱 3 配置为发送邮箱,这个邮箱用于 节点给上位机发送信息。

4.2.1 CAN 发送程序

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

关键词:

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

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

推荐阅读

图文阅读

热门阅读

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