基于DSP的现场测控装置及通信软件设计

发布者:快乐旅途最新更新时间:2009-04-30 来源: 微计算机信息关键字:现场总线  DSP  测控系统 手机看文章 扫描二维码
随时随地手机看文章

  1  引言

  随着工业规模的扩大,工业控制系统的信息集成程度也越来越高。基于网络的现场总线控制系统为信息的集成提供了有效技术保证。现场总线是应用在制造或过程区域现场装置与控制室内自动控制装置之间的数字式、串行、多点通信的数据总线,也被称为开放式、数字化、多点通信的底层控制网络。以现场总线为核心的工业控制系统,称为现场总线控制系统。本文主要设计了 CAN 总线测控系统中的 DSP 下位机现场测控装置及通信软件。

  2  测控节点的总体设计

  本文所讨论的测控系统是以 CAN 总线为基础,结合 PC 机和 DSP 测控节点来完成数据的采集工作的。因此 CAN 总线上的测控节点具有很重要的作用。节点结构框图如图 1。

基于DSP的现场测控装置及通信软件设计

  图 1  节点结构框图

  网络节点,可以采用单独的微控制器、CAN 控制器和 CAN 收发器组合而成,也可以将微控制器和 CAN 控制器集成在一起的带有在片 CAN 的微控制器。节点控制器的选择有两种方案,一种是选择 MCS196 等单片机,但是必须在外部扩充高精度的 A/D 转换器、CAN 通信模块、定时器等模块,处理数据能力较低。而另一种方案采用具有在片 CAN 的微处理 器,如 PHILIPS 的 81C90/91、TMS320LF2407 处理器等。因为 TMS320LF2407 具有较高的 运行速度和数据处理能力,因此,在本系统中采用 TMS320LF2407 作为节点的微处理器。

  3 CAN 总线接口电路及工作原理

  TMS320LF2407 与物理总线之间通过 CAN 总线收发接口电路来连接。从 CAN2.0 协议 的特征可知,一条总线上节点数可以无限多,但要受到总线驱动能力限制,考虑这一点,设计中采用收发驱动芯片方案。本文选用 Philips 公司的 CAN 总线驱动器 82C250。CAN 总线驱动器提供了 CAN 控制器与物理总线之间的接口,是影响网络性能的关键因素之一。它最初是为汽车中的高速应用(达1Mbps)而设计的。器件可以提供对总线的差动发送和接收能力。

基于DSP的现场测控装置及通信软件设计

  图 2  硬件接口电路图

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

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

  4  软件设计

基于DSP的现场测控装置及通信软件设计

  图 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 发送程序

  数据从 CAN 控制器发送到 CAN 总线是由控制器自动完成的,所以 DSP 在发送数据时只需把要发送的数据帧发送到 CAN 的发送区(邮箱 3),然后将发送控制寄存器中的相应位置1 即可启动发送命令,当 CAN 控制器将数据成功发送后会将发送控制寄存器中的发送成功 标志位置 1,通过判断这一位是否为 1,用户即可知数据是否发送。如果发送的数据非常大,可以用邮箱 4 或 5,邮箱轮流发送,一个邮箱发送完成即启动另一个邮箱。由于 DSP 的在片 ADC 模块是 10 位的,即采集到的数据为10 位,而邮箱为 16 位,为此我们在发送数据时,将采样的结果通过移位后将多个采样结果合在一起发送,可减少所发送的帧。

  4.2.2 CAN 接收程序

  本系统中帧的接收以中断方式。CAN  控制器在接收信息时,先将要接收的信息的标识符与相应的接收邮箱的标识符进行比较,只有标识符相同的信息才能被接收。CAN 控制器的接收滤波器使接收邮箱可以忽略更多的位来接收信息,即如果只有被屏蔽的那几位标识符不相符,则接收邮箱仍可接收此信息。当接收屏蔽使能位为 0 时,则局部接收屏蔽寄存器不起作用。CAN 的接收流程图如图 4 所示。

基于DSP的现场测控装置及通信软件设计

  图 4 CAN 接收流程图

  现场测控装置的中断服务程序,包括接收数据中断并保存接收到的数据,同时处理相应的错误中断。当主节点(PC 机)向从节点(现场测控装置)发送请求数据命令时,从节点即产生接收数据中断。进入中断服务程序后首先保护现场,然后 CPU 读出接收缓冲区的内容,最后恢复现场、中断返回后调协议分析程序。

  4.2.3  协议实现程序

  中断服务程序结束后,读出节点  ID,并读出命令内容,进行任务分析,根据任务分析的结果确定数据发送任务,并向主节点发送数据。其协议实现程序框图如图 5 所示。

基于DSP的现场测控装置及通信软件设计

  图 5  节点协议实现框图

  4.2.4  用户子程序设计

  对从节点子程序的设计,主程序通过调用子程序即可完成,这样减少了程序重复编写。 子程序的模数转换是利用 TMS320LF2407 内部的模数转换模块,避免了芯片的外扩的工作。A/D 转换是采用定时中断的方式,这里用定时器 3。

  本文作者创新点:

  本文从软硬件方面详细描述了基于 DSP 现场硬件智能测控装置及通讯软件的设计。其中从节点通讯软件主要包括:CAN 现场智能测控装置初始化,报文发送及中断接收。

关键字:现场总线  DSP  测控系统 引用地址:基于DSP的现场测控装置及通信软件设计

上一篇:视频监控系统中基于FPGA的视频处理
下一篇:基于FIFO的DDC与DSP高速数据传输实现

推荐阅读最新更新时间:2024-05-02 20:48

基于DSP串行通信在变频调速系统中的应用
随着电力电子技术的不断发展和微处理技术尤其是数字信号处理器(DSP)的出现,基于数字控制的现代交流调速系统可以应用复杂的控制策略,实现高速动态响应功能。在以DSP为控制核心的异步电机驱动系统中,要实现观测驱动系统在运行中的数据变量,根据需要对程序进行控制,就需要应用DSP中的串口通讯接口与上位机——控制面板或者计算机系统进行通讯。本文针对一套基于DSP的异步电机变频调速驱动系统,设计了DSP与上位机系统通讯的硬件电路,编写了通讯的汇编程序,实现了DSP与上位机的异步通讯。在调试阶段,为了方便调试,在WINDOWS环境下,在PC机上利用VB编写了通讯控制程序,实现了DSP与上位PC机的通讯。通过多种条件下的运行调试,证明通讯可靠,运
[电源管理]
基于<font color='red'>DSP</font>串行通信在变频调速系统中的应用
如今不再单纯依赖CPU(一)CPU、GPU和DSP多方混战
    从智能手机和平板终端到个人电脑、服务器乃至超级计算机——计算设备全都迎来了巨大变化。        这种变化就是摆脱单纯依赖CPU。利用CPU、GPU和DSP等多种处理器可以运行应用软件,也就是“混合计算”。其目的是彻底提高计算系统的电力效率。        对半导体厂商而言,这是一种会动摇自己地位的变化。此前各处理器的分工一直很明确,比如利用CPU驱动OS和普通应用软件;利用GPU绘图;利用DSP执行数字信号处理。而现在这种分工方式可能会崩溃。原本提供其他领域产品的半导体厂商有可能突然变成竞争对手,这也许会一举改变行业格局。        已经开始积极行动的是CPU和GPU领域的半导体厂商。比如面向个人电脑和服务器提供
[手机便携]
现场总线在软水处理控制中的应用
  在许多企业,软水处理系统是锅炉运行不可缺少的重要组成部分,水质处理的好坏直接影响的锅炉的寿命和安全。充分利用先进成熟的PROFIBUS现场总线技术实现软水处理系统的自动控制,是生产和信息化管理的必然途径。   多年来,PROFIBUS风靡全球,成功地应用于制造业、楼宇、过程控制和电站自动化,PROFIBUS产品在世界市场上被普遍接受,市场占有率超过40%,年增长率20%~30%,目前支持PROFIBUS标准的产品超过1500多种,分别来自国际上250多个生产厂家。在世界范围内已安装运行的PROFIBUS设备已超过200万台。PROFIBUS是一种国际化、开放式、不依赖于设备生产商的现场总线标准,总线存取协议是通过OSI参考
[嵌入式]
利用LabVIEW的测控系统在摩擦磨损试验机中的应用
  摩擦材料是汽车制动系统必不可少的功能材料。用摩擦材料制成的刹车片,不但直接影响汽车的操作性、可靠性和舒适性,而且很大程度上影响其安全性。因此摩擦材料的性能在汽车行业中一直受到高度重视。而性能良好的摩擦磨损试验机则是摩擦材料性能测试必不可少的工具。   摩擦磨损试验机的性能在很大程度上取决于其测控系统的性能优劣。利用计算机软件对试验过程进行自适应控制以及模糊控制等规律控制,实现试验参数的实时获取,并以曲线或表格的形式动态呈现实时参数等已成为测控领域的整体发展趋势。本文利用LabVIEW语言编写了测控系统程序,该测控系统实现了试验参数的实时测量,可以对数据进行滤波和嵌入C语言进行复杂数据处理;可对实时参数进行曲线显示、存储和报表处理
[测试测量]
利用LabVIEW的<font color='red'>测控系统</font>在摩擦磨损试验机中的应用
现场总线控制系统在煤矿中的应用
1、煤矿井下现行的电气控制系统模式      由于我国目前煤矿井下使用的各种电气控制设备基本都是“单兵作战”,如馈电开关、电磁起动器等都是完成一些特定的功能,相互之间几乎没有任何联系,而且由于各个设备的内部状态不外露或很少外露,给诊断及监视造成很大的困难。另外,如果功能需要增加,就要考虑电气控制设备中的接线端子、喇叭嘴的数量够不够,内部还有没有安装位置等等,这就要对电气控制设备进行改造或重新设计,因此这种控制设备不能,也不可能使煤炭生产自动化,实现无人工作面,必须采用一种新的控制模式取代它。 2 现场总线控制系统     由现场总线构成的控制系统称为现场总线控制系统FCS(Fieldbus Control System)。在F
[嵌入式]
802.11b协议的直接序列扩频的DSP实现
摘要:阐述802.11b协议的直接序列扩频的特点及其在不同传输速率下的扩频原理。针对在DSP上如何实现扩频功能、如何针对DSP的架构优化程序,减少硬件开销,提出改进的方法。 关键词:802.11b; 直接序列扩频:DSP 1 引言 近年来,计算机无线网络的逐渐成熟和飞速发展使之迅速地渗透和普及到社会的各个领域.并在许多方面改变了人们原有的生活方式和生活观念。IEEE早在1999年就推出802.11b标准,目前主流的无线网卡均能够支持802.11b标准。 IEEE802.11b协议[11(Higher—Speed Physical Layer Extension in the 2.4 GHz Band)是对802.11协议的
[网络通信]
基于MS320C6678的多路同步时钟信号设计
引言   多核处理器是最近快速发展的电子器件,单个芯片内集成了多个同构或者异构的处理器,使得其计算处理能力得到较大幅度的提高。DSP处理器由于其具有较高的数字处理能力,得到较广泛的应用。多核DSP芯片以目前性能较高的TMS320C66系列为例,其中T MS320C6678 (以下简称C6678)含有8个处理器。这些处理器可以独立工作,也可以并行联合工作。当它们联合工作时,相互之间通信和握手就非常重要,尤其是在对时间要求较高的场合,时钟的稳定和同步就非常关键。时钟的稳定和同步对系统设计、时钟源、时钟分配、电路布线、时钟线屏蔽等都提出较高的要求。   本文利用CDCM6208时钟分配芯片,以此输出多路时钟,提供到8核DSP芯片C667
[嵌入式]
基于MS320C6678的多路同步时钟信号设计
车载dsp有必要安装吗 汽车改音响功放好还是DSP
车载dsp有必要安装吗 车载数字信号处理器(DSP)的安装与需求有关。以下是一些安装车载DSP的情况和推荐: 1. 音频改进需求:如果您对车辆的音频质量不满意,车载DSP可为您提供更好的音频处理功能。它可以帮助优化音频信号,消除杂音和失真,提供更清晰、更平衡的声音。如果您对音频效果有较高要求,安装车载DSP可能会改善车辆音响系统的音质。 2. 定制音频系统:如果您计划安装更高级的音响设备,如扬声器、放大器等,车载DSP可以帮助您更好地管理和控制音频系统。它可以提供更精确的均衡设置、时延校正和声音场景模拟等功能,以实现更高级的音效效果。 3. 系统集成需求:某些车辆可能已经配备了DSP或类似的音频处理设备。但如果您打算升级其他车辆系
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved