毕业设计(论文):基于AVR单片机的电视标准制式图象发生器32959

上传人:1666****666 文档编号:38600993 上传时间:2021-11-08 格式:DOC 页数:31 大小:483.53KB
返回 下载 相关 举报
毕业设计(论文):基于AVR单片机的电视标准制式图象发生器32959_第1页
第1页 / 共31页
毕业设计(论文):基于AVR单片机的电视标准制式图象发生器32959_第2页
第2页 / 共31页
毕业设计(论文):基于AVR单片机的电视标准制式图象发生器32959_第3页
第3页 / 共31页
点击查看更多>>
资源描述
毕业设计基于基于 AVRAVR 单片机的电视标准制式图像发生器单片机的电视标准制式图像发生器Based on AVR monolithic integrated circuit television standard service pattern image generator摘摘 要要由于电视技术的快速发展,目前视频信号叠加、图像处理已广泛运用于生活的各种场合。为了可以获得更好的图像的采集和处理,嵌入式微处理器被越来越广泛地应用。AVR 单片机是由 ATMEL 公司研发出的增强型内置 Flash 的精简指令集高速 8 位单片机。它也是嵌入式微处理器的一种类型,嵌入式微处理器在运算速度、可扩充能力、系统可靠性、功耗和集成度等方面得到了突飞猛进的发展。AVR 由于其全新的硬件设计和高效的 C 编译效率,使其具有强大的功能,完全可以满足黑白全电视信号产生的要求。本课题利用 AVR 系列的 Mega16 单片机的定时功能产生视频信号、同步信号,并将同步信号和视频信号合成为模拟全电视信号,实现电视制式逐行扫描图像的生成。 关键词:关键词:AVRAVR 电视制式电视制式 同步信号同步信号 视频信号视频信号 图像发生器图像发生器ABSTRACTAs a result of the television technology fast development, the video signal superimposition, the imagery processing widely have utilized at present in life each kind of situation. In order to may obtain a better image gathering and processing, the embedded microprocessor more and more widely is applied. The AVR monolithic integrated circuit is in the enlargement mode which researches and develops by ATMEL Corporation sets at Flash to simplify the set of instructions high speed 8 monolithic integrated circuits. It is also one kind type of embedded microprocessor in the operating speed, expand aspects and so on , system reliability, power loss and integration rate obtained the development which progressed by leaps and bounds. AVR as ar its brand-new hardware design and highly effective C translation efficiency, enable it to have the formidable function, definitely may satisfy the request which the black and white entire television signal produces.The topic using AVR series of Mega16 which produces the video signal, the synchronized signal, it simulates the synchronized signal and the video signal synthesis the entire television signal, realizes the TV service pattern by the line scan image production. Key words: AVR, television service pattern, synchronized signal, video signal image generatorI目目 录录第一章第一章 绪绪 论论 .1 11.1 引言 .11.2 论文目的 .1第二章第二章 电视简介电视简介 .2 22.1 电视基本原理及制式.22.2 电视术语.32.3 视频信号的组成 .3第三章第三章 AVRAVR MEGA16MEGA16 单片机介绍单片机介绍.11113.1 AVR 单片机概述 .113.2 AVR 单片机硬件介绍 .123.3. AVR 单片机的开发.17第四章第四章 电视标准制式图像发生器电视标准制式图像发生器 .21214.1 总体设计 .214.2 硬件设计 .214.3 软件设计 .234.4 实验及结果 .30结结 论论 .3232致致 谢谢 .3333参考文参考文献献 .34341第一章 绪 论1.1 引言由于嵌入式系统应用技术的不断发展,对于核心处理器性能的要求越来越高,一些传统控制芯片已经难以胜任许多复杂的任务。由于种种原因,国内科研人员比较习惯于使用传统的 51 系列单片机设计应用系统,而这种选择常带来种种限制,甚至影响到整个系统的性能水平。随着微控制器技术的快速发展,国外的工程师近几年来已经较少有人使用 51 系列开发新产品。因此,我们有必要紧跟电子技术发展的前沿,研究单片机技术的最新进展,熟悉新型高性能芯片的性能,掌握其应用技巧,为设计出有竞争力的高性价比的高端嵌入式系统创造条件。1.2 论文目的近年来单片机技术得到快速发展,出现了一批新型高性能单片机,为高端应用提供了选择空间,ATMEL 公司的 AVR 系列单片机就是其中的一种。独特结构的 8-bit RISC CPU 与在线自编程 Flash 的结合,单时钟指令,为 C 语言优化的指令系统设置,以及丰富的片载外围接口电路,使功能强大的 AVR 单片机成为一款高度灵活和高性价比的芯片,为许多高端嵌入式系统设计提供了优秀的解决方案。本课题利用Mega16 单片机的定时器中断产生视频信号、同步信号,利用其高速度进行像素填充,实现图像信号的生成。将视频信号和同步信号通过视频 DAC 系统合成为全电视信号,通过示波器查看信号的正确与否。本设计的主要工作量在于单片机编程,这里采用了ICCAVR 编译器,并用 C 语言作为编程语言,来实现电视制式图像的生成。本论文涉及到的系统设计方案,充分发挥了这种芯片的优良性能。比照使用 51 系列单片机,简化了硬件设计,提高了系统性能,并预留出充足的扩展空间。第二章 电视简介2.1 电视基本原理及制式2.1.12.1.1 电视基本原理电视基本原理电视的基本工作原理可以简单概括为:在发送端,用电视摄像机拍摄外界景物,经摄像器件的光电转换作用将景物内容的亮度和色度信息按一定规律变换成相应的电信号,作适当处理后通过无线电波或有线信道传输出去;在接收端,用电视接收机接2收电视信号,经显示装置的电光转换作用后,将电视信号按对应的空间关系转换成相应的景物画面,即在屏幕上重现原始景物的彩色画面。2.1.22.1.2 电视制式电视制式电视的制式就是对电视信号进行加工、处理和传输的约定方式。目前,有三种彩色和黑白兼容的电视制式:NTSC 制、PAL 制和 SECAM 制。NTSC 制式主要应用在中南美洲和亚洲的部分国家,PAL 制式在亚洲和欧洲应用广泛,SECAM 制式主要用于法国及非洲。为了克服 NTSC 制的相位敏感性,1962 年德国研究出了一种 PAL 制,又叫“逐行导相正交平衡调幅制” 。它是在 NTSC 基础上,又对一个色差信号(R-Y)进行逐行导相的处理。西欧、英国和我国等采用此种制式。PAL 扫描方式以 2:1 隔行扫描,每帧图像由两场组成,每场为 312.5 行主要参数如下:场频为 50Hz,每帧 625 行,行频为 15625Hz,行周期为 64s,场周期为 20ms, 场逆程时间 25H(1.6ms),H 为行周期,行逆程时间为 11.8us。2.2 电视术语1.1. 图像帧图像帧电视系统中把构成一幅图像的各像素传送一遍称为进行了一个帧处理,或称为传送了一帧,每帧图像是由许多像素组成的2.2. 扫描扫描将组成一帧图像的像素,按顺序转换成电信号的过程(或逆过程)称为扫描。扫描的过程和我们读书时视线从左到右、自上而下依次进行的过程类似。从左至右的扫描称为行扫描;自上而下的扫描称为帧(或场)扫描。电视系统中,扫描多是由电子枪进行的,通常称其为电子扫描。 3.3. 隔行扫描隔行扫描 所谓隔行扫描,就是在每帧扫描行数不变的情况下,将每帧图像分为两场来传送,这两场分别称为奇场和偶场。奇数场传送 1、3、5、奇数行;偶数场传送2、4、6、偶数行。世界各国大多采用隔行扫描的 PAL 的隔行扫描。4.4.扫描行数扫描行数 图像的清晰度,图像信号的带宽都与扫描行数有关。通常,扫描行数越多,分解成的图像像素数越多,原图像的细节就呈现得越清晰,但带宽也会急剧增加,于是在一定波段中可安排的电视频道数目减少。所以,扫描行数是一个很重要的指标。5.5.顺序制传送顺序制传送按一定顺序将一个个像素的光学信息轮流转换成电信号,用一条传输通道依次传3送出去,在接收端的屏幕上再按同样的顺序将电信号在相应的位置上转换成光学信息。2.3 视频信号的组成电视为了重现图像,必须传送图像信号:为了消去行、场扫描的回扫线,使其少干扰正常的图像,必须传送行、场消隐信号:为了保证扫描的同时,必须传送复合同步信号。为了让这三种信号能用一个通道传送,在接收端可以方便地将它们分开,必须在发送端按一定规律将这三种信号组合起来,这个合成信号称为黑白全电视信号。黑白全电视信号由图像信号、复合同步信号和复合消隐信号组合而成。为了使三者相互少干扰,并且在接收端能够方便可靠地进行分离,黑白全电视信号按下列形式组成:(1)图按排在行、场扫描的正程,复合消隐和复合同步信号安排在行、场扫描的逆程。(2)图像信号位于白色和黑色电平之间,复合消隐信号的电平规定比黑色电平稍黑。消隐电平和图像黑色电平之差 称为黑色电平提升。图 2-1 为一行全电视信号。 图 2-1.一行全电视信号从中可见,图像信号、行消隐信号、行同步信号三者在时间与幅度上的差别:黑色电平提升量 D 等于消隐电平与白色电平差值 70%的 0.5%(3)复合同步电平比复合消隐电平具有更黑的电平,即“比黑还黑” 。这样复合同步信号与图像信号、消隐信号在幅度上有较大的差别,便于在接收端用简单的限幅器(即同步分离级),从全电视信号中分离出复合同步信号。图像信号和复合消隐信号小必要再分开,可以直接送给显像管作为图像信号使用。如图 2-2,全电视信号山图像信号、消隐信号和同步信号组成。顺序的规定为:第一个齿脉冲的前沿即同步的前沿4又兼为行同步的前沿规定为第一场(奇数场)起始点,扫描行序号从此计起。计到第312.5 行第一场结束,第一场开始,直到第 625 行,完成一帧。25H 的场消隐期间(H为一行扫描所需的时间),有 17 行空闲,可传送特定的测试行信号、台标信号、标准时间、标准频率、业务数据和图文电视等。 图 2-2.全电视信号示意图综上所述,黑白全电视信号具有三大特征:周期性、单极性和脉冲性。由于电视采用周期性的扫描,所以电视信号具有明显的行、场周期性或准周期性。由于图像亮度只有正值而无负值;所以电视信号是单极性的。电视信号的脉冲性表面为两点:其一,图像信号本身是一系列象素所产生的电脉冲信号组合而成的。其二,复合消隐和复合同步信号都是周期性的脉冲信号。2.3.12.3.1图像信号图像信号图像信号是携带着一行行、一场场景物信息的电信号,通常它是由摄像管产生的。怎样画出某些特殊图像的信号波形呢?依据有两点:(1)摄像管经电子束扫描将一幅图像的亮度分布进行象素分解,使之转变成按逐行逐场时间顺序排列的电信号。(2)摄像管某时刻输出的电流信号正比于该时刻电子束所扫描象素的亮度大小。例如电视台每天播发的一幅八条从白到黑宽度相等的垂直条图像,如图 2-3(a)所示,其特点是:只有水平方向变化,而无垂直方向变化,所以它是按行周期变化的。按照信号幅度正比于亮度大小的原则画出一行的信号波形如图 2-3(b)所示。由于图 2-4(a)所示的只有垂直方向变化,而无水平方向变化,显然它是按场周期变化的。采用类似方法画出一场的信号波形如 2.4(b)。5 图 2-3 垂直条图像信号 图 2-4 水平条图像信号由上两例可见,因为图像亮度只有正值而无负值,所以图像信号也是单极性的。黑色的信号电平对应为零,灰色和白色的信号电平都是正值而无负值。图像信号的极性在电路传送与处理过程中是经常变化的,如电路某处为正极性,经过一次放大倒相后,就变成负极性的了。为了方便起见,有如下规定:若图像越亮,信号电平越高,则称为正极性图像信号。反之若信号电平随着图像亮度的增加而降低,则称为负极性图像信号。上述两例所对应的负极性图像信号分别如图 2-3(c)和图 2-4(c)所示。2.3.22.3.2消隐信号消隐信号 消隐信号在摄像设备中是防止扫描束在逆程检取光电信号,在显像设备中是防止扫描的逆程在屏路上显出光迹、混淆图像。一般摄像设备的消隐时间小于显像设备的消隐时间。例如广播电视摄像机就利用行脉冲、场脉冲作消隐信号。行脉冲宽 7.7微秒,场脉冲宽 9 行至 15 行周期,见图 2-5,其中 H 表示一行的周期。6图 2-5 推动脉冲信号广播电视送给接收机的消隐信号比较长,这是为了保护同步信号,和允许接收机有稍长的逆程时间。行消隐与场消隐组合成一个复合消隐信号,其中行消隐宽 12 微秒,场消隐宽约 25 行周期;它们具有一样的电平,见图 2-6。上下两列波形的差别在于行场消隐的相对时间(位置)图 2-6 复合消隐信号错开半行周期,这是隔行扫描所决定的。由于给显像设备的消隐信号时间宽度比摄像的消隐时间长,所以接收机屏幕显示的场面比摄像的场面小。这里场面的意思是对原景范围来说,而不是指屏幕尺寸。在摄像机的寻象器上显示出摄取到的场面,寻象器屏幕上还刻有一个矩形框指示播出的幅面(场面)大小。接收机显像屏幕能显示的最大场面,是由复合消隐信号的时间参数决定的。 从工作时间效率的角度上看,消隐是个消极因素,然而消隐信号能提供固定的基准电平,这对于正确重显亮度层次又是极为重要的,是积极的作用。消隐基准电平是应用钳位技术的前提。为了避免失真,在调制显像器件的,必须恢复信号的平均电平,消隐电平可以作为一个参考基准。因此,消隐信号对图像的幅面、亮度特性都是有作用的。 2.3.32.3.3同步信号同步信号 当同步信号与图像信号分别传送时,同步信号就可以用图 所示的脉冲信号,行脉冲、场脉冲各自专线馈送,各不相干。实际上经常把行同步、场同步与复合图像信号混合成为全电视信号,一起传送给接收显像设备。广播电视就必须采用这种方式。同步信号的设计必须考虑它对图像的影响,在显像设备中分离同步信号的方便,使用的可靠。把同步信号挤在消隐期内传送,可以不再降低电视系统的时间利用效率。为了使显像设备能直接利用全电视信号来调制显像,同步信号不应在屏幕上显示出任何光迹。同步信号以脉冲形式加在消隐电平上,它的极性与图像信号极性相反,这意味着同步电平比黑电平“更黑” 。同步信号幅度与图像信号幅度之比为三比七,在全电视信号中成为三七开。复合同步脉冲信号包括行同步信号和场同步信号。行同步信号用来控制行扫描,在发送端每行结束时,发出一个行同步脉冲,接收机收到这个脉冲后,立刻结束一行的扫描而开始回扫。同样,场同步信号用来控制接收机场扫描的回扫。行、场扫描的逆程期间传送同步信号,这样,同步脉冲就不会在屏幕上显示出来。7为了便于在接收端将行同步脉冲与场同步脉冲分离,这两种脉冲的宽度不同。行同步脉冲的宽度是 4.7,场同步脉冲的宽度 2.5h(h 为行周期,h64)即为 160。复合同步信号的波形如图 2-7 所示图 2-7 复合同步信号波形行同步脉冲叠加在行消隐脉冲上,宽度为 4.7 us,脉冲前沿比行消隐脉冲前沿迟后 1.5us,形成行消隐前肩;并在行同步之后有一个 5.8us 的行消隐后肩,消隐后肩可以提供基准的消隐电平。如图 28 所示。一行的起始时刻从行同步的前沿为基准开始计时的,是以行同步前沿时刻开始行扫描电流逆程的。 图 2-8 行同步脉冲场同步脉冲叠加在场消隐脉冲上,宽度为 2.5H160us,其前沿比场消隐前沿迟后 2.5H=160us。场同步规定为一场图像信号的起始时刻,控制场扫描逆程开始。如图 29 所示。 图 2-9 场同8步脉冲由于奇偶场同步脉冲与其紧密相邻的前面的行同步脉冲有间隔为 H 和 H/2 之分,会导致奇偶场积分起始电平有差异,使奇偶场时间间隔不同,为保证隔行扫描良好,将宽 160us 的场消隐前肩上的行同步改为每半行一个宽度为 2.35us 的 5 个前均衡脉冲,它们在场同步脉冲前起到缓冲作用,保证隔行扫描光栅精确镶嵌。同时,均衡脉冲的前沿仍可给出行同步信息。在场同步脉冲后加入 5 个后均衡脉冲。第三章 ATmega16 单片机介绍3.1 AVR 单片机概述AVR 单片机是 1997 年由 ATMEL 公司研发出的增强型内置 Flash 的 RISC(Reduced Instruction Set CPU)精简指令集高速 8 位单片机,广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR 单片机的片内资源很丰富,其包括:128K 字节可下载的 FLASH 存储器、4K 字节的 EEPROM, 4K 字节的 RAM, 32 条通用的 I/0 线、32 个通用工作寄存器、模拟比较器、定时/计数器、可编程异步串行口、内部及外部中断、带内部晶振的可编程看门狗定时器、SPI 串行口、10 位A/D 转换器以及闲置模式和掉电模式 2 个可选择的省电模式等。其在指令执行速度、保密性等方面都明显优于其他类型的单片机,AVR 单片机内置的 FLASH 存储器支持在线下载和在系统编程工作,操作很方便。 AVR 单片机系列齐全,可适用于各种不同场合的要求。分为 3 个档次:低档 Tiny系列 AVR 单片机:主要有 Tinyll/12/13/15/26/28 等;中档 AT90S 系列 AVR 单片机:主要有 AT90S1200/2313/8515/8535 等;(此系列正在淘汰或转型到 Mega 系列中)高档9ATmega 系列 AVR 单片机:主要有 ATmega8/16/32/64/128(存储容量为 8/16/32/64/128 KB)以及 ATmega8515/8535 等。本设计采用的 Atmega16 单片机是 AVR 单片机中的高档机型,是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器,其具有先进的指令集以及单时钟周期指令执行时间,Atmega16 的数据吞吐率高达 1 MIPS/MHz,缓解了系统在功耗和处理速度之间的矛盾。相对于中低档的 AVR 单片机,Atmega16 对定时/计数器及预分频器、外部存储器接口、电源管理、SPI 和 IJART 等方面都做了一定的改进,克服了中、低档机存在的不足,从而更加适用于工业控制、家电等方面的应用,本设计采用此类机型的目的就是为了跟上 AVR 单片机机型的更新速度。 3.2 AVR 单片机硬件介绍3.2.13.2.1 Atmega16Atmega16 引脚引脚 图 3-1 芯片引脚引脚说明引脚说明:VCCVCC 数字电路的电源GNDGND 地端口端口A(PA7.PA0)A(PA7.PA0) 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。端口端口B(PB7.PB0)B(PB7.PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉10电阻使能,端口被外部电路低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊能。端口端口C(PC7.PC0)C(PC7.PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。端口端口D(PD7.PD0)D(PD7.PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。RESETRESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2XTAL2 反向振荡放大器的输出端。AVCCAVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。AREFAREF A/D 的模拟基准输入引脚。3.2.23.2.2 ATmega16ATmega16 功能简介功能简介1.1.作为通用数字作为通用数字I/OI/O 的端口的端口Mega16 的通用数字 I/O 端口是具有可选上拉电阻的双向 I/O 端口。每个端口引脚都有三个寄存器位:DDRxn、PORTxn 和 PINxn。DDRxn 位于 DDRx 寄存器,PORTxn 位于PORTx 寄存器,PINxn 位于 PINx 寄存器。DDxn 用来选择引脚的方向。当 DDRxn 设置为“0”时,对应的 I/O 口设为输入。当引脚配置为输入时,若 PORTxn 为“1”,上拉电阻将使能。如果需要关闭这个上拉电阻,可以将 PORTxn 清零,或者将这个引脚配置为输出。若 DDRxn 设置为“1”时,对应的 I/O 口设为输出。当引脚配置为输出时,若 PORTxn 为“1”,引脚输出高电平(“1”),否则输出低电平(“0”)。不论如何配置 DDRxn,都可以通过读取 PINxn 寄存器来获得引脚电平。PINxn 寄存器的各个位与其前面的锁存器组成了一个同步器,这样就可以避免在内部时钟状态发生改变的短时间范围内,由于引脚电平变化而造成的信号不稳定。其缺点是引入了延迟。需要注意的是,如果设置某一个端口为输出,需要延时一个机器周期才能读取到正确的输出值。系统复位后,所有的 I/O 端口设置为输入,且内部上拉使能。端口引脚配置:端口引脚配置:DDxnPORTxnPUB(IN SFOIR)I/O上拉电阻说明 0 0 XINPUTNO高阻态(HI-Z) 0 1 0INTPUTYES被外部电路拉底时将输出电流11 0 1 1INPUTNO高阻态(HI-Z) 1 1 XOUTPUTNO输出底电平(吸收电流) 1 1 XOUTPUTNO输出高电平(输出电流) 图 3-2 端口引脚配置2.2.外部中断外部中断 外部中断通过引脚INT0、INT1 与INT2 触发。只要使能了中断,即使引脚INT0.2 配置为输出,只要电平发生了合适的变化,中断也会触发。这个特点可以用来产生软件中断。通过设置MCU 控制寄存器MCUCR 与MCU 控制与状态寄存器MCUCSR,中断可以由下降沿、上升沿,或者是低电平触发(INT2 为边沿触发中断)。当外部中断使能并且配置为电平触发( INT0/INT1),只要引脚电平为低,中断就会产生。若要求INT0 与INT1 在信号下降沿或上升沿触发, I/O 时钟必须工作,如P22“ 时钟系统及其分布” 说明的那样。INT0/INT1的中断条件检测INT2 则是异步的。也就是说,这些中断可以用来将器件从睡眠模式唤醒。在睡眠过程( 除了空闲模式) 中I/O 时钟是停止的。通过电平方式触发中断,从而将MCU 从掉电模式唤醒时,要保证电平保持一定的时间,以降低MCU 对噪声的敏感程度。电平以看门狗的频率检测两次。在5.0V、25C 的条件下,看门狗的标称时钟周期为1 s。看门狗时钟受电压的影响,具有“ 电气特性” 。只要在采样过程中出现了合适的电平,或是信号持续到启动过程的末尾, MCU就会唤醒。启动过程由熔丝位SUT 决定,如P22“ 系统时钟及时钟选项” 所示。若信号出现于两次采样过程,但在启动过程结束之前就消失了, MCU 仍将唤醒,但不再会引发中断了。要求的电平必须保持足够长的时间以使MCU 结束唤醒过程,然后触发电平中断。3.3.位定时器位定时器/ / 计数器计数器16位的T/C 可以实现精确的程序定时( 事件管理)、波形产生和信号测量。其主要特点如下 真正的16 位设计( ( 即允许16 位的PWM) 2 个独立的输出比较单元 双缓冲的输出比较寄存器 一个输入捕捉单元 输入捕捉噪声抑制器 比较匹配发生时清除寄存器( ( 自动重载) ) 无干扰脉冲,相位正确的PWM 可变的PWM 周期 频率发生器 外部事件计数器综述大多数的寄存器和位定义以通用的方式表示。小写“n” 表示T/C 序号,小12写“x” 表示输出比较通道号。但是在写程序时要用完整的、精确的名称。如用 TCNT1 表示访问 T/C1计数器值等。下面对用到的寄存器进行介绍。(1). T/C1 控制寄存器 ATCCR1A 说明如下:位 7:6(COM1A1:0)用于设置通道 A 的比较输出模式,位 5:4 (COM1B1:0) 用于设置通道 B 的比较输出模式。FOC1A,FOC1B 为强制输出比较匹配,WGM11,WGM10 与 TCCR1B的 WGM13,WGM12 配合,用来设置 PWM 输出的模式。(2). T/C1 控制寄存器 BTCCR1B 说明如下:ICNC1用来设置输入噪声抑制允许,ICES1用来选择输入触发方式,可以选择下降沿和上升沿。CS12,CS11,CS10用来选择时钟源,可以选择预分频比例或外部时钟。(3).定时/计数器中断屏蔽寄存器TIMSK说明如下:OCIE2 允许 T/C2 比较匹配中断,TOIE2 允许 T/C2 溢出中断。TICIE1 为T/C1 输入捕获中断允许标志位,当 TICIE1 被设为“1” ,将使能 T/C1 的输入捕获中断。OCIE1 为 T/C1 输出比较 A 匹配中断允许标志位,当 OCIE1A 被设为“1” ,将使能 T/C1的输出比较 A 匹配中断。OCIE1B 为 T/C1 输出比较 B 匹配中断允许标志位,当 OCIE1B被设为“1” ,将使能 T/C1 的输出比较 B 匹配中断。TOIE1 为 T/C1 溢出中断允许标志位,当 TOIE1 被设为“1” ,将使能 T/C1 溢出中断。(4).定时/计数器中断标志寄存器TIFR 说明如下:ICF1 为 T/C1 输入捕获中断允许标志位。OCF1A 为 T/C1 输出比较 A 匹配中断允许标志位。OCF1B 为 T/C1 输出比较 B 匹配中断允许标志位。TOV1 为 T/C1 溢出中断允许标志位,当 T/C 产生溢出时 TOV1 位被设为“1” 。(5)T/C1 计数寄存器 TCNT1H,TCNT1L 组成 T/C1 的计数器寄存器 TCNT1,该寄存器可以直接被 CPU 读写访问。13 下面着重要介绍 CTC 模式(比较匹配清零模式) ,用于产生行定时。在 CTC 模式(WGM13:0 = 4 或 12) 里 OCR1A 或 ICR1 寄存器用于调节计数器的分辨率。当计数器的数值 TCNT1 等于 OCR1A(WGM13:0 = 4) 或等于 ICR1 (WGM13:0 = 12) 时,计数器清零。OCR1A 或 ICR1 定义了计数器的 TOP 值,亦即计数器的分辨率。这个模式使得用户可以很容易地控制比较匹配输出的频率,也简化了外部事件计数的操作。计数器数值 TCNT1 一直累加到 TCNT1 与 OCR1A 或 ICR1 匹配,然后 TCNT1 清零。利用 OCF1A 或 ICF1 标志可以在计数器数值达到 TOP 时产生中断。在中断服务程序里可以更新TOP 的数值。CTC 模式工作原理如图 3.3 所示。 图 3.3 CTC 模式的时序图3.3. AVR 单片机的开发1.1.概述概述用 C 语言代替汇编语言,进行单片机和嵌入式系统开发,已成为一种趋势。各MCU 制造商都委托软件公司开发了相应的 C 编辑器。如支持 AVR 系列的 ICC 和 GCC,支持 MCS51 系列的 C51,支持 MCS196 系列的 C196 等 。在国内主要由广州双龙电子公司代理的 ICCAVR 编译器,并提供相关的技术支持。2.2. ICCAVRICCAVR 编译器编译器AVR可以选用以下任何一款高级C语言开发工具:IARAVR编译器CodeVisionAVR编译器,GCCAVR编译器.ICCAVR编译器.本论文使用ICCAVR编译器。ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境IDE,其可在WINDOWS9X/NT等下工作。源文件全部被组织到工程之中文件的编辑和工程的构筑也在这个环境中完成编译错误显示在状态窗口中并且当你用鼠标单击编译错误时光标会自动跳转到编辑窗口中引起错误的那一行这个工程管理器还能直接产生您希望得到的可以直接使用的INTEL HEX 格式文件INTEL HEX 格式文件可被大多数的编程器所支持用于下载程序到芯片中去。14ICCAVR 是一个32 位的程序支持长文件名。图 3-4 程序调试窗口3 3. .仿真和调试仿真和调试首先简单介绍汇编编译器:AVR Studio。它是ATMEL公司提供的AVR单片机的集成环境汇编级开发调试软件,并且是免费软件.ATMEL AVR Studio集成开发环境(IDE),包括了AVR Assembler编译器、AVR Studio调试功能、AVR Prog串行、并行下载功能和JTAG ICE仿真等功能。下图3-5是AVR Studio 4的界面:当程序编写完之后,需要进行仿真及调试.ICCAVR 编译器输出的 COFF 文件可以被 AVR Studio4 打开,进行软件仿真。调试时可以在程序的适当位置设置断点,也可以添加变量观察窗口,查看变量的值。程序运行方式可以单步进入、单步跳出或运行到断点处,方便进行程序调试。4.4. 下载下载AVR 单片机的程序可以用万用编程器并行写入,也可采用 ISP 在线下载编程方式用串行 ISP(通过 PC 机 RS232 口或打印机口)在线编程擦写,不必将 IC 芯片拆下拿到万用编程器上擦写,而直接在电路板上进行程修改、烧写等操作,对于程序的调试15和升级多很方便。5.5.熔丝位熔丝位在应用时,要注意 Mega 系列必须写熔丝位。烧熔丝时应注意:熔丝位 SPINE 不能通过串行方式编程;熔丝位 CKOPT 的作用与 CKSEL 有关。熔丝位 BOOTSZ1.0 的默认值定义的引导加载区为最大值 1024 字(熔丝位的设置如图 3.6 所示) 。下面是ATmega16 的熔丝位的设置的介绍: ATmega16 有两个字节的熔丝位:熔丝位高字节(FHB)和熔丝位低字节(FLB)。熔丝位未编程的状态为“1” ,被编程后的状态为“0” 。功能如表 3-8 所示:表 3-7 熔丝位的功能表熔丝位名称位用 途默认值OCDEN7编程时允许片上调试1JTAGEN6编程时允许 JTAG 下载0(允许 JTAG 下载)SPINE5允许串行编程和数据下载0 (允许 SPI 编程)CKOPT4晶振选项1EESAVE3芯片擦除时保护 E2PROM1(E2PROM 无保护)BOOTSZ12设置引导加载区大小(512)0BOOTSZ01设置引导加载区大小0BOOTRST0设置复位向量1BODLEVEL7BOD 触发电平1BODEN6BOD 允许1(禁止 BOD)SUT15设置复位启动延长时间1SUT04设置复位启动延长时间016CKSEL33选择时钟源0CKSEL22选择时钟源0CKSEL11选择时钟源0CKSEL00选择时钟源1第四章 电视标准制式图像发生器4.1 总体设计本设计利用 AVR 系列的 Mega16 单片机的定时功能产生行、场同步信号,PORTD.1作为同步输出端口,PORTD.0 作为视频信号输出端口,通过视频 DAC 系统,将同步信号和视频信号合成为模拟全电视信号,然后通过示波器查看同步信号,并接到黑白电视机显示。如图 4.1 系统示意图所示。图 4.1 系统示意图这个系统分为硬件设计和软件编程两部分。其中单片机软件编程工作是主要的。软件设计具体实现可以分为同步产生、图像内容生成和图像显示三部分。下面分别予以阐述。174.2 硬件设计根据 PAL 制式的电平要求,同步负脉冲要求电平是-0.3V,黑色电平为 0V,白色电平是 0.7V, 而单片机输出的是 TTL 电平,0-5V 的电平范围,这里有一个将 TTL 电平转化为电视电平的问题。硬件部分应用的是 DAC 数模转换系统。该系统由三个电阻和两个二极管构成,完成同步信号和视频信号的合成,来形成黑白全电视信号。二极管采用 1N4148,其作用是输出和输入隔离,并和电阻配合,并产生同步负脉冲信号。而三个电阻中 75 欧的电阻有阻抗匹配的作用,工作原理分析如下。设视频输出端口电压为 v1,同步信号输出电压为 v2,合成的电视信号电压为 v0。分析如下: 图 4.2 DAC 数摸转换电路075010007 . 03007 . 000201vvvvv (4.1)推得 530515335310210v (4.2)若v1=v2=0V,此时应处于行、场同步阶段,计算得v0=-0.1V,基本符合同步负脉冲的要求。若v1=0V,v2=5V,此时处于黑色显示阶段。计算得v0 = 0.2V,符合黑色电平的要求。若v1=5V,v2=0V,这种情况并不存在,属于无效情况,程序中已进行避免。显示完一行后,通过将视频端口置 0,避免了此种情况。若v1=5V,v2=5V,此时处于白色显示阶段。计算得v0=1.1V,基本符合白色电平的要求。注意到与电视电平有 0.3V 的直流偏移,这个可以通过 0.1uF 的耦合电容得到标准的电视电平,也可以不予以处理,电视 Video 接收端有耦合功能。综上,此电路经过二极管和电阻的配合,可以完成将视频信号和同步信号合成为全电视信号的功能。184.3 软件设计单片机软件编程工作在本次设计中是非常主要的。具体实现可以分为同步产生、图像内容生成和显示三部分。4.3.14.3.1 同步信号生成同步信号生成根据 PAL 隔行扫描的时序,行同步脉冲每 64 微秒发生一次。在内部晶振是 8Mhz的情况,可以利用定时器 1 作计数器,在计数到 622 产生匹配中断。不过,如果使用63.095 微秒,则行同步的周期为 623 个计数节拍,每帧的时间接近 1/50 秒,因此构建一个软件计数器更容易些。如果从正常程序直接进入中断服务程序,则每次进入的时间有可能差几个机器周期(一个机器周期是 125 纳秒,也就是差了几百个纳秒) ,这个变化可能在电视上造成不可预料的毛刺。解决办法是在中断发生之前,使 CPU 休眠,并且把休眠指令放到一个 while 循环,这个循环每个行周期执行一次。行 1 到行 298是图像显示行,行 298 到行 301 是场消隐时间。在此期间,一些休眠指令分散到其中,保持同步准确。同步信号中,从行 301 到行 313 作为场同步时间,每计到行计数器是313 的时候,行计数器置 1,也就是开始下一帧。按照行,场同步时序的要求,在行同步中断服务程序中,首先将行计数器加 1,接着判断是否是正常同步,还是场同步。若是正常同步,同步信号不需要翻转,也就是行同步持续下去。若为场同步(从 298 行开始) ,同步信号翻转,有三行变成场同步脉冲。同时,每次进入中断,都需要判断是否到了一帧的结束,结束的话,将行计数器置 1,开始新一帧。同步信号生成流程图如图 4 .4 所示。19 图 4-4 同步信号流程图4.3.2 图像显示内容生成图像显示内容生成图像内容的生成实际上是填充显示数组的过程。将要显示的元素填充到显示数组中,就可以逐行显示数据,从而通过监视器查看相应的效果。要显示的图像内容通常有画点,画线,显示字符。以画点为例。函数说明如下:输入参数,点的 X、Y 坐标和点的类型(黑点,白点,反色点) 。X 坐标除以 8,得到行寄存器坐标,Y 坐标乘以 8,以计算越过的行数,两者相加,就得到对应显示数组的下标值,然后根据点的类型,将对应点的位置置1,清零或取反,从而实现了画点功能。对应程序如下:void video_pt(char x, char y, char c)i=(int)x3) + (int)y3);20if (c=1) screeni = screeni | 1(7-(x & 0 x7);if (c=0) screeni = screeni & (1(7-(x & 0 x7); if (c=2)screeni = screeni (1(7-(x & 0 x7);输出 5*7 字符到屏幕。点的 x,y 为坐标,字符是在二维数组数组中一个索引值,在指定的位置输出一个 5*7 字符。void video_putchar(char x, char y, char c) char j ; v7 = x; for (j=0;j7;j+) v1 = bitmapcj; /v1 = *(bitmap1+j+(c2)+(c1)+c); v8 = y+j; video_pt(v7, v8, (v1 & 0 x80)=0 x80); video_pt(v7+1, v8, (v1 & 0 x40)=0 x40); video_pt(v7+2, v8, (v1 & 0 x20)=0 x20); video_pt(v7+3, v8, (v1 & 0 x10)=0 x10); video_pt(v7+4, v8, (v1 & 0 x08)=0 x08);液晶屏上显示的汉字也可认为是一种图形。在计算机中,汉字是以点阵的方式来表示的。显示的时候,可以借助第三方软件,提取汉字的字模数据代码,然后在屏幕上像作图一样把它逐点地描出来,从宏观上看,那就是大家熟悉的汉字了。其中,点阵的规模决定了汉字的大小和清晰度,通常有 1616、2424、4848 等等。以下就以一个汉字显示程序为例,介绍汉字显示的方法。在指定的位置写一个 16*16 点阵的汉字。void video_hz(char x,char y,char hz_index)unsigned char i=0;unsigned int hz_word1; unsigned char hz_word2;unsigned int hz_word;while(i32) hz_word1=hzhz_indexi; i+; hz_word2=hzhz_indexi; hz_word=(hz_word18)+hz_word2; video_pt(x, y, (hz_word&0 x8000)=0 x8000); 21 video_pt(x+1, y, (hz_word&0 x4000)=0 x4000); video_pt(x+2, y, (hz_word&0 x2000)=0 x2000); video_pt(x+3, y, (hz_word&0 x1000)=0 x1000); video_pt(x+4, y, (hz_word&0 x08000)=0 x0800); video_pt(x+5, y, (hz_word&0 x0400)=0 x0400); video_pt(x+5, y, (hz_word&0 x0200)=0 x0200); video_pt(x+7, y, (hz_word&0 x0100)=0 x0100); video_pt(x+8, y, (hz_word&0 x0080)=0 x0080); video_pt(x+9, y, (hz_word& 0 x0040)=0 x0040); video_pt(x+10, y, (hz_word & 0 x20)=0 x20); video_pt(x+11, y, (hz_word & 0 x10)=0 x10); video_pt(x+12, y, (hz_word & 0 x08)=0 x08); video_pt(x+13, y, (hz_word & 0 x04)=0 x04); video_pt(x+14, y, (hz_word & 0 x02)=0 x02); video_pt(x+15, y, (hz_word & 0 x01)=0 x01); i+; y+; 在视频信号的显示中,当行扫描到 313 行时,即一场结束,此时时间加 1,当满 50 行时,增加一秒,满 60 后增加一分钟,同时调用函数定时实现两副图象的显示。work_line=(lineCount=313); if(work_line)timer+;time_flag=(timer=50);if(time_flag)timer=0;second+;sec_flag=(second=60); if(sec_flag) minute+;second=0;time3=0 x30;time2=0 x30;time1=minute%10+0 x30;time0=minute/10+0 x30;else time3=second%10+0 x30;22time2=second/10+0 x30;time1=minute%10+0 x30;time0=minute/10+0 x30; video_putsmalls(8,90,time); 4.3.34.3.3 图像内容显示图像内容显示图像显示的过程是将内部 RAM 中的数据按点依次送出的过程。这里,在内部 RAM中开辟了 800 个字节的空间用于存放要显示的数据。图像的点数每 8 位放在一个字节中,因此共有 6400 个可寻址点。为了加速点的生成,每行的 8 字节预先放在内部寄存器 V1-V8 中,此后逐点输出。每个点在屏幕上输出需要 4 个机器周期。再加上程序的执行时间,输出一行的所用时间与行周期大体相等。4.3.4 主程序介绍主程序大体分为硬件寄存器和标志初始化,显示内容生成,图像显示三部分。在主程序中,首先对 Timer1 计数器进行设置,并允许 T1 匹配中断,同时设置端口 PORTD为数据输出口,PORTC 作为方向数据输出口,行计数器初值为 1,并给同步开关(SyncON,SyncOFF)设置初值。在本例中,程序先输出字符,然后调用函数画线.程序进入死循环,在死循环中,首先让 CPU 休眠,等待行同步中断,在同步中断之后,判断是否为要显示的行,若是,则将显示数组的元素填充到行寄存器 V1-V8 中,然后按位显示,显示完后,再次休眠,以等待行同步中断的发生;若不是,则不做任何工作,再次使 CPU 休眠,以等待行同步中断的发生。由一副图象显示占用 20 毫秒,50 次图象占用 1 秒,1 秒时两副图象显示内容更新,并且进行时间的更新判断,时间进行填充,为下次显示做准备,每副图象的左下脚为时间显示。流程图如图 4.5 所示。23 4.4 实验及结果硬件实验环境包括:Mega16 单片机,下载电路、视频合成电路和示波器。1.1.行同步信号查看行同步信号查看.如图 4.6 所示。端 口硬件寄存器、标志初始化调用函数显示 5X7 图象调用函数直线显示进入休眠是否有效行行显示字符寄存器填充判断 1 秒是否到进行显示,时间自加图像内容切换时间更新,以 3X5 字符填充显示数组NYNY24通过查看同步信号,可以看到行、场同步信号的行周期大约为 64uS, 行、场同步信号满足要求。通过查看视频输出端口,看到高低变化的电平,说明正在按点输出,信号输出正常。2.2.视频信号查看视频信号查看. 如图 4-7,4-8 所示:在程序中涉及 5*7 点阵字符,3*5 点阵字符,16*16 点阵汉字,画线,动态时间显示。这里面有两幅图像,每幅图像都提供边界划线和时间显示“cust”的 logo 显示,第一幅显示“电视信号发生器” ,第二幅显示“wmfty 实验室欢迎您” 。效果图如下所示: 图 4-7 显示(1)25 图 4-8 显示(2)结 论AVR 的最大优点主要在于速度快,代码效率高(特别是 C 语言),外设接口丰富,知识产权有保障。这些优点决定了 AVR 优异的性能。随着经验的不断积累,会越来越体会到高性能带给设计的自由与便利。通过本次毕业设计,使我基本了解了模拟电视信号和制式原理,对全电视信号、同步信号和视频信号有了一定的认识,提高对时序和同步的理解,深深体会到电视信号设计的巧妙。在单片机方面,通过对 AVR 的学习,了解了单片机硬件的架构,掌握了单片机 C编程的一般思路。利用 ICCAVR 编译器,AVR Studio 调试环境、SLISP 下载软件,做出了符合电视制式扫描的电视信号。26参考文献 1 高厚琴,杨盈均.电视原理与接收技术M.北京:国防工业出版社,20022 俞斯乐等编.电视原理M.北京:国防工业出版社,20023 杨永才,何国兴等编.光电信息技术M.上海:东华大学出版社 20024 王学有,梁绪方编.电视信号原理及应用技术M.天津:天津大学出版社,20005 耿德根,宋建国,马湘,叶勇建编.AVR 高频嵌入式单片机原理与应用M.北京:北京航空航天大学出版社,20016 马潮,詹卫前,耿德根编著.ATmega16 原理及应用手册M.北京:清华大学出版社,20037 沈文,Eagle lee,詹卫前编.AVR 单片机 C 语言开发入门指导M.北京:清华大学出版社,20038 金春林,邱慧芳,张皆喜编著.AVR 系列单片机 C 语言编程与应用实例M.北京:清华大学出版社,20039 谭浩强编.C 程序设计M.北京:清华大学出版社,199910 吴双力,崔剑,王伯岭. AVR-GCC 与 AVR 单片机 C 语言开发.M北京航空航天大学出版社.2004.10.11 Richard Barnett,(美)Larry OCull,Sarah Cox,Embedded C programming and the Atmel AVRM.200312 AVR Video Generator with Mega16,Atmel Applications jouranl,J.20042713 ATMEL Corporation. Rev. 2466GAVR10/03 (Chinese). Product Datasheet.Available.J.www.A14 ATMEL Corporation. Rev. 2512AAVR04/02. Product Datasheet. AvailableJ.www.A15
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!