教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 计算机软件及应用> linux基于S3C2410的数据采集与传输系统

linux基于S3C2410的数据采集与传输系统

上传者:刘权
|
上传时间:2015-05-06
|
次下载

linux基于S3C2410的数据采集与传输系统

基于S3C2410的数据采集与传输系统

张扬1

(1,2.西安科技大学 通信与信息工程学院,陕西 西安 710600)

摘 要:系统为了实现数据的采集和传输,系统采用S3C2410为开发平台并在Linux操作系统下完成数据的采集、传输和显示功能。结果表明设计的系统采用ADC0809能够完成4路模拟量和8路开关量的采集,数据采集精度高,速度快。采集的数据通过RS485总线传给PC上位机并实时显示。 关键词:S3C2410;RS485;上位机

中图分类号: 文献标识码: 文章编号:

System of Data Acquisition and Transmission

which based on S3C2410

Zhangyang1

(Xian university of science and technology communication and information engineering school, xi 'an, 710600,China)

Abstract:In order to realize data collection and transmission system, the system adopts the S3C2410 as the development platform and under Linux operating system to complete data collection, transmission and display function.Results show that the designed system using ADC0809 analog and able to complete 4 road 8 way switch quantity of acquisition, data acquisition of high precision, fast speed.Acquisition of data to the PC through the RS485 bus PC and real-time display. Key words: S3C2410;ADC0809;.RS485.Upper machine

引言

数字系统所能处理的信号为数字信号,在模拟电路中信号首先要经过AD转换,信号处理后还要经过DA转换为模拟信号。为了实现从模拟信号到数字信号的转换本系统设计实现了模拟信号的采集、量化、编码、显示等功能。

1

图1.1系统框图

1 采集平台硬件设计

采用S3C2410作为系统的核心处理器;通过8路8位ADC采集芯片ADC0809采集

内容需要下载文档才能查看

4路电压、电流、重力、温度等模拟量,系统开关量采集直接利用8个IO口;采集到的所有数据通过485总线传输到上位机,上位机接收到数据后实时显示数据。系统整体框图如图1.1所示。

收稿日期:

作者简介:张扬,女,西安科技大学,学士

系统硬件包括核心处理器、数据采集系统和传输系统具体介绍如下。 1.1 处理器平台介绍

S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用FBGA封装,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可

运行在203MHz。本系统采用2410处理器完全可以满足系统的要求。

1.2 采集电路设计

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。该系统只需采集4路模拟量,所以完全满足系统的要求,对于8位精度也足以满足系统的要求。该部分的电路如图1.2所示。

内容需要下载文档才能查看

图1.2 数据采集原理图

关键代码如下:

static long switch_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) {

int ioarg, ret;

if (_IOC_TYPE(cmd) != SWITCH_IOC_MAGIC) return -EINVAL;

if (_IOC_NR(cmd) > SWITCH_IOC_MAXNR) return -EINVAL; switch(cmd) {

case SWITCH_IOC_GETDAT: ioarg = ok6410_switch_getdat(); ret = put_user(ioarg, (int *)arg); break; default:

return -EINVAL; } return ret;

}

1.3 数据传输电路设计

数据的传输方式很多,最常用的RS232、RS485和网络通信。各种方式有各自的优点和缺点,根据本系统的特点,为了保证系统的可靠性和较长的传输距离该系统最终采用了485总线通信,详细电路

如图1.3所示。

内容需要下载文档才能查看

图1.3 串口通信原理图

2 系统软件设计

系统软件包括Linux操作系统底层ADC0809驱动程序,应用程序和PC端上位机软件程序设计。在本系统中驱动程序以及其他下位机软件用的是C语言,上位机界面的编写用的是C++语言。下面对各部分程序做详细介绍。

2.1 ADC0809驱动程序设计

为了方便应用程序编程,Linux操作系统必须为各种硬件设备编写驱动程序,然后采用文件读写的形式对硬件进行操作。ADC0809的程序属于底层字符型硬件驱动程序。驱动程序加载方式有两种,一种方式是直接将驱动程序编译进内核,另一种是需要时采用动态加载的方式。为了调试方便系统采用的是动态加载的方式,移植关键代码如下所示。unsigned char ReadData(unsigned char addr) {

unsigned char temp;

switch(addr) { case 0x00:ADDR_A=0;ADDR_B=0;ADDR_C=0; case 0x01:ADDR_A=1;ADDR_B=0;ADDR_C=0; case 0x02:ADDR_A=0;ADDR_B=1;ADDR_C=0; case 0x03:ADDR_A=1;ADDR_B=1;ADDR_C=0; case 0x04:ADDR_A=0;ADDR_B=0;ADDR_C=1; case 0x05:ADDR_A=1;ADDR_B=0;ADDR_C=1; case 0x06:ADDR_A=0;ADDR_B=1;ADDR_C=1; case 0x07:ADDR_A=1;ADDR_B=1;ADDR_C=1;

default:break;

}

ST=0; ST=1; ST=0;

while(EOC == 0); EN=1;

getdata=GPIOL;

}

delay(5); delay(5); EN = 0;

VS2010集成开发环境采用C++语言编写了上位机界面。

3 实验结果

系统完成了任务中的所有要求,具体包括4个模拟量的采集,8个开关量的采集以及数据的传输和上位机的显示功能。

2.2 RS485串口通信软件设计

由于RS485串口通信技术已经很成熟同时该总线数据传输距离远,可靠性高所以该系统采用了这种方式。系统采用115200bps的波特率。数据传输的帧格式为开始字节+数据+结束字节。串口通信的参考文献

关键代码如下。

void SerialOpen(void) { int set;

fd_serial=open("/dev/ttySAC0",O_RDWR); if(fd_serial==-1) { exit(1); } else {

set=set_opt(fd_serial,115200,8,'N',1);

if(set==-1) exit(1); printf("serial is ok!\n");

}

}

485通信软件流程图如图2.1所示。

内容需要下载文档才能查看

图2.1 485通信流程图

2.3上位机软件的编程

为了能够实时显示接收到的数据,该系统利用

[1] 刘学勇.Linux C编程从入门到精通[M].电子工业大学出

版社.2012

[2] 熊茂华.嵌入式Linux实时操作系统及应用编程[M].北京

清华大学出版社.2011

[3] 宁方明.Linux系统管理[M].北京人民邮电出版社.2012 [4] 谭浩强著.C程序设计(第三版).北京:清华大学出版社,

2005

[5] 华清远见嵌入式培训中心.嵌入式Linux C语言应用程序

设计.北京人民邮电出版社.2007

[6] 徐英慧.ARM9嵌入式设计.北京航空航天大学出版

社.2010

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

二年级下册数学第二课
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
苏科版数学七年级下册7.2《探索平行线的性质》
六年级英语下册上海牛津版教材讲解 U1单词
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
3月2日小学二年级数学下册(数一数)
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
沪教版八年级下次数学练习册21.4(2)无理方程P19
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
三年级英语单词记忆下册(沪教版)第一二单元复习
冀教版英语三年级下册第二课
人教版历史八年级下册第一课《中华人民共和国成立》
沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
冀教版小学数学二年级下册1
【获奖】科粤版初三九年级化学下册第七章7.3浓稀的表示
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
外研版英语七年级下册module1unit3名词性物主代词讲解
外研版英语三起6年级下册(14版)Module3 Unit1
北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
《空中课堂》二年级下册 数学第一单元第1课时
北师大版数学四年级下册3.4包装
沪教版八年级下册数学练习册21.4(1)无理方程P18
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
苏教版二年级下册数学《认识东、南、西、北》
人教版二年级下册数学
化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)
冀教版英语五年级下册第二课课程解读