摘要:本文介绍一种基于TLC1543的路灯智能现场数据采集系统,对数据采集系统的硬件原理图和数据采集软件进行了详细的论述,该系统在现场使用中稳定可靠,具有很好的应用推广价值。 关键词: 路灯控制;模数转换;数据采集
1、引言
数据采集[1]是研究信息数据的采集、存储、处理以及控制的学科,它是信息科学的重要分支之一。在工业控制中,常由单片机进行实时控制及实时数据处理。单片机所加工处理的信息都是数字量,而被控制或测量对象的有关参量往往是连续变化的模拟量,所以必须将模拟量转换成数字量,以进行数据的采集。A/D转换电路种类很多,在选择模/数转换器时,主要考虑以下的一些技术指标:转换时间和转换频率、量化误差与分辨率、转换精度、接口形式等。目前,较为流行的 A/D转换器件大多都是采用串行接口,这类芯片与单片机的硬件连接非常简单。路灯智能控制是城市管理的重要组成部分,高性能的数据采集系统是路灯智能控制的基础,在该数据采集系统中选用性价比很高的TLC1543与W78E58BP芯片。
2、TLC1543[2]与W78E58BP[3]芯片
2.1 TLC1543性能
在路灯智能数据采集系统中,我们采用TLC1543芯片。该芯片是由TI公司开发的开关电容逐次逼近A/D转换器,具有如下的一些特点:高速、低功耗、10位精度、11路通道、三种内建的自测模式、提供EOC(转换完成)信号等。该芯片与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。在TLC1543的引脚中, A0~A10是11路输入,Vcc和GND分别是电源引脚,REF+和REF-分别是参考电源的正负引脚,使用时一般将REF-接到系统地,达到一点接地的要求,减少干扰。其余的引脚是TLC1543与CPU的接口,其中CS为片选端,低电平有效,如不需选片,可直接接地。I/O Clock是芯片的时钟端,Adress是地址选择端,DataOut是数据输出端,这三根引脚分别接到CPU的三个I/O端即可。EOC用于指示一次AD转换已完成,CPU可以继续读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU的中断引脚,一旦数据转换完成,向CPU提出中断请求,此外,也可将该引脚接入一个普通的I/O引脚,CPU通过查询该引脚的状态来了解当前系统的状态,甚至该引脚也可以不接,在CPU向TLC1543发出转换指令后,过一段固定的时间再去读取数据即可。 在本系统中,表1对TLC1543的通道选择进行了地址分配。
2.2 华邦W78E58BP处理器
W78E58BP是WINBOND公司生产的8位CMOS核心处理器,它是一种全静态设计、低能耗CPU,时钟频率可达到40MHz,具有3个十六位计数器,1个全双工串口,32KB的电擦写EPROM,256字节的RAM,以及64K的地址存储空间,4个8位的双向接口,一个4
|
模拟通道 |
输入地址 |
|
A0 |
0000 |
|
A1 |
0001 |
|
A2 |
0010 |
|
A3 |
0011 |
|
A4 |
0100 |
|
A5 |
0101 |
|
A6 |
0110 |
表1 TLC1543通道选择地址分配表
位可编程I/O端口。8个中断源,2级的中断能力,以及内置的电源管理能力。在路灯智能数据采集中,要进行多路的数据采集,使用W78E58BP处理器可以大大简化外围电路的设计,提高系统的整体性能。该芯片最大特点就是体积小,功能齐全,非常适合在该系统中使用。
3、采集系统的硬件设计
根据TLC 1543的性能,对城市路灯各回路电压、电流进行现场数据采集,并把采集数据返回数据中心对数据进行分析,采集器对三相电压、电流进行采集转换。数据采集系统底

图1 路灯智能数据采集系统硬件逻辑图
层采用TEXAS cop TLC1543 专用芯片非常合适,微处理器则选用华邦的W78E58BP。TLC1543共有11路独立通道(I/O) A0~A10。 本系统只采用了A0~A5 六路通道进行数据采样, TLC 1543 为 20 管脚集成电路芯片,第10脚和20脚分别接地和电源,其工作电压为5V,TLC1543 通道数为11路(A0~A10) ,其中 A0~A2 连接三相电流模拟量输入端. A3~A5为三相电压模拟量输入, 15 管脚为 CS片选连接至W78E58BP单片机 I/O 的P1.3 ,TLC1543的17脚为地址输入脚,与单片机的P1.0管脚连接,地址输入数据为二进制数,做为TLC 1543内部采样通道选通地址输入。地址输入将取决于内部程序设计,19 管脚为 E0C(END-OF-CONVERSION),即是转换结束标志位,该管脚功能由AD转换结束后将输出转换结束的高低电平决定,本系统不使用该管脚.数据输出为16脚.数据输出格式为串口位移输出,连接至系统单片机I/O的 P1.1 。时钟输入管脚为18脚,该管脚由单片机提供采样时钟,作为TCL1543 内部使用。也用于数据位移时钟输出。由(图1)路灯智能数据采集系统硬件逻辑图知道,系统只使用了W78E58BP处理器的P1.0,P1.1,P1.2,P1.3,P1.4就实现了6通道的数据采集,大大节约了CPU的接口,使系统结构简单,容易扩展,方便进一步与自主开发的GPRS通信控制模块进行连接。
4、采集系统的软件实现
软件是整个数据采集系统的重要部分,软件的优劣决定整个系统的采集系统的精度和可靠度,根据TLC1543的时序及其内部特性对软件进行设计。
4.1软件流程图(图2)如下

图2 数据采集软件流程图
4.2采集系统的软件实现
考虑到系统的可维护性和执行效率。软件采用C语言进行程序编写,包括六个主要函数:读取采样值函数read1543(),延时毫秒函数delayms(),延时秒函数delays(),数据发送函数Ticom()和数据发送调用函数report_host( )及一个主函数main( )。
4.2.1 读取采样值函数
uint read1543(uchar port)
{
通道数右移4位,低四位变高四位。
for(i=0;i<4;i++)
{
通道打入TCL1543。
}
for(i=0;i<6;i++)
{
填充六个时钟,进行通道采样。
}
等待AD转换。
for(i=0;i<2;i++)
{
取高两位D9,D8数据。
}
for(i=0;i<8;i++)
{
取低8低数据。
}
数据高低位合并。
return( );
}
4.2.2 数据发送函数Ticom()
在函数参数中,标志位re_pe_flag,1为重发buf_len 个repeat_ch,0无意义;标志位re_pe_ch,当re_pe_flag=1时,参数表示连续的字符值,当repeat_flag=0时,参数无意义;标志位buf ,发送数据流的指针,当repeat_flag 1时,参数有意义,标志位buf_len 是发送字节总数。调用方式:报头调用datasendcom(1,STX,NULL,Headlen);数据调用datasendcom(0,NULL,send_buf,send_buf[1]);datasendcom(1,ETX,NULL,Hendlen)则是报尾调用。
void Ticom(bit re_pe_flag,unsigned char re_pe_ch,unsigned char *buf,unsigned short int buf_len)
{
unsigned short int count;
for ( count =0; count < buf_len; count++ )
{
if ( re_pe_flag )
{
SBUF=re_pe_ch;
}
else
{
SBUF=buf[count];
}
}
while (!TI) { }
TI=0;
}
4.2.3发送函数调用
void report_host(void)
{
Ticom(1,STX,0,com_Headlen); //发送数据包头
Ticom(0,0,Tcom.com_data,send_pkt_len); //发送数据,包括硬件状态
Ticom(1,ETX,0,com_Headlen); //发送结束标志
}
由于篇幅的限制,部分函数没有进行详细的描述,本系统的主要函数在采集系统中的运行效果非常好,达到了预期的目的。
5、结论
基于TLC1543的路灯智能现场数据采集系统,能够有效可靠地对城市路灯进行有效的数据采集,系统具有体积小、造价低、数据采集安全可靠、稳定等优点。系统的实现有以下几个特点:①采用性价比较高的高精度AD和CPU芯片,符合对路灯数据采集处理的要求;②软件设计运行效率高。本系统配合自主开发的GPRS的数据通信控制模块,现在在城市路灯管理中已经运行使用,系统稳定可靠,取得良好的效果。
本文作者创新点:(1)该系统使用TLC 1543芯片,简化了外围硬件电路设计,体积小、功耗低、具有采集速度高、稳定性和可靠性的特点;(2)采用性价比很高的W78E58BP处理器,能方便的进行系统扩充,能与GPRS通信系统进行连接,实现实时远程数据采集;(3)软件设计效率高,在城市路灯管理中取得良好的效果。并获得2006年梧州市科技进步三等奖。项目产生的经济效益高达45万元/年,数据由梧州路灯管理处提供,根据节约电费、人力、管理成本等核算。
参考文献
[1] 来清民,马 涛。基于LTC2400 的分布式高精度数据采集系统的设计[J],微计算机信息,2006,13:127-129
[2] http://www.lierda.com/upfile/1101258757. pdf
[3] http://www.winbond.com.tw/PDF/Sheet/w78e58b. pdf
|