首页 > 范文大全 > 正文

便携式S4海流计数据采集仪的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇便携式S4海流计数据采集仪的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 为解决S4海流计在海上进行测量作业时,需携带计算机等诸多不便,研制出了便携式s4海流计数据采集仪。采集仪以Atmega128单片机为控制核心,利用Atmega128单片机的双路通用串行接口,同时采集S4海流计和PC机发送的数据,实现了数据的实时采集、存储和显示,便于事后数据处理和分析。本文重点介绍了采集仪的工作原理和具体软硬件实现方法。试验结果表明,该采集仪工作稳定,能够很好地满足采集要求。

Abstract: In order to overcome the inconvenience of taking PC when doing some measurements with S4 Ocean Current Meter, portable data collection instrument for S4 was made. Using Atmega128 as the controlling core,theinstrument utilizes itsdouble currency serial interface and collects data both from S4 Ocean Current Meter and PC as well,so real-time data collection,store and display are realized.This paper mainly introduces the working pringciple and the realization process of software program and hardware circuit in detail.The experiment results indicate that the collection instrument can work steadily and can meet the requirement of date collection very well.

关键词: S4海流计;Atmega128单片机;MAX232;LCD

Key words: S4 Ocean Current Meter;Atmega128 singlechip;MAX232;LCD

中图分类号:TP23 文献标识码:A文章编号:1006-4311(2010)13-0171-03

0引言

海上使用S4海流计进行水文参数测量作业时,所测数据需要通过计算机来进行实时录取采集,而随身携带计算机又会给海上作业带来诸多不便。为解决这个问题,利用Atmega128单片机的双路通用串行接口功能,设计研制了便携式S4数据采集仪,实现了对所测数据的实时管理。显控终端采用图形界面,性能稳定、操作简便,低功耗和微型化设计提高了设备的便携性。这样既摆脱了因携带计算机所带来的不便,又克服了海上实施供电难的条件约束,使数据采集过程简单化,方便了测量作业。

1工作原理

便携式S4数据采集仪实现S4海流计与PC机通信内容的实时录取。使用一片MAX232芯片将S4海流计与PC机通信的232电平转换成TTL电平。将PC机下传给S4的通信内容,通过AVR单片机ATMAGE64的通用串行口1进行读取,并存入单片机内部RAM中;将S4海流计与PC机通信的232电平转换成TTL电平。将S4上传给PC机的通信内容,通过AVR单片机ATMAGE64的通用串行口2进行读取,并存入单片机内部RAM中。双方通信内容通过液晶显示屏显示出来,并通过附在液晶屏上的触摸屏进行功能选择。协议截获器具有大容量的FLASH和大容量的RAM,同时还具有USB接口。协议截获软件编写时,将PC机和S4海流计的通信内容按照时间先后记录在大容量的FLASH中。每次截获之后,通过USB接口将数据下载到PC机上进行处理和分析。

2S4海流计数据采集仪软硬件电路设计

2.1 电源变换电路本设计采用MC34063实现DC-DC变换。具体电路如图1所示。

MC34063的输入电压是3V-40V,输出电流是1.5A,工作开关频率是100KHZ。可以实现降压、升压和反电压变换。图1是降压的电路形式。输出电压的计算方法如下:Vout=1.251+■

本设计中R52为3.6k,R51为1.2k,使用降压的电路形式,因此Vout为+5V。图1中的AS1117-3.3V产生3.3V电压,供FLASH存储器及其电路使用。图1电路与使用7805降压电路比较,功耗明显降低而且不发热。

2.2 FLASH存储器接口电路设计K9F2808UC0C与单片机的接口电路图2所示:

FLASH存储器选用三星K9F2808UC0C。该芯片容量为132Mbits,由1024块组成,每块又由32页组成,一页有528字节(512+16)×8bit。对K9F2808UC0C进行读写操作时,必须以页为单位进行操作。对K9F2808UC0C进行擦除操作,必须以块为单位进行操作。电路中的U6,U7起到电平变换的功能。由于单片机使用5伏电压,K9F2808UC0C使用2.7~3.6伏电压,通过U6,U7对双方的工作电平进行变换。

2.3 RS232接口电路[1,2]采用一片MAX232完成单片机TTL电平与RS-232电平之间的转换。电路连接如图3所示。

图3中的J2、J3两个DB9接口,分别连接到S4和PC机上,其中J2为针式DB9接口用于连接到PC机上,J3为孔式DB9接口用于连接到S4上。J2、J3的9个信号线通过PCB板互相连通,使得S4海流计通信协议截获器工作时,不影响PC机对S4的正常操控。

2.4 LCD显示电路设计[3]课题采用LT320240BKEC5V液晶显示屏,LCD与ATMAGE128接口电路如图4所示:

LT320240BKEC5V液晶显示屏使用RA8803控制器。RA8803是一个中英文文字与绘图模式的点矩阵液晶显示(LCD)控制器,内建512KByte 的ROM 字形码,可以显示中文字型、数字符号、英日欧文等字母,并且内建双图层(Two Page)的显示内存。在文字模式中,RA8803可接收标准中文文字内码直接显示中文,而不需要进入绘图模式以绘图方式描绘中文,可以节省单片机的处理时间,提升液晶显示中文的处理效率。对LCD的操作需要编写RA8803内部寄存器读写程序,需要编写RA8803显示内存写入程序。具体程序如下:

void writereg(uchar Addr,uchar Data)// 写RA8803内部命令寄存器程序

{ PORTB&=~_BV(PB7);

PORTB&=~_BV(PB4);

while(bit_is_clear(PINB,PB2)) dl_ms(0);

PORTA=Addr;//写addr (寄存器号)

PORTG&=~_BV(PG0); //(WR)PG0=0

PORTG|=_BV(PG0); //(WR)PG0=1

while(bit_is_clear(PINB,PB2)) dl_ms(1);

PORTA=Data;//写参数 (寄存器)

PORTG&=~_BV(PG0);//(WR)PG0=0

PORTG|=_BV(PG0); //(WR)PG0=1

PORTE|=_BV(PE2);//RS-PB4=1,CS-PB7=1,关片选

PORTE|=_BV(PE4);

}

uchar readreg(uchar Addr) // 读RA8803内部命令寄存器程序

{ uchar Data;

PORTB&=~_BV(PB7); PORTB&=~_BV(PB4);

while(bit_is_clear(PINB,PB2)) dl_ms(0);

PORTA=Addr;//写addr (寄存器号)

PORTG&=~_BV(PG0); //(WR)PG0=0

PORTG|=_BV(PG0); //(WR)PG0=1

PORTA=0x00;//写参数 (寄存器)

DDRA=0X00;

while(bit_is_clear(PINB,PB2)) dl_ms(1);

PORTG&=~_BV(PG1);//(WR)PG0=0

Data=PINA;// 读出寄存器数值

PORTG|=_BV(PG1); //(WR)PG0=1

PORTB|=_BV(PB4);//RS-PB4=1,CS-PB7=1,关片选

PORTB|=_BV(PB7);

return(Data);

}

void writedata(uchar u)// 向显存写入数据

{ PORTB&=~_BV(PB7); //CS-PB7=0

PORTB|=_BV(PB4); //数据。RS-PB4 PB4=1

while(bit_is_clear(PINB,PB2)) dl_ms(5);

PORTA=u;

PORTG&=~_BV(PG0); //(WR)PG0=0

PORTG|=_BV(PG0); //(WR)PG0=1

PORTB|=_BV(PB7); // CS-PB7=1,关片选

}

2.5 USB接口电路设计USB接口电路采用是美国Silicon公司的USB-UART桥接器CP2102进行设计。CP2102是一种高度集成的USB转UART桥接器提供一个使用最小化的元件和PCB空间实现UART转USB的简便的解决方案,该芯片包含一个USB 2.0 全速功能控制器、USB收发器、振荡器和带有全部的调制解调器控制信号的异步串行数据总线(UART)。USB接口电路如图5所示:

Silicon公司提供免费的CP2102器件驱动程序器,允许一个基于CP2102的产品作为PC机的一个COM口使用,CP2102的UART接口处理所有的UART信号包括控制和握手信号。因此本设计的USB接口实际上是将PC机的一个USB口虚拟成一个COM口来使用。

2.6 触摸屏电路[4]触摸屏作为一个输入设备,用于替代键盘。本设计中对触摸屏的控制使用专门的控制芯片ADS7843。触摸屏的控制芯片既要完成电极电压的切换,又要采集接触点处的电压值。ADS7843是TI公司生产的4线电阻触摸屏转换接口芯片。它是一款具有同步串行接口的12位A/D转换器。ATMAGE64单片机有专门的同步串行接口,ADS7843与ATMAGE64接口电路如图6所示:

ADS7843的控制字如下所列:

其中S为数据传输起始标志位,该位必为"1"。A2~A0进行通道选择(001为Y通道,101为X通道,010为IN3,011为IN4)。MODE用来选择A/D转换的精度,"1"选择8位,"0"选择12位。SER/选择参考电压的输入模式(1为SER模式,0为DFR模式)。PD1、PD0选择省电模式。使用ATMAGE64单片机内部的SPI接口可以方便的控制ADS7843,程序如下:

SPDR=0xD0; //送控制字 11010000 即用差分方式读Y坐标

while(!(SPSR&0X80));

SPDR=0x00;

while(!(SPSR&0X80)){dl_ms(10);}

Y =(SPDR&0X7F)

SPDR=0x00;

while(!(SPSR&0X80)){dl_ms(10);}

Y |=SPDR&0X1F;

SPDR=0x90; //送控制字 10010000 即用差分方式读X坐标

while(!(SPSR&0X80)){dl_ms(6);}

SPDR=0x00;

while(!(SPSR&0X80)){dl_ms(6);}

X =(SPDR&0X7F)

SPDR=0x00;

while(!(SPSR&0X80)){dl_ms(6);}

X |=SPDR&0X1F;

3结束语

便携式的S4数据采集仪体积小、内存大,可以摆脱携带PC机进行海上作业的不便,是水文数据的录取和处理方法的一个新的尝试。经过一年的使用证明,该样机工作非常稳定,经多次实验比对,所录取的数据与PC机所下载数据完全一致,说明此采集仪设计合理可行,可以替代PC机直接进行数据录取。可以将此采集仪的设计方法推广到ADP剖面仪的信息截获、GPS的信息截获与处理等等,具有广泛的应用前景。

参考文献:

[1]刘兰香,张秋生.Atmega128单片机应用与开发实例,2006.

[2]吴双力,崔健,王伯岭.AVR-GCC与AVR单片机C语言开发,2004.

[3]于露,普仕凡,李卿.大连海事大学学报,2008,34(S2).

[4]范振宇,程昱.ADS7843在嵌入式系统中的应用.煤炭科学技术,2005,(12).