已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于web的嵌入式远程监控系统学生:刘 仁 指导老师:蔡 硕 摘要: 随针对当前国内国外嵌入式服务器技术研究和发展情况的分析,本报告提出了将 WEB 服务器、嵌入式系统以及当前的一些嵌入式实验板板载功能进行融合的设计思想。设计了结合 WEB 服务器技术的嵌入式监控系统。该系统具有浏览交互式网页,对嵌入式平台进行监视和控制等功能。通过本套嵌入式WEB 服务器系统,用户可以通过 HTTP 协议方便的访问相应的嵌入式平台进行有效监视的同时还可以进行实时的有效控制。该系统对硬件要求极低、响应速度快、安全性好、可扩展性强等优点,具有较高的实际应用价值。该系统在智能家居、嵌入式组网等方面的应用将有较广阔的发展前途。关键词:ARM 嵌入式系统;嵌入式 web 监控;boa 服务器;CGI 编程;Linux 操作系统关键词:自动化、奏乐器、VHDL、数字电路Abstract: According to the analysis of the researches about the status of the mbeddedserver of the world.We rise a design of a embedded internet control system basedon the Web service which integrates the web server,embedded technology and thefunctions on the embedded experiment Board.This system has the function of browsing the web pages,monitoring theembedded Board and so on.With this embedded WEB server,the users can watchthe embedded system conveniently according the HTTP protocol.At the sametime the users can also monitor the ystem.This system have a lot of longtageslike a low request of the hardware,limited time of response and a stable status.Wewill see that this kind of system used in the application of intelligent familyelectronics,embedded neting and so on would have a good development.Keywords: ARM Embedded System;Embedded Web Server System;BoaServer;CGI Programing;Linux Operating System1 引 言嵌入式系统课程设计是本专业在学习完 C 语言、LINUX 操作系统、嵌入式系统原理与接口设计、嵌入式操作系统原理之后的专业课程设计,属于专业课内容。通过课程设计建立嵌入式系统主体环节,嵌入式系统的最小结构和系统应用设计基本技能,培养分析和解决一些简单的实际问题的能力,为今后毕业设计奠定基础。随着嵌入式技术的发展和高速宽带网络的普及, 利用网络实现远程监控已为人们广泛接受, 嵌入式网络监控技术正是在此条件下逐步发展成熟起来的。 用户使用 Web 浏览器, 通过以太网远程访问内置 Web 服务器的监控摄像机, 不但可以实现对现场的远程视频监控, 而且可以向监控现场发送指令。 在整个系统的实现过程中, 嵌入式 Web 服务器起着十分重要的作用。本课题就是基于该项技术,最终编程实现通过网络控制下位机嵌入式控制器的电机启动和停止。1.1研究目的和意义1、通过嵌入式课程设计,熟练掌握 C 语言的编程方法。基于 WEB 的远程监控的实现,CGI 的编写和使用,将理论联系到实践中去,提高我们的动脑和动手的能力。2、通过基于 WEB 的嵌入式远程监控系统的设计,掌握 S3C2410 实验箱,直流电机的工作原理,BOA 服务器的使用,CGI 的使用和简单程序的编写及调试方法,最终提高我们的动手实践能力。3、本课题的研究目的是用 BOA 服务器、CGI、IE 浏览器设计一个通过 IE 浏览器监控电机的系统,能够通过两个简单的按键对电机进行启动和停止的控制,并能够在 IE 浏览器上看到电机的当前状态。4、由于基于 WEB 的嵌入式远程监控系统将成为今后远程监控技术发展的主流方向,所以需要设计出简单实用,让人们更满意的产品。1.2 本设计任务和主要内容1基本要求本课题主要设计和研究基于WEB的嵌入式远程监控系统,要求在保证可靠运行的前提下,电路设计尽量简洁紧凑,以减小成本、提高系统的效率和安全性。2应解决的问题1)设计系统网络方案2)分析网络程序结构和应用程序的使用方法3)编程实现嵌入式系统服务器功能4)编程实现嵌入式系统联网功能5)编程实现通过网络控制下位机嵌入式控制器的电机启动和停止3扩展功能演奏时可以通过按键选择是手动演奏还是自动演奏,手动演奏是通过按键进行简易乐曲的演奏。2 总体方案设计2.1 整体方案设计系统总体设计是基于嵌入式系统和 WEB 服务器结合的思想开发的,其网络拓扑结构如图 2.1 所示图 2.1 系统网络拓扑图针对本次课程设计提出的系统设计如图 2.2 所示图 2.2 系统方案框图2.2 硬件系统设计2.3.1 核心处理器的选择核心处理芯片需要完成处理和支持整个系统的功能需求,通过运行 BOA 服务器要实施的接收来自各个客户端的请求和信息,并根据获得的请求和信息进行相应的后台处理以及信息的反馈。为完成上述功能,实现服务器正常运行,对处理芯片进行选型,对比现有处理芯片的优缺点,选择 ARM9 S3C2410X 芯片作为设计开发嵌入式服务器系统的核心处理芯片。S3C2410X 微处理器是一款由 Samsung 公司为手持设备设计的低功耗、高集成度的基于ARM920T 核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:16KB 指令 Cache、16KB 数据 Cache、MMU、外部存储器控制器、LCD 控制器、NAND FLASH 控制器、4 个 DMA 通道、3 个 UART 通道、1 个 IIC 总线控制器、1 个 IIS总线控制器、4 个 PWM 定时器、1 个内部定时器、通用 IO 口、实时时钟、8 通道 10 位ADC 和触摸屏接口、USB 主、USB 从、SD/MMC 卡接口等。2.3 软件环境选择2.3.1 操作系统的选择当选定了硬件系统后,为了配合硬件达到系统的最优控制要求,对市面上常用的嵌入式系统进行分析比较。(1) 价格比较:Linux 是完全免费的操作系统,只需遵循 GPL 声明,不需支付任何费用;WinCE 是微软的商用嵌入式操作系统,使用它需要支付 WinCE 及其开发环境的费用,开发出来的每套产品也需交纳一定费用。uc/osII 系统,可以免费用于学习或科研,但开发商使用产品或销售都是收费的。(2) 开放性比较:Linux 是源代码完全开放的操作系统,可以自由下载,并且在遵循GPL 声明的前提下可以自由地修改、移植,为系统的开发和调试带来极大的便利;winCE是部分源码开放的商用操作系统,如果要修改其中的代码,需获得微软公司的授权;uc/osII 也是开放的实时操作系统。(3) 文件系统的比较:Linux 支持绝大部分文件系统,只需选择相应的文件系统即可;WinCE 仅支持 Windows 系列的 FAT16、有限文件系统;uc/osII 本身没有包括文件系统,需购买或移植。Linux 与 ARM 处理器从以上可以看出,Linux 系统在诸多方面都存在优势,而且本身的 ARM 处理器与 Linux 也有着紧密的联系。因此采用 Linux 操作系统。2.3.2 服务器的选择典型的嵌入式 Web 服务器有 Boa 和 thttpd 两种,它们和 Apache 等高性能的 Web 服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。Boa 是一个非常小巧的 Web 服务器,可执行代码只有约 60KB。它是一个单任务 Web服务器,只能依次完成用户的请求,而不会 fork 出新的进程来处理并发连接请求。但 Boa支持 CGI,能够为 CGI 程序 fork 出一个进程来执行。Boa 的设计目标是速度和安全,在其站点公布的性能测验中,Boa 的性能要好于 Apache 服务器。经过上述的对比和判断,选择Boa 作为系统的嵌 入式服务器。综合以上的讨论以及选择,根据系统的实际需求,最终确定了采用 S3C2410X 为核心处理器,Linux 为嵌入式操作系统,boa 为服务器以及相应的 http 浏览器的系统设计方案。3 硬件设计3.1 系统硬件平台介绍我们所介绍的硬件平台是基于 ARM 体系结构,由北京博创兴业科技有限公司开发的UP-NetARM2410-S 实验仪器。 UP-NetARM2410-S 的 CPU 为 ARM920T 内核的三星S3c2410 芯片,由于有 MMU(内存管理单元)可以运行标准的 ARM-LINUX 内核。通过这个平台,我们可以实现嵌入式 LINUX 中的针对无 MMU 的开发过程。3.2 s3c2410 芯片介绍图 3.1 芯片结构图3.3 ARM 处理器的外围设备3.3.1 电源电路设备提供 12v 的电源,经 LM1085-3.3V 和 AS1117-1.8V 分别得到 3.3V 和 1.8V 的工作电压。开发板上的芯片多数使用了 3.3V 电压,而 1.8V 是供给 S3C2410 内核使用的。5V 电压供给 LCD、电机、总线等电路使用。图 3.2 电源电路3.3.2 硬件复位电路硬件复位电路由IMP811T构成,实现对电源电压的监控和手动复位操作。2410-S主板复位电路设置专用逻辑:IMP811T 的复位电平可以使CPU JTAG(nTRST和板级系统(nRESET)全部复位;来自仿真器的ICE_nSRST 信号只能使板级复位;来自仿真器的ICE_nTRST 可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET复位。nRESET反相后得到RESET 信号。硬件复位电路如图3.3所示图3.3 硬件复位4 软件设计4.1 设计思想基于 web 的嵌入式监控系统设计主要的功能有简单的网页浏览,实现简单应用功能(客户端与服务器的交互)以及服务器端的控制功能。因此软件的设计分为三个部分:boa 服务器的搭建、应用程序设计和驱动程序的加载。4.2 BOA 服务器的简介与搭建4.2.1 嵌入式 Web 服务器 Boa 的特点Boa 是一款单任务的 HTTP 服务器, 与其他传统的 Web 服务器不同的是当有连接请求到来时, 它并不为每个连接单独创建进程, 也不通过复制自身进程来处理多链接, 而是通过建立 HTTP 请求列表来处理多路 HTTP 连接请求, 同时它只为 CGI 程序创建新的进程,这样就在最大程度上节省了系统资源, 这对嵌入式系统来说至关重要。同时它还具有自动生成目录、自动解压文件等功能, 因此 Boa 具有很高的 HTTP 请求处理速度和效率, 在嵌入式系统中具有很高的应用价值。4.2.2 Boa 的功能实现嵌入式 Web 服务器 Boa 和普通 Web 服务器一样, 能够完成接收客户端请求、分析请求、响应请求、向客 户端返回请求结果等任务。 它的工作过程主要包括:( a) 完成 Web 服务器的初始化工作, 如创建环境变量、创建 TCP 套接字、绑定端口、开始侦听、进入循环结构, 以及等待接收客户浏览器的连接请求;( b) 当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息;( c) 在接收到客户端的连接请求之后,分析客户端请求, 解析出请求的方法、URL 目标、可选的查询信息及表单信息, 同时根据请求做出相应的处理;( d)Web 服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接。嵌入式 Web 服务器 Boa 根据请求方法的不同,做出不同的响应。如果请求方法为HEAD, 则直接向浏览器返回响应首部;如果请求方法为 GET, 则在返回响应首部的同时, 将客户端请求的 URL 目标文件从服务器上读出, 并且发送给客户端浏览器;如果请求方法为 POST, 则将客户发送过来的表单信息传送给相应的 CGI 程序, 作为 CGI 的参数来执行 CGI 程序, 并将执行结果发送给客户端浏览器。 Boa 的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。4.2.3 BOA 的搭建与移植(1)准备源代码、解压软件包,安装源代码到 boa 网站 下载 boa-0.94.13.tar.gz 源代码,或者使用光盘的boa-0.94.13.tar.gz 软件包。$ tar xzvf boa-0.94-13.tar.gz(2)进入 src 目录,编译源代码。解压后 src 目录下有 Makefile.in 文件,但没有 Makefile 文件,为了编译源代码,需要先生成 Makefile 文件,在 src 目录下运行 configure 命令$ ./configure生成的 Makefile 文件是针对 X86 平台的,为了生成能够在 ARM 上运行的 boa,需要修改 Makefile 文件。将 Makefile 的 3132 行内容:CC = gccCPP = gcc E应用(在交叉编译时使用):然后输入 make 命令进行编译,在 src 目录下就会生成 boa 文件。$ make然后将该文件添加到文件系统中,重新下载文件系统。如果不幸出现icky Linux kernelbug!的错误,请将 src 下 boa.c 的第 226 行注释掉,重新编译下载即可。(3)安装 boa 服务器主要是配置 boa 服务器。boa 启动时需要一个配置文件 boa.conf,该文件的缺省目录由src/defines.h 文件的 SERVER_ROOT 定义,或者在启动 boa 的时候通过参数-c指定。其中指定的默认目录是:/etc/boa/(4)登录 boa 服务器在 PC 机浏览器地址栏输入目标系统的 IP 地址(1),访问存在于目标系统中的网页。4.3 应用程序设计4.3.1 程序设计依赖关系通过对系统的分析以及对服务器的了解,系统确定了以下的软件开发系统方案,如图4.1 所示图 4.1 软件依赖关系4.3.2 应用程序流程图乘法功能图 4.2 乘法功能实现流程图程序段电机程序的流程图图 4.3 电机部分流程图4.4 驱动程序设计驱动部分主要有两部分组成:电机驱动和网卡驱动,其中以电机驱动为主。由于在本套系统设计中,不可能每次开机都要由操作人员将驱动加入内核,这样既不方便又费时费力,所以系统采用将驱动编译进内核的模式。4.4.1 电机驱动电机驱动程序流程1、开启设备时,配置 IO 口为定时器工作方式2、配置定时器的各控制寄存器3、在 s3c2410_dcm_ioctl 中提供调速功能接口4、应用程序 dcm_main.c 中调用5、实现直流电机速度的调整4.4.2 驱动加载过程以电机驱动为例:编译直流电机cd /arm2410s/kernel-2410smake menuconfig进入 Main Menu / Character devices 菜单,选择 DC MOTOR模块加载:编译内核模块:make depmakemake modules直流电机模块的编译结果为:/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o2、加载模块在超级终端中,通过加载 NFS 运行编译结果:mount t nfs 21:/arm2410s /hostInsmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o5 系统整体调试与分析系统的调试分了 x86 和 arm 架构下的调试,其中以进阶方式进行开发测试,根据实现难度分为三步:第一步先实现简单的网页浏览,然后通过乘法操作的简单设计来实现人机交互最后通过电机控制的设计完成整个服务器监控系统的设计。5.1 linux 平台下的调试5.1.1 简单网页浏览的调试与分析结果:网页正常显示分析:遇到的问题主要集中在 BOA 服务器的搭建上,经过仔细学习参考资料成功解决了问题。5.1.2 基于 web 的乘法操作的调试与分析结果:网页可以正常显示但在调试的开始阶段遇到了程序不能正常运行的问题,但经过同一起努力在两天后解决了问题。分析:存在的问题主要是服务器调用结构不理解导致的 cgi 程序无法正常调用,结果显示为乱码等问题,在正确理解了服务器、cgi-c 编程的原理后,使网页能够正确运作。5.1.3 电机控制的调试与分析由于牵涉到硬件设备的调试所以在 X86 环境下只进行了程序的编写和编译,而没有实际的进行调试。5.2 嵌入式平台下的调试5.2.1 客户端与服务器交互的调试与分析由于/etc 目录只允许读不允许写,但我们搭建的 BOA 服务器的运行要求在/etc 目录下有 mime.types(用来指明不同文件的扩展名对应的 MIME 类型)并且还要在/etc/boa/下有相应的配置文件 BOA.conf,则需要我们重新生成根文件系统等,将我们需要的文件填到相应的位置,然后再重新生成镜像文件并烧写文件系统。将编写好的 html 程序(名称改为 index.html,因为这是输入地址后默认的访问文件) 放到目录 var/www 下。需要的 c 语言程序用 arm-linux-gcc 编译生成相应的 cgi 程序,到目录/var/www/cgi-bin 下。启动 boa 服务器,在根目录下输入 ifconfig 命令可以查找到服务器的 ip 地址,在客户端的地址栏输入该地址,就可以访问到相应的网页,通过该网页用户可以监控电机。5.2.2 电机控制的调试与分析Linux 下的直流电机程序包括模块驱动程序和应用程序两部分。Module 驱动程序实现了以下方法:static struct file_operations s3c2410_dcm_fops = owner:THIS_MODULE,open: s3c2410_dcm_open,ioctl: s3c2410_dcm_ioctl,release:s3c2410_dcm_release,;开启设备时,配置 IO 口为定时器工作方式:(GPBCON &= 0xf; GPBCON |= 0xa;配置定时器的各控制寄存器:( TCFG0 &= (0x00ff0000);TCFG0 |= (DCM_TCFG0);TCFG1 &= (0xf);TCNTB0 = DCM_TCNTB0; /* less than 10ms */TCMPB0 = DCM_TCNTB0/2;TCON &=(0xf);TCON |= (0x2);TCON &=(0xf);TCON |= (0x19); )在 s3c2410_dcm_ioctl 中提供调速功能接口:case DCM_IOCTRL_SETPWM:return dcm_setpwm(int)arg);应用程序 dcm_main.c 中调用:ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor);实现直流电机速度的调整。a.编译直流电机模块cd /arm2410s/kernel-2410smake menuconfig进入 Main Menu / Character devices 菜单,选择 DC MOTOR 为模块加载:b.编译内核模块:make depmakemake modules直流电机模块的编译结果为:/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.oc. 编译应用程序cd /arm2410s/exp/basic/10_dcmotor/make生成 dcm_maind.挂载驱动模块insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.oe.运行程序mount t nfs 192.168.0.xxx:/arm2410s /hostinsmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.ocd /host/exp/basic/10_dcmotor/./dcm_main程序运行结果:直流电机转动 1 秒,停转 1 秒。由于是根据原有变速程序稍做改动完成的程序,所以遇到的问题不是很多,经过几次尝试就得到了期望的结果。5.3 调试结果分析5.3.1 调试结果1、静态网页图 5.1 静态网页2、乘法网页图 5.2 乘法网页3、电机控制网页图 5.3 电机控制网页图 5.4 返回结果5.3.2 结果分析经过 x86 下的调试和基于 ARM 的下载与调试后,系统能够实现静态网页浏览,简单人机交互以及电机控制的功能,系统工作稳定,响应速度快,组网方便快捷,如果与 DNS 服务器或者 WINS 服务器相结合即可实现用主机名就能登录相应平台的功能。6 设计总结经过三个周的学习与努力,经过系统分析、方案论证、 硬件和软件设计、 调试 等阶段完成了基于 web 的嵌入式远程监控系统的设计制作。在这三个周的课程设计中,我得到了老师和同学很大的帮助,有时候觉得进行不下去了,老师或同学一句话就能让我茅塞顿开。即使听不懂,他们也会耐心的讲解。在系统的设计制作过程中,确实遇到了各种各样的问题,如调试思路正确但是没有能够进行找到合适的方法进行进一步的实验,设计中对于程序的编写以及目录结构的认知上存在偏差,其主要原因还是基础功不扎实,把握系统的能力不足,这为我们以后的学习和工作提了一个醒。在问题的解决过程中,也提高了组员的动手动脑能力,学到了许多在书本上学不到的知识。在具体的设计当中解决了诸如 boa 服务器的搭建,C 程序的修改及 CGI编程的理解,程序的调试和系统的整体认识等问题,小组成员收获很大。致谢在这次课程设计中,学校和学院给予了大力的支持,提供了与设计有关的环境,方便了课程设计的顺利进行。在这其中我确实学到了很多知识,在此仅代表个人衷心的感谢学校和学院的大力支持。本论文是在指导老师蔡烁的悉心指导和严格要求下完成的。在整个课程设计过程中,蔡烁老师时时督促和引导,并在设计过程中进行了方向指导,在总体方向不出错的基础上,施展自己的所学,发挥个人的所长。他不仅在学习上和生活上给予了我们多方面的指导和无微不至的关怀,而且他渊博的学识、严谨的治学态度、孜孜不倦的工作作风和宽以待人的处事风格使我终身受益,并且还从中学会了分析问题和解决问题的方法此外,在本次设计过程中,还得到了其他老师和的热情关心和帮助,值此论文完成之际,谨向老师表示崇高的敬意和最诚挚的谢意。参考文献1郑灵翔编著 嵌入式 LINUX 系统设计 北京航空航天大学 2008 年2孙纪坤、张小全编著 嵌入式 LINUX 系统开发技术详解-基于 ARM人民邮电出版社 2007.9、3王进德 编著 嵌入式 LINUX 程序设计与应用案例 中国电力出版社 2007.54郑慕德 编著 嵌入式微型计算机系统实例教程-ARM 与 LINUX 科学出版社2006.75刘淼 编著 嵌入式系统接口设计与 LINUX 驱动程序开发 北京航空航天大学出版社,2006.56魏洪兴等编著 嵌入式系统设计与实例开发 II-基于 ARM9 微处理器与 LINUX 操作系统 清华大学出版社 2005.127魏洪兴等编著 嵌入式系统设计与实例开发实验教材 II-基于 ARM9 微处理器与LINUX 操作系统清华大学出版社 2005.128金敏等编著 嵌入式组成、原理与设计编程 人民邮电出版社 2007.6附录 1 主要程序清单乘法网页的HTML表单:测试 测试请在下面填入乘数和被乘数,按下确定后可以看到结果 乘法程序清单:#include #include int main(void)char *data;long m,n;printf(%s%c%c,Content-Type:text/html;charset=gb2312nn,13,10);printf(乘法结果 );printf(乘法结果 );data = getenv(QUERY_STRING);if(data = NULL)printf(错误!数据没有被输入或者数据传输有问题);else if(sscanf(data,m=%ld&n=%ld,&m,&n)!=2)printf(错误!输入数据非法。表单中输入的必须是数字。);elseprintf(%ld和%ld的成绩是:%ld。,m,n,m*n);return 0;电机网页的HTML表单:监控电机输入start启动电机,输入stop停止电机电机程序清单:#include #include #include #include #include #define DCM_IOCTRL_SETPWM#define DCM_TCNTB0#define ERROR printf(error)static int dcm_fd=-1;char *DCM_DEV=/dev/dcm/0raw;char* getcgidata(FILE* fp,char* requestmethod);int main()char *input;char *req_method;char name5;int i=0;int j=0;int k;int status=1;int setpwm=0;int factor=DCM_TCNTB0/1024;if(dcm_fd=open(DCM_DEV,O_WRONLY)0)printf(Error opening %s devicen,DCM_DEV);return 1;printf(Content-type:text/htmlnn);req_method=getenv(REQUEST_METHOD);input=getcgidata(stdin,req_method);k=strlen(input);printf(%d,k);for(i=9;istrlen(input);i+)namej+=inputi;namej=0;printf(%s ,name);if(j6)i=0;if(namei=s)if(namei+1=t)if(namei+2=a)if(namei+3=r)if(namei+4=t)setpwm=100;ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwm*factor);printf(MOTOR START);elseERROR;elseERROR;elseif(namei+2=o)if(namei+3=p)if(namei+4=0)setpwm=0;ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwm*factor);printf(MOTOR STOP);elseERROR;elseERROR;elseERROR;elseERROR;elseERROR;ElseERROR;return 0;char* getcgidata(FILE* fp,char* requestmethod) char* input;int len;int size=1024;int i=0;if(!strcmp(requestmethod,GET)input=getenv(QUERY_STRING);return input;else if(!strcmp(requestmethod,POST)len=atoi(getenv(CONTENT_LENGTH);input=(char*)malloc(sizeof(char)*(size+1);if(len=0)input0=0;return input;while(1)inputi=(char)fgetc(fp);if(i=size)inputi+1=0;return input;-len;if(feof(fp)|(!(len)i+;inputi=0;return input;i+;return NULL; 16大学本科生毕业设计(论文)撰写规范本科生毕业设计(论文)是学生在毕业前提交的一份具有一定研究价值和实用价值的学术资料。它既是本科学生开始从事工程设计、科学实验和科学研究的初步尝试,也是学生在教师的指导下,对所进行研究的适当表述,还是学生毕业及学位资格认定的重要依据。毕业论文撰写是本科生培养过程中的基本训练环节之一,应符合国家及各专业部门制定的有关标准,符合汉语语法规范。指导教师应加强指导,严格把关。1、论文结构及要求论文包括题目、中文摘要、外文摘要、目录、正文、参考文献、致谢和附录等几部分。1.1 题目论文题目应恰当、准确地反映论文的主要研究内容。不应超过25字,原则上不得使用标点符号,不设副标题。1.2 摘要与关键词1.2.1 摘要本科生毕业设计(论文)的摘要均要求用中、英两种文字给出,中文在前。摘要应扼要叙述论文的研究目的、研究方法、研究内容和主要结果或结论,文字要精炼,具有一定的独立性和完整性,摘要一般应在300字左右。摘要中不宜使用公式、图表,不标注引用文献编号,避免将摘要写成目录式的内容介绍。1.2.2 关键词关键词是供检索用的主题词条,应采用能覆盖论文主要内容的通用技术词条(参照相应的技术术语标准),一般列35个,按词条的外延层次从大到小排列,应在摘要中出现。1.3 目录目录应独立成页,包括论文中全部章、节的标题及页码。1.4 论文正文论文正文包括绪论、论文主体及结论等部分。1.4.1 绪论绪论一般作为论文的首篇。绪论应说明选题的背景、目的和意义,国内外文献综述以及论文所要研究的主要内容。文管类论文的绪论是毕业论文的开头部分,一般包括说明论文写作的目的与意义,对所研究问题的认识以及提出问题。绪论只是文章的开头,不必写章号。毕业设计(论文)绪论部分字数不多于全部论文字数的1/4。1.4.2 论文主体论文主体是论文的主要部分,要求结构合理,层次清楚,重点突出,文字简练、通顺。论文主体的内容要求参照大学本科生毕业设计(论文)的规定第五章。论文主体各章后应有一节“本章小结”。1.4.3 结论结论作为单独一章排列,但不加章号。结论是对整个论文主要成果的归纳,要突出设计(论文)的创新点,以简练的文字对论文的主要工作进行评价,一般为4001 000字。1.5 参考文献参考文献是论文不可缺少的组成部分,它反映了论文的取材来源和广博程度。论文中要注重引用近期发表的与论文工作直接有关的学术期刊类文献。对理工类论文,参考文献数量一般应在15篇以上,其中学术期刊类文献不少于8篇,外文文献不少于3篇;对文科类、管理类论文,参考文献数量一般为1020篇,其中学术期刊类文献不少于8篇,外文文献不少于3篇。在论文正文中必须有参考文献的编号,参考文献的序号应按在正文中出现的顺序排列。产品说明书、各类标准、各种报纸上刊登的文章及未公开发表的研究报告(著名的内部报告如PB、AD报告及著名大公司的企业技术报告等除外)不宜做为参考文献引用。但对于工程设计类论文,各种标准、规范和手册可作为参考文献。引用网上参考文献时,应注明该文献的准确网页地址,网上参考文献不包含在上述规定的文献数量之内。1.6 致谢对导师和给予指导或协助完成论文工作的组织和个人表示感谢。内容应简洁明了、实事求是,避免俗套。1.7 附录如开题报告、文献综述、外文译文及外文文献复印件、公式的推导、程序流程图、图纸、数据表格等有些不宜放在正文中,但有参考价值的内容可编入论文的附录中。 基于web的嵌入式远程监控系统 第24页 共61页 2、论文书写规定2.1 论文正文字数理工类 论文正文字数不少于20 000字。文管类 论文正文字数12 00020 000字。其中汉语言文学专业不少于7 000字。外语类 论文正文字数8 00010 000个外文单词。艺术类 论文正文字数3 0005 000字。2.2 论文书写本科生毕业论文用B5纸计算机排版、编辑与双面打印输出。论文版面设置为:毕业论文B5纸、纵向、为横排、不分栏,上下页边距分别为2.5cm和2cm,左右页边距分别为2.4cm和2cm,对称页边距、左侧装订并装订线为0cm、奇偶页不同、无网格。论文正文满页为29行,每行33个字,字号为小四号宋体,每页版面字数为957个,行间距为固定值20磅。页眉。页眉应居中置于页面上部。单数页眉的文字为“章及标题”;双数页眉的文字为“大学本科生毕业设计(论文)”。页眉的文字用五号宋体,页眉文字下面为2条横线(两条横线的长度与版芯尺寸相同,线粗0.5磅)。页眉、页脚边距分别为1.8cm和1.7cm。页码。页码用小五号字,居中标于页面底部。摘要、目录等文前部分的页码用罗马数字单独编排,正文以后的页码用阿拉伯数字编排。2.3 摘要中文摘要一般为300字左右,外文摘要应与中文摘要内容相同,在语法、用词和书写上应正确无误,摘要页勿需写出论文题目。中、外文摘要应各占一页,编排装订时放置正文前,并且中文在前,外文在后。2.4 目录目录应包括论文中全部章节的标题及页码,含中、外文摘要;正文章、节题目;参考文献;致谢;附录。正文章、节题目(理工类要求编写到第3级标题,即.。文科、管理类可视论文需要进行,编写到23级标题。)2.5 论文正文2.5.1 章节及各章标题论文正文分章、节撰写,每章应另起一页。各章标题要突出重点、简明扼要。字数一般在15字以内,不得使用标点符号。标题中尽量不用英文缩写词,对必须采用者,应使用本行业的通用缩写词。2.5.2 层次层次以少为宜,根据实际需要选择。层次代号格式见表1和表2。表1 理工类论文层次代号及说明层次名称示 例说 明章第1章 章序及章名居中排,章序用阿拉伯数字节1.1 题序顶格书写,与标题间空1字,下面阐述内容另起一段条1.1.1 款 题序顶格书写,与标题间空1字,下面阐述内容在标题后空1字接排项 (1) 题序空2字书写,以下内容接排,有标题者,阐述内容在标题后空1字 版心左边线 版心右边线表2 文管类论文层次代号及说明章节条款项一、 (一) 1. (1)居中书写空2字书写空2字书写空2字书写空2字书写 版心左边线 版心右边线各层次题序及标题不得置于页面的最后一行(孤行)。2.6 参考文献正文中引用文献标示应置于所引内容最末句的右上角,用小五号字体。所引文献编号用阿拉伯数字置于方括号“ ”中,如“二次铣削1”。当提及的参考文献为文中直接说明时,其序号应该与正文排齐,如“由文献8,1014可知”。经济、管理类论文引用文献,若引用的是原话,要加引号,一般写在段中;若引的不是原文只是原意,文前只需用冒号或逗号,而不用引号。在参考文献之外,若有注释的话,建议采用夹注,即紧接文句,用圆括号标明。不得将引用文献标示置于各级标题处。参考文献书写格式应符合GB77141987文后参考文献著录规则。常用参考文献编写项目和顺序应按文中引用先后次序规定如下:著作图书文献序号作者书名(版次)出版地:出版者,出版年:引用部分起止页 第一版应省略翻译图书文献序号作者书名(版次)译者出版地: 出版者,出版年:引用部分起止页 第一版应省略学术刊物文献序号作者文章名学术刊物名年,卷(期):引用部分起止页学术会议文献序号作者文章名编者名会议名称,会议地址,年份出版地,出版者,出版年:引用部分起止页学位论文类参考文献序号研究生名学位论文题目出版地学校(或研究单位)及学位论文级别答辩年份:引用部分起止页 西文文献中第一个词和每个实词的第一个字母大写,余者小写;俄文文献名第一个词和专有名词的第一个字母大写,余者小写;日文文献中的汉字须用日文汉字,不得用中文汉字、简化汉字代替。文献中的外文字母一律用正体。作者为多人时,一般只列出前3名作者,不同作者姓名间用逗号相隔。外文姓名按国际惯例,将作者名的缩写置前,作者姓置后。学术会议若出版论文集者,可在会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年碳排放管理员 高级 考前通关必练题库 有答案
- 2025中医院会计笔试题及答案
- 2025四川往年对口考试真题及答案
- 2025 年教师教学技能素养(课堂提问技巧)考试试题及答案
- 2025年矿山生产成本核算试题及答案
- 2025全国经济人考试真题及答案
- 区块链项目经理项目知识管理方案
- 保税报关员继续教育实施方案
- SAP-SD顾问岗位技能要求与培训计划
- 电子商务中的物流成本控制策略
- 科室护理质控人员的培训
- 全面从严治团课件
- 锅炉维护保养课件
- 再生资源回收企业操作规程及环保要求
- 冬季四防安全培训课件
- 评标专家廉政课件
- 宠物中医康复知识培训课件
- 《动物疫病流行病学调查技术规范 小反刍兽疫》
- 2025年中国诚通招聘笔试参考题库附带答案详解
- 插秧机课件教学课件
- 体育赛事组织质量保证措施
评论
0/150
提交评论