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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(远程数据采集系统设计2课案.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

远程数据采集系统设计2课案.docx

1、远程数据采集系统设计2课案中国矿业大学徐海学院专业技能考核培训设计报告姓 名: 李飞银 学 号: 22133004 专 业: 电子科学与技术 设计题目: 基于PC、MCU和FPGA的远程数据采集系统设计专 题: 指导教师: 2009 年12 月 专业技能考核培训设计任务书专业年级 电子科学与技术13级 学号 22133004 学生姓名 李飞银 任务下达日期:2016 年 06 月 ? 日设计日期: 2009 年 11 月 ? 日至 2009 年 12 月 20 日设计题目:基于PC、MCU和FPGA的远程数据采集系统设计设计专题题目:设计主要内容和要求:利用上位计算机、单片机、可编程逻辑器件和

2、ADC器件构成一个远程数据采集系统,系统具备远程/就地两种控制模式,具有8通道循环采集和指定通道采集两种数据采集方式。具体要求如下:1、 FPGA硬件电路和AHDL控制软件设计电路具备控制ADC0809的采集功能,具备6位数码管动态扫描功能,具备8位按键输入功能,具备和单片机信号交换功能。2、 单片机硬件电路和监控软件设计 电路具备和FPGA交换信息,以及和上位机算计进行RS232的通讯功能,能将上位机发出的控制指令下达到FPGA中,并将采集的数据传送到上位计算机中。单片机程序要求用C51编制。3、 上位机算计软件设计利用VB或VC程序编制上位计算机控制程序,实现远程数据采集功能并实时显示采集

3、的数据和通道号。指导教师签字:宗伟林 翟晓东 指导教师签字: 摘 要这次的课程设计是基于EP1K30TC144-3的FPGA和89S52单片机的一种电压测量的功能系统。基本内容包括单片机最小系统、键盘和LED显示电路。系统硬件电路由标准电路和自制电路两部分组成。标准电路包括单片机最小系统、6个LED数码管电路和键盘电路以及FPGA系统。系统软件根据设计任务编制并实现功能:利用上位机远程控制系统进行数据采集功能并实时显示采集的数据和通道号。关键字:89S52、FPGA、 AHDL、上位机、 数据采集、串口通信第一章概述1.1 课题数据采集系统的设计是单片机系统实际的必修课题,他完完全全地体现了微

4、控制器在实际应用中独特功能:通过微控制器,可以将许多产品实现数字化、自动化、有效地进行相关的辅助操作,并实现远程控制。之前的设计内容主要是以AT89C52芯片为核心,设计简单的数据采集系统,用以完成基本的数据采集功能。而本次设计将实现远程控制的数据采集系统,使系统功能更进一步地优化。1.2设计流程说明在对远程数据采集装置进行设计时,其设计分为硬件设计与软件设计两部分,具体的设计流程如图:硬件制作元器件选择设计计算比较所选方案系统调试编制流程1.3设计思路1.3.1设计方案要设计一个远程数据采集系统,可以利用上位计算机、单片机、可编程逻辑器件和ADC器件构成,使系统具备远程/就地两种控制模式,具

5、有8通道循环采集和指定通道采集两种数据采集方式。主要电路模式有FPGA硬件电路、单片机硬件电路、A/D转换电路、译码显示电路以及设计系统涉及的其他电路。 设计中采用了模数转换器,利用AD0809型8位MOS型A/D转换器,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,实现模拟信号到数字信号的转换。控制部分采用单片机89C52来完成。显示部分利用LED数码管显示模块,来显示采集到的数据。FPGA硬件电路具备控制AD0809的采集功能,具备6位数码管动态扫描功能,具备8位按键输入功能,具备和单片机信号交换功能。单片机硬件电路具备和FPGA交换信息,以及和上

6、位机算计进行RS232的通讯功能,能将上位机发出的控制指令下达到FPGA中,并将采集的数据传送到上位计算机中。上位机利用VB或VC程序编制上位机计算机控制程序,实现远程数据采集功能并实现显示采集的数据和通道口。1.3.2方案的选择(1)单片机控制方案的选用方案一:采用8031为核心,由于其内部没有存储器,所以利用2764扩展8KB的外部存储器,用8031的两组I/O接口作为存储器接口。方案二:采用AT89C52位核心,对AD转换的数据进行采集并显示。其内置8K字节点擦除可编程EEPROM片内程序存储器和256字节RAM,无需外部扩展。所以选用方案二,采用AT89C52作为核心,其片内程序存储器

7、空间足够满足本系统程序存储的需要,可以省去对片外EPROM程序存储器和地址锁存器,使电路结构简捷。(2)EPGA控制方案的选用方案一:采用EEP1K30QC-208-3为核心,具备6位数码管动态扫描功能,具备8位按键输入功能,具备和单片机信号交换功能等。方案二:采用EEP1K30TC144-3为核心,同样具备6位数码管扫描、8位按键输入和单片机信号交换等功能,且管脚数较少,适于本次设计使用。所以选用方案二,采用EEP1K30TC144-3作为核心。其功能已经满足设计需要,且应用简单,管教分配方便,使电路结构简捷。第二章 硬件电路设计2.1 电路模块2.1.1FPGA硬件电路本模块的核心是EEP

8、1K30TC-144-3芯片,主要用于连结其他各电路模块,并与单片机进行信号交换。芯片采用贴片焊接工艺,将芯片各个管脚焊接与印刷版表层。由于各个管教之间的间距因其数量和集成度而易造成管脚间短路,故贴片焊接精度要求很高。FPGA框图如下。 2.1.2 单片机硬件电路 单片机选用的是ATMEL公司推出的AT89S52,如图3.2.1.1所示。该芯片具有低功耗、高性能的特点,是采用CMOS工艺的8位单片机,与AT89C51完全兼容。AT89S52还有以下主要特点:1 采用了ATMEL公司的高密度、非易失性存储器技术;2 其芯片内具有256字节RAM,8KB的可在线编程(ISP)FLASH存储器;3

9、有两种低功耗节电工作方式:空闲模式和掉电模式;4 片内有一个看门狗定时器(WDT),WDT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST),只要对WDTRST按顺序先写入01EH,后写入0E1H,WDT便启动,当CPU由于扰动而是程序陷入死循环后“跑飞”状态时,WDT即可有效的使系统复位,提高了系统的抗干扰能力。2.1.3 A/D转换电路核心为ADC0809芯片,用于将采集到的模拟信号转换为数字信号,并通过输出口输出至LED数码管显示出来。(1) 原理图(2) ADC0809芯片介绍输 入: 8路(0V5V)线性误差:1LSB数字输出:TTL电平,三态输出电 源:5V15V时钟频率

10、:640KHz(典型)转换时间:100s分辨率:8位功 耗:15mW输入电压范围:0VVREF 转换方式:逐次逼近CMOS工艺,28Pin输出: (3) ADC0809通道地址选择表(4) ADC0809结构(5) ADC0809转换时序图2.2系统结构原理计算机通过RS232接口下载程序到CPLD电路板及单片机内,控制电路采集数据并通过ADC0809芯片将模拟信号转换为数字信号并由数码管显示出来。其中,单片机的作用为执行指令进行数据采集,CPLD则控制A/D转换,译码显示等模块,并与单片机进行信号交换。第三章软件设计3.1程序框图3.1.1主程序框图 3.1.2就地操作JDCZ程序框图3.1

11、.3数据采集SJCJ程序框图3.1.4结果转换JGZH子程序框图3.1.5定时中断程序框图3.1.6通讯中断程序框图3.2 程序代码3.1.1单片机程序#include unsigned int m,CH; /*主程序*/void main (void) TMOD= 0x01; TH0 = 0x03C; TL0 = 0x0B0; SCON = 0x50; /* SCON: 模式 1, 8-bit UART, 使能接收 */ TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */ TH1 = 0xFD; /* TH1: reload val

12、ue for 9600 baud 11.0592MHz */ TR1 = 1; /* TR1: timer 1 run */ EA = 1; /*打开总中断*/ ES = 1; /*打开串口中断*/ ET0=1;while (1) /*主循环不做任何动作*/ / SBUF=P0;/ while(TI=0);/ TI=0; void UART_SER (void) interrupt 4 /串行中断服务程序 unsigned char Temp; /定义临时变量 if(RI) /判断是接收中断产生 RI=0; /标志位清零 Temp=SBUF; if(Temp=0x08) TR0=1; P2=0

13、x08; else /读入缓冲区的值 P2=Temp; TR0=0; /把值输出到P1口,用于观察 if(TI) /如果是发送标志位,清零 TI=0; void Timer0_isr(void) interrupt 1 m+; if(m=40) m=0; TH0 = 0x03C; TL0 = 0x0B0; CH+; P2=CH; if(CH0x07) CH=0x00; else TH0 = 0x03C; TL0 = 0x0B0; 3.1.2 FPGA程序数据采集代码Subdesign ady(inclk,eoc,ds7.0,addin3.0:input; add3.0,otclk, st,dp

14、7.0,oe:output;)Variablefpq4.0,fp:dff;sm1.0,dp7.0,st:dff;Beginoe=vcc;(fpq,fp).clk=inclk;If fpq=19 then fpq=0;fp=!fp;Else fpq=fpq+1;fp=fp;End if;(sm,st,dp).clk=fp;otclk=fp;add3.0=addin3.0;Case sm isWhen 0 = st=gnd;dp=ds; sm=1;When 1 = st=gnd; dp=dp; if eoc then sm=2; else sm=1; end if;When 2= st=vcc;

15、sm=0; dp=ds; End case;End; 十六进制转换十进制代码Subdesign bcdx( ibd15.0,inclk :input; bcd43.0,bcd33.0,bcd23.0,bcd13.0,bcd03.0:output;)Variableb13.0,b23.0,b33.0,b43.0 ,b03.0 :dff;get15.0,st, fpq8.0,fp :dff; b0r3.0 ,b1r3.0,b2r3.0,b3r3.0,b4r3.0:dff;Begin(fpq,fp).clk=inclk; If fpq=249 then fp=!fp;fpq=0; Else fp=f

16、p;fpq=fpq+1; End if;st.clk=fp;(b1,b2,b3,b4,b0,get).clk=inclk;(b1r,b2r,b3r,b4r,b0r).clk=inclk;Case st isWhen gnd = get=ibd;st=vcc; b1r=b1r;b2r=b2r;b3r=b3r;b4r=b4r;b0r=b0r;When vcc = If get=0 then b1r=b1;b2r=b2;b3r=b3;b4r=b4;b0r=b0; b1=b1;b2=b2;b3=b3; b4=b4; b0=b0; st=gnd; Else b1r=b1r;b2r=b2r;b3r=b3r

17、;b4r=b4r;b0r=b0r; get=get-1; st=vcc; If b0=9 then b0=0; If b1=9 then b1=0; If b2=9 then b2=0; If b3=9 then b3=0; If b4=9 then b4=0; Else b4=b4+1; End if; Else b3=b3+1;b4=b4; End if; Else b2=b2+1;b3=b3;b4=b4; End if; Else b1=b1+1;b2=b2;b3=b3;b4=b4; End if; Else b0=b0+1;b1=b1;b2=b2;b3=b3; b4=b4; End i

18、f;End if;End case;bcd4=b4r;bcd3=b3r;bcd2=b2r;bcd1=b1r;bcd0=b0r;end;数码管显示代码subdesign countx(inclk ,bcd43.0 ,bcd33.0 ,bcd23.0 ,bcd13.0 ,bcd03.0,bcd53.0:input;outa7.0,bitout5.0:output;)variablea3.0,b3.0,c3.0,d3.0,e3.0,f3.0:dff;mda15.0,mdb9.0:dff;mseg3.0,bitout5.0:dff;st5.0:dff;fpa,fpb:dff;begina=bcd3;b

19、=bcd2;c=bcd1;d=bcd0;e=bcd4;f=bcd5;fpa.clk=inclk;fpb.clk=fpa;mseg.clk=fpa;(a,b,c,d,e,f).clk=fpb; mdb.clk=fpa; -fpa 1000Hz频率st.clk=fpa;mda.clk=inclk;bitout.clk=fpa; -fpb 1Hz,inclk 40Mhz if mda=9999 then -40M Hz分频,得1000Hz mda=0;fpa=!fpa; else mda=mda+1;fpa=fpa; end if; if mdb=499 then -1000Hz分频,得1Hz md

20、b=0;fpb=!fpb; else mdb=mdb+1;fpb=fpb; end if; case st is when 0= mseg=d; bitout=1; st=1; when 1= mseg=c; bitout=2; st=2; when 2= mseg=b; bitout=4; st=3; when 3= mseg=a; bitout=8; st=4; when 4= mseg=e; bitout=16; st=5; outa7=vcc; when 5= mseg=f; bitout=32; st=0; end case; Table mseg3.0=outa7.0; h0 =h

21、3f; - 0111111 h1 =h06; h2 =h5b; h3 =h4f; h4 =h66; h5 =h6d; h6 =h7d; h7 =h07; h8 =h7f; h9 =h6f; end table; end; 第四章 系统调试系统调试分为硬件调试和软件调试两部分。4.1 硬件部分FPGA芯片采用的是贴片方形塑料封装,144个管脚,排列密集,焊接难度大,尤其是拐角的焊接。在检测AD转换的功能上时,显示器没有显示,首先将小板安装在好的同学的板上测试,发现能够正常工作,那么问题就是在大板上,后来发现在电位器的一组排针上发生焊接问题,同时检查出了图和板子的不相符需要将板子上的电路线断开。4

22、.2 软件部分软件部分的编写从FPGA开始,首先实现对ADC0809的控制及数据传输,再在此基础上实现乘法器和16进制向BCD码转换,最后实现数码管的动态扫描输出以及和单片机的并行口通行。16进制向BCD码转换的思路是,使十六进制数减一次1,则十进制数就加一个1,等十六进制数减为0,则转换结束。在软件编程的过程中,存在很多的问题,这里通过老师的指导和同学之间的交流才设计好了软件程序。第五章总结此次实验设计过程中学到了很多,在硬件焊接上已经提高了很多,在焊接小单片机的时候面对144拐角,是非常容易出错的,在自己的努力下,还有老师的指导上焊接上掌握了更多的技巧,同时焊接过程更加的小心,如果损坏了连

23、接地的拐角,那么这个单片机就坏了。在设计编程上面,重新看了AHDL语言,使用软件进行编程和进行调试直到达到了课程设计的目的。再与硬件想结合进行链接。此次的课程设计在自己不熟悉的情况下还是向老师和同学请教的,其中有的内容还是有很多不太掌握,以后任需要不断的学习,以及对已学知识的巩固,希望在以后这样的课程设计上可以更加熟练的运用起来。参考文献1孙育才,MCS-51系列单片微型计算机及其应用,东南大学出版社2曹巧媛,单片机原理及应用教学、实践、设计指导, 电子工业出版社3谢自美,电子线路设计实验测试(2版),华中科技大学出版社 4胡汉才,单片机原理及其接口技术(2版),清华大学出版社 5张迎新,单片

24、机中级教程,北京航空航天大学出版社6丁元杰,单片机原理与应用,机械工业出版社 7单片机实验指导书附录一:元器件清单名称型号规格数量电容16V/470uF电解电容216V/2200uF116V/22uF60.1uF独石电容720pF 磁片电容41/4W 电阻20085021K62K210K24.7K1单片机AT89S521芯片座DIP-402DIP-201DIP-281DIP-321DIP-143DIP-161芯片74HC043MAX2321发光二极管红色9数码管LG5011AH6薄码开关8P1牛角座无锁(10P)1按键6*6*6mm6卧式串口2有源晶振40M1晶振22.1184M2二极管1N4

25、007778051阻排4.7K9P11K147011031稳压电源3.5 空心座1双排针40P4双排座40P4电位器1031附录二:CPLD管脚分配CPLD型号:EEP1K30 TC-144-31、时钟源 40MHz:P183 22.1184MHz:P802、输入开关及输出LED指示灯 开关 KP1 KP2 KP3 KP4 KP5 KP6 KP7 KP8 指示灯 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8 管脚 P94 P95 P96 P97 P99 P100 P101 P1023、RS232接口 TXD(PC)接到RXD(CPLD)的P182 RXD(PC

26、)接到TXD(CPLD)的P934、数码管显示 SEG1SEG6共 6个共阴数码管,采用动态扫描显示方式,公共端G经反向后与CPLD的对应管脚相连 。字位码:SEG1 SEG2 SEG3 SEG4 SEG5 SEG6管脚: P121,P122,P128,P130,P131,P132字型码:a, b, c, d, e, f, g, p管脚: P133,P135,P136,P137,P138,P140,P141,P1425、单片机扩展槽及外扩槽 在主板上留有一个模拟单片机扩展槽,用于CPLD模拟单片机之用,其与CPLD的接口分别为,P0.0P0.7(3932)对应与 P44,P45,P46,P47,P53,P54,P55,P56;P1.0P1.7(18) 引到外接口;P2.0P2.7(2128) 对应P75,P74,P73,P71,P70,P69,P64, P65;P3.0P3.7(1017) 对应P83,P85,P86,P87,P88,P89,P90,P92;PSEN脚对应P194;ALE脚对应P79;6、扩展接口 P62,P

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2