运用对比,必须对所要表达的事物的矛盾本质有深刻的认识。对比的两种事物或同一事物的两个方面,应该有互相对立的关系,否则是不能构成对比的。
浅论FPGA的VGA汉字显示系统设计与实现论文
在日常学习和工作中,大家都接触过论文吧,通过论文写作可以提高我们综合运用所学知识的能力。相信写论文是一个让许多人都头痛的问题,下面是我为大家整理的浅论FPGA的VGA汉字显示系统设计与实现论文,欢迎阅读,希望大家能够喜欢。
摘要:
提出一种基于Xilinx公司的Spartan一3E的FPGA显示方案,由于FPGA芯片具有可靠性高、编程灵活、体积小等优点,采用其控制 VGA接口进行汉字显示,有效地解决了通用处理器控制VGA接口显示汉字的缺点。对新方案进行理论分析和实验,结果证明该方案达到了预期效果。
关键词:
显示绘图陈列;现场可编程门陈列;VGA汉字显示
随着科技的发展,VGA汉字显示系统的应用范围越来越广泛,传统的VGA字符显示方案是通过通用处理器控制VGA接口显示字符信息的,这种显示方案是以通用处理器为核心的处理系统,整个系统体积大、可靠性不高且灵活性差,不适合便携设备的设计。而FPGA芯片具有可靠性高、编程灵活和体积小等特点,因此用FPGA技术来实现VGA汉字显示可以有效解决传统技术中的缺点。
FPGA管脚资源丰富,运行速度快,可以实现大规模的系统设计,而且由于FPGA具有可重构能力和抗干扰能力强等优点,使其越来越多地应用于工业控制领域。利用FPGA控制VGA显示汉字,可使汉字显示脱离Pc机的控制,构建体积小、功耗低的各种嵌入式系统,可应用在人机界面、地面勘测、电子设备、智能仪表和性能监测等方面。
1、VGA汉字显示
VGA的汉字显示是利用VGA的显示原理,使用正确的时序信号对VGA接口相应管脚进行控制输出RGB颜色信息来显示相应的字符信息,其中VGA显示原理及时序信号的控制必须遵循VGA的工业标准。显示处理前端中的SRAM中存储的每一位数据对应相应LCD显示屏上一个像素点的亮和灭,“1”表示亮,“0”表示灭。在显示设备上显示汉字也就是按照汉字的点阵图向显示器上输出1或0的高低电平,从而在显示器上显示出具体的汉字。
2、VGA显示控制器的FPGA实现
FPGA芯片作为中央控制器控制整个系统的处理,根据自顶向下的设计流程,按照层次化、结构化的设计方法可以将FPGA系统划分为以下几个模块:顶层模块、分频模块、VGA控制模块、存储功能模块和RAM读取控制模块。系统工作原理:系统加电FPGA芯片读人配置信息,配置完成后,FPGA进人工作状态,将要显示的汉字的字模信息初始化到单口RAM中,由系统时钟产生时序,程序根据时序信息控制VGA接口输出行、场同步及颜色信息到显示器上。
顶层模块
根据自顶向下设计方法,首先定义顶层功能块。顶层模块处于重要的位置,定义好顶层模块功能后,才能进而分析哪些是构成顶层模块必要的子模块,然后进一步对各个子模块进行分解,直到达到无法进一步分解的底层功能块。顶层模块主要负责规定各个模块之间的数据信号和控制信号的连接关系,也就是实例化各子模块,并且接收RAM读取控制模块传来的汉字字模信息数据流,根据数据流信息中比特位为1的位赋予红色,为0的位赋予蓝色,即用红色表示汉字,用蓝色来填充背景。
分频模块
时序的驱动是设计VGA显示的控制需要注意的一个重要问题,这也是实验是否成功的关键设计。时序不正确,必定不能正常显示,有时甚至会损坏显示设备。因此,对于时序的设计我们必须遵循VGA的工业标准,在设计中使用的分辨率为640×480,根据VGA的工业标准,其像素的刷新率为25MHz。
而实验采用的实验板提供的时钟频率为50MHz,因此必须将系统进行分频设计,即进行二分频的设计。50MHz的时钟频率经过分频后得到实验所需的25MHz频率,此频率将作为顶层控制模块,VGA控制模块和RAM读取控制模块的系统时钟。
VGA控制模块
VGA信号的电平驱动是设计VGA显示的控制需要注意的另一个重要问题,这是正确显示文字图像的重要设计,如果设计不当,那么在显示器上就不能正确显示文字图像。这个模块主要是根据VGA的工业标准进行设计的,用verilog语言将工业标准用程序表示出来。
VGA时序信号产生包括行点计数器x—cnt(计数个数用 表示)、场点计数器y—cnt(计数个数用rt 表示)、行同步信号hsync、场同步信号vsync、有效显示区Visible area等。其中行点计数器是800进制计数器,场点计数器是525进制计数器。根据VGA时序的工业标准行、场同步信号有4种状态:同步脉冲信号 (Sync),显示后沿信号(Back Porch),可视显示区(Visible area),显示前沿(Front Porch)。
这4种状态具有很清晰的时序规律,可以用有限状态机来实现这4种状态的转换,用h—state来表示行同步状态机的4种状态:h—sync,h—back,h—visible,h—front;v—state来表示场同步状态机的4种状态:v—sync,v—back,v— visible,v— front。行、场计数器的值决定了状态机在何时进行状态翻转。
行状态机复位时,进入行同步状态h—sync,此时行同步信号输出低电平;当行计数器的计数值达到96时,状态机翻转进人行消隐后沿h—back状态,此时仍为消隐阶段;当行计数器的计数值达到144时,状态机翻转进入h—visible状态,它对应每行的有效显示区域,共包含640点,在此区域以外的任何部分都不被显示;当行计数器的计数值达到784时,状态机进入行消隐前沿h—front状态,此时处于消隐阶段。当行计数器计数值达到799时,行状态机进入h—sync状态,同时行计数器的复位信号为高电平,计数器复位。
与行有限状态机状态转移类似,需要注意的是行扫描是从左到右地扫描显示,而场扫描是自上而下地扫描显示,显示区域中行与场确定的一个坐标位置为一个像素点,并且只有在行、场状态都为有效可视状态(h—visibl~=1且v—visible=1)时,即行有效显示区域和场有效显示区域的逻辑与值为1时,才能在显示设备上显示。行、场消隐信号的逻辑与为复合消隐信号,处于复合消隐阶段的信号不能在显示设备上显示。
存储功能模块
存储功能模块的主要功能是存储文字信息,其存储媒介为FPGA内部的硬核块RAM,块RAM是以硬核的方式内嵌到FPGA芯片中的,不占用芯片的逻辑资源,是FPGA芯片内部的一种宝贵资源。FPGA内嵌的块RAM组件可配置为单口RAM、双口RAM、分布式ROM、块ROM、内容地址存储器CAM和先进先出存储器FIFO等存储结构 J。
本文中所做实验只进行文字显示,所以可以使用单口RAM存储文字信息,如果想实现更复杂的设计如:文字的滚动显示、图片的动画显示等可以使用双口RA M进行设计。实验使用开发软件XinlinxISE中的IP核生成工具CORE Generator生成实验用的单口RAM,并将其要显示的文字信息初始化到RAM中。实验设置显示7个汉字,每个汉字为16×16点阵,所以RAM的数据深度为l6,数据宽度为112。在工程项目里利用IP核生成工具生成单口RAM,在生成过程中把RAM的数据深度、宽度设置正确,并把事先做好的.coe文件即汉字的字模信息初始化到RAM中。
RA M读取控制模块
RAM读取控制模块是VGA显示设备和存储数据信息的RA M之间通道,为了使VGA显示设备能够准确的显示文字图像信息,必须严格遵循显示设备的扫描规律,产生相应的显示信息。块RAM中的存储地址是由0到16 组成的一维的'连续地址空间,实验显示的是由7个汉字组成的16×16的点阵,如果把这7个汉字看成一个整体,那么这个整体将占用112×16个像素点。本模块包括以下3部分内容:取出汉字字模信息,行、场计数器和坐标定位设计。
显示汉字必须首先把汉字的字模信息提取出来,可以利用一个深度为16的寄存器将RAM中的汉字字模信息暂存,待字符位置定位后再从寄存器中取出相应显示信息产生汉字字模信息的数据流;用行列计数器确定坐标点,并用坐标的位置来确定文字显示位置,其实现与VGA时序控制中的行、场计数器一致;汉字显示区域实验从屏幕的坐标点(400,240)到坐标点(512,256)区域内显示字符。
当坐标计数器刷新到坐标点(400,240)时就要相应地取寄存器地址中的第1个数据作为产生汉字的第1行点阵信息的数据流,直到坐标点 (512,240)时结束第1行的显示,当坐标计数器刷新到坐标点(400,241)时就要取出寄存器中显示汉字的第2行点阵信息,直到坐标点 (512,241)时结束第2行的显示,同理直到到达坐标点(512,256)时结束字符显示。本模块产生的字符数据流将交由顶层模块来控制其显示颜色。
3、系统实验
实验环境开发工具:Xilinx ISE ;开发语言:Verilog;仿真工具:Xilinx ISE Simulator;实验开发板:Xinlinx公司的Spartan一3E。
仿真结果
利用ISE内部的仿真软件对系统进行仿真。由仿真可以看出行、场同步(hsync、vsync)信号都有效(值为1),且行、场都处于可视区域内(水平有效显示区宽度与垂直有效显示区宽度逻辑与的区域为可视区域 ),输出使能信号vailid值为1,此时可以输出汉字信息,可以看出,当输出条件满足时,从SRAM中获取汉字信息,并将其输出,当有汉字输出时 vga—r值为1,即输出汉字颜色为红色,无汉字输出时为背景色蓝色。
实验结果
对实验进行调试,将编程数据下载到FPGA芯片中,再由显示器将汉字输出。本实验只做了一句话的实验测试,如果要实现更多字符显示,可以将更多字符信息存储到RAM字符信息库中,调取RAM中的信息进行显示即可。
4、结束语
用FPGA来控制VGA显示,可以克服使用通用处理器设计系统所带来的不便和缺点。使用块RAM存储汉字信息,不占用芯片的逻辑资源,不仅能保证较高的工作频率,而且还具有很低的动态功耗。实验实现了基于FPGA的汉字显示,方便了汉字信息的写入及内容的修改,可使汉字的显示脱离 Pc机控制,减少控制器的体积,对于小型嵌入式系统及各种便携式设备实现汉字显示具有重要的现实意义和工程实用价值。
拓展:
论文格式与要求
一般而言,非211、985学校的本科毕业论文字数在6000-8000左右(工程类需要制图的专业则会超过这个数字),而一些要求较高或者重点学校则要求论文字数在1万左右或以上,总之各个学校在论文字数上的规定都有细微的差异。
一、本科生毕业论文主要内容
1、题目 (宋体,小二,居中)
2、中文摘要(200字以上),关键词;字体:宋体、小四号,字符间距:标准;行距:20磅
3、英文摘要,关键词;
4、目录
5、正文;字体:宋体、小四号,字符间距:标准;行距:20磅
6、参考文献。期刊内容包括:作者 题名,刊名,年,卷(期):起始页码-结束页码。著作内容包括:作者、编者,文献题名,出版社,出版年份,起止页码。
7、附件:开题报告和检查情况记录表
二、格式要求
1、书写格式要求:填写项目必须用碳素或蓝黑墨水钢笔书写;
2、文稿要求:文字通顺,语言流畅,版面整洁,便于装订。Word文稿A4纸打印。
3、图纸要求:图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标准规范,文字注释必须使用工程字书写;
4、曲线图表要求:所有曲线、图表、线路图、流程图、程序框图、示意图等不得简单徒手画,须按国家规范标准或工程要求绘制;
5、公式要求:所有公式不得徒手书写,利用Microsoft公式编辑器或Mathtype编辑。
三、毕业论文份量要求:
毕业论文字数一般不少于万字或相当信息量。外文文献阅读量的具体要求,由指导教师量化。
四、 毕业论文规范审查工作由指导教师具体负责,从毕业论文质、量、形式等规范方面对论文答辩资格进行审查。审查合格者方能参加答辩。凡质、量、形式等方面审查不合格者,应责令其返工,直到达到要求为止,否则不准参加毕业答辩。对于在校外进行毕业论文的学生,其论文答辩资格审查回校进行。
五、毕业论文档案应包括以下内容:
1、大学毕业论文(设计)封面(教务处统一印制);
2、毕业论文,包括题目及目录、开题报告、内容提要、正文及相关图表、参考文献及其他附件等;
3、指导教师、答辩委员会评阅意见、成绩评定表;
4、其他附件;
免责声明:本站文章信息来源于网络转载是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。不保证信息的合理性、准确性和完整性,且不对因信息的不合理、不准确或遗漏导致的任何损失或损害承担责任。本网站所有信息仅供参考,不做交易和服务的根据,如自行使用本网资料发生偏差,本站概不负责,亦不负任何法律责任,并保证最终解释权。
基于 AT89C52 的多周期同步测频技术的实现黄晓峰 上海工程技术大学高职学院,上海 200437 摘 要:论述了传统的频率测量方法的原理及误差。提出了基于 AT89C52 实现多周期同步测频的新方法。 构造了与待测信号同步的多周期闸门时间,实现了时基信号与待测信号的准同步计数,系统只用一个定时/ 计数器 T2 实现了多周期同步测频。该频率测试仪结构简单,成本较低,能够在高低频段范围内实现频率参 数的等精度测量,具有较高的测量精度和较短的系统反应时间。 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式; 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式;等精度测量 中图分类号: 中图分类号: 文献标识码: 文献标识码:B 文章编号: 文章编号: Realization of multi-cycle synchronization based on AT89C52 HUANG Xiao-Feng Vocational Technical College, Shanghai University of Engineering Science, Shanghai, 200437 Abstract:The traditional frequency measuring principles and the errors are introduced. The new way of : multi-cycle synchronization based on 89C52 is presented. By structuring multi-cycle gate time synchronistically with the frequency signal, the system use only T2 to acquire under synchronous time base with the frequency signal, and realize the new method of multi-cycle synchronization frequency measuring .With the characteristics of a simple structure ,low cost, high accuracy and short measuring time, this frequency meter can realize equal precision measurement from high frequency to low frequency . Keyword:frequency measurement; multi-cycle synchronization; gate time;AT89C52; capture function;equal : precision measurement 0 引言 频率作为一种最基本的物理量,是电子测量技术中最重要的被测量之一。本文详细论 述了传统频率测量方法及原理, 并对各种方法的测量误差进行了分析。 为保证频率测量精度 和兼顾测量反应时间, 采用多周期同步测频技术, 设计了以 AT89C52 单片机为核心的频率参 数测试仪, 由于充分利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉功能, 使得该频率参 数测试仪的软硬件结构简单, 实现了对高低频段频率参数的等精度测量, 具有较高的测量精 度和较短的系统反应时间。 1 传统测频方法及其误差分析 频率测量的方法主要有 M 法、T 法以及 M/T 法 [1] 。M 法的基本测频原理是在选定的 闸门时间 T 内对被测脉冲信号进行计数,根据计数值 N x 和闸门时间 T 求得所测脉冲信号的 频率。在 M 法中,由于闸门时间 T 由标准频率源决定,而单片机的标准频率源是由晶振频 率分频后获得, 因而保证了闸门时间 T 的精确性。 但由于闸门的启闭与待测计数脉冲不同步, 闸 门开 通时间 通常 不是待 测信 号周期 的整数 倍, 存在 待测脉 冲信号 的计 数量 化误差 ?N x = ±1 。由 M 法的测频原理可知,待测信号频率 1 fx = Nx N ? f0 = x N0 T (1) 设待测脉冲频率的准确值为 f xd , 由于单片机测频系统中的标准频率源通常是由晶振产 生的频率信号分频后得到的, 而晶振的稳定性很高, 只要按测量精度要求选择合适的晶振后, 由标准频率源的不稳定性所造成的测频误差就可以被忽略掉 (文中的误差分析均是在忽略标 准频率源的不稳定性下做出的) 。设 δ Mx 为测量的相对误差 δM x = f xd = 得 δ Mx = f xd ? f x f xd (2) N x + ?N x T = ?N x N x + ?N x ≤ (3) f xd ? f x f xd 1 Nx (4) 由式(4)知, 当待测脉冲信号频率较高时, 在闸门时间 T 内被测信号脉冲的计数值 N x 较 大, δ Mx 很小,M 法能够达到较高的测量精度;而当待测脉冲信号频率较低时,在闸门时间 T 内 N x 较小, δ Mx 很大,测频精度降低。例如,被测信号的频率为 100HZ,则在 1S 内的相对误差 δ M x =1%。 而当待测脉冲信号的频率为 10HZ, f x 在 T =1S 内的相对误差 δ M x =10%。 则 虽然可以通过增大闸门时间 T 来提高测量精度,但闸门时间 T 过长将使系统的测量时间过 长,无法满足实时性的要求。 T 法的基本原理是在待测脉冲的一个周期内对标准频率信号进行计数,根据计数值 N 0 和标准信号的频率 f 0 求得待测脉冲信号的频率。在 T 法中,由于闸门时间 T 由待测脉冲信 号决定,不存在待测脉冲信号计数的量化误差 ?N x 。但由于闸门的启闭与标准频率源不同 步,故存在对标准频率源信号的计数量化误差 ?N 0 = ±1 。由 T 法的测频原理可知,待测信 号频率 f x = 1 N 0T0 = f 0 N 0 其中 T0 为标准频率源信号的周期。同理,可得 (5) δ Tx = f xd ? f x f0 f = ? 0 N 0 + ?N 0 N 0 f xd f0 N 0 + ?N 0 (6) 2 = ?N 0 N 0 ≤ 1 N 0 由于闸门时间 T 是待测脉冲信号周期的整数倍, 当待测脉冲频率较低时, 闸门时间 T 较 长,对标准频率源的计数值 N 0 较大,测量精度高;而当待测脉冲频率较高时,闸门时间 T 过短,甚至与标准频率源信号周期相近,故高频测量时 T 法存在严重的测量误差。 理论分析表明, 无论采取何种补偿措施, 都无法同时消除对待测脉冲和标准信号的计数 量化误差。将 M 法和 T 法结合起来就是 M/T 法,M/T 法结合了 M 法和 T 法各自的优点,在被 测信号频率较高时采用 M 法,频率较低时采用 T 法,这样在高、低频信号测量中都能获得较 高的精度。但由于在 M 法中, ?N x 随着被测信号频率的降低而增大,在 T 法中 ?N 0 随着被 测信号频率的增大而增大, 因此必存在 M 法和 T 法的分界点, 在该点高低频测量的相对误差 相等且达到最大,即 δ max = δ M x = δ T x 。我们将该点的频率称为中界频率 f C ,由式(1)知 N x = f x ? T ,由式(5)得 N 0 = f 0 f x ,则中界频率 f C = f 0 T 。虽然 M/T 法能够在两端获 得高精度,但在中界频率处的误差却总是最大的。本系统采用多周期同步测频原理,利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉方式,实现对信号频率、周期、脉宽以及占空 比的测量。 2 多周期同步测频原理及其误差分析 多周期同步测频技术的基本原理是在待测脉冲的 m 个周期内同时对对待测脉冲和标准 信号计数, 根据待测脉冲的计数值 N x 和标准信号的计数值 N 0 求得被测信号的频率 [2,3] 。 由 于闸门时间 T 为待测脉冲的 m 个周期即闸门时间与待测脉冲同步,从而消除了待测脉冲的 计数量化误差 ?N x 。但由于闸门的启闭与标准信号不同步,故仍存在对标准信号的计数量 化误差 ?N 0 = ±1 。设两个计数器在闸门时间 T 内同时对待测脉冲和标准信号的计数值分别 为 N x 和 N 0 ,则待测信号频率 fx = Nx T f0 = N0 T 消去闸门时间 T ,得 f x = N x ? f 0 N 0 (7) (8) (9) 同理,相对误差 δ = f xd ? f x f xd f0 f ?N ? Nx ? 0 x N + ?N 0 N0 = 0 f0 ? Nx N 0 + ?N 0 (10) = ?N 0 N 0 ≤ 1 N 0 = 1 f 0T 3 由式(10)知, δ 只与标准频率源的频率 f 0 和闸门时间 T 有关,与待测脉冲的频率 f x 无 关,实现了整个测量频段内的等精度测量,使测量精度大大提高。对于标准信号的计数量化 误差 ?N 0 ,虽然可以通过提高标准频率源的频率 f 0 和加大闸门宽度 T 来减小,但需要考虑 标准频率源工作频率的限制,以及加大闸门宽度 T 所带来的系统测量时间的增加。 3 基于 AT89C52 的多周期同步测频技术的实现 AT89C52 片内有 1 个 16 位的定时/计数器 T2,T2 除具备和定时/计数器 T0、T1 相同的 功能外,还具有捕捉方式、16 位自动重装等功能 [4,5] 。所谓捕捉功能就是当 T2 的外部输入 端 T2EX()的输入电平发生负跳变时,就会把 TH2 和 TL2 的内容同时记录到特殊功能寄存 器 RCAP2H 和 RCAP2L 中,并将外部中断标志 EXF2 置位,向 CPU 发出中断申请信号。T2 的 捕捉功能避免了 CPU 在读计数值的高字节时, 低字节还在变化所引起的读数误差, 更重要的 是,T2EX()上输入电平连续两次负跳变的计数差值,就是外部输入脉冲的周期。 依据多周期同步测频技术的原理,将 AT89C52 的定时/计数器 T2 设置为定时器捕捉工 作方式,闸门时间 T 为 m 个待测脉冲周期,被测信号经放大、整形、分频后送入 T2 的外部 输入端 T2EX(),在待测信号产生第一次负跳变时,TH2 和 TL2 中的内容(即时基脉冲计 数值)被同时捕捉至特殊功能寄存器 RCAP2H 和 RCAP2L,并在 T2 外部中断服务程序中记录 待测信号下降沿的数目, 以此实现闸门开启及待测脉冲及和时基脉冲的同时计数, 闸门时间 到时(即 T2 的外部输入端 T2EX 检测到第 m + 1 个待测脉冲下降沿) ,一次测量过程结束。 在此过程中, 当外部待测脉冲的下降沿到来或定时器 T2 产生对时基脉冲的计数溢出时, T2 外部中断标志 EXF2 或 T2 溢出标志 TF2 置位,并向 CPU 发出中断申请信号。CPU 相应中 断后,在 T2 中断服务程序中通过软件判断是 EXF2 还是 TF2 产生的中断,并进行相应的处 理,是 EXF2 产生的中断就记录下待测脉冲下降沿的数目,若是 TF2 就记录下 T2 对时基脉 冲的溢出次数。待测频率具体的计算如下: 设闸门时间 T 内共产生了 m + 1 次 T2 外部中断( m 个待测脉冲)及 N 次 T2 溢出中断, 且设第一个待测脉冲的下降沿到来时 T2 对时基的计数值为 l1 , m + 1 个待测脉冲的下降沿 第 到来时 T2 对时基的计数值为 l2 ,则 T2 对时基的计数过程如下(包括 N 次 T2 溢出中断) 。 l1 L65535 → 0L65535 → 0L65535 → 0LLL0L65535 → 0Ll2 则闸门时间 T = ( l2 ? l1 + 65536 × N ) × T0 = mTx 其中 T0 为单片机时基信号周期, Tx 为待测脉冲信号周期,故被测信号频率为 fx = k ( l2 ? l1 + 65536 × N ) × mT0 (11) 其中 k 为可编程分频器相应的分频数 4 4 系统的软硬件设计 本系统采用多周期同 步 测 频 原 理 [3] , 以 盘 AT89C52 单片机为核心, 显 利用其片内定时器/计数 示 器 T2 所特有的捕捉功能, 器 XTAL2 利用定时器 T2 的捕捉功 复位电路 RESET VSS 能及外部中断,软硬件结 GND 合完成待测信号与闸门信 图1 系统硬件组成框图 号的同步,以及待测信号 与时基信号的同时刻计数,使用一个定时器/计数器 T2 实现多周期同步测频技术,使得频率 测试仪的软硬件结构简单易于实现。系统硬件组成框图如图 1 所示,主要由放大限幅电路、 波形转换与整形电路、可编程分频器电路、单片机最小应用系统及键盘显示器电路组成。输 入的正弦波、 三角波等各种形式的小信号电压经放大限幅后, 通过波形转换电路转换为方波 信号,再利用 7414 整形为 TTL 电平信号,利用可编程分频器来扩展频率测量范围的上限, 这样将经过了放大、整形、分频后的待测脉冲送入单片机最小应用系统的 (T2 的外部 输入端 T2EX) ,通过键盘显示器电路来实现被测频率参数(频率、周期、脉宽和占空比) 的选择与动态显示。 放 大 被测信号 与 限 幅 波 形 变 换 整 形 可 编 程 待测脉冲 分 频 器 +5V VCC XTAL1 键 软件采用自顶向下的模块化设计方法 [6] ,将 T2中断服务程序流程图 N 各个功能分成独立的模块,由系统的监控程序统 一管理执行。整个系统由初始化模块、键输入模 块(用于测量参数的选择)、信号频率测量模块、 数据处理模块、数据显示模块等组成。上电后, 首先进入系统初始化模块,在初始化子程序中完 成对定时/计数器 T2 的定时器及捕捉方式的设置, 并启动 T2。 频率测量模块由 T2 中断服务程序完成, 当外 部待测脉冲的下降沿到来或定时器 T2 产生对时基 脉冲的计数溢出时,T2 向 CPU 发出中断申请。 CPU 响应中断后, 通过软件判断是 EXF2 还使 TF2 产生的中断,并进行相应处理。T2 中断服务程序 流程图如图 2 所示。 5 结束语 本文讨论了传统频率测量方法的原理及误 差。在此基础上,对多周期同步测频技术的原理 及其误差进行了详细分析。由于多周期同步测频 技术的测量精度与被测信号的频率无关,实现了 整个测量频段内的等精度测量,消除了 M 法中对 T2外部中断? Y T2外中断次数加1 T2溢出中断 次数加1 Y 第1个外部 脉冲下降沿? N 第m+1个外部 脉冲下降沿? 捕捉寄存器 内容送时基 计数单元1 Y 捕捉寄存器内容 送时基计数单元2 存外中断次数 外中断次数清零 存T2溢出次数 溢出次数清零 清TF2中断 标志 清EXF2中断标志 中断返回 图2 T2中断服务程序流程图 5 被测脉冲信号的计数量化误差 ?N x = ±1 , 克服了 M/T 法中高低频两端精度高而中界频率附 近测量误差最大的缺陷。 本文提出了基于 AT89C52 实现多周期同步测频方法, 利用 T2 的捕 捉功能和外部中断产生与待测信号同步的闸门时间,通过 T2 的定时功能实现了时基信号与 待测信号的同步计数,使得系统只用一个定时器/计数器 T2 就实现了多周期同步测频技术, 该系统软硬件结构简单,具有较高的测量精度和较短的系统反应时间。 参考文献: 参考文献: [1] 尹克荣.智能仪表中的频率测量方法[J].长沙电力学院学报,2002, 17(1):74-76 [2] 章军,张平,于刚.多周期同步测频测量精度的提高[J].电测与仪表,2003,40(6):16-18 [3] 王连符.测频系统测量误差分析及其应用[J].中国科技信息,2005,(18A):94-94 [4] 李全利.单片机原理及应用技术[M].北京:高等教育出版社,2001 [5] 李群芳 黄建.单片微型计算机与接口技术[M].北京:电子工业出版社,2002 [6] 孙传友,孙晓斌,汉泽西等,测控系统原理与设计[M].北京:北京航空航天大学出版社,2002 作者简介: 作者简介: 黄晓峰(1969-),男,甘肃省甘谷县人,副教授,硕士,研究方向为检测技术及智能仪器仪表、计算机控制。 E-mail: 电话: 6 基于 MCS_51单片机的直流电机转速测控系统设计摘要: 给出了一种基于89C51单片机以及 PWM 控制思想的高精度、高稳定、多任务直流电机转速测控系 统的硬件组成及关键单元设计方法。实验结果表明该系统能实时、有效地对直流电机转速进行监测与控制, 而且输出转速精度高、稳定性好。 0 引言 目前使用的电机模拟控制电路都比较复杂,测量范围与精度不能兼顾, 且采样时间较长, 难以测得 瞬时转速。本文介绍的电机控制系统利用 PWM 控制原理, 同时结合霍尔传感器来采集电机转速, 并经 单片机检测后在显示器上显示出转速值, 而单片机则根据传感器输出的脉冲信号来分析转速的过程量, 并 超限自动报警。本系统同时设置有按键操作仪表, 可用于调节电机的转速。 1 系统方案的制定 直流电机控制系统主要是以 C8051单片机为核心组成的控制系统, 本系统中的电机转速与电机两端的 电压成比例, 而电机两端的电压与控制波形的占空比成正比, 因此, 由 MCU 内部的可编程计数器阵列 输出 PWM 波, 以调整电机两端电压与控制波形的占空比, 从而实现调速。本系统通过霍尔传感器来实 现对直流电机转速的实时监测。系统的设计任务包括硬件和软件两大部分,其中硬件设计包括方案选定、 电路原理图设计、PCB 绘制、线路调试; 软件设计包括内存空间的分配, 直流电机控制应用程序模块的 设计, 程序调试、软件仿真等。 2 硬件设计 C8051是完全集成的混合信号系统级 MCU 芯片, 具有64个数字 I/O 引脚, 片内含有 VDD 监视器、 看门狗定时器和时钟振荡器, 是真正能独立工作的片上系统, 并能快捷准确地完成信号采集和调节。同 时也方便软件编程、干扰防制、以及前向通道的结构优化。 本单片机控制系统与外部连接可实时接收到外部信号, 以进行对外部设备的控制, 这种闭环系统可 以较准确的实现设计要求, 从而制定出一个合理的方案, 图1所示是电机测控系统框图。 图1 电机测控系统框图。 本系统先由单片机发出控制信号给驱动电机, 同时通过传感器检测电机的转速信号并传送给单片机, 单片机再通过软件将测速信号与给定转速进行比较, 从而决定电机转速, 同时将当前电机转速值送 LED 显示。此外, 也可以通过设置键盘来设定电机转速。系统中的转速检测装置由霍尔传感器组成, 并通过 A/D 转换将转速转换为电压信号, 再以脉冲形式传给单片机。这种设计方法具有频率响应高(响应频率达 20 kHz 以上)、输出幅值不变、抗电磁干扰能力强等特点。其中霍尔传感器输入为脉冲信号, 十分容易与 微处理器相连接, 也便于实现信号的分析处理。单片机的 T0口可对该脉冲信号进行计数。 设计时, 可通过单片机的 ~ 五个接口来完成键盘的输入, 口可完成鸣叫和报警, 接电机, ~接显示器的位选, P0口为显示器段选码, 其硬件连接电路如图2所示。 图2 硬件连接电路图。 本系统的脉冲宽度调制(Pulse Width Modulation)原理是: 脉冲宽度调制波由一列占空比不同的矩形脉 冲构成, 其占空比与信号的瞬时采样值成比例。该系统由一个比较器和一个周期为 Ts 的锯齿波发生器组 成。脉冲信号如果大于锯齿波信号, 比较器输出正常数 A, 否则输出0。图3所示为脉冲宽度调制系统的 调制原理和波形图。 图3 脉宽调制过程。 设样本 τk 为均匀脉冲信号, 它的第 k 个矩形脉冲可以表示为: 其中, x {t} 是离散化信号; Ts 是采样周期,τ0是未调制宽度, m 是调制指数。现假设脉冲幅度为 A, 中心在 t=kTs 处, τk 在相邻脉冲间变化缓慢, 那么, 其 Xp (t) 可表示为: 其中, 为电机角速度,结合式(2) 可见, 脉冲宽度信号可由信 号 x (t)加上一个直流成分以及相位调制波构成。当 τ0<<> 因此, 脉冲宽度调制波可以直接通过低通滤波器进行解调。C8051单片机有2个12位的电压方式 DAC, 每个 DAC 的输出摆幅为0 V~VREF, 对应的输入码范围是0x000~0xFFF。通过交叉开关配置可将 CEX0~CEX4 配置到 P2 端口, 这样, 改变 PWM 的占空比就可以调整电机速度。 LED 显示采用动态扫描方式, 并用单片机 I/O 接口扩展输出, 再由三极管驱动各显示器的位选端并 放大电流。独立式按键采用查询方式, 按键输入均采用低有效, 上拉电阻可用于保证在按键断开使其 I/O 口为高电平。单片机的 I/O ()引脚所扩展的5个按键分别定义为: 设置、启动、移位、开始、+1 功能。硬件电路确定以后, 电机转速控制的主要功能将依赖于软件来实现。 3 软件设计 本系统的软件程序的设计可分为5个步骤: 分别是综合分析并确定算法; 设计程序流程图;合理选择和分配内存单元以及工作寄存器; 编写程 序; 上机调试运行程序。 应用软件的设计可采用模块化结构设计, 其优点是每个模块的程序结构相对简单, 且任务明确, 易 于编写、调试和修改; 其次是程序可读性好, 对程序的修改可局部进行, 而其他部分可以保持不变, 这 样便于功能扩充和版本升级; 另外, 对于使用频繁的子程序, 可以建立子程序库, 以便于多个模块调 用; 最后是便于分工合作, 多个程序员可同时进行程序的编写和调试工作, 故可加快软件研制进度。 本程序采用8051单片机的 C 语言编程来实现。 在系统的程序设计中, 可采用模块化编程实现。 整个软件由主程序模块、转速测量模块、时钟模块、数据通信模块、动态显示模块等组成。各模块均 采用结构化程序设计思想设计, 因而具有较强的通用性; 而采用模块化程序结构则可使软件易于调试、 维护和移植。 系统软件可根据硬件电路的功能与 AT89C51各管脚的连接情况对软件进行设计。以便明确各引脚所要 完成的功能, 从而方便进行程序设计和内存地址的分配, 最终完成程序模块化设计。 本系统为直流电机测控系统。根据系统性能要求, 除复位电路外, 还应该设置一些功能键: 包括启动键、设置键、确定键、移位键、加1键等。由于本系统中的单片机还有闲置的 I/O 口线,而系 统要求所设置的按键数量也不多, 因此, 可以采用独立式按键结构。 根据直流电机控制系统的结构, 该电机转速控制系统为一简单的应用系统, 可以采用顺序的设计方 法。这种设计由主程序和若干个中断服务程序构成, 整个电机转速测控系统可分成六大模块, 每个模块 完成一定的功能。图4所示是根据电路图确定的程序设计模块图。 图4 直流电机控制软件设计模块图。 其中主程序模块主要设置主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的 初始化和一些子程序调用等。其主程序流程图如图5所示。 图5 主程序流程图。 对于定时器 T1 (1s) 子程序的设计,其实在单片机中,定时功能既可以由硬件(定时/计数器) 实现,也 可以通过软件定时程序来实现。软件延时程序要占用 CPU 的时间, 因而会降低 CPU 的利用率。而硬件定 时则通过单片机内的定时器来定时, 而且, 定时器启动以后可与 CPU 并行工作, 故不占用 CPU 的时间, 从而可使 CPU 具有较高的工作效率。 本系统采用硬件定时和软件定时并用的方式, 即用 T1溢出中断功能来实现10 ms 定时, 而通过软件 延时程序实现1 ms 定时。其中 T1定时器中断服务程序的功能主要实现转速值的读入、检测与缓存处理。 对于定时器 T1的计数初值计算, 由于本系统采用的是6 MHz 的时钟频率, 所以, 一个机器周期时 间是2 ?s。这样, 根据 T1定时器产生500 ?s 的定时, 便可以计算出计数初值。 本文设计的转速测控系统的工作方式寄存器 TMOD=00010000B, T1定时器以工作方式2来完成定时。 4 程序调试 程序调试可在伟福仿真软件上进行编制, 该软件支持脱机运行, 纯软件环境可模拟单步、跟踪、全 速、 断点; 源文件仿真、 汇编等, 并可支持多文件混合编程。 仿真调试后的目标程序可以固化到 EPROM, 然后用专门的程序烧写器对89C51单片机进行程序烧写。 5 结束语 本设计采用 C51进行编程, 程序占用存储器单元少, 执行速度快, 并能够准确掌握执行时间, 实 现精细控制。同时由于采用89C51为 CPU,并利用噪声抵抗能力较强的 PWM 控制技术、串行口扩展显示 器接口和 I/O 口扩展键盘, 因而可省去片外 RAM, 而且体积小, 功能全, 小巧灵活,操作方便, 又 可安装在工作现场单独工作。因而具有较大的实用价值和良好的应用前景。
毕业论文管理系统, 自己写这个项目时需要注意以下几点
204 浏览 3 回答
307 浏览 4 回答
298 浏览 4 回答
302 浏览 2 回答
185 浏览 3 回答
270 浏览 6 回答
178 浏览 6 回答
315 浏览 4 回答
157 浏览 4 回答
262 浏览 4 回答
353 浏览 5 回答
120 浏览 6 回答
259 浏览 3 回答
123 浏览 3 回答
228 浏览 2 回答