基于FPGA的多路温度采集与处理系统的设计本科毕业设计_第1页
基于FPGA的多路温度采集与处理系统的设计本科毕业设计_第2页
基于FPGA的多路温度采集与处理系统的设计本科毕业设计_第3页
基于FPGA的多路温度采集与处理系统的设计本科毕业设计_第4页
基于FPGA的多路温度采集与处理系统的设计本科毕业设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、编号 本科生毕业设计基于fpga的多路温度采集与处理系统的设计fpga-based multi-channel temperature acquisition and processing system 2011年 06 月28摘要目前温度测量主要通过单片机来实现控制,但单片机是基于顺序语言的,其描述过程繁琐,信号采集频率受单片机始终频率的限制,难于实现高速的温度测量且不易在线修改,由于传感器多数采用的分立元件,如热敏电阻,热电偶等,精度很低,远远不能满足实际使用所需要的高精度测温度要求,笔者采用集成温度传感器,是传统传感器和集成电路融为一体,极大地提高了传感器的性能,具有测温精度高,复现性好

2、、线性优良、体积小、热容量小、稳定性好、输出电信号大等优点。更重要的是采用现场可编程门阵列(fpga)实现温度测量比采用单片机大大改善设计效果,可实现高速的温度测量。文中阐述了fpga的实现方法及如何利用fpga器件实现多路温度测量。由于fpga具有集成度高,高速、高效率,内部有嵌入式阵列块等特点,易于实现fifo和rom,可使整个温度测量系统主要由硬件实现。关键词:fpga,18b20,12864液晶abstract(居中)temperature measurement is currently achieved mainly through the mcu control, scm is

3、based on the order of language, and its description of the process cumbersome, data acquisition frequency of the restrictions by the mcu clock frequency, high-speed temperature measurement is difficult and not easily modified online, the majority of sensors used in discrete components, such as therm

4、istors, thermocouples, etc., the accuracy is very low, far from meeting the needs of the actual use of precision measuring temperature requirements, the author adopts an integrated temperature sensor, a blend of traditional sensors and integrated circuits, which greatly improved the performance of t

5、he sensor, with temperature measurement, high precision, good reproducibility, good linearity, small size, small heat capacity, good stability and the advantages of large output signals. more important is the use of field programmable gate array (fpga) to achieve temperature measurements significant

6、ly improve the design than the effect of using single chip, enabling high-speed temperature measurement. paper describes the fpga implementation of methods and how to use fpga devices to achieve multi-channel temperature measurement. the fpga with high integration, high-speed, high efficiency, the i

7、nternal characteristics of embedded array block, easy to implement fifo and rom, make the whole temperature measurement system consists of hardware. key words:fpga ds18b20 jm12864目录摘要iabstractii第一章 绪论11.1 引言11.2 研究目的与意义11.3 国内外研究现状综述1第二章 方案论证32.1 传感器的选择32.2 显示电路的选择32.3 主控制部分的选择42.4 系统方案4第三章 基于fpga的多

8、路温度采集与处理系统的硬件设计53.1 硬件总体设计框图53.2 ep2c5t144c芯片的介绍53.2.1 cyclone系列fpga的特点53.2.2 sdram控制器83.2.3 配置方式及其特点、用途83.3 光耦的介绍93.3.1 光耦的简介93.3.2 本设计中使用的光耦的介绍103.4 温度传感器18b20的介绍113.5 液晶12864介绍123.5.1 12864的特性123.5.2 管脚定义133.5.3 电路设计14第四章 基于fpga的多路温度采集与处理系统的软件设计154.1 fpga内部资源分配154.2 温度传感器18b20的读写时序164.2.1 18b20读写

9、时序的手册介绍164.2.2 18b20读写仿真时序的结果184.3 液晶12864的读写时序184.3.1 手册要求的12864的读写时序介绍184.3.2 初始化流程图224.3.3 仿真结果图24第五章 结论25参考文献26致谢27第一章 绪论1.1 引言温度是现代生活及生产中常见的参数,在工业生产、科研及医疗等需要严格进行温度控制的行业中,需要对温度进行实时监控和处理,就需要精度和自动化水平高、应用范围广的温度采集系统。fpga器件高速度、高集成、低功耗、体积小,fpga器件的出现使得数字电路的设计周期和难度都大大减小,在数字电路的设计中得到广泛的应用。本设计采用能适应恶劣环境的数字化

10、温度传感器ds18b20,采用fpga芯片作数据处理,实现环境温度实时采集及显示。1.2 研究目的与意义(缩进,正文每段开始的缩进好像都有点问题,仔细修改一下)温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一。随着时代的进步、社会的发展、科学技术的不断更新,温度的采集范围要求不断扩大,同时温度的采集准确性要求不断提高。对温度采集的要求也越来越高,因此,温度采集和处理技术的研究也是一个重要的研究课题本设计采用传感器技术、fpga技术、接口技术完成的是基于fpga的多路温度采集与处理系统,本设计结果实现16路温度信号的采集电路并实现温度数据的现实,具有测温精度高、复现性好、线

11、性优良、体积小、热容量小、稳定性好、输出电信号大等优点。更重要的是采用现场可编程门阵列(fpga)实现温度测量比采用单片机大大改善了设计效果,可实现多路的温度测量。然后用12864液晶将温度值显示出来。1.3 国内外研究现状综述近几年,随着需求量的不断增加,fpga的技术得到了迅速发展。从器件的速度来看,已制成了80mhz时钟频率的高速器件,fpga的速度已不再成为器件选择的障碍。从集成度来看,实际使用器件已达13000门,可满足asic设计需求的75 。美国att在1994年第1季度,推出了门数高达1 200022000的fpga器件(产品)。从工艺上来看,目前正处于从0.8lm 向0.7

12、m 过渡时期,最近已制成了0.6btm的器件。从总的来看,现在的fpga的性能相当于2.5lm时代的门阵列(1985年的水平),还没有达到固定标准结构程序阶段,也可以说正处于从单一型供货向多种供货的转折期。今后根据用户的需要将不断开发出速度更高,能满足用户价格条件及能成倍增加io 引脚数的新型器件,以扩大用户的选择范围。温度属于模拟量的采集,也就是数据采集,国内外数据采集领域正发生着重要的变化。首先,分布式控制应用场合中的智能数据采集系统正在发展。其次,总线兼容型数据采集插件的数量正在增大,与个人计算机兼容的数据采集系统的数量也在增加。数据采集已长时间地被认为玉数据馈送及其他数据采集系统相等同

13、。在工作时,一些要打印出拷贝,而另一些则把采集的数据馈送给主计算机处理。但是,随着分布式控制在各个领域里越来越普遍的应用,数据采集设备开始同控制设备相结合。第二章 方案论证温度检测系统有共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、a/d转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元

14、的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。2.1 传感器的选择方案一:采用热敏电阻,可满足4090测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于1的信号是不适用的。方案二:采用ds18b20温度传感器,测温范围为-55+125,固有测温分辨率0.5。并且线性好、精度适中、灵敏度高、体积小、使用方便1。综上所述,本设计中温度传感器部分采用方案二进行设计。2.2 显示电路的选择方案一:n位的led显示器是由n个led显示块拼接的。n个led显示块有n位位线和8n根段数码线。使用led数码管显示,该方案控制最简单,但是只能显示非常有限的符号和数字,对于设计中显示

15、功能比较复杂再加上数码管的耗电量比较大。显然不是我们的首要之选。方案二:液晶显示器(lcd)具有工作电压低、微功耗、显示信息量大、接口方便等优点,现在已被广泛应用于计算机、数字式仪表等场合,成为测量结果显示和人机对话的重要工具。液晶显示器按其功能分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果,其应用越来越广泛。综上所述,本设计中显示部分采用方案二进行设计。2.3 主控制部分的选择方案一:此方案采用pc机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好

16、。但是在一些环境比较恶劣的场合,由于pc机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!方案二:此方案采用fpga实现,fpga的高速度、高集成、低功耗、体积小使得数字电路的设计周期和难度都大大减小,在数字电路的设计中得到广泛的应用。fpga将在60个计数周期内将控制信号传送至温度传感器中,使温度传感器将温度信号送出。通过fpga编程实现实时采集温度传感器的温度数据,并实时处理采集到的数据,并用液晶12864显示出当前的温度。2.4 系统方案系统采用针对传统温度测量系统,测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于大规模多点温度测量的巡回检测系统。

17、该系统通过fpga进行现场的温度采集,把采集到的温度数据通过液晶模块进行显示,具有巡检速度快,扩展性好,成本低的特点。第三章 基于fpga的多路温度采集与处理系统的硬件设计3.1 硬件总体设计框图系统工作原理框图如下图所示,主要由温度采集电路、温度数据接收模块、温度数据处理模块、温度显示模块、led电路组成。温度采集电路中温度传感器为数字温度传感器ds18b20,通过传感器实现对外界环境温度的采集,fpga将在60个计数周期内将控制信号传送至温度传感器中,使温度传感器将温度信号送出。通过fpga编程实现实时采集温度传感器的温度数据,并实时处理采集到的数据,并将其转换为bcd码通过数码管(液晶)

18、显示出当前的温度。图3-1 硬件总体框图3.2 ep2c5t144c芯片的介绍3.2.1 cyclone系列fpga的特点 本设计选用了cyclone的ep2c5t144c8,具有4608个逻辑单元,119808 bit的嵌入ram,两个锁相环(pll),89个用户i/o引脚,可快速实现完整的可编程单芯片系统。它具有生成时钟的锁相环以及ddr sdram和快速ram存储器所需的专用双数据率(ddr)接口等。另外还支持多种i/o标准,包括640mbps的lvds以及频率为33mhz和66mhz、数据宽度为32位和64位的pci。下面具体介绍其的特点。 a、 新型可编程构架 cyclone系列器件

19、基于一种全新的低成本构架,从设计之初就充分考虑了成本的节省,因此可以为价格敏感的应用提供全新的可编程的解决方案。 cyclone构架采用垂直结构的逻辑单元(le)、嵌入式存储块和锁相环(pll)、周围环绕i/o单元,高效的内部连线和低延时时钟网络保证了每个结构单元之间时钟和数据信号的连通性。 i/o单元分为不同的形式支持不同的接口如sstl-2、sstl-3以及311mbps的lvds等,另外i/o块配备了专门的外部存储器接口电路可大大简化与外部存储器的数据交换,可以达到266mbps的最大数据交换速率。支持32b/66mhz pci接口,每个i/o单元提供从管脚到fpga内核的多条路径,以便

20、器件满足相关的建立和保持时间。 cyclone器件为在fpga上实现低成本的数字信号处理(dsp)系统提供一个理想的平台,采用了灵活的硬件解决方案能够实现设计所需的多个乘法器,其中的一些模块可用来实现软乘法器以满足图像处理、音频处理和消费类电子系统的设计所需。软乘法器可以根据数据位宽、系数位宽进行定制并根据要求选择精度。 b、 专用外部存储接口电路 cyclone器件通过片内内嵌的专用接口电路实现与双数据速率(ddr)sdram和fcram以及单数据速率(sdr)sdram进行快速可靠的数据交换,结合即取即用的ip控制器核可在几分钟之内将一个sdram核fcram的功能合并到一个系统中。图3.

21、1显示了从外部存储器读取一个单一比特数据的读操作,dqs信号位于输入的dq信号中央,用来驱动全局时钟网络,dq信号在时钟的上、下沿被fpga的寄存器采样并使用第二组上升沿采样的内部寄存器使之与系统时钟同步。 图3-2 外部存储器读写操作 c、 支持的接口及协议 1. pci 2. sdram及fcram 3. 10/l00/1000兆以太网 4. 串行总线接口,cyclone器件支持一系列的串行总线接口,如串行外设接口(spi)、i2c、ieee1394和通用串行总线(usb)等,通信协议: e3、t3和 sonet/sdh等。 d、 锁相环的实现 基本工作原理 压控振荡器给出一个信号,一部分

22、作为输出,另一部分通过分频与pll ic所产生的本振信号作相位比较,为了保持频率不变,就要求相位差不发生改变,如果有相位差的变化,则pll ic的电压输出端的电压发生变化,去控制vco,直到相位差恢复,达到锁频的目的。能使受控振荡器的频率和相位均与输入信号保持确定关系的闭环电子电路。 数字锁相环主要由相位参考提取电路、晶体振荡器、分频器、相位比较器、脉冲补抹门等组成。分频器输出的信号频率与所需频率十分接近,把它和从信号中提取的相位参考信号同时送入相位比较器,比较结果示出本地频率高了时就通过补抹门抹掉一个输入分频器的脉冲,相当于本地振荡频率降低;相反,若示出本地频率低了时就在分频器输入端的两个输

23、入脉冲间插入一个脉冲,相当于本地振荡频率上升,从而达到同步。 图3-3 cyclone器件锁相环原理图 图3-4 cyclone pll 主要部分的框架图 3.2.2 sdram控制器 在高速实时或者非实时信号处理系统当中,使用大容量存储器实现数据缓存是一个必不可少的环节,也是系统实现中的重点和难点之一。sdram(同步动态随机访问存储器)具有价格低廉、密度高、数据读写速度快的优点,从而成为数据缓存的首选存储介质。但是sdram存储体结构与ram有较大差异,其控制时序和机制也较复杂,限制了sdram的使用。目前,虽然一些厂商为微处理器提供了和sdram的透明接口,但其可扩展性和灵活性不够,难以

24、满足现实系统的要求,限制了sdram 的使用。利用fpga设计了一种通用的sdram控制器是一种为系统添加外设内存的很好的选择。 在以sdram作为缓存的系统中,使用可编程器件对其进行控制具有很强的灵活性。为了使设计具有模块化和可重复使用的优点,设计了一个简化的sdram接口电路。这样就屏蔽掉了sdram操作的复杂性,而其它逻辑模块可通过接口电路对sdram进行访问。此外,由于整个sdram控制器用vhdl语言编写,只要对其进行简单的修改就可以满足不同的需求,具有很强的灵活性。 3.2.3 配置方式及其特点、用途 现场可编程门阵列fpga是一种高密度可编程逻辑器件,其逻辑功能是通过把设计生成的

25、数据文件配置进芯片内部的静态配置数据存储器(sram)来实现的,具有可重复编程性,可以灵活实现各种逻辑功能。由于sram的易失性,每次系统上电时必须重新配置数据,即icr(in-circuit reconfigurability)。只有在数据配置正确的情况下,系统才能正常工作。因此需要外接rom保存其配置数据。fpga的配置是有时序要求的,如果fpga本身不能控制配置时序,就需要外部配置器件来进行时序控制。以altera公司的fpga为例,因其本身不能控制时序,就有专用的epc系列配置器件供其使用。在嵌入式系统中,因为含有微处理器,可以使用微处理器产生配置时序,将保存在系统rom中的配置数据存

26、储到fpga中。所以没有必要使用专用的epc系列配置器件来配置fpga。这样不仅节约了成本,还有效地缩小了系统体积。 altera公司生产的具有icr功能的fpga器件有flex6000、flex10k、apex和acex等系列,它们可以用以下方式进行配置: l 使用专用epc配置器件,如epc16、epc8、epc2、epc1; l 被动串行方式(ps),使用微处理器的串行接口; 过加强型配置器件(epc16,epc8,epc4)等配置器件来完成; l 被动并行同步方式(pps),使用微处理器的并行同步接口; l 被动并行异步方式(ppa),使用微处理器的并行异步接口; l 边界扫描方式(j

27、tag),使用jtag下载电缆。使用ieee std 1149.1联合边界扫描接口引脚,支持jam stapl标准,可以使用altera下载电缆或主控器来完成; l 6as主动串行配置方式,目前只支持cyclone系列。使用altera串行配置器件来完成。cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过data0引脚送入fpga。配置数据被同步在dclk输入上,1个时钟周期传送1位数据。 3.3 光耦的介绍3.3.1 光耦的简介光耦合器(opticalcoupler,英文缩写为oc)亦称光电隔离器或光电耦合器,简称光耦。它是以光为媒介来传输电信号的器件,通常把发光器(红外线发

28、光二极管led)与受光器(光敏半导体管)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流出,从而实现了“电光电”转换。以光为媒介把输入端信号耦合到输出端的光电耦合器,由于它具有体积小、寿命长、无触点,抗干扰能力强,输出和输入之间绝缘,单向传输信号等优点,在数字电路上获得广泛的应用。耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(led),使之发出一定波长的光,被光探测

29、器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性。光耦合器的主要优点是:信号单向传输,输入端与输出端完全实现了电气隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。光耦合器是70年代发展起来产新型

30、器件,现已广泛用于电气绝缘、电平转换、级间耦合、驱动电路、开关电路、斩波器、多谐振荡器、信号隔离、级间隔离 、脉冲放大电路、数字仪表、远距离信号传输、脉冲放大、固态继电路(ssr)、仪器仪表、通信设备及微机接口中。在单片开关电源中,利用线性光耦合器可构成光耦反馈电路,通过调节控制端电流来改变占空比,达到精密稳压目的。光电耦合的主要特点如下:输入和输出端之间绝缘,其绝缘电阻一般都大于10000m,耐压一般可超过1kv,有的甚至可以达到10kv以上。由于光接收器只能接受光源的信息,反之不能,所以信号从光源单向传输到光接收器时不会出现反馈现象,其输出信号也不会影响输入端。.由于发光器件(砷化镓红外二

31、极管)是阻抗电流驱动性器件,而噪音是一种高内阻微电流电压信号。因此光电耦合器件的共模抑制比很大,所以,光电耦合器件可以很好地抑制干扰并消除噪音。.容易和逻辑电路配合。响应速度快。光电耦合器件的时间常数通常在微秒甚至毫微秒极。无触点、寿命长、体积小、耐冲击。3.3.2 本设计中使用的光耦的介绍本设计中使用的是光耦是tlp521,tlp521是可控制的光电耦合器件,光电耦合器广泛作用在电脑终端机,可控硅系统设备,测量仪器,影印机,自动售票,家用电器,如风扇,加热器等tlr521-1、-2和-4组成的砷化镓红外发光二极管耦合到光三极管。该tlp521-2提供了两个鼓励的光耦8引脚塑料封装,而tlp5

32、21-4提供了4个鼓励的光耦中16引脚塑料dip封装集电极-发射极电压: 55v(最小值)经常转移的比例: 50%(最小)隔离电压: 2500vrms(最小)图3-5 tlp521 tlp521-2 tlp521-4 光耦内部结构图及引脚图3.4 温度传感器18b20的介绍dsl820数字温度计提供9位(二进制)温度读数,指示器件的温度。信息经过单线接口送入dsl820或从dsl820送出,因此从主机cpu到dsl820仅需一条线(和地线),dsl820的电源可以由数据线本身提供而不需要外部电源。因为每一个dsl820在出厂时已经给定了唯一的序号,因此任意多个dsl820可以存放在同一条单线总

33、线上。这允许在许多不同的地方放置温度敏感器件。dsl820的测量范围从-55到+125,增量值为0.5,可在l s(典型值)内把温度变换成数字。每一个dsl820包括一个唯一的64位长的序号,该序号值存放在dsl820内部的rom(只读存贮器)中。开始8位是产品类型编码(dsl820编码均为10h)。接着的48位是每个器件唯一的序号。最后8位是前面56位的crc(循环冗余校验)码。dsl820中还有用于贮存测得的温度值的两个8位存贮器ram编号为0号和1号。1号存贮器存放温度值的符号,如果温度为负(),则1号存贮器8位全为1否则全为0。0号存贮器用于存放温度值的补码,lsb(最低位)的“1”表

34、示0.5。将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-550-125)。dsl820的引脚如下图所示。每只ds18b20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式采取数据总线供电方式。采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长;采取外部供电方式则多用一根导线,但测量速度较快。图 3-6 ds18b20的引脚管脚定义:1.gnd:地;2.dq:数字输入/输出;3.vdd:可选的+5v电源温度计算:1、 ds1820用9位存贮温值度,最高位为符号位,下图为18b20的温度存储方式,负温度s=1,正温度s=0。如:00aah为+85,003

35、2h为25,ff92h为55温度寄存器格式:ls字节:表3-1262524232221202-1ms字节:表3-2ssssssss2、ds18b20用12位存贮温值度,最高位为符号位,下图为18b20的温度存储方式负温度s=1,正温度s=0如:0550h为+85,0191h为25.0625,fc90h为-55温度寄存器格式:ls字节:表3-3262524232221202-1ms字节:表3-4sssss2625243.5 液晶12864介绍3.5.1 12864的特性fyd12864-0402b是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液

36、晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ascii字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。基本特性:l l 低电源电压(vdd:+3.0-+5.5v)l l 显示分辨率:12864点l l 内置汉字字库,提供8192个1616点阵汉字(简繁体可选)l l 内置 128个

37、168点阵字符l l 2mhz时钟频率l l 显示方式:stn、半透、正显l l 驱动方式:1/32duty,1/5biasl l 视角方向:6点l l 背光方式:侧部高亮白色led,功耗仅为普通led的1/51/10l l 通讯方式:串行、并口可选l l 内置dc-dc转换电路,无需外加负压l 无需片选信号,简化软件设计l l 工作温度: 0 - +55 ,存储温度: -20 - +603.5.2 管脚定义表3-5管脚号管脚名称电平管脚功能描述1vss0v电源地2vcc3.0+5v电源正3v0-对比度(亮度)调整4rs(cs)h/lrs=“h”,表示db7db0为显示数据rs=“l”,表示d

38、b7db0为显示指令数据5r/w(sid)h/lr/w=“h”,e=“h”,数据被读到db7db0r/w=“l”,e=“hl”, db7db0的数据被写到ir或dr6e(sclk)h/l使能信号7db0h/l三态数据线8db1h/l三态数据线9db2h/l三态数据线10db3h/l三态数据线11db4h/l三态数据线12db5h/l三态数据线13db6h/l三态数据线14db7h/l三态数据线15psbh/lh:8位或4位并口方式,l:串口方式(见注释1)16nc-空脚17/reseth/l复位端,低电平有效(见注释2)18vout-lcd驱动电压输出端19avdd背光源正端(+5v)(见注释

39、3)20kvss背光源负端(见注释3)*注释1:如在实际应用中仅使用并口通讯模式,可将psb接固定高电平,也可以将模块上的j8和“vcc”用焊锡短接。*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。*注释3:如背光和模块共用一个电源,可以将模块上的ja、jk用焊锡短接。3.5.3 电路设计从12864的使用手册中可以看到,这个模块有三种控制方式,分别是8位并行、4位并行和串行。串行的方式是使用标准的spi通信方式,使用这种方式能节省大量的io管脚。因此本设计中使用串行方式对液晶进行控制。如下图所示为液晶显示部分的电路图。图 3-7 液晶显示部分电路由图中可以看到,把

40、12864中的rs(cs)、r/w(sid)和e(sclk)分别与fpga中的io管脚相连,把/reset 拉高,然后把背光电源接上就可以对模块进行编程驱动。第四章 基于fpga的多路温度采集与处理系统的软件设计4.1 fpga内部资源分配图4-1 总体流程图(图不行,最起码有个边框表示这些是fpga内部的,cs、mosi、sclk把文字放到线上就行了,不用有框括着)1、fpga逻辑运算中心fpga逻辑运算中心负责所有的数据处理以及各部分单元逻辑之间的关联。它就是整个系统的大脑,由它来控制fpga内部各个单元有序地工作。2、数据采集控制逻辑单元数据采集控制逻辑单元负责采集16路的温度数据,该单

41、元控制数据的采集方式,16路数据怎么采,可以是同时采,可以采某一个温度数据,也可以才指定的几个温度数据等等。采集到的数据在fpga中开辟一块空间用来缓存这些数据,用以下一步数据处理使用。3、液晶控制逻辑单元液晶控制逻辑单元负责把处理好的数据发给12864进行显示,因此该单元主要是产生12864的读写信号。4.2 温度传感器18b20的读写时序4.2.1 18b20读写时序的手册介绍dsl820工作过程中的协议如下:初始化:rom操作命令存储器操作命令;处理数据。1、初始化单总线上的所有处理均从初始化开始。 2、rom操作品令总线主机检测到dsl820的存在便可以发出rom操作命令之一这些命令如

42、指令 代码read rom(读rom) 33h match rom(匹配rom) 55h skip rom(跳过rom cch search rom(搜索rom) f0h alarm search(告警搜索) ech 3、存储器操作命令指令 代码 write scratchpad(写暂存存储器) 4eh read scratchpad(读暂存存储器) beh copy scratchpad(复制暂存存储器) 48h convert temperature(温度变换) 44h recall eprom(重新调出) b8h read power supply(读电源) b4h 4、时序 主机使用时

43、间隙(time slots)来读写dsl820的数据位和写命令字的位(1)初始化时序见下图,主机总线to时刻发送一复位脉冲(最短为480us的低电平信号),接着在tl时刻释放总线并进入接收状态,dsl820在检测到总线的上升沿之后,等待15-60us,接着ds1820在t2时刻发出存在脉冲(低电平持续60-240 us)如图中虚线所示。图4-2 初始化时序(2)写时间隙当主机总线to时刻从高拉至低电平时,就产生写时间隙,见下两图从to时刻开始15us之内应将所需写的位送到总线上,dsl820在t后15-60us间对总线采样.若低电平,写入的位是0,见图4.2;若高电平写入的位是1,见图4.33

44、连续写2位间的间隙应大于1us。 图4-3 写0时序图4-4 写1时序(3)读时间隙见图4.4主机总线to时刻从高拉至低电平时总线只须保持低电平l7ts。之后在t1时刻将总线拉高,产生读时间隙,读时间隙在t1时刻后t2时刻前有效tz距to为15s,也就是说,tz时刻前主机必须完成读位,并在to后的60s一120s内释放总线。读位子程序(读得的位到c中):图4-54.2.2 18b20读写仿真时序的结果图4-6由仿真结果可以看到能很好地根据手册的时序图要求做出相关的读写时序,能很多地完成18b20的读写操作。4.3 液晶12864的读写时序4.3.1 手册要求的12864的读写时序介绍带中文字库

45、的12864液晶每屏可显示4行8列共32个1616点阵的汉字,每个显示ram可显示1个中文字符或2个168点阵全高ascii码字符,即每屏最多可实现32个中文字符或64个ascii码字符的显示。带中文字库的128x64内部提供1282字节的字符显示ram缓冲区(ddram)。字符显示是通过将字符显示编码写入该字符显示ram实现的。根据写入内容的不同,可分别在液晶屏上显示cgrom(中文字库)、hcgrom(ascii码字库)及cgram(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006h(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02h7

46、fh显示半宽ascii码字符,a1a0hf7ffh显示8192种gb2312中文字库字形。字符显示ram在液晶模块中的地址80h9fh。字符显示ram在液晶模块中的地址80h9fh。字符显示的ram的地址与32个字符显示区域有着一一对应的关系,其对应关系如表所示。表4-180h81h82h83h84h85h86h87h90h91h92h93h94h95h96h97h88h89h8ah8bh8ch8dh8eh8fh98h99h9ah9bh9ch9dh9eh9fh基本指令集:表4-2指 指 令 码功 能 令rsr/wd7d6d5d4d3d2d1d0清除显示0000000001将ddram填满20h

47、,并且设定ddram的地址计数器(ac)到00h地址归位000000001x设定ddram的地址计数器(ac)到00h,并且将游标移到开头原点位置;这个指令不改变ddram 的内容显示状态开/关0000001dcbd=1: 整体显示 onc=1: 游标onb=1:游标位置反白允许进入点设定00000001i/ds指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001s/cr/lxx设定游标的移动与显示的移位控制位;这个指令不改变ddram 的内容功能设定00001dlxrexxdl=0/1:4/8位数据re=1: 扩充指令操作re=0: 基本指令操作设定cg

48、ram地址0001ac5ac4ac3ac2ac1ac0设定cgram 地址设定ddram地址0010ac5ac4ac3ac2ac1ac0设定ddram 地址(显示位址)第一行:80h87h第二行:90h97h读取忙标志和地址01bfac6ac5ac4ac3ac2ac1ac0读取忙标志(bf)可以确认内部动作是否完成,同时可以读出地址计数器(ac)的值写数据到ram 1 0数据将数据d7d0写入到内部的ram (ddram/cgram/iram/gram)读出ram的值 1 1数据从内部ram读取数据d7d0(ddram/cgram/iram/gram)备注:当st7920 在接受指令前,mcu

49、 必须先确认st7920 处于非忙状态。即读取bf0,才能接受新的指令;如果在送出一条指令前不检查bf 状态,则需要延时一段时间,以确保上一条指令执行完毕,具体指令执行时间参照指令表。“re”是基本指令集与扩充指令集的选择控制位,当变更 “re”的状态后,以后的指令维持在最后的状态。除非再次变更“re”的状态,否则使用相同的指令集时,不需要重新设置“re”。本系统液晶采用串行通信方式。在接收到rw(sid)和rs(cs)的信号后,每一八位数据的指令将被分为两部分进行接收,高4位元(db7-db4)的指令将被放在第一个位元的lsb部分,而低4位元(db3-db0)的指令则被放在第二个位元的lsb

50、部分,另四位元则都为0。即当字符编码为2字节时,应先写入高位字节,再写入低位字节。显示ascii字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ascii字符位置。欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。数据传输过程图4-7 8位数据线的传输过程图4-8 4位数据线的传输过程图4-9 串口数据线模式数据传输过程时序图图4-10 mpu写资料到st7920(8位数据线模式)串口读写时序图4-11(加入表述,这个是什么的图)4.3.2 初始化流程图用到

51、12864液晶显示时首先要用其进行初始化下面两图分别介绍了8-位元软件初始化和4-位元软件初始化。图4-12 8-位元软件初始化图4-13 4-位元软件初始化4.3.3 仿真结果图图4-14通过仿真结果可以看到,本设计中使用的是串行方式对液晶进行驱动。用fpga做出spi的通信时序,对液晶进行读写操作,从而完成对液晶的读写操作。由上图可以看到,仿真出来的时候能够很好的模拟该液晶手册中的串行控制方式的读写时序,能完成对液晶的操作。第五章 结论温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一。人们的日常生活、工农业生产和科学实验等许多方面都与温度测量有着十分密切的关系。温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一。随着时代的进步、社会的发展、科学技术的不断更新,温度的测量范围要求不断扩大,同时温度的测量准确性要求不断提高。对

温馨提示

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

评论

0/150

提交评论