最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

远程数据采集系统设计 (2)

来源:动视网 责编:小OO 时间:2025-09-30 09:01:45
文档

远程数据采集系统设计 (2)

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

专业技能考核培训设计报告

姓    名:    李飞银   学  号: ********                 

专    业:    电子科学与技术                                       

设计题目:    基于PC、MCU和FPGA的远程数据采集系统设计

专    题:                                            

指导教师:                                                            

  

2009 年12 月 

        专业技能考核培训设计任务书

专业年级 电子科学与技术13级  学号     ********            

学生姓名   李飞银             

任务下达日期:2016 年  06  月    日

设计日期: 2009 年 11 月 ?? 日至 2009 年 12 月 20 日

设计题目:基于PC、MCU和FPGA的远程数据采集系统设计

设计专题题目:

设计主要内容和要求:

利用上位计算机、单片机、可编程逻辑器件和ADC器件构成一个远程数据采集系统,系统具备远程/就地两种控制模式,具有8通道循环采集和指定通道采集两种数据采集方式。具体要求如下:

1、FPGA硬件电路和AHDL控制软件设计

电路具备控制ADC0809的采集功能,具备6位数码管动态扫描功能,具备8位按键输入功能,具备和单片机信号交换功能。

2、单片机硬件电路和监控软件设计

 电路具备和FPGA交换信息,以及和上位机算计进行RS232的通讯功能,能将上位机发出的控制指令下达到FPGA中,并将采集的数据传送到上位计算机中。

单片机程序要求用C51编制。

3、上位机算计软件设计

利用VB或VC程序编制上位计算机控制程序,实现远程数据采集功能并实时显示采集的数据和通道号。

指导教师签字:宗伟林   翟晓东

                           指导教师签字:   

摘  要

这次的课程设计是基于EP1K30TC144-3的FPGA和S52单片机的一种电压测量的功能系统。基本内容包括单片机最小系统、键盘和LED显示电路。

系统硬件电路由标准电路和自制电路两部分组成。标准电路包括单片机最小系统、6个LED数码管电路和键盘电路以及FPGA系统。

系统软件根据设计任务编制并实现功能:利用上位机远程控制系统进行数据采集功能并实时显示采集的数据和通道号。

关键字:

S52、FPGA、 AHDL、上位机、 数据采集、串口通信

第一章概述

1.1 课题

数据采集系统的设计是单片机系统实际的必修课题,他完完全全地体现了微控制器在实际应用中独特功能:通过微控制器,可以将许多产品实现数字化、自动化、有效地进行相关的辅助操作,并实现远程控制。

之前的设计内容主要是以ATC52芯片为核心,设计简单的数据采集系统,用以完成基本的数据采集功能。而本次设计将实现远程控制的数据采集系统,使系统功能更进一步地优化。

1.2设计流程说明

在对远程数据采集装置进行设计时,其设计分为硬件设计与软件设计两部分,具体的设计流程如图:

硬件制作

元器件选择

设计计算

比较所选方案

系统调试

编制流程

1.3设计思路

1.3.1设计方案

要设计一个远程数据采集系统,可以利用上位计算机、单片机、可编程逻辑器件和ADC器件构成,使系统具备远程/就地两种控制模式,具有8通道循环采集和指定通道采集两种数据采集方式。主要电路模式有FPGA硬件电路、单片机硬件电路、A/D转换电路、译码显示电路以及设计系统涉及的其他电路。

 设计中采用了模数转换器,利用AD0809型8位MOS型A/D转换器,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,实现模拟信号到数字信号的转换。控制部分采用单片机C52来完成。显示部分利用LED数码管显示模块,来显示采集到的数据。

FPGA硬件电路具备控制AD0809的采集功能,具备6位数码管动态扫描功能,具备8位按键输入功能,具备和单片机信号交换功能。

单片机硬件电路具备和FPGA交换信息,以及和上位机算计进行RS232的通讯功能,能将上位机发出的控制指令下达到FPGA中,并将采集的数据传送到上位计算机中。

上位机利用VB或VC程序编制上位机计算机控制程序,实现远程数据采集功能并实现显示采集的数据和通道口。

1.3.2方案的选择

(1)单片机控制方案的选用

方案一:采用8031为核心,由于其内部没有存储器,所以利用27扩展8KB的外部存储器,用8031的两组I/O接口作为存储器接口。

方案二:采用ATC52位核心,对AD转换的数据进行采集并显示。其内置8K字节点擦除可编程EEPROM片内程序存储器和256字节RAM,无需外部扩展。

所以选用方案二,采用ATC52作为核心,其片内程序存储器空间足够满足本系统程序存储的需要,可以省去对片外EPROM程序存储器和地址锁存器,使电路结构简捷。

(2)EPGA控制方案的选用

方案一:采用EEP1K30QC-208-3为核心,具备6位数码管动态扫描功能,具备8位按键输入功能,具备和单片机信号交换功能等。

方案二:采用EEP1K30TC144-3为核心,同样具备6位数码管扫描、8位按键输入和单片机信号交换等功能,且管脚数较少,适于本次设计使用。

所以选用方案二,采用EEP1K30TC144-3作为核心。其功能已经满足设计需要,且应用简单,管教分配方便,使电路结构简捷。

第二章 硬件电路设计

2.1电路模块

2.1.1FPGA硬件电路

本模块的核心是EEP1K30TC-144-3芯片,主要用于连结其他各电路模块,并与单片机进行信号交换。

芯片采用贴片焊接工艺,将芯片各个管脚焊接与印刷版表层。由于各个管教之间的间距因其数量和集成度而易造成管脚间短路,故贴片焊接精度要求很高。FPGA框图如下。

                         

2.1.2 单片机硬件电路

    单片机选用的是ATMEL公司推出的ATS52,如图3.2.1.1所示。该芯片具有低功耗、高性能的特点,是采用CMOS工艺的8位单片机,与ATC51完全兼容。ATS52还有以下主要特点:

1采用了ATMEL公司的高密度、非易失性存储器技术;

2其芯片内具有256字节RAM,8KB的可在线编程(ISP)FLASH存储器;

3有两种低功耗节电工作方式:空闲模式和掉电模式;

4片内有一个看门狗定时器(WDT),WDT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST),只要对WDTRST按顺序先写入01EH,后写入0E1H,WDT便启动,当CPU由于扰动而是程序陷入死循环后“跑飞”状态时,WDT即可有效的使系统复位,提高了系统的抗干扰能力。

2.1.3 A/D转换电路

核心为ADC0809芯片,用于将采集到的模拟信号转换为数字信号,并通过输出口输出至LED数码管显示出来。

(1)原理图

(2)ADC0809芯片介绍

输    入: 8路(0V~5V)

线性误差: 1LSB

数字输出:TTL电平,三态输出

电  源:+5V~15V

时钟频率:0KHz(典型)

转换时间:100μs

分辨率:8位

功  耗:15mW

输入电压范围:0V~VREF 

转换方式:逐次逼近

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.3数据采集SJCJ程序框图

3.1.4结果转换JGZH子程序框图

3.1.5定时中断程序框图

3.1.6通讯中断程序框图

3.2 程序代码

3.1.1单片机程序

unsigned int m,CH;                                  

/*主程序*/

void main (void)

{

            

   模式 1, 8-bit UART, 使能接收         */

    TMOD |= 0x20;         /* TMOD: timer 1, mode 2, 8-bit reload        */

    TH1   = 0xFD;   /* TH1:  reload value for 9600 baud @ 11.0592MHz   */

    TR1   = 1;          /* TR1:  timer 1 run                          */

    EA    = 1;                  /*打开总中断*/

    ES    = 1;                  /*打开串口中断*/

w主循环不做任何动作*/

//    SBUF=P0;

//     while(TI==0);

//     TI=0;

}

void UART_SER (void) interrupt 4 //串行中断服务程序

{

    unsigned char Temp;          //定义临时变量 

   if(RI)                        //判断是接收中断产生

 标志位清零

 读入缓冲区的值

 把值输出到P1口,用于观察                

       

   if(TI)                        //如果是发送标志位,清零

void Timer0_isr(void) interrupt 1 

{

      

      if(m>=40)

       {

       m=0;

       TH0 = 0x03C;

          TL0 = 0x0B0;

       CH++;

         P2=CH;

       if(CH>0x07)

       {

              

         }

     

      

       TH0 = 0x03C;

       TL0 = 0x0B0;

            

}

 

3.1.2FPGA程序

数据采集代码

Subdesign ady

(inclk,eoc,ds[7..0],addin[3..0]:input;

 add[3..0],otclk, st,dp[7..0],oe:output;

)

Variable

fpq[4..0],fp:dff;

sm[1..0],dp[7..0],st:dff;

Begin

oe=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;

add[3..0]=addin[3..0];

Case sm[] is

When 0 =>

 st=gnd;dp[]=ds[];

 sm[]=1;

When 1 =>

 st=gnd;  dp[]=dp[];

  if eoc then

  else

  end if;

When 2=>

 st=vcc; sm[]=0; dp[]=ds[]; 

End case;

十六进制转换十进制代码

Subdesign bcdx

( ibd[15..0],inclk  :input;

  bcd4[3..0],bcd3[3..0],bcd2[3..0],bcd1[3..0],bcd0[3..0]:output;

)

Variable

b1[3..0],b2[3..0],b3[3..0],b4[3..0] ,b0[3..0] :dff;

get[15..0],st, fpq[8..0],fp :dff;

 b0r[3..0] ,b1r[3..0],b2r[3..0],b3r[3..0],b4r[3..0]:dff;

Begin

(fpq[],fp).clk=inclk;

 If fpq[]==249 then

 Else 

 End if;

st.clk=fp;(b1[],b2[],b3[],b4[],b0[],get[]).clk=inclk;

(b1r[],b2r[],b3r[],b4r[],b0r[]).clk=inclk;

Case st is

When gnd =>

If get[]==0 then

 Else

      get[]=get[]-1;

            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

       b1[]=b1[]+1;b2[]=b2[];b3[]=b3[];b4[]=b4[];

       End if;

      b0[]=b0[]+1;b1[]=b1[];b2[]=b2[];b3[]=b3[]; b4[]=b4[]; 

End if;

End case;

bcd4[]=b4r[];

bcd3[]=b3r[];

bcd2[]=b2r[];

bcd1[]=b1r[];

bcd0[]=b0r[];

end;

数码管显示代码

subdesign countx

(inclk ,bcd4[3..0] ,bcd3[3..0] ,bcd2[3..0] ,bcd1[3..0] ,bcd0[3..0],bcd5[3..0]:input;

outa[7..0],bitout[5..0]:output;

)

variable

a[3..0],b[3..0],c[3..0],d[3..0],e[3..0],f[3..0]:dff;

mda[15..0],mdb[9..0]:dff;

mseg[3..0],bitout[5..0]:dff;

st[5..0]:dff;

fpa,fpb:dff;

begin

a[]=bcd3[];b[]=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;  频率

st[].clk=fpa;mda[].clk=inclk;bitout[].clk=fpa;

     分频,得1000Hz

     分频,得1Hz

     case st[] is         

        

        

        

        

         

 

         

 

         

      

        =>h"66";    

        =>h"6d";  

      

        =>h"7f";     

         

end;   

第四章 系统调试

系统调试分为硬件调试和软件调试两部分。

4.1 硬件部分

FPGA芯片采用的是贴片方形塑料封装,144个管脚,排列密集,焊接难度大,尤其是拐角的焊接。在检测AD转换的功能上时,显示器没有显示,首先将小板安装在好的同学的板上测试,发现能够正常工作,那么问题就是在大板上,后来发现在电位器的一组排针上发生焊接问题,同时检查出了图和板子的不相符需要将板子上的电路线断开。

4.2 软件部分

软件部分的编写从FPGA开始,首先实现对ADC0809的控制及数据传输,再在此基础上实现乘法器和16进制向BCD码转换,最后实现数码管的动态扫描输出以及和单片机的并行口通行。

16进制向BCD码转换的思路是,使十六进制数减一次1,则十进制数就加一个1,等十六进制数减为0,则转换结束。

在软件编程的过程中,存在很多的问题,这里通过老师的指导和同学之间的交流才设计好了软件程序。

第五章总结

此次实验设计过程中学到了很多,在硬件焊接上已经提高了很多,在焊接小单片机的时候面对144拐角,是非常容易出错的,在自己的努力下,还有老师的指导上焊接上掌握了更多的技巧,同时焊接过程更加的小心,如果损坏了连接地的拐角,那么这个单片机就坏了。

在设计编程上面,重新看了AHDL语言,使用软件进行编程和进行调试直到达到了课程设计的目的。再与硬件想结合进行链接。

此次的课程设计在自己不熟悉的情况下还是向老师和同学请教的,其中有的内容还是有很多不太掌握,以后任需要不断的学习,以及对已学知识的巩固,希望在以后这样的课程设计上可以更加熟练的运用起来。

参考文献

[1]孙育才,《MCS-51系列单片微型计算机及其应用》,东南大学出版社

[2]曹巧媛,《单片机原理及应用——教学、实践、设计指导》, 电子工业出版社

[3]谢自美,《电子线路设计·实验·测试》(2版),华中科技大学出版社

 [4]胡汉才,《单片机原理及其接口技术》(2版),清华大学出版社 

[5]张迎新,《单片机中级教程》,北京航空航天大学出版社

[6]杰,《单片机原理与应用》,机械工业出版社

 [7]单片机实验指导书

附录一:

元器件清单

名称型号规格数量
电容16V/470uF电解电容2
16V/2200uF1
16V/22uF6
0.1uF独石电容7
20pF 磁片电容4
1//4W 电阻

2008
502
1K6
2K2
10K2
4.7K1
单片机ATS521
芯片座DIP-402
DIP-201
DIP-281
DIP-321
DIP-143
DIP-161
芯片74HC043
MAX2321
发光二极管红色9
数码管LG5011AH6
薄码开关8P1
牛角座无锁(10P)

1
按键6*6*6mm6
卧式串口2
有源晶振40M1
晶振22.1184M2
二极管1N40077
78051
阻排4.7K9P1
1K1
4701
1031
稳压电源φ3.5 空心座

1
双排针40P4
双排座40P4
电位器1031
附录二:

CPLD管脚分配

CPLD型号:EEP1K30 TC-144-3

1、时钟源

    40MHz:P183

    22.1184MHz:P80

2、输入开关及输出LED指示灯

    开关   KP1  KP2  KP3  KP4  KP5  KP6  KP7  KP8  

    指示灯 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8  

    管脚    P94   P95   P96  P97  P99  P100  P101  P102

3、RS232接口

    TXD(PC)接到RXD(CPLD)的P182

    RXD(PC)接到TXD(CPLD)的P93

4、数码管显示

    SEG1—SEG6共 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,P142

5、单片机扩展槽及外扩槽

    在主板上留有一个模拟单片机扩展槽,用于CPLD模拟单片机之用,其与CPLD的接口分别为,

P0.0—P0.7(39—32)对应与 P44,P45,P46,P47,P53,P54,P55,P56;

P1.0—P1.7(1—8) 引到外接口;

P2.0—P2.7(21—28) 对应P75,P74,P73,P71,P70,P69,P, P65;

P3.0—P3.7(10—17) 对应P83,P85,P86,P87,P88,P,P90,P92;

PSEN脚对应P194;

ALE脚对应P79;

6、扩展接口

       P62,P63,P,P65,P67,P68,P69,P70,P72,P73

    P78,P79,P80,P81,P82,P83,P86,P87,P88,P

    P90,P91,P92,P95,P96,P97,P98,P99,P100,P101

    P102,P109,P110,P111,P112,P113,P114,P116,P117,P118,P119,P120

7、AD0809管脚:

        (D0—D7) 对应 (P24—P31);

        (ADDA,ADDB,ADDC) 对应( P36,P37,P38);    

        EOC—P39;

        START/ALE—P19;

        CLK—P40;

        OE—P17; 

4X4键盘的接口电路:CPLD的P120、P121、P122、P125,管脚作为扫描码输出,分别接到键盘的输入端,键盘的查询输出接到CPLD的P126、P127、P128、P131四个管脚上。

附录三:CPLD结构图

文档

远程数据采集系统设计 (2)

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

最新推荐

猜你喜欢

热门推荐

专题
Top