微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于DSP和CAN总线的数据采集与处理系统

基于DSP和CAN总线的数据采集与处理系统

时间:11-04 来源:EDN 点击:

图4 CAN通信接口电路

3 系统软件设计

本系统的软件在CCS2000的开发环境下编辑、调试的,采用C2000 DSP汇编语言和C语言混合编程。软件采用模块化的开发思想使得模块的调用简洁方便。与硬件两部分相对应,其软件功能划分为采样和通信两个环节。

3.1 采样环节

ADS7864 含有两个可以同时工作的12位A/D转换器,其3个保持信号选择输入的多路开关并且启动A/D转换。这3个保持信号同时有效就可以同时保持6路输入信号,转换的数据分别存放在6个寄存器中。ADS7864的BUSY端接到DSP 的XINT1端,ADS7864把数据转换完成后发出中断请求信号,DSPC相应中断,进入中断服务程序,读取数据。一次读到16位信息,其中DB15表明数据的有效性(高电平有效),DB14,DB13,DB12表示哪个通道,DB11~DB00为该通道的转换的结果。地址/模式信号(A0,A1,A2)选择数据读取数据的方式,本系统设置为全"1",即采用先入先出方式。根据电路编写程序,程序流程图如图5所示。

图5 采样模块程序流程图

3.2 通信环节

在使用CAN控制器之前首先必须对它的内部寄存器进行初始化设置。包括相关I/O口、位定时器以及邮箱的相关设置。第1步即为正确配置两个引脚CANTX和CANRX,因为这两个I/O口均为复用口。第2步初始化位定时器:位定时器主要由BCR1和BCR2这两个寄存器组成,包括CAN控制器的通讯波特率、同步跳转宽度、采样次数和重同步方式。第3步初始化邮箱:邮箱初始化主要是设置邮箱的标识符、控制域以及对相应的邮箱赋初值。以下是寄存器初始化的部分原代码:


数据的发送与接收:当完成以上3步之后,接着就实现对数据的发送与接收请求.数据的接收,采用中断方式接收CAN信息,而且所接收到的信息标识符必须与相应的接受邮箱的标识符相同才能被接收,否则被滤除.

4 结束语

本文将DSP和CAN总线等技术应用在电力系统模拟量采集和测量中,详细阐述了实际应用中的模数转换和CAN接口电路.该系统的数据采集的速度和精度使电压、电流和功率等基本遥测量的采集、计算、分析更为快捷,CAN通信符合现场要求,在实际应用中取得良好的效果,也为相关的电力系统中的电量检测提供了一定的参考。

编辑:博子

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top