毕业论文基于fpga的远程温度检测系统说明书_第1页
毕业论文基于fpga的远程温度检测系统说明书_第2页
毕业论文基于fpga的远程温度检测系统说明书_第3页
毕业论文基于fpga的远程温度检测系统说明书_第4页
毕业论文基于fpga的远程温度检测系统说明书_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

评阅老师分 数数字系统课程设计 班 级 13级信息过程1班 组 长 麦锐杰 组 员 刘清斌、方加鹏 一、 题目要求基于FPGA和ZigBee的远程温度检测系统:终端进行环境温度的检测,数据返回至控制端 ,实时显示检测到的温度。若温度超过阀值,LED灯闪烁报警。二、 设计方案系统整体思路:温度传感器检测获取温度信息,通过ZigBee协议与FPGA控制板进行数据传输。ZigBee模块1 + 温度传感器ZigBee模块2串行接口FPGA 图1 系统整体框图三、 模块实现(一) ZigBee模块实现1. zigbee介绍:Zigbee是基于IEEE802.15.4标准的低功耗局域网协议,又称为紫蜂协议,其特点是近距离、低复杂度、自组织、低功耗、低数据速率。Zigbee协议从下到上分别分为物理层PHY、媒体访问控制层MAC、传输层TL、网络层NWK与应用层APL。本课程设计中zigbee模块采用的是TI公司生产的CC2530F256芯片,符合2.4G_Hz IEEE802.15.4应用。协议栈使用的是TI公司搭建的Zstack,这是当前业界领先、应用面很广的协议栈,结合OSAL操作系统,使得用户在搭建系统、进行多任务分配方面有很大的便利性。其他协议栈还有freakz、msstatePan等。2. DS18B20温度传感器:DS18B20是当前市场主要的温度传感器之一,主要特性有以下几点:1) 适应电压范围广,电压范围在3.0V5.5V,是多数单片机的供电电压,因此大多数在单片机上使用。2) 它具有一线总线的特点,在于微处理器连接时仅需要一条口线即可实现微处理器与DS18B20之间的双向通讯。3) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路类。4) 温度测量范围在-55 125,精度约为0.5。DS18B20温度采集部分:定义DS18B20在CC2530上的输入脚为P0.7:P0DIR &= 0x7f;温度读取主函数如下:unsigned char ReadDs18B20(void) unsigned char V1,V2; /定义高低8位 缓冲 unsigned char temp; /定义温度缓冲寄存器 Ds18b20Initial(); Ds18b20Write(0xcc); / 跳过读序号列号的操作 Ds18b20Write(0x44); / 启动温度转换 Ds18b20Initial(); Ds18b20Write(0xcc); /跳过读序号列号的操作 Ds18b20Write(0xbe); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度 V1 = Ds18b20Read(); /低位 V2 = Ds18b20Read(); /高位 temp = (V1 4)+(V2 & 0x07)*16); /转换数据 return temp;我们从DS1B20读取到用字符串表示的温度值temp,将其送入cc2530模块准备进行发送。3. Zigbee发送部分:1) Zigbee工作模式选取:采用点播方式,给zigbee协调器定义短地址为0x0000:SampleApp_P2P_DstAddr.addr.shortAddr = 0x0000; /协调器短地址给zigbee终端定义短地址为0xFFFF:SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF;/终端短地址2) 串口模式修改:我们在FPGA开发板设计的串口规格是:9600波特率、8位数据位、1位停止位、无奇偶校验位。因此zigbee的串口规格应该也改为与其相同,因此在stack的串口定义函数MT_UART.c进行相应的修改:#define MT_UART_DEFAULT_BAUDRATE HAL_UART_BR_9600/波特率定为9600.uartConfig.callBackFunc = NULL;/关闭zigbee串口的回调。3) zigbee终端与协调器网络搭建过程:图2 ZigBee终端与协调器网络搭建过程4) 终端数据发送过程:当zigbee终端模块从DS18B20接收到数据时,便开始发送模块,触发数据发送任务。点对点发送函数:Void SampleApp_Send_P2P_Message( void )if ( AF_DataRequest( &SampleApp_P2P_DstAddr, &SampleApp_epDesc, SAMPLEAPP_P2P_CLUSTERID, 1, str, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) else / Error occurred in request to send. AF_DataRequest中DstAddr、epDesc为目标地址的属性,SAMPLEAPP_P2P_CLUSTERID为发送任务的ID,触发此ID则进行发送命令。str为我们要发送的数据,我们在此设计中发送的是八位二进制数的温度,因此长度设定为1,str存放的是温度值。 图3 温度数据发送框图实验过程中,设置数据发送的周期SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT为300ms,即0.3秒更新一次温度值。4. ZigBee与FPGA的物理连接zigbee底板通过PL2303芯片与电脑串口进行连接,PL2303芯片是将数字电平信号进行打包,转化成usb协议包,由电脑进行解包。而FPGA底板则是通过MAX232进行连接,max232直接将数字信号转化为RS232模拟电平。因此无法通过USB线将zigbee模块与FPGA开发板直接相连解决办法是在zigbee底板拉出异步传输线TX与RX,直接与cycloneii芯片上的RX和TX对应连接。(二) 基于FPGA的串行接口模块1. 模块概述该串行接口电路用于实现cc2530F256芯片与FPGA的通信,把收到的串行数据转换成并行数据进行输出。由于FPGA只需接收数据,不需要向cc2530F256芯片发送数据,故该接口只由波特率发生器和接收模块组成。2. 波特率发生器图4波特率发生器引脚图波特率发生器即分频器。clk:FPGA提供的系统时钟接入resetb:复位bclk:时钟信号输出,接收模块的时钟输入波特率发生器的VHDL代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity baud is Port (clk,resetb:in std_logic; bclk:out std_logic);end baud;architecture behave of baud isbeginprocess(clk,resetb)variable cnt:integer;begin if resetb=1 then cnt:=0; bclk=330 thencnt:=0; bclk=1; -设置分频系数 elsecnt:=cnt+1;bclk=0; end if; end if;end process;end behave;3. 接收模块1) 接收模块的作用是把收到的串行数据转换成并行数据进行输出 图5 接收器引脚图resetr(输入):复位信号;bclkr(输入):输入时钟;rxdr(输入):串行数据输入信号;rbuf7.0(输出):并行数据输出总线;r_ready(输出):数据接收完毕信号。串行接收模块框图如图6,程序在检测到起始位后(rxdr由1跳变到0),计数连续8个接收时钟采样仍然是低电平后,开始接收串行数据,当采样计数器计数结束后,所以数据已移位输入RSR。最后对高电平进行检测,检测到正确的停止位后说明本帧数据接收完毕。将数据转存在数据寄存器RBR中,串/并转换后,输出8位并行数据rbuf7.0。其中,RBR的状态可通过引脚r_ready来表示。r_ready输出高电平1表示数据接收有效。 图6 接收模块工作框图2) 接收模块状态机接收状态机一共有5个状态:等待起始位R_START、求中点R_CENTER、等待采样R_WAIT、采样R_SAMPLE、停止位接收R_STOP。Rxd_sync=0r_startrxd_sync=0xd_syncr_centerr_stopCount=“1110”rcnt=framlenrCount=“0100”r_sampler_waitcount=“1110”rcntframlenr 图7 接收器状态机ASM图3) 接收模块VHDL代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity reciever isGeneric(framlenr: integer :=8);port(rxdr: in std_logic;bclkr: in std_logic;resetr: in std_logic;r_ready:out std_logic;rbuf:out std_logic_vector(7 downto 0);end entity;architecture Behavioral of reciever istype states is (r_start,r_center,r_wait,r_sample,r_stop);-定义各子状态signal state:states:=r_start;signal rxd_sync:std_logic;beginpro1:process(rxdr)begin if rxdr=0 then rxd_sync=0; else rxd_sync=1; end if;end process;pro2:process(bclkr,resetr,rxd_sync) -主控时序、组合进程variable count:std_logic_vector(3 downto 0); -定义中间变量variable rcnt:integer:=0;variable rbufs:std_logic_vector(7 downto 0);begin if resetr=1 then state -状态1,等待起始位if rxd_sync=0 then state=r_center; r_ready=0; rcnt:=0;else state=r_start; r_ready -状态2,求出每位的中点 if rxd_sync=0 then if count=0100 then state=r_wait; count:=0000; else count:=count+1; state=r_center; end if;else state -状态3,等待状态 if count=1110 then count:=0000; if rcnt=framlenr then state=r_stop;else state=r_sample;end if; else count:=count+1; state -状态4,数据位采样检测rbufs(rcnt):=rxd_sync; rcnt:=rcnt+1; state -状态5,输出帧接收完毕信号r_ready=1; rbuf=rbufs; -并行输出statestate30 then light led1 stcp:out std_logic; shcp:out std_logic; ser_data: out std_logic);end entity;architecture behav of shumaguan is signal score11:std_logic_vector(7 downto 0);signal score12:std_logic_vector(7 downto 0);signal h:integer range 1 to 17:=1;signal m:integer range 0 to 1:=0;-four tubesignal n:integer range 0 to 2:=0;signal data:std_logic_vector(15 downto 0);signal cnt1:integer range 0 to 3:=0;signal choose:std_logic_vector(7 downto 0);signal temp:integer;signal shiwei:integer;signal gewei:integer;begin-数码管译码模块- process(clk)beginif(rising_edge(clk)then choose=chuankou_in;temp30)thenled1=1;end if;shiwei= temp / 10;geweiscore11score11score11score11score11score11score11score11score11score11score11score11score11score11score11score11score11score12score12score12score12score12score12score12score12score12score12score11score11score11score11score11score11score12 if (n = 0) then data(15 downto 8)=11111101;-data的高8位是数码管选通段,选通第三个数码管 data(7 downto 0)=score11(7 downto 0);-data的低8位是记录比分 n = n + 1;elsif (n=1) then stcp=0; -stcp是并行输出时钟shcp=0; -shcp是移位时钟 ser_data=data(0); n=n+1; else shcp=1; -移位时钟上升沿到了,则输入一个数据 data=data(0)&data(15 downto 1);-data右移一位 if h=16 then -h是移位次数 h = h + 1; elsif h = 17 then stcp=1; -并行输出时钟上升沿到了,把16位数据导入完毕 cnt1 = cnt1 + 1; if cnt1 = 3 then m=m+1; cnt1 = 0; n = 0; h = 1; end if; else n=n-1; h=h+1; stcp if n = 0 then data(15 downto 8)=11111110;-data的高8位是数码管选通段,选通第4个数码管 data(7 downto 0)=score12(7 downto 0);-data的低8位是记录比分 n = n + 1; elsif n=1 then stcp=0;-stcp是并行输出时钟 shcp=0;-shcp是移位时钟 ser_data=data(0);n=n+1; else shcp=1; data=data(0)&data(15 downto 1);-data右移一位 if h=16 then -h是移位次数h = h + 1; elsif h = 17 then stcp=1; cnt1 = cnt1 + 1; if cnt1 = 3 then m=0; -m=m+1;cnt1 = 0; n = 0; h = 1; end if; else n=n-1; h=h+1; stcp=0; end if; end if; end case; end if; end process;四、 仿真分析1. 波特率发生器仿真:系统时钟周期设为20ns,分频系数设为10,得到的仿真结果如图9。 图9 波特率发生器仿真波形图由仿真波形图可以得到,每过十个时钟周期就输出一个完整的波特率周期,仿真结果与设计预期相符合2. 接收模块仿真五、 实物展示 45附件1: 大学本科毕业论文(设计)工作程序要求阶段工作程序及要求完成时间第一阶段(准备阶段)(一)确定题目和指导教师1.学院(系)成立毕业论文(设计)领导小组;2.学院(系)向教师(具有讲师以上职称或具有研究生学历的助教)分派指导论文(设计)任务,院(系)公布备选题目一览表;3.学院(系)召开指导教师和学生参加的毕业论文(设计)布置大会;4.学生根据自己的专业兴趣、学术特长选定论文题目,确定指导教师,也可与指导教师协商后确定论文题目;5.学院(系)将选题结果汇总成表,报教务处实践教学科备案。每学年第一学期第8周前(二)做好论文开题、写作的准备工作1.指导教师向学生传达毕业论文(设计)要求及有关管理规定,师生沟通交流课题任务,使学生正确理解课题,为开题做准备;2.学生确定论文题目后,应在指导教师的指导下进行文献检索、实习调研以及实验等论文前期准备工作。每学年第一学期第8周以后第二阶段(开题及写作阶段)(三)做好开题报告教研室组织教师指导学生做好开题报告,院(系)检查开题情况,教务处抽查。每学年第二学期第2周前(四)认真进行毕业论文(设计)指导、检查工作。1指导教师做好指导工作,定期检查学生的工作进度和质量,及时解答和处理学生提出的有关问题;2学院(系)要随时了解、检查论文写作进展情况,及时研究协调处理毕业论文写作过程中的有关问题。每学年第二学期(五)毕业论文中期检查教研室组织中期毕业论文检查工作,做好记录,学生须向指导教师汇报工作进度和工作质量,并填写中期检查表。每学年第二学期第8周第三阶段(评审答辩阶段)(六)指导教师评定毕业论文答辩前一周,学生将毕业论文交指导教师,指导教师需认真审阅,写出评语和评分。每学年第二学期第13-14周(七)评阅老师评阅毕业论文学院(系)或教研室安排有关教师,详细评阅每个学生的毕业论文,给出评分。(八)组织答辩学院(系)成立答辩委员会,组织答辩小组对学生进行论文答辩,答辩日程安排通知教务处,并做好答辩记录,给出答辩成绩。每学年第二学期第15周前(九)综合评定成绩学院(系)组织专门人员检查评分标准执行情况,进行成绩汇总和统计;毕业论文成绩及时报送教务处。每学年第二学期第15周前(十)毕业论文归档管理学院(系)收集并整理归档毕业论文有关材料,包括鉴定表(2份)、开题报告(1份)、中期检查表(1份)、评分表(1份)、论文(设计)(1份)及相应电子文档,填写本科生毕业论文(设计)工作总结表,一份交教务处实践教学科。每学年第二学期第16周前(十一)校级优秀毕业论文评选每学年第二学期第17周前注:1.提前或推延进行毕业论文(设计)的,各阶段要求相同,日程自定;2.毕业论文(设计)工作三个阶段时间安排,可根据各专业特点适当调整。 附件2: 大学本科毕业论文(设计)撰写规范一、毕业论文(设计)文本结构毕业论文(设计)主要由8个部分组成:封面;目录;题目;中外文摘要;正文;参考文献;谢辞;附录。二、毕业论文(设计)各部分规范1. 封面封面按学校规定的格式填写,包括论文(设计)题目、作者姓名、指导教师姓名、学科专业等内容。2. 目录目录由毕业论文(设计)各部分内容的顺序号、名称和页码组成,目次中的内容一般列出二级标题即可。目录应该用“”连接名称与页码。3. 题目论文(设计)题目要恰当、简明、凝练,能够反映论文的主题及其内容,做到文、题贴切。题目中不使用非规范的缩略词、符号、代号和公式,通常不采用问话的方式。题目所使用的词语应当考虑到有助于选择关键词和编制题录、索引等。题目的中文字数一般不超过20个字,外文题目不超过10个实词,中外文标题应一致,居中编排格式。4. 中外文摘要及关键词摘要是对毕业论文(设计)内容不加注释和评论的简短陈述。摘要主要是说明研究工作的目的、方法、结果和结论。摘要应具有独立性和自含性,即不阅读全文,就能获得毕业论文(设计)必要的信息,使读者确定有无必要阅读全文。摘要中应用第三人称的方法记述论文的性质和主题,不使用“本文”、“作者”等作为主语,应采用“对进行了研究”、“报告了现状”、“进行了调查”等表达方式。排除在本学科领域已成为常识的内容,不得重复题目中已有的信息。语句要合乎逻辑关系,尽量同正文的文体保持一致。结构要严谨,表达要简明,语义要确切,一般不再分段落。对某些缩略语、简称、代号等,除了相邻专业的读者也能清楚理解的以外,在首次出现处必须加以说明。摘要中通常不用图表、化学结构式以及非公知公用的符号和术语。毕业论文(设计)的摘要包含中文摘要和外文摘要。中文摘要字数约为200300字,外文摘要约为200300个实词。关键词(Keywords)是为了文献标引,从汉语主题词表或论文中选取出来,用以表示全文主题内容信息的词语或术语。关键词不宜用非通用的代号和分子式。关键词一般为36个。关键词的排序,通常应按研究的对象、性质(问题)和采取的手段排序。中文关键词两词之间应留出一个汉字的空间,不加任何标点符号;外文关键词之间用分号隔开。5. 正文毕业论文(设计)的正文包括前言(引言)、正文、结论三个部分。外语类专业毕业生必须用所学专业外语撰写。毕业论文(设计)的篇幅一般6000字左右。(1)前言(引言)前言(引言)主要说明研究工作的目的、范围,对前人的研究状况进行评述分析,阐明研究设想、研究方法、实验设计、预期结果、成果的意义等。(2)正文正文是对研究工作与研究内容的详细表述,一般由标题、文字、表格或公式等部分组成。该部分要运用选定的研究方法分析问题、论证观点,尽量反映出研究能力和学术水平。正文是毕业论文(设计)的核心部分,占据主要篇幅。正文是论文的主体,要求观点清晰、论点正确、论据可靠、论证严密、层次清楚。正文中的图表和计量单位要规范。图须有序号、图题、图例、量和单位,图序号须用阿拉伯数字,与图题空 1 格,写在图下方;表格采用 3线表,表头线和表尾线为粗黑线,表两边不要串写文字,表序号须用阿拉伯数字,与标题空 1格,写在表上方;一律使用法定计量单位。(3)结论结论是对整个研究工作进行归纳和总结。结论应当准确、完整、明确、精练。如不可能导出应有的结论,也可以没有结论而进行必要的讨论,阐述本课题研究中存在的问题及进一步开展研究的建议。6. 谢辞(致谢)谢辞(致谢)是对给予各类资助、指导和协助完成科研工作,以及提供各种条件的单位和个人表示的感谢。谢辞应实事求是。7. 参考文献文后参考文献,是论文的重要组成部分,按顺序和规定的格式列在正文之后。所列出的文献,应当是作者亲自阅读或引用过的,出处要翔实,要进行核实查对。所引用的文献应是公开出版的刊物或著作,内部刊物一般不引用。正文中参考文献的标注方法,是在引用文字(即所引用的词组、句子、段落等)结束处的右上角标出参考文献序号。全文参考文献的序号要按照从小到大的次序排列,某一文献多次引用时,要用同一序号标出。文后参考文献的编写方式,是依正文中参考文献序号的次序排列所有的参考文献,且一个参考文献只能出现一次。8. 附录凡不宜收入正文中而又有价值的内容,可编入毕业论文的附录中。附录内容主要包括:正文中所使用公式的推导与证明过程;使用的主要符号、单位、缩写、程序全文及其说明等;在正文中无法列出的实验数据;重复性数据图表;调查问卷等。附件3: 大学本科毕业论文(格式)格式(理科)(说明:本表供理工科专业学生用,以下所有红色、蓝色文字仅供参考,学生在写作论文时请保留字体、字号,改写或删除掉文字,黑色文字请保留。每一页的上方(天头)和左侧(订口)分别留边25mm,下方(地脚)和右侧(切口)应分别留边20mm,装订线5 mm,页眉和页脚为0。论文题目使用黑体三号字,正文使用宋体小四号字,行距为单倍行距;一级标题段前段后为0.5行,正文段前段后为0,字符间距为标准。为保证打印效果,学生在打印前,请将全文字体的颜色统一设置成黑色。以上说明参阅后请自行删除,包括本文本框!)(顶头空2行)目 录(4号黑体,居中)摘要1关键词1Abstract1Key words1引言(或绪论)11材料与方法Y1.1材料 Y1.2方法 Y1.2.1Y1.2.2Y1.2.3Y1.2.4Y2Y2.1Y3 Y(略)X (正文第X章)Y致谢Y参考文献Y附录A (必要时)Y附录B (必要时)Y图1 (必要时)Y图2 (必要时)Y表1 (必要时)Y表2 (必要时)Y注:1. 目次中的内容一般列出“章”、“节”、“条”三级标题即可;2X、Y表示具体的阿拉伯数字;毕业论文(设计)题目(3号黑体)专业学生 学生姓名指导教师 指导教师姓名(小四仿宋体)摘要:(200300字,五号宋体)关键词: (3-5个,五号宋体)Title(3号Times New Romar)Student majoring in Name Tutor Name(小四Times New Romar)Abstract: (五号Times New Romar,200300个实词)Key words: ;(3-5实词个,五号Times New Romar)引言(小四宋体)。1 材料与方法 (仿宋体四号)11 (黑体小四号)(小四宋体)。111 (仿宋体小四号) (小四宋体)。112 (仿宋体小四号) (小四宋体)。12 (黑体小四号)2 结果与分析 (仿宋体四号)21 (黑体小四号)(小四宋体)。211 (仿宋体小四号) (小四宋体)。212 (仿宋体小四号) (小四宋体)。22 (黑体小四号)3 讨论 (仿宋体四号)31 (黑体小四号) (小四宋体)。32 (黑体小四号)致谢(小四宋体)参考文献:1 作者姓名,作者姓名.参考文献题目J. 期刊或杂志等名称,年份,卷(期数):页码.2 刘凡丰. 美国研究型大学本科教育改革透视J . 高等教育研究,2003,5(1):18-19.没有卷的就直接写2003(1)(本条为期刊杂志著录格式)3 谭丙煜.怎样撰写科学论文M.2版.沈阳:辽宁人民出版社,1982:5-6.(本条为中文图书著录格式)4 作者姓名. 参考文献题目D.南京:南京农业大学,2002:页码.(本条为硕士、博士论文著录格式)5 作者姓名. 参考文献题目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论