




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字系统课程设计报告第一部分 设计题目及要求本次课程设计的题目及要求如下一、设计题目红外线遥控接收器二、设计步骤1、EDA实验板组装调试参照提供的EDA实验板电路原理图、PCB图以及元器件清单进行电路板的组装。电路板组装完成后,编写三个小程序进行电路板测试。2、红外遥控系统的设计(1)发射编码部分使用指定的元器件在万用板上完成红外遥控器的制作。(2)接收解码部分接收解码用VHDL语言编写程序,在EDA实验板上实现解码。二、功能要求1、将一体化红外接收解调器的输出信号解码(12个单击键、6个连续键,单击键编号为718,连续键编码为16),在EDA实验板上用七段数码管显示出来。2、当按下遥控器16号连续键时,在EDA实验板上用发光二极管点亮作为连续键按下的指示,要求遥控器上连续键接下时指示灯点亮,直到松开按键时才熄灭,用于区别单击键。3、EDA实验板上设置四个按键,其功能等同于遥控器上的14号按键,当按下此四个按键时七段数码管分别对应显示“1”、“2”、“3”、“4”。4、每当接收到有效按键时,蜂鸣器会发出提示音。第二部分 设计分析本次课程设计包括两大部分,一是电路设计及电路焊接,二是程序的设计及编写。电路部分,根据题目要求,要做到红外发送,显然整个电路系统要分为红外发射和红外接收两个电路,分别做到红外的编码发射和译码接受,再在接收板上显示接受到的红外信号。另外还包括一个从电脑下载程序到芯片上的下载线电路。一、 红外发射电路本次课程设计的红外遥控器由红外遥控专用芯片PT2248作为编码及发送部分,PT2248最大可用作18路红外遥控系统的编码,其内部己集成了38kHz的红外载波振荡及相应的数字脉码调制电路,只需外接36的矩阵式按键、红外发光二极管及其驱动电路等少量元器件便可完成编码发送的功能。由PT2248和少量外围元件组成的红外遥控发射电路如下图所示芯片的发送指令由12位码组成,其中C1C3是用户码,可用来确定不同的模式。用户码设定是以列线内接入二极管为界线,当T1T3与CODE之间分别接入二极管时,用户码(C1C3)为“1”;当T1T3引脚不接二极管时,用户码为“0”。如果该芯片与BL9150相结合,则C3引脚必须接入二极管;如果该芯片与BL9149相结合,则C2必须接二极管,H、S1和S2是代表连续发送或单次发送的码,且分别与T1、T2和T3列的键对应。D4D6是发送的数据码(也是键输入码)上图中3V电源电压一方面为芯片提供推荐工作电压并加到引脚16,另一方面作为信号输出指示复合管的工作电压。为了使振荡频率为455kHz,特采用外接晶振,并外接两个电容120pF旁路到地。图7中三列T1、T2、T3和CODE分别接一个二极管,目的是为了使用户码(C1、C2、C3)为“1”。二、 红外接受部分 本次课程设计的红外接受部分采用EDA实验板,EDA实验板的顶层PCB图如下:. 硬件部分的设计:板的中心部件采用的是max7000系列CPLD,另外采用4M晶振以及红外接收管(38K接收头)直接在逻辑箱制作红外接收解码电路。红外接收管有3个管脚,自左至右分别是信号输出端,地端,电源端,分别接到逻辑箱的相应管脚上;同时,为了得到更加稳定的信号,在信号输出端与地端加入一滤波电容。三,下载线电路本次课程设计采用的下载线把电脑的打印机口和实验板的数据口连接起来,从而把程序从电脑下载到实验板的芯片里,如下图:下载线电路采用芯片74LS244构成下载线电路,电路图如下:下载线电路板的顶层PCB图如下:第三部分 系统模块的划分以及各模块的功能描述 在这一部分,我将对系统功能进行模块化划分,对各模块功能作详细阐述。 一、 发射板部分 发射板主要由红外线编码芯片PT2248 构成红外编码这个模块。 PT2248的管脚图如下图所示:其各个管脚的功能如下表:PT2248组成的十八路遥控发送器其编码规则如下:(1)设a为一个时间单位,时间长度是38kHz的16个时钟周期,即a138kHz160.421ms编码是以串行形式发送的,在接收端(38kHz一体化红外接收解调器)接收到如下形式的1位的编码时分别表示“0”和“1”:1个a的低电平,3个a的高电平表示编码“0”3个a的低电平,1个a的高电平表示编码“1”编码以串行形式发送,接收端的一体化红外接收解调器输出波形如下图所示:此外,由于发射器发送的时候,有两个信号,一种是表示单击的,一种则是表示连续的,这两种不同的信号,其自身都有自己的特点:(2)遥控器的每个按键编码由12位按以上编码规则所代表的“0”、“1”组成,时间长度为48a,当按下遥控器的7到18号单击按键,则以12位为一组(48a)发送两次编码,如下图所示:60a为自按下按键到发送编码的等待时间,80a是前后两次发送12位48a编码的高电平时间间隔。7到18号单击按键无论发送端按键时间持续多长只发送一次这样形式的两组相同的12位编码。(3)当按下1到6号连续按键时,编码按如下格式连续发送:由上图可以清楚的看到,两种信号的巨大差别,可是在程序的编写过程中,这种差别却没有什么很大的作用,因为两种信号在译码上的区别也是相当明显的,故为了简化程序,直接由译码来区别连续单击比利用上图的效果更好,具体见程序。(4)芯片的发送指令由12位码组成,如下所列。其中C1C3是用户码,可用来确定不同的模式。用户码设定是以列线内接入二极管为界线,当T1T3与CODE之间分别接入二极管时,用户码(C1C3)为“1”;当T1T3引脚不接二极管时,用户码为“0”。具体每个12位的串行编码规则如下:C1、C2、C3为用户可通过在遥控器发射电路中是否接入IN4148二极管决定其为“0”或“1”,这里取“111”,H、S1、S2为单击连续按键的标志位,相当于列坐标,D1至D6为按键输入码,相当于行坐标,低9位的按键编码如下表所示:按键低9位编码HS1S2D1D2D3D4D5D611001000002100010000310000100041000001005100000010610000000170101000008010010000901000100010010000100续上表:二,接收部分接收部分电路主要可分为红外接受模块,译码电路模块,小键盘模块和数码管显示模块几个部分,红外信号的编码从发射板发射到接收板上的红外信号接收头后 ,译码电路把红外编码翻译后送到数码管显示,小键盘输入的代码也经译码电路在数码管上显示对应的按键信息。(一).红外信号接受本课程设计的红外接受头采用一体化红外接收解调器,如下图:其引脚图如下: 一体化红外接收解调器的内部电路如下图: 上面详述的红外信号发射电路把发射板上的按键信息编成编码以红外信号的形式发射到接收板,该一体化红外接收解调器接收到红外信息后,把其包含的编码信息传到下一级译码电路,从而完成红外信号的接收。当红外接收头接收到遥控器发出的信号时,逻辑箱上的蜂鸣器需发出提示声。因设计时只考虑译码器具有最简单的译码功能,这样就要求前面的编码电路在每发出一串12位编码的同时发出一个脉冲给计数器,使计数器输出为高电平,同时开始计数,直至计数到规定值后又回到低电平,完成响铃提示。(二)红外编码译码电路根据芯片介绍可知,红外接收头接收到的编码,每一帧完整的串行数据有十二位,而每一位的BIT0、BIT1是占空比不同的矩形方波,要完成以后的功能,就需要一个编码器将其编成逻辑器件能识别的普通逻辑电平0、1。红外接收头接收负责接收38k载波的红外光,解调得到脉冲,输出至译码电路。接收头接收到的脉冲如图(与发射波形刚好互为反码): (a为38kHz时钟的16个周期)每个按键的值由12bit组成:按键编码格式:译码电路有把对应的译码程序下载后的CPLD构成,CPLD的外围电路如下图:CPLD和芯片74HC4040以及其他元件构成译码电路,74HC4040的管脚图如下图所示:其内部电路图如下图:一体化红外接收解调器接收到红外信息后,将红外编码通过73HC4040传到CPLD进行译码。(三)红外编码显示电路这部分电路将译码后得到的十二位普通高低电平0、1编码译成相应的压缩BCD码118,应十位仅有0、1两种可能,将译得的BCD码直接接芯片4511的输入引脚,4511的译码输出并接到4位LED数码显示管,再在程序中写入十位和个位选择的进程,即可得到相应118数字显示输出。显示部分电路由芯片CD4511BC构成,译码后的高低电平从CPLD的44,45,46,48,49管脚传输到CD4511BC,进行译码,这部份电路如下:CPLD的3341角分别接到三级管(8050)Q2Q9,通过段路线,选择两个四位LED数码显示管里的共八位显示中的哪一位或哪几位显示,没有接段路线的那些位的显示管将不亮。CD4511BC的管脚图如下图所示:其真值表及对应的LED数码显示管显示如下:(四)小键盘电路 EDA实验板上有个4*4 的按键矩阵,当按键被按下时,其输出引脚为低电平,而其余时间内均为高电平。当按下每一行的四个键时,七段码显示管应显示14,必须将四个按键并行输入的按键编码转换成14的BCD码才能输出显示。按键输入与遥控输入应共用两个七段码显示管输出,这样就需要在程序中将输入的遥控信号与按键信号先进行选择再输出。 这部分电路如下图所示:第四部分 程序设计及带注释源程序 一、本次课程设计的程序设计的ASM图如下: 二、程序设计时的主要部分以及遇到的问题及解决方案:1、频率的同步问题:这是本程序的一个关卡,由于信号的载波是16k,而晶振的频率采用了4M,就是说无论怎么分频,逻辑箱出来的频率都不可能得到载波信号的频率,所以有可能经过几次解码之后便出现误码。本设计具体采用的处理措施如下:4M的2的7次方分频(没有安装word的公式,请见谅哦),所得到一个信号(即4个a)为14倍clk,这里用到一个cnt1,每个时钟上升沿计数一次,计数到第7个时钟上升沿时,便进行读数,根据0和1波形的特点,可知在此时输入信号infared_in与其真正表示的值相反,故有:if cnt1=7 then reg2 if cnt1=50 then cnt1=0;state=T0; elsecnt1=cnt1+1; end if; 计到第14个clk时(由于其中经过两个状态,所以计数只计到12),又回到T0,重新检测infared_in0后回到T1状态,从而取出那0.2个clk的影响。2)如何判断接收到一串完整的12位数据问题:如果采用cnt1计数来控制的话,会导致cnt1的取值过大,而且会出现误差时间的积累,故本程序用到的第二个计数器cnt2,其作用也不容小视,在每一次cnt17时,都会将cnt2自加,如下:If cnt1=7 then cnt2=cnt2+1; reg=reg (7 downto 0) & not infared_in; end if; if cnt2=12 then cnt2=0;speaker=1;end if; 这是用来记录移入寄存器reg的次数,计到12时,说明已经接收了1个完整的信号了,此时把cnt2清零,以便下一次接收信号时使用。3) 指示灯跟蜂鸣器的问题:当接收一个完整的信号之后,当让就是对这存在reg中的一串01代码进行译码了,同时根据题目要求,蜂鸣器要相应的响一声。故当cnt212时sound赋为高电平,并启用第三个计数器cnt3,cnt3在下一个时钟上升沿开始自加,加至16000,即延时16000/16k=1秒后停止,后将sound从新赋0。具体实现如下:if cnt2=12 then cnt2=0; speaker=1; end if; if speaker=1 then cnt3=cnt3+1; if cnt3=16000 then cnt3=0; speaker=0; end if; end if;4、EDA板上的按键问题:EDA试验板的按键的每一行的四个按键分别对应B1 ,B2,B3,B4,具体实现只是在时钟上升沿下加入一下程序段即可。if B1=0 then reg=100100000; end if; if B2=0 then reg=100010000; end if; if B3=0 then reg=100001000; end if; if B4=0 then reg if infared_in=0 then state=s1; else state if cnt1=12 then cnt1=0; state=s2; else cnt1 if infared_in=1 then -若出现高电平则跳回s0状态 state=s0; else state=s2; end if; end case; end if; -当计数到7时,自动跳到进程com2,每接收完一个完整的0或1信号后,自动接收下一个信号,自身不停地在两个状态中轮换。 end process judge;coding:process(clk,cnt1,cnt2,cnt3,B1,B2,B3,B4) -编码译码进程 begin if clkevent and clk=1 then if B1=0 then reg=100100000; -B1按下,寄存器储存表示00000001的代码。 end if; if B2=0 then reg=100010000; -B2按下,寄存器储存表示00000010的代码。 end if; if B3=0 then reg=100001000; -B3按下,寄存器储存表示00000011的代码。 end if; if B4=0 then reg=100000100; -B4按下,寄存器储存表示00000100的代码。 end if; if cnt1=7 then cnt2=cnt2+1; -cnt2加1,表示移入一位数据 reg=reg (7 downto 0) & not infared_in; end if; -当计数到7时,将接收到的infared_in的相反值移入寄存器。 if cnt2=12 then -当cnt2计数到12时,表示接收到了完整的一串数据,自身清零并开启蜂鸣器 cnt2=0; speaker=1; end if; if speaker=1 then cnt3=cnt3+1; if cnt3=16000 then cnt3=0; speaker=0; -计数cnt3计到16000时赋0,蜂鸣器停止,即蜂鸣器鸣响时间持续16000/16k=1秒后停止 end if; end if; end if; end process coding;display:process(clk,reg,reset) -显示进程。低9位编码转换成对应的BCD输出,16连续按键灯亮,718单击键灯灭, begin if(reset=1) then -高电平复位 BCD_out=0000; selet=11; led=1; -若按下复位键,十位个位同时显示0,指示灯亮 elsif (clkevent and clk=1) then led BCD_out=0001; -显示1 selet=01; ledBCD_out=0010; -显示2 selet=01; led BCD_out=0011; -显示3 selet=01; led BCD_out=0100; -显示4 selet=01; led BCD_out=0101; -显示5 selet=01; led BCD_out=0110; -显示6 selet=01; led BCD_out=0111; -显示7 selet=01; led BCD_out=1000; -显示8 selet=01; led BCD_out=1001; -显示9 selet=01; ledif (cnt4=0) then cnt4=cnt4+1; BCD_out=0000; -个位显示0 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 seletif (cnt4=0) then cnt4=cnt4+1; BCD_out=0001; -个位显示1 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 selet if (cnt4=0) then cnt4=cnt4+1; BCD_out=0010; -个位显示2 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 selet if (cnt4=0) then cnt4=cnt4+1; BCD_out=0011; -个位显示3 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 selet if (cnt4=0) then cnt4=cnt4+1; BCD_out=0100; -个位显示4 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 seletif (cnt4=0) then cnt4=cnt4+1; BCD_out=0101; -个位显示5 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 selet if (cnt4=0) then cnt4=cnt4+1; BCD_out=0110; -个位显示6 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 selet=10; end if; led if (cnt4=0) then cnt4=cnt4+1; BCD_out=0111; -个位显示7 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 seletif (cnt4=0) then cnt4=cnt4+1; BCD_out=1000; -个位显示8 selet=01; else cnt4=0; BCD_out=0001; -十位显示1 selet led=1; selet=00; -其他数码无显示,指示灯亮 end case; end if; end process display;end behav;第五部分 程序仿真 本次课程设计程序的一个仿真波形图见下页:该波形图可分为两部分,第一部分是EDA板对红外发射所发射的信号进行译码 ,并输出BCD码,即其他输出的部分,第二部分是对EDA试验板的键盘矩阵输入信号的译码BCD码输出。一、红外译码部分 在B2的低电平脉冲输入前的部分属于刚才讲的第一部分,即红外译码部分,此时EDA试验板上的按键均没有按下,所也B1,B2,B3,B4都把保持高电平。 这部分波形图示仿真红外发射器的按键1按下是的情况。根据红外编码芯片PT2248的编码规则,按键1按下是的编码应该是“100100000”,上面也提到,每个代码0或1的波形包括4个时钟周期:0是1个时钟周期的低电平加3个时钟周期的高电平;1是3个时钟周期的低电平加1个时钟周期的高电平。所以“100100000”的波形应该如下图所示: 当9位编码“100100000”全部接收完后,CPLD的BCD码输出为“0001”,即数码管显示1,如下图:Selet输出,即选择个位数码管显示。二 、EDA板上的按键编码及BCD码输出 EDA板上的按键按下时,红外发射板的信号不能被EDA板接收,故CPLD是对EDA板上的按键信号进行译码的。这部分波形从B2低电平脉冲,即B2按下开始,B1,B2,B3,B4分别是4*4键盘的右数第一,二,三,四列的任何一个按键,随后是B3,B1,B4的低电平脉冲,如下图: 先后输出的BCD码为“0010”,“0011”,“0001”,“0100”,如下图: 即B2按下时数码管显示2,B3按下时数码管显示3,B1按下时数码管显示1,B4按下时数码管显示4,仿真无误。 第六部分 设计体会及心得一、设计过程中遇到的问题及解决方法上面已经提过,本次课程设计的设计分为两个方面:电路板和程序。程序设计遇到的问题的解决方案及解决方法几经在第四部分阐述,这部分主要讨论电路板设计,焊接及调试遇到的问题和解决方法。1、 EDA试验板和数据线电路板这两块板发下来时电路已经设计好,主要出现的问题在焊接上。在焊接前先观察这两块板,看清哪面是元件面,哪面是焊接面,画有元件图案的那面是元件面,焊接是要把元放在这一面上。在焊接过程中最容易犯的错误就是把IC,晶振,三级管,稳压器,红外接收器,排阻,二极管等元件的管脚焊错。IC中管角最多的就是CPLD的IC座了,要是焊错了,这个83个脚的元件拆下来的困难程度将是很难想象的。其实把它含对不难,在IC座内部的IC槽有一个是缺脚的,而实验板元件面上画图案也是有一个缺角的,只要把位置对好,先把IC座的两个对角的管脚焊好,再焊其他脚就可以顺利焊好它了。其他IC都有一个缺口,只要把缺口和板上画的缺口对齐,同样把对角的两个管脚焊好再焊其他脚,就行了,IC上有一个管脚的旁边有一个圆形的凹陷,板上和这个角对应的焊盘是方行的,根据这个规则也可以可方便的把IC焊好。焊晶振,三级管,稳压器,红外接收器时,只要把元件和板上画的图案对齐,就可以焊好。比如:晶振的四个角只有一个角是直角,其他三个角都是圆角,板上画的图案也是这样,只要把直角对齐,就可以焊好了。普通二极管有一头印有一个黑色的环,试验板上普通二级管的图案也是有一头是有黑色(或白色)的,对其再焊就可以把二极管的正负极焊对。发光二级管的两个管脚是一长一短的,长的那根是正极,试验板已经把发光二极管的正负极标上去,真样也很容易就把放光二极管焊好。在焊接过程中遇到的另一个问题就是焊电阻等比较矮的元件时,焊好后发现元件没有紧贴在板上,这是就要把焊锡熔调,调整元件的位置,有时候在熔焊锡时,会把焊盘弄调,这时可以在元件面上焊,应为试验板元件面和焊接面都有焊盘的。另外,焊接元件时一定要记住先焊矮的元件,再焊高的,这样就方便把元件紧贴在板上。焊接结束后,把测数码管的程序下载到CPLD里,发现有一个数码管的亮得不正常,程序写的是8为数码管从右向左依次显示09,发现左数第四位的二级管是在其他管亮过一编后再闪一下,怀疑是于这为数码管连接的三极管坏了,根据电路图,找到和这为数码管相连的三级管是Q6,把这个三极管换掉后,数码管就正常显示了。2发射板部分 发射板是采用面包板,根据PT2248和少量外围元件组成的红外遥控发射电路设计成的,焊接部分遇到的问题和EDA板焊接遇到的问题类似,只不过,发射板的电路显得比较拥挤,焊盘挨得比较紧,很容易造成短路,焊接时要十分小心,发现两个焊盘有可能短路时马上用万用表的欧姆档检测。 发射板焊接电路最复杂的就是3*6键盘矩阵的焊接电路。考虑到按键的四个管角中,在同一测的两个角是不导通的,而不再同一侧的相对的两队管脚是内部导通的,当按键按下时,四个管角全部连通,开关就相当于一个节点,把18个按键竖着排列在板上,同一侧的管角处于上下位置,把每个同侧管角的右边那个和它正上方(或下方)的按键的管脚焊在一起,这样6根竖线就形成了。在三行按键之间和最下面那行按键的下方固定一条导线,把三行按键下方同测管脚的左边那个通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间像小马车教学课件
- 语言应用在高中英语阅读教学中的实践教案
- 《新编商务应用文写作》 教案大纲
- 时尚布料知识培训课件
- 新闻报道数据整 理分析图文排版提升技巧
- 幼儿园教育服务与安全保障协议
- 《新编商务应用文写作》第六章 习题参考答案
- 家庭农场生产技术培训合作协议
- 纪念129爱国运动教学课件
- 早发性卵巢功能不全课件
- 2025-2026学年统编版(2024)初中历史八年级上册教学计划及进度表
- 入职岗前培训之工会知识课件
- 媒介融合传播概论课件
- GB/T 3920-2024纺织品色牢度试验耐摩擦色牢度
- 23G409先张法预应力混凝土管桩
- 上海交通大学学生生存手册
- 雨棚钢结构施工方案
- Hard coating 简析解析(课堂PPT)
- 上海开发区汇总
- 如何说孩子才会听,怎么听孩子才肯说(课堂PPT)
- 电动汽车充电站建设项目可行性研究报告
评论
0/150
提交评论