ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:773.77KB ,
资源ID:22404933      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22404933.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于51单片机和CPLD技术数字频率计的设计Word文档格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于51单片机和CPLD技术数字频率计的设计Word文档格式.docx

1、因et1,故fxe/fxe1/Ns Ns=Tpr*fs根据以上分析,我们可知等精度测频法具有三个特点:1,相对测量误差与被测频率的高低无关;2,增大Tpr或fs可以增大Ns,减少测量误差,提高测量精度;3,测量精度与预置门宽度和标准频率有关,与被测信号的频率无关,在预置门和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变;经过综合考虑,结合设计需求,选用第种方案,即用等精度测频法来实现本设计频率测量。3 系统总体设计方案3.1 系统整体结构电路系统原理框图如图3.1所示,其中单片机完成整个测量电路的测试控制、数据处理和显示输出;CPLD完成各种测试功能;键盘控制命令通

2、过一片74LSl65并入串出移位寄存器读入单片机,实现测频、测脉宽及测占空比等功能,单片机从CPLD读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由8个芯片74LSl64分别驱动数码管。系统总体设计本系统的硬件电路包括键盘控制模块、显示模块、输入信号整形模块以及单片机主控和CPLD模块。键控制模块设置5个功能键和3个时间选择键,键值读入采用一片74LSl65来完成,显示模块用8只74LSl64完成LED的串行显示。系统由一片CPLD完成各种测试功能,对标准频率和被测信号进行计数。单片机对整个测试系统进行控制,包括对键盘信号的读入与处理;对CPLD测量过程的控

3、制、测量结果数据的处理;最后将测量结果送LED显示输出。被测信号整形电路主要对被测信号进行限幅、放大、再经施密特触发器整形后送入CPLD。用50MHz的有源晶振作为CPLD的测试标准频率,单片机由外接12MHz标准晶振提供时钟电路。图3.1 系统原理框图3.2 显示电路 系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入8位并出的74LS164芯片组成。 图3.2显示电路图这种显示方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程

4、中,也体现出较高的可靠性。数据显示电路如图4.4所示。74LS164是一种8位高速串入/并出的移位寄存器,随着时钟信号的高低变化,串行数据通过一个2输入与门同步的送入,使用独立于时钟的主控复位端让寄存器的输出端变为低电平,并且采用肖特基钳位电路以达到高速运行的目的。并且还具有以下的特点:典型的35MHZ移位频率;异步主控复位;门控串行输入;同步数据传输;采用钳位二极管限制高速的终端;静电放电值大于3500V。在本系统中,74LS164的连接方式为:74LS164的输出Q0Q7分别接LED数码管的dp、g、f、e、d、c、b、a,并且Q7连接下一个74LS164的A,B端,时钟CLK连接单片机的

5、TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。在这种状态下,数码管的编码如下表所示。 数码管的编码表显示数码段 码0c0h880h10f9h990h20a4hA88h30b0hB83h499hC0c6h592hD0a1h682hE86h70f8hF8eh3. 3电源模块 整个电路的供电电源如图3.3所示,220V交流电经变压、整流、滤波后,由一片7805三端稳压器向系统提供+5V电压信号。本设计采用5V电源电压供电,直流稳压电源一般由电源变压器、整流滤波电路以及稳压电路所组成。电源变压器时将交流电网220V的电压变为所需要得值,然后经过整流电路

6、将交流电压变成脉动的直流电压。由于此脉动的直流电压还含有较大的纹波,必须经过滤波电路加以滤除,从而得到平滑的直流电压。但这样的电压还随时电网波动(一般由10%左右的波动)负载和温度的变化变化。因而再整流、滤波电路之后,还需接稳压电路。稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出直流电压稳定。选用输出电压固定为+5V的三端集成稳压器7805。变压器将电网220V电压变为+9V电压,经二极管桥式整流后,为78V的电压送入7805的输入端,电容C5和C6用来实现频率补偿,防止稳压器7805产生高频自激和抑制电路引入的高频干扰,C4和C7是电解电容,以减少稳压电源输出端由输入电源引入得低

7、频干扰。D8为大电流保护二极管,防止在输入端偶然短路到地时,输出端大电容上存储的电压反极性加到输出、输入端之间而损坏芯片。图中用一个发光二极管来检测电源电路是否通电,同时还可作为电源电路是否出现故障的标志,当LED亮则完好,否则电源电路可能未上电或出现错误,起到一个很好的自动电源检测功能。图3.3 电源电路3.4 信号整形电路 图3.4为输入信号整形电路。放大整形电路由9018和74F14等组成,其中9018组成放大电路将输入为FX得周期信号如正弦波、三角波等进行放大。74F14施密特触发器对放大器得输出信号进行整形,使之称为矩形脉冲。其连线如图所示。待测信号经过时,由D1、D2两个二极管进行

8、限幅,以免电压过大而烧毁,信号经过9018进行放大,由74F14对其进行整形,产生出得波形为标准方波,方便CPLD进行计数。图3.4 被测信号整形电路3.4其它电路单片机的时钟电路由12MHz的晶振提供。CPLD的标准频率信号由50 MHZ的有源晶振提供。自校输入信号取自单片机的12MHZ晶振。被测信号经过放大整形电路调理后输入。4.单片机控制与运算程序的设计4.1.1单片机控制电路 单片机测频控制电路如图4.1所示,由单片机完成整个测量电路的测试控制、数据处理和显示输出,CPLD完成测频功能。(1) 由于CPLD在对频率进行计数时,采用32位二进制计数器,8位数据总线的单片机分四次将32立数

9、据全部读出。利用AT89C51的PO口读计数器COUNT 输出B 7. . 0标准频率信号的值,P2口读计数器COUNT输出B15. .8 被测信号的值。被读出的四组8位数据通过AT89C51的SSO, SSl地址编码选择。由Pl口输出控制。(2) CS:由单片机的P1. 0口控制。CS=0时,等精度测频;CS=1时,测脉宽。(3) CLR:系统全清零功能。 (4) ED2:脉宽计数结束状态信号,ED2=1计数结束。图4.1单片机控制电路(5) AS:自校和测频选择。AS=1测频,AS=0自校。(6) STROBE:为预置门闸,门宽可通过键盘由单片机控制,打开;STROBE=0时,预置门关闭。

10、(7) ED1:测频计数结束状态信号,ED1=0时计数结束。(8) SSO, SSl:计数值读出选通控制。若令SS=SS1, SSO,STROBE=1时,预置门则当SS=0, 1, 2, 3时可从PO口和P2口由低8位至高8位分别读出两组4个8位计数值。(9) FS为标准频率信号输入,此频率来源于50MHZ的有源晶振。(10) FX为被测信号输入,此信一号是经过限幅整形电络后的信号。(11) FC为自校频率,取自单片机的外接晶振。4.1.2 单片机主程序图4.2表示单片机主程序流程图。各种测试功能流程如下:系统初始化后,主程序不断扫描键盘子程序,当开始键按下后,程序转到测频子程序执行测频功能。

11、那么读入开始键之后马上跳转到测频子程序,测频子程序先置测频控制位CLR(P1.0),将CPLD内的计数器清零,然后通过健盘将顶置门的时间值读入单片机,打开预置门进行测频计数,等预置门时间到后,关断预置门,CPLD关断预置门后将给单片机一个结束信号,单片机读到结束信号后,通过置 SS1,SS0的四个状态,分四次将测频结果的32位数据读入单片机,计算后将结果转换为BCD码送LED显示输出。显示子程序通过查表方式,将频率测量值以十进制的形式显示出来。空闲状态程序始终扫描键盘,等待输入,并在LED上显示CPUREADY的字样,执行完某一功能后程序又会回到键盘扫描状态上来。图4.2主程序流程图4.2.1

12、 测频程序流程图测频程序先置测频控制位CLR(P1.6). AS(P1.4),将CPLD内的计数器清零,选择测量被测信号。并将CS (P1. 3)置零,即为选择测频。然后通过键盘将预置门的时间值读入单片机,打开预置门进行测频计数,等预置门时间到后,关断预置门,CPLD关断预置门后将给单片机一个结束信号,单片机读到结束信号后,通过置SS1,SSO的四个编码状态,分四次将测频结果的3位数据读入单片机,计算后将结果转换为BCD码送LED显示输出。图4.1测频程序流程图4.2.2具体程序见附录5.系统调试的方法本系统既含有FPGA自编程硬件设计电路,又含有单片机控制电路,整个系统比较复杂,因此我们采用

13、自底向上的调试方法,也就是先进行各个单元电路的软件仿真和硬件调试,在各个单元电路调试好后再进行系统联调,最后进行硬件的编程固化及系统的组装。5.1 调试的软/硬件 系统设计开发软件:MAX+plus 10.0,伟福6000(WAVE 6000 for windows)。(2) 单片机及FPGA/CPLD调试设备:PIV计算机,伟福E6000L单片机仿真器及POD8X5XP仿真头,GW48-CK EDA实验开发系统及EPF10K20TC144-4FPGA适配板,GWDVPB电子设计开发板单片机最小系统,炜煌WH-500B程序编写加密器,GDS-820S数字存储示波器。5.2系统的硬件验证 单元电

14、路的调试 FPGA/CPLD测频专用电路的调试:使用MAX+plus 10.0,计算机,GW48-CK EDA实验开发系统等软件和设备,对FPGA/CPLD测控电路进行VHDL程序的调试,有关仿真以及编程下载,硬件测试等。统的联合调试 在各个单元电路调试好后即可进行系统联调。统的硬件验证系统联合调试成功后,可将单片机程序通过编程器固化到单片机中并插入EDA实验开发系统中的单片机插座上,将VHDL设计经过综合适配后的网表对CPLD/FPGA进行编程下载,输入相关的信号,并进行有关性能指标的测试,直到满足系统的设计要求为止。5.3系统扩展思路 (1) 设计并制作系统工作的外围电路:系统用方波信号源

15、、直流工作电源。(2) 系统联合调试成功后,可将单片机程序通过编程器固化到单片机中,将VHDL设计经过综合适配后的网表对CPLD/FPGA进行编程下载,将整个系统的外围电路设计制作印刷电路板。 6.技术难点分析本设计因采用单片机与 CPLD结合设计系统,难点在于单片机程序编写和写入,CPLD的自学以及调试软件的学习以及VDHL语言的学习和运用。在调试成功后的外围电路制版焊接也是难点之一。附录附录 单片机控制程序清单*主程序*ORG OOOOHKEYIN: ACALL LOAD ;装入CPUREADY ACALL DISP ;调显示子程序START: STEB P3.5 ;开键盘控制CLR P3

16、.2 ;并行置入键值 STEB P3.2 ;允许串行移位 MOV SCON, #00010000B ;设置串行口模式0,启动接收WAIT1: JNB RI ,WAIT1 ;等待接受一帧数据的结束 CLR RI MOV A, SBUF ;取键值 ANL A,#01H ;屏蔽高三位 MOV R3,A ;暂存键值 ACALL D_10MS ;延时,去抖 CLR P3.2 STEB P3.2 MOV SCON,#00010000HWAIT2: JNB RI,WAIT2 MOV A,SBUF ANL A,#01H MOV 20H,A MOV A R3 CJNE A,20H,KEYIN ;判断键值是否由抖

17、动引起的 CJNE A,FEH,KEYIN ;判断开始键是否按下 CLR P3.5 ;关键盘控制 ACALL KEY ;调测频子程序 JMP KEYIN*测频子程序*KEY: LCALL CLEAR ;调LED熄灭子程序 LCALL TIME ;调预置时间值 MOV R0,20H ;读入预置门时间值 STEB P1.0 ;计数器清零 CLR P1.0 STEB P1.1 ;开始计数DELY: ACALL D_100MS DJNZ R0,DELY CLR P1.1 EEND: MOV C,P1.2 ;读计数结束标志位 JC EEND MOV A,#11100111B ;置SS=0,读数 ANL

18、P1,A NOP MOV A,P0 ;将NS的值存入70-73H MOV 70H,A MOV A,P2 MOV 71H,P2 STEB P1.3 ;置SS=1 MOV A,P0 MOV 72H,A MOV 73H,A STEB P1.4 ;将NX的值存入74-77H CLR P1.3 MOV 74H,A MOV 75H,A STEB P1.3 MOV 76H,A MOV 77H,A MOV R0,#00H ;40HZ标准频率转换为16进制为2625A00H MOV R1,#O5AH MOV R2,#O62H MOV R3,#02H MOV R4,74H MOV R5,75H MOV R6,76

19、H MOV R7,77H ACALL MUL_SUB ;调四字节乘法子程序FS*NX ACALL NDIV ;调除法子程序FX=(FS*NX)/NS ACALL BIN_BCD ;调二进制转换BCD码子程序 ACALL EXTD ;调字节展开子程序 RET*显示子程序*DISP: SETB P3.4 ;开显示控制 MOV R7,#08H ;设置显示个数 MOV R0,#30H ;置显示缓冲区指针 MOV SCON,#00H ;设串行口方式SEND: MOV A RO ADD A,#0DH ;设置偏移值 MOVC A,A+PC MOV SBUF,A ;启动发送WAIT: JNB TI,WAIT

20、;判断1帧数据是否发送完毕 CLR TI INC RO DJNZ R7,SEND ;判断数据是否发送完毕 CLR P3.4 ;关显示控制TAB: DB 0C0H,0F9H,0A4H,0B0H,99H, ;0,1,2,3,4 DB 92H,82H,0F8H,80H,98H, ;5,6,7,8,9 DB 88H,83H,0C6H,0A1H,86H,8EH, ;A,B,C,D,E,F DB 7FH,0FFH,0C6,8CH,0C1H, ;.,暗,C,P,U DB 0CEH,86H,88H,0A1H,91H ;R,E,A,D,Y DB 86H,0C8H,0F8H,86H,0CEH,;E,N,T,E,R

21、 DB 0BFH,92H,0F0H, ;-,S,J*提示字装入子程序*LOAD: MOV R7,#08H MOV R0,#30H MOV A,#13H ;CPUREADYLD: MOV R0,A INC R0 INC A DJNZ R7,LD RET LED熄灭子程序CLEAR: MOV A,#12H ;显示熄灭ABCL: DJNZ R7,ABCL*时间值输入子程序*TIME: MOV A,#19H ;显示ENTER-SJLP: DJNZ R7,LP LCALL DISPBEGIN:STEB P3.5 ; MOV SCON,#00010000BWTI: JNB RI,WTI ;判断是否接收完毕

22、 MOV A,#0EH ;屏蔽开始键 MOV R3,A LCALL D_10MS ;延时,消抖STEB P3.2MOV SCON,#00010000BWT2: JNB RI,WT2 ANL A,#0EH MOV 22H,A MOV A,R3 CJNE A,22H,BEGIN CJNE A,#FDH,S_10 MOV 20H,#01H ;预置门时间0.1SS_10 :CJNE A,#FBH,S_20 MOV 20H,#0AH ; 预置门时间1S CLR P3.5S_20: CJNE A,#F7H,BEGIN MOV 20H,#64H ; 预置门时间10S*延时10MS子程序*D_10MS: MO

23、V R7,#14HLOOP1: MOV R6,#0F9HLOOP2: DJNZ R6,LOOP2 DJNZ R7,LOOP1*延时100MS子程序*D_100MS: MOV R7,#0C8HDL1:DL2: DJNZ R6,DL1 DJNZ R7,DL2*字节展开子程序*EXTD: MOV R1,#30H MOV R7,#04HAGAN: MOV A,R0 ANL A,#00001111B MOV R1,A INC R1 ANL A,#11110000B DJNZ R7,AGAN*4字节乘法子程序FS*NX*MUL_SUB:MOV A,M ADD A,R0 MOV R5,A XCH A,R1 A,R5 A,N R6,A B,M NCNT,BNMLMN1: DEC R0 R1 CLR A A,R1 MO

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1