毕业设计(论文)-函数发生器控制系统设计.doc_第1页
毕业设计(论文)-函数发生器控制系统设计.doc_第2页
毕业设计(论文)-函数发生器控制系统设计.doc_第3页
毕业设计(论文)-函数发生器控制系统设计.doc_第4页
毕业设计(论文)-函数发生器控制系统设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

河北大学2015届本科生毕业论文(设计)装订线 本科生毕业论文(设计) 题目: 函数发生器控制系统设计 学 院 电子信息工程学院 学科门类 工学 专 业 电子科学与技术 学 号 姓 名 指导教师 2015年5月18日装订线装订线装订线装订线装订线装订线装订线装订线装订线装订线装订线装订线函数发生器控制系统设计摘 要 dds和dsp(数字信号处理)一样,是一项重要的数字化技术。直接数字式频率合成器(direct digital synthesizer)的缩写是dds。dds技术是一种把一系列数字量形式的信号通过dac转换成模拟量形式的信号的合成技术,它是将输出波形的一个完整的周期、幅度值都顺序地存放在波形存储器中,通过控制相位增量产生频率、相位可控制的波形。与传统的频率合成器比较,dds成本低、功耗低、分辨率高,时间转换快,并且广泛地应用于电信与电子仪器等领域,是完成设备全数字化的一个重要的技术。基于直接数字频率合成原理(dds),本文的任务是设计一个函数信号发生器控制系统,综合多方面考虑,本次设计选用了lm1095r图形显示模块,ch452数码管显示驱动和键盘扫描控制芯片和dds芯片来设计它。此次设计中,通过不断的调试,在quartus ii软件中进行波形仿真,成功地调试出了键盘按键以及显示器显示的正确结果,完成了函数发生器控制系统的设计,达到了各项功能和指标要求,有诸如功能强,性能稳定的优点,能够广泛的应用于各类函数发生器。关键词:函数信号发生器;dds;lm1095r;ch452;控制系统the design of control system abstract dds and dsp (digital signal processing) is an important digital technology. the abbreviation for direct digital synthesizer dds (direct) is the. dds technology is a kind of to a series of digital signal through the dac is converted into analog signal synthesis technology, it is the output waveform of a complete cycle, amplitude values are sequentially stored in waveform memory, frequency is generated by controlling the phase increment and phase control of the waveform. with the traditional frequency synthesizer compared dds has the advantages of low cost, low power, high resolution, fast switching time, and widely application in telecommunication and electronic equipment and other fields is complete equipment of digital a important technology.based on the direct digital frequency synthesis (dds) principle, the task of this paper is to design a function signal generator control system and consider the various factors, this paper chooses the graphics lm1095r display module and ch452 digital tube display driver and keyboard scan control chip and dds chip to design it. in the design, through debugging, in the quartus ii software for waveform simulation, successfully debugged the keys of the keyboard and display the correct result, complete the design of the function generator control system, can satisfy the requirements of various functions and indicators, such as strong function, the advantages of stable performance. it can be widely used in various types of function generator.keywords: function signal generator; dds; lm1085r; ch452; control system目 录 1 前言1 1.1 研究信号发生器控制系统的目的与现实意义1 1.2 本课题的研究现状1 1.3 主要研究内容2 2 总体设计方案3 2.1 系统设计原理3 2.2 总体设计框图3 3 系统模块组成4 3.1 lm1095r图形显示模块4 3.1.1 lm1095r器件简介4 3.1.2 程序设计4 3.2 ch452控制芯片6 3.2.1 ch452器件简介6 3.2.2 程序设计7 3.3 系统总体设计框图13 4 结束语16 参考文献17 致谢181 前言1.1 研究信号发生器控制系统的目的与现实意义信号发生器是信号源的一种,主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。信号发生器是一种经常使用的设备,但由纯粹物理器件构成的传统的设计方法存在许多弊端,如:体积较大、重量较沉、移动不够方便、信号失真较大、波形种类过于单一、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等的要求。研究设计出一种具有频率稳定、准确、波形质量好、输出频率范围宽、便携性好等特点的波形发生器具有较好的市场前景,以满足军事、民用、教学科研领域对信号源的要求。在现代社会中,自动化技术已经渗透到社会生活的各个领域中,其中,信号发生器是自动化领域中的一个典型应用。例如,在超声波测量技术中,超声换能器(发射换能器和接收换能器) 是超声波检测技术的核心部件。高精度、宽频率范围、高稳定性的激励源对发射换能器及超声检测系统性能的改善和提高起着至关重要的作用。传统的波形发生器通常由晶体管、运放ic 等分离元件制成。与此相比,基于集成芯片的波形发生器具有高频信号输出、波形稳定、控制简便等特点。因为现代的自动化控制中基本都会利用信号来控制设备的工作。利用信号的产生进行仪器的控制已经是自动控制中的一个重要的手段,那么一个幅度,频率,占空比以及波形可调的信号发生器的设计和完成更具有使用价值。而函数发生器控制系统作为其中关键的一环,更不容忽视。本课题是完成函数发生器控制系统,考察现有信号发生器控制系统的优缺点,设计一个实用的信号发生器控制系统。该系统为函数发生器的制作提供了良好的技术支持。装订线1.2 本课题的研究现状目前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些pc仪器插卡,独立的仪器和vxi系统的模块很少,并且我国目前在波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面: (1)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如visual basic, visual c等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。(2)与vxi资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的vxi模块。由于vxi总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用vxi系统测量产生复杂的波形,vxi的系统资源提供了明显的优越性,但由于开发vxi模块的周期长,而且需要专门的vxi机箱的配套使用,使得波形发生器vxi模块仅限于航空、军事及国防等大型领域。在民用方面,vxi模块远远不如台式仪器更为方便。(3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。1.3 主要研究内容本文论述了完成了键盘输入、液晶显示人机接口的设计与实现,进行输出频率、电压的设定和检测,结果由液晶显示器显示的实现方法并完成设计以及仿真等工作,结果实验箱中下载测试的方法。实现了altrea fpga进行nois ii的配置,函数发生器控制与显示功能,进行输出频率、电压选择和显示的功能对完成函数发生器控制与显示功能,进行输出频率、电压选择和显示提供了技术支持。本文阐述了基于niosii函数发生器控制系统设计的方法,为设计函数发生器奠定了基础。2 总体设计方案2.1 系统设计原理 本文提出了使用作为信号发生核心元件的函数发生器的控制系统,根据完成为键盘输入的功能、为液晶显示人机接口的功能的设计与实现,进行输出频率、电压的设定和检测,结果由液晶显示器来显示等一些要求选用了dds芯片,实现了信号频率、类型以及输出等选项的控制。 对于波形发生器的控制,主要由三个模块,一是dds波形发生模块,二是对于波形发生器控制输入数据,此处采用实验开发平台的4*4键盘做为输入控制端,三是发生器状态信息显示,此处采用lm1095r单色stn屏(192x128)显示。装订线2.2 总体设计框图 总体设计框图如下图2-1jtag-uartlm1095rch452ddsniosii icsdram 图2-13 系统模块组成3.1 lm1095r图形显示模块3.1.1 lm1095r器件简介lm1095r,它是一个192x128点阵中文/图形液晶显示模块,里面含有ra8803控制器。模块不但可以显出单一的文本,而且能显示图形。文本模式中,可以完成大小字体的混编(最大字体为64x64),要完成连续输入的功能时,模块可以自行调节行距的大小。把显示画面变得更好看,很大程度上节约了用户所需要的开发时间。他的主要特点有:(1)供电靠单电源,里面含有升压电路;(2)白色led背光;(3)非常高的对比度,fstn型号lcd屏;(4)双图层的内存(显示存储器为2x9.6k);(5)里面含有简体中文字库(汉字有7602);(6)可自定义16个字符。装订线3.1.2 程序设计在niosii系统中可以通过两种方式实现与液晶屏的接口通信:i/o控制方式和自定义组件方式,自定义组件方式可以达到较高的时钟频率,但对组件逻辑中状态机时序设计要求比较严格,设计的复杂度较高,而i/o口控制方式适用于对时序要求不很高的系统20。在本设计中,系统对显示模块速度要求不高,所以选择i/o方式实现对液晶屏的接口通信,即调用atlera公司提供的通用pio口实现对液晶屏的通信。接口如图3-1:图3-1 niosii与1095r通信接口接口说明如表3-1:表3-1 niosii与lcd接口说明cs_n液晶屏片选信号,单向输向1095r,高电平有效,初始值0。data7.0niosii与1095r接口的数据总线,三态,pio属性设置为双向。rs通道选择信号,1为控制命令寄存器读写,0为数据读写,单向输向1095r。rst复位信号,低电平有效,单向输向1095r。wr_n数据输入使能信号,高电平有效。 因为不需要从1095r读取数据,因此并未加入读使能信号,对液晶屏的控制流程如图4.5所示。从图中可以看出,对lcd的控制主要分为写命令函数和写数据函数两个部分。写命令子函数用于对1095r写入控制命令,主要包括光标位置设定,显示模式设定,层显示等命令,写数据子函数用于向1095r写入要显示数据。具体设计程序如下,流程图如3-2开始液晶屏初始化写入控制指令写入显示数据写数据计数器是否为零结束否是装订线图3-2写命令函数voidsdcmd(ucharcommand)iowr_altera_avalon_pio_direction(lcd_data_base,0xff);iowr_altera_avalon_pio_data(lcd_data_base,command);iowr_altera_avalon_pio_direction(lcd_data_base,0x00);iowr_altera_avalon_pio_data(lcd_cs_n_base,0);iowr_altera_avalon_pio_data(lcd_rs_base,0);iowr_altera_avalon_pio_data(lcd_wr_n_base,0);iowr_altera_avalon_pio_data(lcd_wr_n_base,1);iowr_altera_avalon_pio_data(lcd_rs_base,1);iowr_altera_avalon_pio_data(lcd_cs_n_base,1);装订线写数据函数voidsddata(ucharddata)iowr_altera_avalon_pio_direction(lcd_data_base,0xff);iowr_altera_avalon_pio_data(lcd_data_base,ddata);iowr_altera_avalon_pio_direction(lcd_data_base,0x00);iowr_altera_avalon_pio_data(lcd_cs_n_base,0);iowr_altera_avalon_pio_data(lcd_rs_base,1);iowr_altera_avalon_pio_data(lcd_wr_n_base,0);iowr_altera_avalon_pio_data(lcd_wr_n_base,1);iowr_altera_avalon_pio_data(lcd_rs_base,1);3.2 ch452控制芯片3.2.1 ch452器件简介ch452是一款数码管显示驱动和键盘扫描控制芯片。ch452内置时钟振荡电路,可以驱动8位数码管或者64位led,具有bcd译码、闪烁、移动、段位寻址、光柱译码等功能,同时还可以进行多达64位键盘扫描,并且内置硬件去抖动电路和识别按键编码的功能21。ch452与微处理器之间采用串行接口通信,同一芯片可选高速4线串行接口或者经济的2线串行接口。装订线装订线键盘用于控制信号的输入,根据dds原理,键盘需要实现波形切换、相位控制字、频率控制字的输入功能。本实验所用实验平台上提供了44编码矩阵键盘,并由键盘控制芯片ch452控制键盘。图3-3为实验平台的键盘部分原理图,从图中可以看出,使用了中断信号,地址线常置高电平选中,采用两线制接口,所以需要按两线制的连接方式设计程序。图3-3 键盘连接部分电路图ch452键盘扫描功能支持88 矩阵键盘。在键盘扫描时,dig7-dig0 引脚作为列扫描输出,seg7-seg0 引脚带有内部下拉电阻,作为行扫描输入。在键盘扫描j时,dig7-dig0 引脚按从dig0到dig7 的顺序依次输出高电平,其余引脚输出低电平;seg7-seg0引脚的输出被禁止,没有键被按下时,seg7-seg0都下拉为低电平;当有键按下时,比如连接dig3与seg4的键按下,则当dig3输出高电平时在seg4 检测到高电平; ch452实行两次扫描去抖,只有当两次键盘扫描结果相同时,按键才会确认有效。如ch452检测到有效按键,则记录下该按键的代码,并发出中断信号。表3-2 ch452按键编码值编址dig7dig6dig5dig4dig3dig2dig1dig0seg007h06h05h04h03h02h01h00hseg10fh0eh0dh0ch0bh0ah09h08hseg217h16h15h14h13h12h11h10hseg31fh1eh1dh1ch1bh1ah19h18hseg427h26h25h24h23h22h21h20hseg52fh2eh2dh2ch2bh2ah29h28hseg637h36h35h34h33h32h31h30hseg73fh3eh3dh3ch3bh3ah39h38hch452 提供的按键代码为7 位,键值表如表3-2所示,位2-位0 是列扫描码,位5-位3 是行扫描码,位6 是状态码(键按下时为1,键释放时为0)。下表是在dig7-dig0 与seg7-seg0之间的88 矩阵的顺序编址。因为按键代码是7位,所以键按下时位6总是1,所以按当键按下时,ch452提供的实际按键代码是表5中的按键编址加40h。装订线3.2.2 程序设计ch452两线制接口采用i2c总线通信方式传送数据,i2c总线是常用于连接微控制器和外围设备的总线。ic(interintegrated circuit)总线是由philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点i2c 总线支持任何ic生产过程(cmos、双极性)。通过串行数据(sda)线和串行时钟 (scl)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器mcu、lcd驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。lcd驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。ic总线有两条数据线,一条是 serial data line (sda) ,是双向数据线,主要用于设备间数据的传输,但传输受主设备控制,从设备不能发起数据传输。另一条是serial clock (scl) ,用于提供串行时钟,上升沿时向eeprom器件输入数据,下降沿时从eeprom器件读取数据 (边沿触发)。具体通信协议如下:1、空闲状态 ic总线的两条信号线sda和scl同时为高电平时,为总线的空闲状态。2.起始位与停止位的定义起始信号:scl为高电平期间,sda由高电平跳变到低电平,是电平跳变时序信号,非电平信号。停止信号: scl为高电平期间,sda由低电平跳变到高电平,如图3-4所示。图3-4 ic总线起始与停止位信号定义3.ack应答位装订线 ack应答位指发送端每当发送完一个字节(8位)后,要在下一个时钟脉冲(相当于8位数据脉冲后的第9个脉冲)期间释放数据线,由接收端反馈一个应答信号,如图3-5所示。如果应答信号为低电平,表示已经成功地接收了数据;如果应答信号为高电平,则表示数据接收未成功。需要强调的是,接收端必须在第9个时钟脉冲到之前的低电平期间将sda线输出为低电平,并在时钟高电平到来后始终保持稳定。图3-5 ic总线数据传输时序图4.数据的有效性ic总线传送数据时,sda数据线上的数据只有在时钟线上的信号为低电平时才能改变,时钟信号为高电平时,sda数据线的数据必须保持稳定,如图3-6所示。图3-6 ic总线数据传输时信号要求示意图从ch452的键盘值主要是向ch452发送读取命令后读取数据,时序图如图3-7所示: 图3-7 ch452两线制操作时序图 1.sda 输出高电平,scl 输出高电平,准备启动信号; 2.sda 输出低电平,产生启动信号;3.scl 输出低电平,启动完成;装订线 4. 输出一位数据,即向 sda 输出最高位数据 da0(总是 0),并向 scl 输出高电平脉冲(从低 电平变为高电平再恢复为低电平),其中包括一个上升沿及高电平使 ch452 输入位数据;5. 以同样的方式,输出位数据 da1(总是 1)、addr(地址选择)、b11b8;6. 以同样的方式,输出位数据 r/-w,高电平 1 代表读操作,也就是要求 ch452 输出位数据;7.以同样的方式,输出位数据 1,也就是不输出,以便 i2c 设备回送应答位,注意,ch452 自 身不回送应答位,而且当 ch452 发现有其它设备回送应答那么 ch452 将放弃该命令;8. 在 scl 为低电平期间,ch452 向 sda 输出位数据 k7(总是 0),单片机向 scl 输出高电平脉 冲,并在 scl 为高电平期间从 sda 读取位数据;9. 以同样的方式,ch452 输出位数据 k6k0,单片机输入位数据作为按键代码; 直接结束,不过,建议将 scl 恢复为高电平,建议将 sda 恢复为高电平。 上图是单片机向 ch452 发送命令并接收按键代码的波形示意图,命令数据是 0111xxxxxxxxb,接 收的按键代码是 01100011b。对ch452的控制,可以通过在sopc builder中调用三个atlera公司提供的通用pio口实现对键值的读取。其中,int中断位为单输入信号接收口,seg_key_sda为双向数据传输接口,seg_key_scl为作业控制时钟输出,读取键值流程图如图3-8所示。开始是否有按键按下是发出起始信号,启动ic总线向ch452输出da0、da1、addr、 b11-b8及输出位数据r/-w输出确认位读取键值数据结束否 装订线图3-8 读取键值流程图根据ch452的控制过程,程序分为启动信号子函数、写控制字命令函数、读数据子函数、ack确认位函数、及操作结束子函数:1、启动信号子函数:void ch452_i2c_start (void) iowr_altera_avalon_pio_direction(seg_key_sda_base, 1); iowr_altera_avalon_pio_direction(seg_key_scl_base, 1); iowr_altera_avalon_pio_data(seg_key_sda_base, 1);iowr_altera_avalon_pio_data(seg_key_scl_base, 1); /*scl输出高电平,准备启动信号*/ usleep(5); iowr_altera_avalon_pio_data(seg_key_sda_base, 0); / sda输出高电平 usleep(5); iowr_altera_avalon_pio_data(seg_key_scl_base, 0); /* scl输出低电平,启动完成*/2、写一个字节控制字命令函数void ch452_i2c_wrbyte(unsigned char dat) unsigned char temp_number;装订线 unsigned char i; int delay; iowr_altera_avalon_pio_direction(seg_key_sda_base, 1); iowr_altera_avalon_pio_direction(seg_key_scl_base, 1); for(i=0;i7; iowr_altera_avalon_pio_data(seg_key_scl_base, 0); usleep(5); iowr_altera_avalon_pio_data(seg_key_sda_base, temp_number); for (delay=0;delay5;delay+); iowr_altera_avalon_pio_data(seg_key_scl_base, 1); dat=dat1; iowr_altera_avalon_pio_data(seg_key_scl_base, 0);2、读一个字节数据子函数unsigned char ch452_i2c_rdbyte(void) unsigned char i=8; unsigned char data_received=0; int delay; iowr_altera_avalon_pio_direction(seg_key_sda_base, 0); /*向sda输出最高数据位da0(总是0)*/ iowr_altera_avalon_pio_direction(seg_key_scl_base, 1); /*由低电平变为高电平 */ while (i-) data_received=1; iowr_altera_avalon_pio_data(seg_key_scl_base, 0); /*scl输出时钟低电平*/ usleep(5);装订线 for(delay=0;delay7)&ch452_i2c_mask|0x01|ch452_i2c_addr1); /*写入da0、da1、addr、及读取命令*/ ack(); /*ack确认位*/ keycode=ch452_i2c_rdbyte(); /*读取数据*/ ack(); ch452_i2c_stop_2(); /*结束总线*/ return(keycode); /*返回键值keycode*/3.3 系统总体设计框图根据系统设计要求,输出信号0-1mhz可调的四种波形,控制由4*4输入,lcd液晶屏显示当前输出波形、频率及输入时状态。主程序设计流程图如图3-9所示。4*4键盘功能设计除0-9数字外,另有mhz、khz、hz三个键作为频率输入时确认及频率选择快捷键,相位键功能为输入数字后按下相位键则输入数据做为相位控制字发送给dds,波形切花及确认件用于四种波形输出选择及确认,具体各键功能如表3-3所示。装订线数字按键波形切换更改波形结束频率控制字寄存器相位控制字寄存器数据方向是判定按键类型否是否有按键按下开始初始化程序状态显示 图3-9键盘各键功能表3-3键值功能键值功能键值功能键值功能0数字04数字48数字8c单位khz1数字15数字59数字9d单位hz2数字26数字6a确认e相位3数字37数字7b单位mhzf波形切换 算法实现: 由dds原理可得, 频率控制字=输入频率/分辨率 由dds所设计计数器为n位,分辨率为: 相位控制字:装订线 相位控制字输入为百分比输入,相位控制字为n位数据。所以计数器所输入相位控制字为: 相位控制字=输入数据/100*32768 液晶显示:程序算法的实现为,当按下数值时,液晶屏显示当前输入数据,无按键输入,显示当前波形状态。波形切换时,按下切换按键后,屏幕显示当前可输出波形,切换到预输出波形后,按下确认键才能输出预输出波形。 装订线4 结束语此次函数发生器控制系统的设计需要液晶显示芯片,控制芯片,以及控制对象部分。因此,我依次选择了lm1

温馨提示

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

评论

0/150

提交评论