基于PROFIBUS的监测子站设计
系统的硬件主要由键盘、显示模块、通信模块、系统测量模块组成(图2)。采用3×3行列扫描键盘可以大大节省I/O口的占用。128×64点阵图形LCD可以显示大量信息。为了保存一些设定的参数和运行数据,选用Microchip公司生产的串行存储器芯片24LC02B,它采用I2C总线接口,以256个字节为单位组成一块,页写缓冲区高达8个字节,1百万次擦写。通信模块由SPC3芯片及外围电路组成,由于SPC3采用的是5V供电,而MSP430F149采用3.3V供电,在硬件设计中要考虑3.3V逻辑系统和5V逻辑系统共存,器件对加到输入脚或输出脚的电压通常是有限的,这些引脚由二极管或分离元件接到Vcc,为了避免元器件的损坏和数据的丢失,采用专用的电平转换器SN74LVCC4245A芯片,它是一个8bit宽度的双向I/O电平转换器,BUS B为3.3V数据,BUS A为5V数据连接SPC3芯片,其中DIR决定数据方向。SPC3中断信号X/INT通过电平转换后送入P1.6,为单片机提拱通信中断信号。为了提高通信的抗干扰性,SPC3的内部电路必须与物理接口在电器上隔离,采用高速光耦HCPL7101和SN75ASL176D收发器保障了PROFIBUS总线通信的高可靠性。
轴温测量采用美国DALLAS公司生产的单总线数字式温度测量芯片的DS18B20,工作电压3.0V~5.5V,测温范围为-55℃~+125℃,具有总线结构,通过P2.0就可以实现对8个温度传感器信号的采集。
图2 系统接口电路图
4.系统软件设计
系统上电后,首先要对SPC3和LCD进行初始化,配置寄存器。主程序中根据中断请求分别调用信号采集、键盘显示和通信程序。
4.1状态信号采集
信号采集程序的调用是由定时器中断产生的,由于监测系统不参与实时控制,同时为了避免总线上大量数据的传输,每2秒产生一次中断,执行信号采集。状态信号经过外部电路转换后,进入MSP430单片机时都为模拟电压信号,在程序上主要是A/D转换和滤波。对于温度传感器,由于是采用总线连接,对应不同的地址,调用8次读温度子程序,刷新温度缓存器中的数值,等待显示程序和通信程序的调用。转速测量采用定时器及中断计数的方法。
4.2 键盘显示
键盘采用行列扫描方式,当有按键动作时,产生中断信号,执行参数设定、显示、翻页等程序。LCD显示模块内部含有字库,因此不需要进行字模的编写。初始化完成后,定时向显示缓存区送出要刷新的数据。
4.3通信接口
通信接口软件在系统中较为重要,包括三部分:SPC3初始化、输入处理和输出处理。SPC3上电后首先要进行一次初始化,设定SPC3寄存器变量名称、硬件模式、地址及标识号、各个BUF地址及长度、取得BUF指针。当SPC3产生信号给P1.6时,CPU产生中断,执行输入处理程序,获得总线上的指令和数据。子站在执行状态信号采集后,执行一次数据输出处理,向总线发送该子站的状态参数。
4.4 GSD文件
编写标准的GSD文件后,该子站就可以作为标准PROFIBUS设备使用,为各种不同的厂家所识别(系统主站为SIEMENS PLC-300)。GSD文件包括厂商和设备名称、软硬件版本号、波特率、监控时间间隔和从站设备通道数量、类型等等。
5.结束语
基于MSP430F149及PROFIBUS-DP总线的减速机在线监测系统,具有测量参数多、精度高,显示灵活,传输距离远,抗干扰能力强等优点。在同等监测标准下,成本远低于其它监测系统。本文以减速机为实例,阐述了具有总线结构的分布式状态监测子站的构建,在电力、石油、化工等领域中具有推广价值。
本文作者创新观点:提出了一种新的工厂在线监测手段,将MSP430和PROFIBUS-DP总线技术结合在了一起,具有标准的总线接口,通用性很强,适用于远距离高速传输。系统使用时方便、简单,可以直接在LCD上显示数据和信息,在远程监测中有着广阔的应用空间。
1. SPC3 Siemens PROFIBUS Controller User Description. Siemens, 1996
2. SIEMENS. SPC3 User Description [R]. 1996
3. 苏天诺,方彦军.PROFIBUS-DP与HART协议转换研究及其网关设计[J].微计算机信息,2005,10-1:12~14。
4. 胡大可,MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002
5. 秦龙,MSP430单片机C语言应用程序设计 [M],北京:电子工业出版社,2006
PROFIBUSMSP430SPC 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)