基于嵌入式Linux的温度采集系统的设计与实现.pdf
《基于嵌入式Linux的温度采集系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于嵌入式Linux的温度采集系统的设计与实现.pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 页脚下载后可删除,如有侵权请告知删除!课 程 设 计 论文题目 基于嵌入式Linux的温度采集系统 的设计与实现 学 院 专 业 班 级 学 号 学生姓名 指导教师 完成时间 2021 年 5 月 页脚下载后可删除,如有侵权请告知删除!摘要 数据采集系统是信息科学的一个重要分支,它研究信息数据的采集、存储、处理以及控制等。本文提出采用嵌入式 Linux 作为操作系统,针对三星公司的S5PV210 嵌入式处理器,设计一个嵌入式温度采集系统。论文在分析了 Linux 设备驱动程序的根本工作原理根底上,讨论了开发中经常会碰到的中断处理、拥塞处理、I/O 端口,并在此根底上实现了基于 S5PV210
2、 嵌入式处理器的开、读、写、关外部 RAM 的字符设备驱动和网络驱动。结合高精度温度传感器 DS18B20,实现温度的正确采集,并通过以太网络将数据上传给上位效劳器。论文首先介绍了通信网络中各种设备特性、总线构造及传输技术,然后介绍根据单片机与 PC 机之间的串行通信原理,用 ubantu 完成数据采集系统的软件设计与实现,为用户提供一个友好的人机界面,对采集系统进展控制并显示采集后的数据。使用串口线传输数据,为数据采集系统和计算机之间的通讯开辟了新的道路。关键词:数据采集系统;以太网络;S5PV210;DS18B20 页脚下载后可删除,如有侵权请告知删除!Design and Impleme
3、ntation of an Embedded Temperature Acquisition System based on Linux Abstract Data Acquisition System is an important branch of information science,it studies the collection,storage,processing and control of information data.In this paper,the embedded Linux is used as the operating system,and the em
4、bedded S5PV210 processor is designed to design an embedded temperature acquisition system.Based on the analysis of the Linux device driver based on the basic working principle discussed development often encounter interruption congestion handling,processing,I/O ports,and on this basis,realized s5pv2
5、10 embedded processor open,read,write,outside the ram of the character set by driver and the network drive on.Combined with the high precision temperature sensor DS18B20,to achieve the correct temperature collection,and through the Ethernet network to upload data to the host server.At first,the pape
6、r introduces the communication network characteristics of various devices,bus structure and transmission technology,and then introduce according to the principle of serial communication between MCU and PC,ubantu completed software design and implementation of data acquisition system,to provide users
7、 with a friendly man-machine interface,to control the acquisition system and display after the collection of the data.The use of serial data transmission,for the data acquisition system and the communication between the computer has opened up a new path.Key words:Data acquisition system;Ethernet;S5P
8、V210;DS18B20 I 页脚下载后可删除,如有侵权请告知删除!目录 第一章 需求分析.1 1.1 总体设计.1 1.2 客户端界面设计app:Linux_client.1 1.3 效劳器设计linux.1 1.4 硬件设计.2 第二章 详细设计.3 2.1 代码调用过程.3 2.2 文件 IO 系统库函数.3 2.3 网络编程.4 2.4 内核驱动开发:模块编程.6 2.5 注册字符设备驱动.7 2.6 操作硬件的过程:(裸奔代码).8 第三章 测试过程.10 3.1 测试.10 第四章 工程拓展.11 4.1 工程拓展.11 附录.12 总结.23 页脚下载后可删除,如有侵权请告知删除
9、!第一章 需求分析 1.1 总体设计 图 1-1 总体设计图 1.2 客户端界面设计app:Linux_client 1.作为用户操作的简单界面 2.用于发送命令控制硬件 3.接收 server 传输的数据 4.显示数据。1.3 效劳器设计linux 1.用于接收app客户端发送的命令 2.处理命令 3.转发给硬件 4.读取硬件传输数据 5.把数据传回app客户端 页脚下载后可删除,如有侵权请告知删除!1.4 硬件设计 1.Led 灯 点亮灯:led1、led2。2.温度传感器 把温度数据读取到客户端。3蜂鸣器 用于报警以及音乐播放。页脚下载后可删除,如有侵权请告知删除!第二章 详细设计 2.
10、1 代码调用过程 代码调用过程如下图:图 2-1 代码调用图 分析代码调用过程:0.准备工作:1.2.register_chrdev 注册字符设备驱动 1.App:fd=open(/dev/led,O_RDONLY);2.drivers:2.sys_open(/dev/led,O_RDONLY)3.由内核为我们匹配,看是否能够找到设备号为 249 的 led-drivers 4.如果匹配成功,继续找到 structfile_operationsled_fops构造体 2.2 文件 IO 系统库函数 1.Open 翻开文件 页脚下载后可删除,如有侵权请告知删除!返回一个文件描述符 2.Read
11、通过文件描述符 fd,读取文件 3.Write 通过文件描述符 fd,写文件 4.Close (进程完毕的时候,会自动关闭,可以不必显示的调用 close)阻塞:poll 机制解决 客户端如果要接收效劳器回发的数据,那么需要读取网络套接字,此时,客户端涉及到读终端和读效劳器,而读终端和读效劳器都是会阻塞的,所以调用poll机制解决。int poll(structpollfd*fds,nfds_tnfds,int timeout);功能:把所关心的文件描述符参加到structpollfd构造中,告诉内核我要非阻塞的读这个文件描述符,内核为我们判断,如果不阻塞,那么相应的状态,参数 1:struc
12、tpollfd intfd;/*所关心的文件描述符*/short events;/*告诉内核我要做什么:POLLIN:非阻塞的读*/short revents;/*内核返回的状态*/;参数 2:关心的描述符的个数 参数 3:愿意等待多长时间 -1 :一直等待 0 :表示愿意等待的时间 返回值:大于 0:表示至少有一个已经成功返回 =0 :表示超时 GPC0CON3-15-12 -0001=Output LED2-GPC0CON4-19-16 -0001=Output GPC0DAT:用于设置电平的上下 GPC0DAT3-GPC0CON15-12 led1 亮-高电平 1 GPC0DAT4-GP
13、C0CON19-16 led2-灭-低电平 0 Led:GPC0CON 存放器地址 0 xE0200060#define GPC0CON(*(volitale unsigned long*)0 xE0200060)GPC0DAT 存放器地址 0 xE0200064#define GPC0DAT(*(volitale unsigned long*)0 xE0200064)MMU 当开启了 MMU 之后,我们是不能直接访问到物理地址的。需要通过 ioreamp 把物 理地址映射为虚拟地址,我们只能通过虚拟地址操作硬件 Virt=ioremap(phy);intstrncasecmp(const c
14、har*s1,const char*s2,size_t n);比拟字符 s1 和 s2 的前 n 个字符是否相等,如果相等,那么返回 0 5.裸奔代码操作硬件过程 图 2-6 操作硬件流程图 页脚下载后可删除,如有侵权请告知删除!第三章 测试过程 3.1 测试 1用户登录 输入用户名和密码进展校验 2登录成功进入到用户操作界面如图3-1 所示 输入要控制硬件的命令:如:翻开 led1,那么输入 on1 关闭 led1,那么输入 off1 翻开音乐播放器,那么输入 song 获取温度,那么输入 get 退出,那么输入 quit 图 3-1 用户操作界面 页脚下载后可删除,如有侵权请告知删除!第四
15、章 工程拓展 4.1 工程拓展 目前本工程实现了通过客户端操作硬件,实现了点亮灯/蜂鸣器报警/音乐播放/温度数据采集功能。除用于温度监测外,在系统中的 ARM 外围可接入控制电路、其他性能的传感器甚至摄像头等,还可以实现多种其他特殊需要的远程监测及控制,如水位监测、视频监控等,具有十分广阔的应用背景。智能硬件框架如图4-1 所示 图 4-1 智能硬件框架图 页脚下载后可删除,如有侵权请告知删除!附录 效劳器模块:/*1.调用 socket 函数创立套接字。TCP 协议:SOCK_STREAM*/sockfd=socket(AF_INET,SOCK_STREAM,0);if(-1=sockfd)
16、perror(socket);return-1;/*填充效劳器信息*/struct sockaddr_in servaddr;memset(&servaddr,0,sizeof(servaddr);servaddr.sin_family=AF_INET;/PF_INET servaddr.sin_port=htons(PORT);/端口号(5001-65536)servaddr.sin_addr.s_addr=inet_addr(SERVERIP);/ip 地址 socklen_t adrlen=sizeof(servaddr);/*2.调用 bind 指定本地地址和端口。*/ret=bind
17、(sockfd,(struct sockaddr*)&servaddr,adrlen);if(-1=ret)perror(bind);return-1;/*3.调用 listen 启动监听。*/ret=listen(sockfd,1000);if(-1=ret)perror(listen);return-1;printf(server init.d success.n);int newfd;char bufBUFSZ=0;pthread_t tid;while(1)/*4.调用 accept 从已连接列队中提取客户连接。*/页脚下载后可删除,如有侵权请告知删除!newfd=accept(soc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 Linux 温度 采集 系统 设计 实现
限制150内