基于FPGA的RS485通信毕业论文Word格式文档下载.docx
- 文档编号:22380622
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:46
- 大小:2.26MB
基于FPGA的RS485通信毕业论文Word格式文档下载.docx
《基于FPGA的RS485通信毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的RS485通信毕业论文Word格式文档下载.docx(46页珍藏版)》请在冰豆网上搜索。
小于-200mV时,输出为负逻辑电平。
在接收发送器的接收平衡线上,电平范围通常在200mV至6V之间。
参见图1.2所示。
图1.2RS485接收器示意图
定义逻辑1(正逻辑电平)为B>A的状态,逻辑0(负逻辑电平)为A>B的状态,A、B之间的压差不小于200mV。
RS-485标准的最大传输距离约为1219米,最大传输速率为10Mbps。
通常,RS-485网络采用平衡双绞线作为传输媒体。
平衡双绞线的长度与传输速率成反比,速度越高使用的双绞线长度越短。
在20kbps速率以下,使用的双绞线长度才能最长。
RS-485网络采用直线拓朴结构,需要2个终端电阻,其阻值要求等于传输电缆的特性阻抗(一般取值为120Ω)。
在短距离、或低波特率波数据传输时可不需终端匹配电阻。
终端匹配电阻并联在RS-485传输网络的两个端点A-B引脚之间。
RS-485标准被用作为一种相对经济、具有相当高噪声抑制、相对高的传输速率、传输距离远、宽共模范围的通信平台且控制方便、成本低廉。
3、课题研究内容
本次设计任务旨在设计一种基于FPGA的RS485通信接口电路,以及与LPC3250之间的接口硬件设计与驱动程序设计工作,其中RS485需具有两路独立通道以实现冗余功能,并同时具有FIFO管理,与LPC3250之间要能够通过中断方式接收数据,并实现校验等功能,而FPGA即现场可编程门阵列,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,使用方便准确,并且要满足DCS控制器对IO模块的通信性能要求。
所以本任务就需要采用VHDL语言在FPGA上实现协议控制为基础的RS485通信接口电路扩展以及软件。
还要通过AltiumDesigner对硬件进行设计研究以及连接。
最后软硬件之间相互结合。
本设计关键解决的问题是如何让,为了达到目的我认为应该从以下几个方面进行:
(1)设计基于Altera的CycloneII系列FPGA的RS485硬件电路
(2)设计FPGA与LPC3250的接口电路
(3)RS485模块协议软件编写
(4)调试程序
第二章课题开发环境
1、WinCE6.0概述
微软WinCE是专门针对小型设备的通用操作系统而设计的。
2006年发布的CE6.0,对操作系统进行了重新设计,每个进程都可以支持2GB虚拟内存(以往支持32MB),可以同时运行的进程数达到32000个(以往只有32个)。
以往的CE操作系统的部分内核模块式使用单独进程,而CE6.0之后将这些模块以DLL的形式内建到内核之中,以便提高性能,减少系统开销,统一内核接口。
WindowsCE支持大多数32位处理器,包括ARM、MIPS、SH4和x86。
WindowsCE包括600余个模块,可以方便用户灵活地定制内核镜像。
WindowsCE支持的模块包括:
(1)快速的系统与应用程序开发
·
ARM模拟器与多个平台的模板
AYGShellAPI与WindowsMobile应用程序兼容
SimpleNetworkManagementProtocol
390万条开源源代码,内核全部开源
产品级OAL(PQOAL),包括一系列库文件与源代码。
BLCOMMON,包括一系列库文件与源代码,用于创建Bootloader
产品级别的驱动与BSP包
多语言支持
(2)网络与无线连接支持
TCP/IP,IPv4,IPv6,NDIS5.1
PAN,LAN,WAN,蓝牙
SOAP,OBEX,LDAP客户端
VoIP,RTC,SIP
RIL,SMS,WAP,SIM卡接口
RAPI/RAPI2,PPPoE
(3)服务器终端
Telnet,FTP,SMB,CIFS,MSMQ
ASP
ParentalControl
打印架服务,Web代理
(4)多媒体
DirectDraw,DirectShow,Direct3D
Windows媒体播放器,WMA,MP3
网络浏览器
DVD视频API接口
数字版权管理
(5)存储与文件系统支持
FAT,TFAT,对象存储
CDFS/UDFS
FSD管理,Cache管理
CEDB,EDB数据库
2、FPGA概述
FPGA是一种可编程逻辑器件,现场可编程门阵列(FieldProgrammableGateArray,FPGA)的出现是可编程逻辑器件发展变化的必然,并且它还推动了可编程逻辑器件的进一步发展。
FPGA器件已成为当今的主要的可编程逻辑器件之一了,资源更加多样,使用也越来越方便。
FPGA由6部分组成:
(1)可编程输入/输出单元(I/O单元)
大多数FPGA的I/O单元被设计为可编程模式,通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;
可以调整匹配阻抗特性,上下拉电阻;
可以调整输出驱动电流的大小等。
(2)基本可编程逻辑单元
查找表和寄存器组成FPGA的基本可编程逻辑单元,查找表完成纯组合逻辑功能。
FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。
通过寄存器FPGA可以完成同步时序逻辑设计。
(3)嵌入式块RAM
目前大多数FPGA都有内嵌的块RAM。
嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。
(4)丰富的布线资源
布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
布线资源可以分为全局性的专用布线资源;
长线资源;
短线资源;
在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。
(5)底层嵌入式功能单元
嵌入式功能单元指的是那些通用成都较高的嵌入式功能模块。
(6)内嵌专用硬核
指的是硬核主要是那些通用性相对较弱的,不是每个FPGA都含有硬核。
3、QuartusⅡ的介绍
Alter公司的QuartusⅡ软件是一种集编辑、变异、综合、布局布线、仿真与器件编程于一体的集成设计环境。
QuartusⅡ软件支持基于VHDL与VerilogHDL等硬件描述语言的设计和基于图形的设计,内部嵌有VHDL和VerilogHDL的逻辑综合器,也支持利用第三方的综合工具进行逻辑综合。
表2.1QuartusⅡ图形用户界面的功能和与其对应的软件工具。
基本功能
扩展功能
设计
输入
文本编辑器
模块/符号编辑器
宏单元插入管理器
系统
级设
计
SOPCBuilder
DSPBuilder
综合
分析和综合
设计助手
RTL查看器
技术映像查看器
增量式综合
软件
开发
SoftwareBuilder
约束
分配编辑器
引脚规划期
设置对话框
平面布图编辑器
设计分区窗口
基于
模块
Logiclock窗口
VQWWriter
EDA
界面
EDANetlistWriter
布局布线
适配器
增量式编译
报告窗口
资源优化
设计空间管理器
芯片编辑器
功耗
分析
PowerPlayPowerAnalyser工具
PowerPlayEarlyPowerEstimator
时序逼近
LogicLock窗口
时序优化
时序分析
时序分析仪
工艺映射查看器
调试
SignalTapⅡ
SignalProbe
系统内存储器编辑器
仿真验证
仿真器
波形编辑器
加载编程
汇编程序
编程器
转换程序文件
工程
更改
管理
资源属性编辑器
更改管理器
4、AltiumDesigner概述
AltiumDesigner是Altium公司推出的一体化的电子产品开发系统,主要运行在WindowsXP操作系统。
这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合。
AltiumDesigner拓宽了板级设计的传统界面,全面集成了FPGA设计功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。
AltiumDesigner6.0将设计流程、集成化PCB设计、可编程器件设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。
5、VHDL设计语言
VHDL主要用于描述数字系统的结构,行为,功能和接口。
VHDL的程序结构特点是将一项工程设计或设计实体,分成外部和内部,涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,只要完成内部开发,其他的设计就可以直接调用这个实体。
VHDL语言主要具有以下优点:
(1)VHDL语言功能强大,设计方式多样;
(2)VHDL语言具有强大的硬件描述能力;
(3)VHDL语言具有很强的移植能力;
(4)VHDL语言的设计描述与器件无关;
(5)VHDL语言程序易于共享和复用;
因此VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,从而减小硬件电路设计的工作量,缩短开发周期。
从结构上看,VHDL具有相对清晰的结构构成。
从程序开始到结束,个部分结构都具有特定的功能和语法结构。
实体是设计中最基本的模块,描述设计实体的外部接口特性。
由多个模块构成的设计实体中可能包含多个实体,其中包括一个顶层实体和处于底层的底层实体,底层实体可以作为组件例化到高层次实体中,顶层实体可以对应于芯片的外部引脚定义。
结构体用于描述实体所代表的系统内部的结构和行为。
每个实体都必须有至少一个结构体与之相应。
结构体定义了设计实体的具体功能实现,规定了设计实体的数据流程,制定了实体内部元件的连接关系。
库是用来存放已经编译过的实体、结构体、程序包等数据集合。
库和程序包的作用就是使得设计者可以共享已经编译过的设计结果,在程序包中,用户可以定义一些公用的子程序、常量和自定义数据类型。
在VHDL中数据类型、常量及子程序在实体声明和机构体内定义,而这些数据类型、常量及子程序对其它设计实体是不可见的。
配置就是从与某个实体对应的多个结构体重选定一个作为具体实现。
它可以作用实现对应多个结构体,即多种实现方式。
6、LPC3250介绍
LPC3250嵌入式微控制器满足低功耗,高性能。
NXP通过使用90纳米的处理技术,将一个带有矢量浮点协处理器的ARM926EJ-SCPU内核与一系列包括USBOn-The-Go在内的标准外设结合起来,从而实现LPC3250的性能目标。
LPC3250可工作在高于266MHz的CPU频率下。
LPC3250采用NXP半导体先进的开发技术优化内在功率实现低功耗,并使用增强型的软件控制结构使基于功率管理的应用得到优化。
LPC3250包含有256KB的片内静态RAM、NANDFlash接口、以太网MAC、1个支持STN和TFT面板的LCD控制器、1个支持SDR和DDRSDRAM以及静态设备的外部总线接口、USB2.0全速接口、7个UART、2个I2C接口、2个SPI/SSP端口、2个I2S接口、2个多通道PWM、4个带有捕获输入和比较输出的通用定时器、加密数字(SD)接口和带有触屏感应选项的10位A/D转换器。
LPC3250含有1个主机中断控制器(MIC)和2个从机中断控制器(SIC),支持74个中断源,高达18个外部中断。
中断控制器是通过FAB总线访问的,中断控制器的内部连接,如图2.2所示:
图2.2中断控制器内部连接图
如图所示,中断控制器的输入是异步的,在加工前同步。
中断控制器的输出驱动器的FIQ和IRQ输入到CPU。
所有的外部中断引脚连接着步电路两个小组的中断的控制器(SIC1SIC2)。
SICs的四个中断输出连接到主中断控制器(MIC)4个中断输入,其应始终配置上的MIC输入低电平有效水平。
所有中断都可以被编程为一个特定的极性。
如果设置触发边缘,直到被清除激活的中断状态存储由主机。
每个中断源可以单独屏蔽和屏蔽之前和之后都可以读取中断状态。
每个中断源设置为产生一个IRQ或FIQ。
SIC寄存器APR和ATR必须配置为每个中断引脚中断模式。
一个典型的位片中断控制器,如图2.3所示:
图2.3位片中断控制器
第三章总体结构设计
1、DCS控制器软件部分
DCS控制器是DCS的核心,系统的主要控制功能由它来完成。
DCS控制器的基本功能主要包括:
I/O数据的采集、控制运算及I/O数据的输出等。
DCS的控制功能由控制器来实现,是控制器的核心功能。
在控制器中一般保存有各种基本控制算法,如PID、微分、积分、超前滞后、逻辑运算、模糊控制及先进控制等控制算法程序。
在控制器软件中,I/O容量、控制算法容量、采集数据的分辨率和控制运算周期,起着决定性作用。
对于DCS系统来说,必须要满足实时性的要求。
这种系统网络在任何情况下,网络通信都不能中断,大部分DCS还是采用双总线、环形或双重星型的网络拓扑结构。
图3.1DCS控制系统通信的拓扑结构。
图3.1DCS控制系统通信的拓扑结构
2、DCS控制器硬件部分
一个典型的主控制器的组成框图如图3.2所示,从图中可得,主控制器主要有CPU、系统网络接口、控制网络接口、主从冗余控制逻辑、掉电保持SRAM及电源电路组成。
SENT1←→
SENT2←→
RENT←→
24+—→
24-—→
DP+←→
DP-←→
图3.2典型的DCS控制器组成原理框图
各部分功能简述如下:
CPU:
控制运算的主芯片,近年来以ARM核为基础的低功耗芯片的流行。
系统网络(SNET)接口:
SNET接口是主控制器与操作员站、工程师站等操作层设备通信的网络接口。
现在DCS的系统网络都采用了以太网,事实证明,只要在软件的应用层上采取一定的保护措施(比如应答和重发),其可靠和安全性是没有问题的。
控制网络(CNET)接口:
CNET接口是主控制器与I/O进行数据交换的网络接口。
作为过程控制系统,由于DCS需要进行大量的模拟量数据传送,每个I/O设备的数据量较大,所以CNET一般选择字节型长包协议的通信网络。
主从冗余控制逻辑:
该部分电路用于控制互为备份的两台主控制器的切换。
因为要满足过程控制对安全性和可靠性的要求,该部分电路必须确保任一时刻有且仅有一台主控制器的控制指令被输出到I/O设备。
DCS控制系统冗余通信网络如下图3.3
图3.3DCS控制系统冗余通信网络
固态盘或Flash存储器:
用于保存主控制器的操作系统、用户控制算法文件等信息。
在主控制器上电启动后将这些文件调入内存运行。
内存:
用于加载运行程序,掉电后内存的内容不会被保存。
掉电保持静态存储器:
用于存储运行过程中需要实时保存、并且在系统掉电后还需要保存一段时间的数据。
为了DCS掉电后SAM能够保存实时数据,一般的主控制器都设置有使能开关,用于接通或关断SRAM的后备电池。
电源电路:
主控制器的电源输入一般是24V直流电源,需要将其变换成5V直流或3.3V直流,供主控制器上的IC芯片使用。
3、DCS通信需求
DCS系统主要有两种通信方式:
以太网通信和I/O模块通信。
对上层操作站通信使用以太网。
由于DCS是由各种不同功能的站组成的,这些站之间必须实现有效的数据传输,以实现系统总体的功能,因此系统的实时性、可靠性和数据通信能力关系到整个系统的性能,随着以太网技术逐步成熟,以太网被直接选做系统网络。
在以太网初期,其网络介质访问的特点比较适宜传输信息的请求随机发生,每次传输的数据量较大而传输的次数不频繁,因网络访问碰撞而出现的延时对系统影响不大的应用系统。
但是在真正的控制系统中,数据传递需要周期性的传输,而且每次传输的数据次数频繁。
随着以太网应用的广泛和成熟,以太网的传输速度有了极大的提高,从最初的10Mbps发展到现在的100Mbps甚至到10Gbps,极大的改进了以太网的实时性。
并且随着交换技术的采用,更使以太网在多节点可以同时访问。
在I/O模块部分,通常使用串行总线或者现场总线实现通信。
对于串行总线来说,由于并行总线结构比较复杂,用它连接逻辑部分和现场部分很难实现有效的隔离,成本较高,所以大部分选用串行总线。
串行总线的优点是结构简单,成本低,很容易实现隔离,而且容易扩充,可以实现远距离的I/O模块连接。
而随着近几年现场总线的发展,直接使用现场总线的产品作为现场I/O模块和主处理模块的连接已经很普遍了,比如:
CAN、Profibus等等。
由于DCS的现场控制站有比较严格的实时性要求,需要在确定的时间期限完成测量值的输入、运算和控制量的输出,因此一般在快速控制系统中,可以采用较高速的现场总线,如CAN,而在控制速度要求不是很高的系统中,采用较低速的现场总线。
下图为DCS系统的通信部分分析:
图3.4DCS系统通信分析
4、远端I/O模块通信需求
DCS控制系统中,系统需要建立信号的输入和输出通道这就是I/O口,而I/O模块上有一个或多个I/O通道,用来连接传感器和执行器。
I/O模块与DCS控制站之间的通信方式有两种:
RS484通信协议和现场总线方式。
RS485数据信号采用的是差分传输方式,且抗噪声干扰性号,且在传输线上接终端电阻。
RS485可以采用二线与四线的方式,二线制可实现真正的多点双向通信,而采用四线连接时,则只能实现点对多的通信,总线上可多接到32个设备。
RS485的数据最高传输速率可达10Mbps,最大的传输距离可达1200米。
因为RS485接口组成是半双工网络,所以RS485接口均采用屏蔽双绞线传输。
图3.5DCS控制器RS485通信结构
现场总线具有实时性、互操作性、互换性、开放性、现场设备的智能化与功能自治性、经济性、安全和可靠的优点。
因此,可以使控制系统的设计、安装、投运、正常生产运行和检修维护都得到优化。
现场总线设备的智能化、数字化,与模拟信号相比,它从根本上提高了测量与控制的准确度,减少了传送误差。
同时,由于系统的结构简化,设备与连线减少,现场仪表内部功能加强,减少了信号的往返传输,提高了系统的工作可靠性。
另外,由于它的设备标准化和功能模块化,因而还具有设计简单,易于重构等优点。
第四章基于FPGA的RS485电路硬件设计
1、RS485驱动芯片选型
MAX3088是一个用于RS485/422通信的高速收发器件,是一个半双工的通信收发器件,包含一个驱动器和一个接收器。
这些器件具有失效保护电路,当接收器输入开路或短路,从而保证接收器输出逻辑高。
意思就是如果所有终止总线发送器都禁用,那么接收器输出将会是逻辑高“1”。
MAX3088的驱动器的摆率是没有限制的,使传输速度高达10Mbps的可能。
所有的驱动器有一个1/8-unit-load达的输入阻抗,在总线上最多允许有256个这样的收发器。
MAX3088的静态电流为375µ
A,引脚数为8个。
图4.1为MAX3088硬件图和图4.2为MAX3088真值表。
图4.1MAX3088内部硬件图图4.2MAX3088真值表
2、FPGA器件接口设计
对于CPU端的外围器件的选择,采用的是CS片选信号,它用来区别总线上的数据和地址由哪个芯片处理,一般是在划分地址空间时,由逻辑电路产生的,一般开路输入管脚呈现为高电平,因此片选信号绝大多数情况下是一个低电平。
由于LPC3250片选信号有限,因此采用EMC_nCS3片选线挂两个外围器件的方式,分别外接的是485和CAN,并根据不同的地址总线分别基地址。
因此,选用74HC00器件作为片选信号逻辑运算器件。
74HC00为四组独立的2输入端与非门(正逻辑),其逻辑图如图4.3:
图4.374HC00逻辑图(双列直插封装)
其中A1—A4和B1—B4为输入端,A-B间电压为5.5V,输入电压为5.5V,YI—Y4为输出端,Vcc电源电压为7V。
其布尔运算为:
或者:
图4.474HC00真值表
其片选连接方法如下图所示:
图4.5LPC3250片选信号
由图可知片选信号EMC_nCS3第12号和第13号接口分别输入低电平通过该逻辑运算器后从11号输出高电平,并且作为4号接口输入高电平,而5号接口输入的是高电平那么6好接口输出低电平输出,也就是说CAN_nCS片选信号是低电平;
1号接口输入的是高电平和2号接口输入高电平,那么3号接口输出的是低电平,所以E485_nCS片选信号为低电平。
SN74LVCC3245是一个拥有两个独立供电电源轨的8位正逻辑总线收发器。
B口是被用来追踪VccB的,其接收电压范围在3V~5.5V之间,而A口则是被设计来追踪VccA的,其接收的电压范围为2.5V~3.6V之间。
这种结构允许数字逻辑从供电电压在3.3V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA RS485 通信 毕业论文