RS485、RS422接口设计指南_第1页
RS485、RS422接口设计指南_第2页
RS485、RS422接口设计指南_第3页
RS485、RS422接口设计指南_第4页
RS485、RS422接口设计指南_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RS485、RS422接口设计指南CPU在线配置Xilinx FPGA硬件功能模块设计XX硬件功能模块设计说明 技 术 文 件 技术文件名称:RS485、RS422接口设计指南用CPU对Xilinx FPGA进行配置功能模块设计 技术文件编号: 版 本: 共 21 页(包括封面)拟 制 赵克忠、车伟静 谢 卓 辉 审 核 会 签 标准化 批 准 深圳市中兴通讯股份有限公司附件四35五:技 术 文 件 技术文件名称:CPU在线配置Xilinx FPGA硬件功能模块设计用CPU对Xilinx FPGA进行配置功能模块设计XX硬件功能模块设计 技术文件编号: 版 本:1.0 文件质量等级:共 20

2、页(包括封面)拟 制 赵克忠、车伟静 审 核 会 签 标准化 批 准 模块名称: 模块代码:模块提交单位:模块负责人:模块参加者: 日 期: 深圳市中兴通讯股份有限公司修改记录文件编号版本号拟制人/修改人拟制/修改日期更改理由主要更改内容(写要点即可)1.0赵克忠、车伟静谢卓辉5/28/2003注1:每次更改归档文件(指归档到事业部或公司档案室的文件)时,需填写此表。注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。前 言01RS-485与RS-422性能指标及其标准12RS-485与RS-422器件及材料说明13RS-485与RS-422设计原理23.1基本原理23.1.1R

3、S-485与RS -232电路的区别与优势23.1.2长短连接的判断标准、物理表现与应对措施43.1.3RS-485与RS-422典型应用电路与选择方法53.1.4485总线上处理竞争的方法83.2可靠性的设计93.2.1网络配置93.2.2总线匹配93.2.3引出线113.2.4失效保护113.2.5地线与接地123.2.5.1共模干扰问题123.2.5.2电磁辐射(EMI)问题:133.2.6瞬态保护143.2.7其它需要注意的问题153.3电源和接地154维护说明15参考资料16第 52 页 共 159204 页目录1概述32设计准则33模块功能及用途34关键词、类别关联词45模块性能指

4、标及其符合的标准46电原理图47PCB图58结构图51输入、输出接口及性能参数59510器件及材料说明511设计说明511.1设计目标511.2模块设计方案及论证511.3参考资料511.4基本原理511.5子模块设计说明1311.6可编程器件说明1311.7工艺结构说明1311.8可信性设计说明1311.9电源和接地1911.10成本预计1912模块使用与维护说明2012.1调用说明2012.2维护说明2012.3调试环境2012.4调试方法2013经验教训2014模块工作量201概述32设计准则33模块功能及用途34关键词、类别关联词35模块性能指标及其符合的标准36电原理图37PCB图4

5、8结构图49输入、输出接口及性能参数410器件及材料说明411设计说明411.1设计目标411.2模块设计方案及论证511.3参考资料511.4基本原理511.5子模块设计说明1311.6可编程器件说明1311.7软件1311.8工艺结构说明1711.9可信性设计说明1711.10电源和接地1711.11成本预计1712模块使用与维护说明1712.1调用说明1712.2维护说明1712.3调试环境1712.4调试方法1813经验教训1814模块工作量181概述2设计准则3模块功能及用途4关键词、类别关联词5模块性能指标及其符合的标准6电原理图7PCB图8结构图9输入、输出接口及性能参数10器件

6、及材料说明11设计说明11.1设计目标11.2模块设计方案及论证11.3参考资料11.4基本原理11.5子模块设计说明11.6可编程器件说明11.7软件11.8工艺结构说明11.9可信性设计说明11.10电源和接地11.11成本预计12模块使用与维护说明12.1调用说明12.2维护说明12.3调试环境12.4调试方法13经验教训14模块工作量目录1概述32设计准则33模块功能及用途34关键词、类别关联词35模块性能指标及其符合的标准36电原理图37PCB图48结构图49输入、输出接口及性能参数410器件及材料说明411设计说明411.1设计目标411.2模块设计方案及论证511.3参考资料51

7、1.4基本原理511.5子模块设计说明1211.6可编程器件说明1211.7软件1311.8工艺结构说明1611.9可信性设计说明1611.10电源和接地1611.11成本预计1612模块使用与维护说明1612.1调用说明1612.2维护说明1712.3调试环境1712.4调试方法1713经验教训1714模块工作量171概述2设计准则3模块功能及用途4关键词、类别关联词5模块性能指标及其符合的标准6电原理图7PCB图8结构图439输入、输出接口及性能参数4310器件及材料说明11设计说明11.1设计目标11.2模块设计方案及论证11.3参考资料411.4基本原理411.5子模块设计说明6411

8、.6可编程器件说明6411.7软件6511.8工艺结构说明7511.9可信性设计说明7511.10电源和接地7511.11成本预计7512模块使用与维护说明7512.1调用说明7512.2维护说明7512.3调试环境7612.4调试方法7613经验教训7614模块工作量861设计准则22模块功能及用途23关键词、类别关联词24模块性能指标及其符合的标准25电原理图26PCB图27结构图28输入、输出接口及性能参数29器件及材料说明210设计说明310.1设计目标310.2模块设计方案及论证310.3参考资料310.4基本原理310.5可编程器件说明310.6软件310.7工艺结构说明410.8

9、可信性设计说明410.9电源和接地410.10成本预计411模块使用与维护说明411.1调用说明411.2维护说明411.3调试环境411.4调试方法412经验教训41设计准则22模块功能摘要23参考资料24基本原理25技术指标26电原理图27PCB图28结构图29输入、输出接口及电性能210软件310.1源程序310.2参数说明310.3软件接口说明311元器件说明312可编程器件说明312.1原理及框图312.2器件说明312.3管脚说明312.4关键时序312.5编程文件说明313工艺结构说明314可信性设计说明314.1可靠性设计314.2测试性设计415电源和接地416成本预计417

10、背景资料418使用说明419调试、维护说明419.1调试环境419.2调试方法419.3维护说明420经验教训41设计准则22模块功能摘要23参考资料24基本原理25技术指标26电原理图27PCB图28结构图29输入、输出接口及电性能210软件310.1源程序310.2参数说明310.3软件接口说明311元器件说明312可编程器件说明312.1原理及框图312.2器件说明312.3管脚说明312.4关键时序312.5编程文件说明313可信性设计说明313.1可靠性设计313.2测试性设计414电源和接地415成本预计416背景资料417使用、调试、维护说明417.1调试环境417.2调试方法4

11、17.3故障解决方法418经验教训4RS485、RS422接口设计指南用CPU对Xilinx FPGA进行配置功能模块设计CPU在线配置Xilinx FPGA硬件功能模块设计XX功能模块设计前 言1 概述模块名称:RS485、RS422接口设计指南用CPU对Xilinx FPGA进行配置功能模块设计CPU在线配置Xilinx FPGA硬件功能模块模块代码:模块提交单位位:CDMA事业部 硬件开发部模块负责人:赵克忠谢卓辉模块参加者:车伟静 RS-485标准最初由电子工业协会(EIA)于1983年制订并发布,后由TIA-通讯工业协会修订后命名为TIA/EIA-485-A,习惯地称之为RS-485

12、。 RS-485由RS-422发展而来,而RS-422是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100kbps时),并允许在一条平衡线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,为扩展应用范围,随后又为其增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,这就是后来的EIA RS-485标准。 RS-485是一个电气接口规范,它只规定了平衡驱动器和

13、接收器的电特性,而没有规定接插件、传输电缆和通信协议。RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)通信链路,是一种极为经济、并具有相当高噪声抑制、传输速率、传输距离和宽共模范围的通信平台。 RS-485作为一种多点、差分数据传输的电气规范现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信、它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。正因为此,许多不同领域都采用RS-485作为数据传输链路。例如电信设备、局域网、蜂窝基站、工业控制、汽车电子、仪器仪表等等。这项标准得到广泛接受的另外一个原因是它的通用

14、性。RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。 本文档主要说明了RS485与RS422的原理以及设计应用电路中应该注意的问题。2 RS-485与RS-422性能指标及其标准设计准则功能与性能满足要求,降低成本。指出设计时应注意的如器件选择、可靠性、安全防护等方面问题。本设计是利用CPU对RAM-Based FPGA进行配置。因此,对CPU子系统有一些要求,即CPU子系统应在FPGA被配置前可独立运行并访问所需资源。CPU对FPGA进行配置所需的资源很少,一般来说,仅RAM和BootROM的访问而已仅RAM和BootROM的

15、访问而已。当然,其他挂在CPU总线上的设备必须处于非访问态,FPGA所控制的设备也应处于非工作态或不影响其他设备工作的稳定态。该内容贴于网上,供同类模块设计、使用者参考,内容应指出设计该类模块应遵守的基本准则,包括器件布局、器件选择、布线、安全、防护要求等准则。模块功能摘要模块功能及用途 RS-485作为一种多点、差分数据传输的电气规范现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信、它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。正因为此,许多不同领域都采用RS-485作为数据传输链路。例如电信设备、局域网、蜂窝基

16、站、工业控制、汽车电子、仪器仪表等等。这项标准得到广泛接受的另外一个原因是它的通用性。RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。 本模块属于电路级功能模块。本模快是参照网络事业部陆晓的模块文档用CPU对FPGA进行配置功能模块设计来完成的。本模块设计是利用板上现有CPU子系统中空闲的ROM空间或RAM空间存放FPGA的配置数据,并由CPU模拟专用EPROM对FPGA进行配置,以降低硬件成本并实现FPGA的在线升级。本模块将主要讨论对Xilinx的FPGA系列中SPARTARN XL、SPARTARN、VIRTEX和VIRT

17、EXE等常用系列的FPGA进行配置该内容用于模块库中“模块功能摘要”栏,用于简单介绍模块的功能及用途,为模块查询者提供简要介绍为模块查询者提供简要信息。因此本内容应指出功能模块所实现的功能、采用的主要技术方法名称、达到的目标及模块用途和扩展用途、典型案例等。说明参考的标准和文件。基本原理以功能块和主要芯片为单元,画出各单元之间的连接关系,以及关键的逻辑关系;支撑整个电路的主要信号线或引出线。详细介绍上述各单元电路的基本工作原理及整个电路的工作过程。各组成部分完成的功能和指标分配,以及相应的时序图、逻辑图、信号关系、输入输出关系等。关键词、类别关联词RS-485:RS-422:长导线(长连接、传

18、输线):短导线(短连接):上升时间:单向延迟:特征阻抗:终端电阻:单位负载:(以上关键词在文中都作了解释)应列出模块的关键词、类别关联词。关键词用于模块入库后的索引;类别关联词用于确定模块类别,用于入库模块分类及编号。FPGA:Field Programmable Gate Array;Serial Slave Mode;Configuration Memory;Configuration Data;CRC Error Checking;模块技术 性能指标及其符合的标准EIA/TIA-422 与 EIA/TIA-485 标准的比较规格EIA/TIA-422EIA/TIA-485传输模式平衡平衡

19、电缆长度(在90Kbps下)4000 ft4000 ft电缆长度(在10Mbps下)50 ft50 ft最大数据传输速度10Mbps10Mbps最小差动输出2V1.5V最大差动输出10V6V接收器敏感度0.2V0.2V最小驱动器负载10060最大驱动器数量132负载单位最大接收器数量1032负载单位 表1 本模块要能够利用单板上的CPU和CPU子系统中空闲的ROM或RAM空间完成对Xilinx FPGA的在线下载配置。RS-485接口的主要性能指标如下: 平衡传输; 多点通信; 驱动器输出电压(带载):1.5V;接收器输入门限:200mV,接收器的输入灵敏度为200mV(即(V+)-(V-)0

20、.2V,表示信号“0”;(V+)-(V-)-0.2V,表示信号“1”);-7V至+12V总线共模范围; 最大输入电流:1.0mA/-0.8mA(12Vin/-7Vin); 最大总线负载:32个单位负载(UL); 最大传输速率:10Mbps; 最大电缆长度:4000英尺,由于在双绞线上的电平损耗,RS-485标准通信的最大传输距离是1200米(4000英尺),更远距离的应用中必须使用中继器;接收器的输入电阻RIN12k;3 RS-485与RS-422器件及材料说明列出模块技术指标及指标满足标准的程度。电原理图无。下面以是Mortalola的CPU MPC860、与Xilinx FPGA芯片XC2

21、S150为例,说明硬件连接关系的连接图如下图。该原理图将贴于网上供使用查看,因此应有WORD文件,对于需单独制板的模块应有原理图源文件。PCB图对于需单独制板的模块应提供PCB文件,对于不单独制板的模块应指出本模块的布线要求及对周围电路的要求及影响。无。结构图需要时应提供无。输入、输出接口及电性能输入、输出接口及性能参数本模块无引入/引出信号。a) 以表格形式给出模块引出线信号的名称和符号,并在表格后对引出线信号做出说明。表格中引出线信号名称和符号,应与电路原理图中完全相同。 b) 对于有点性能要求的引出线线,应进行电特性描述,如:波形、电平、信号频率、驱动能力、输入/输出阻抗等,需要时还须指

22、出信号的输入容差、输出误差及时延等。引出线信号时序及系统配合要求。如果模块有指示灯、跳针、按键、开关、电位器等,需指出它们的定义、作用及使用方法。器件及材料说明在模块性能指标与基本原理中有详细说明。器件及材料说明有很多485芯片可以选择,速度较慢的芯片有更好的信号质量,如果不需要高速连接,使用较低速度的芯片可以避免很多麻烦。有的485芯片小于一个单位负载以便在一个网络中允许更多的节点。为了扩展总线节点数,器件生产厂商增大收发器输入电阻。例如MAX487,MAX1487的输入电阻增加至48k以上(1/4UL),节点数就可增加至128个,96k输入电阻的MAX1483允许节点数可到256个。 对外

23、置设备为防止强电磁(雷电)冲击,建议选用TI的75LBC184等防雷击芯片,对节点数要求较多的可选用SIPEX的SP485R。具有节能模式与低电源电压特性的485芯片对于电池供电的设备很有用,485芯片具有的其它特性还有增强的ESD保护、电气绝缘、失效保护电路等。减小反射电压的两个办法是减小电缆长度或者增加信号上升时间,可以通过选择485芯片来控制信号上升时间。最大的上升时间限制了比特率,上升时间不应超过位宽的20%。最小的上升时间决定一根导线是长导线还是短导线,是否需要终端电阻。如果连接不需要高比特率,使用低速驱动器可以使短导线的物理长度大大加长。此外低速485芯片能够减弱EMI。4 RS-

24、485与RS-422设计原理本模块适用于指出优选器件系列的名称、性能、特点及针对模块不同用途的选择方法Xilinx公司FPGA产品系列中的SPARTARNXL、SPARTARN、VIRTEX和VIRTEXE系列由于Xilinx公司早期产品XC系列配置时序略有不同,而且供应商也已经不推荐使用,公司基本也不使用,因此不在本文讨论之列。无。设计说明4.1 设计目标 为了节约生产的成本,利用CPU子系统本身的资源设计出一套CPU完成FPGA在线下载的方法。我们的产品中很多单板都用了FPGA,虽然品种不同,但编程方式几乎都一样:利用专用的PROM对FPGA进行配置。专用的PROM价格不便宜很贵,且基本上

25、而且都是一次性的,。不便于一旦更换FPGA版本,代价不小版本升级,而且无疑会增加升级成本。为了进一步降低产品的成本,考虑利用板上现有CPU子系统中空闲的ROM空间存放FPGA的配置数据,并由CPU模拟专用PROM对FPGA进行配置。在模块性能指标中有详细说明。指出单板对模块的设计需求输入,罗列本模块所有功能、性能指标要求及BIT要求,从模块在本系统的需求、模块的通用性、系列化需求等方面论证该模块功能及性能指标完整性及必要性。4.2 模块设计方案及论证根据不同的需求选择不同的芯片与应用电路等4.3 本模块设计严格按照Xilinx FPGA的Slave Serial配置流程进行,并在配置过程中始终

26、监测工作状态,在完善的软件配合下,可纠正如上电次序导致配置不正常等错误。因此,采用此方法对Xilinx FPGA进行配置,性能将优于Configuration PROM方式。与Configuration PROM方式相比本设计有如下优点:1 降低硬件成本省去了FPGA专用PROM的成本,而几乎不增加其他成本。以Xilinx的XC2S150系列为例,板上至少要配一片以上的PROM,如XC17S50,每片XC17S50的批量价是23.8元,容量1M位。提供1Mb的存储空间,对于大部分单板来说(如860系统的单板),是不需要增加硬件的。即使增加1Mb存储空间,通用存储器也会比FPGA专用PROM便宜

27、。2 可多次编程FPGA专用PROM几乎都是一次性的,一旦更换FPGA版本,旧版本的并不便宜的PROM只能丢弃。如果使用本设计对FPGA配置,选用可擦除的通用存储器保存FPGA的编程数据,更换FPGA版本,无须付出任何硬件代价。这也是降低硬件成本的一个方面。3 实现真正“现场可编程”FPGA的特点就是“现场可编程”,只有使用CPU对FPGA编程才能体现这一特点。如果设计周全的话,单板上的FPGA可以做到在线升级。4 减少生产工序省去了对“FPGA用PROM”烧结的工序,对提高生产率,降低生产成本等均有好处。对于双面再流焊的单板,更可省去手工补焊DIP器件的工序。当然,与Configuratio

28、n PROM方式相比本设计也有缺点:1 需要CPU提供5根I/O线一般来说,这并不困难。对于MPC860一类的CPU来说,区区5根I/O线是不成问题的。即使是某些设计中实在没有多余的I/O供配置使用,也可通过板上的PLD扩展。虽然这样做可能会增加成本,但获得的真正“现场可编程”的功能是非常宝贵的。2CPU的Boot应不依赖于FPGA这在单板设计时需要特别考虑的。由于CPU对FPGA进行配置所需的资源很少,这一点比较容易做到。详细叙述模块的设计方案、各包括子模块的实现方式及BIT方案,必要时画出功能框图。将本设计方案与公司已有的设计方案及可能其他设计方案进行比较,指出本模块的优点(包括先进性)及

29、限制。指出本模块中调用公司、事业部模块库模块;指出本模块中新产生的子模块。4.4 参考资料 Serial Port Complete Jan Axelson 2001年5月说明参考的标准和文件。Xilinx DataSource CD-ROM(Rev.4 0.2-2001)用CPU对FPGA进行配置功能模块设计 陆晓 网络事业部4.5 基本原理4.5.1 RS-485与RS -232电路的区别与优势 如图1中RS-232使用非平衡线路,接收器对一个信号电压和一个通用地线之间的压差作出反应。在100Kbps的传输速度下电缆长度最大为50ft,最大数据传输速度为20Kbps(有的驱动器达到115

30、Kbps),驱动器最小输出为5V,驱动器最大输出为15V,接收器敏感度3V,最大驱动器与接收器数量都为1,接收器输入阻抗为3到7K。 图1 如图2一个 RS-485 驱动器必须有“Enable”控制信号,而一个RS-422 驱动器则一般不需要。 在驱动器端,一个TTL逻辑高电平输入使得导线A电压比导线B高,反之,一个TTL逻辑低电平输入使得导线A电压比导线B低,对于驱动器端的有效输出,A与B之间的压差必须至少1.5V。 图2 如图3在接收器端A与B之间的压差只需0.2V,如输入A电平比输入B高,TTL输出逻辑高电平,反之,如输入A电平比输入B低,TTL输出逻辑低电平,这就至少有1.3V的噪声容

31、限,大多数情况下驱动器端A与B之间的压差大于1.5V,因此噪声容限更大。 图3 RS-485能够远距离传输是因为使用了平衡线路,每个信号都有专用的导线对,其中一根导线上的电压等于另一根导线上的电压取反或取补。接收器对两者的压差作出反应。平衡接口中两根信号线传递几乎等大反向的电流,大多数噪声电压在两根信号线上出现,它们互相抵消;但在非平衡接口中,接收器检测信号线与接地线之间的电压差,当多个信号共用一根接地线时,每个返回的电流都在这根接地线上引起电势,如果这根接地线连到大地地线,来自别处的噪声也会影响这些电路。 一个 RS-485 驱动器可以驱动32个单位负载,一个等于单位负载的接收器在标准的输入

32、电压极限下产生一个不大于规定大小的电流,在接收到的电压比接收器信号地高出12V与低7V时,一个单位负载的接收器产生的电流分别不大于1mA与-0.8mA,为符合此要求,接收器在每个差动输入与电源电压或接地线之间至少有12000的输入阻抗。这样对于32单位负载的接收器,并联阻抗为375,加入两个120的终端负载电阻,并联阻抗减小为60,在短距离、低速连接中,可以去掉终端负载电阻以极大地减小电源消耗。4.5.2 长短连接的判断标准、物理表现与应对措施一个RS-485是长还是短的连接是以一个信号沿着导线传播到接收器所需要的时间为参考,这个时间与导线的物理长度、所传递信号的频率以及信号传输速度有关。当导

33、线物理长度很短、所传递信号的频率很低时,信号沿着导线传播到接收器所需要的时间对信号质量没有影响,可以将短导线当作零阻抗导线。当导线物理长度很长、所传递信号的频率很高时,信号沿着导线传播到接收器所需要的时间对信号质量有影响,长导线又叫传输线,恰当的终端负载电阻可以削弱导线上的反射电压确保接收器看到一个清晰的信号。长短导线的区别在于在长导线上反射有可能持续足够长的时间以至使得接收器误读逻辑电平,而短导线上的反射更快,在有接收到的逻辑电平上没有影响。上升时间是一个输出从10%切换到90%的时间,上升时间限制了最大的比特率,位宽度应该比上升时间长5到10倍以确保接收器读这个位时电压已经达到有效的逻辑电

34、平,更短的上升时间表示可以有更高的频率。单向延迟是一个信号通过电缆长度所用时间,它等于电缆长度除以信号传播速度,在铜导线的电气信号大约以2/3到3/4倍光速传播。一个连接如果信号上升时间小于单向延迟的4倍,则它是长的连接,RS-232总是短的连接。传输线效应会使反射电压出现,接收器在位的中间附近读逻辑电平,如果比特率越低,位就越宽,这样电压在接收器读之前就已经固定下来。另一个决定导线长短的方法是如果位宽大于单向延迟的40倍,则它是短的连接,这时任何反射在接收器读这些位之前就已经稳定了。传输导线的特征阻抗与导线直径、导线间距以及导线上绝缘类型有关,不随导线长度变化,普遍使用的AWG#24绞合的双

35、绞线电缆特征阻抗为100到150欧,生产厂商都会给出这个值。等于特征阻抗的终端电阻一般连接在最远端接收器那一边的差动导线上,不论网络有多少个节点,终端电阻的数量不能超过2个。终端电阻比特征阻抗大的极端情况是远端导线开路,电流不能继续,电流反射回来并引入一个电压,导致接收器读到比传输电压更高的电压。如果终端电阻比特征阻抗大,效果类似,只是只有部分电流反射回去,反射电流来回好多次,越来越小,最后电流稳定到一个终值,接收器读到的电压也逐渐减小到一个终值电压。终端电阻比特征阻抗小的极端情况是远端导线短路,没有电压降,电压反射回来并引入一个电流,如果终端电阻比特征阻抗小,效果类似,只是只有部分电压反射回

36、去,驱动器每反射一次电压的一部分,接收器的电压就上升一次直到最终值。终端电阻等于特征阻抗,电流没有间断,没有任何反射。添加并联终端电阻使接收器输入电阻大幅下降,连接中的电流大幅上升,电能损耗大幅上升。更大的电流也使驱动器输出阻抗吸收更大电压,降低接收器端差动电压,噪声容限降低。节约电能的办法是除了驱动器正在发送的时间以外,禁止驱动器,在我们的CDMA95与3G设计中发送完后立即禁止驱动器。当导线很长要注意串联电阻的影响,如AWG#24绞合线电阻25/1000FT,信号的大部分将在通过导线时衰减,为减小串联电阻要用更大直径的导线。RAM-Based FPGA由于SRAM工艺的特点,掉电后数据会消

37、失。因此,每次系统上电后,均需对FPGA进行配置。对于Xilinx的FPGA,其配置方法一般有8种(这里主要是指Xilinx Virtex、Virtex e、Spartan和SpartanXL的系列的FPGA,对于Xilinx的XC2000、XC3000、XC4000、XC5200系列产品是Xilinx公司的早期产品,在本文中不再叙述),如下表所示:表 Virtex、Virtex e和Spartan的配置模式表对于Spartan XL系列的FPGA,其配置模式为三种,其中当M1、M0=11时,为Slave Serial模式。本设计采用Slave Serial模式对FPGA进行配置,是基于如下几

38、个方面的考虑:1 Serial模式连线最简单;2 Slave Serial模式中,CCLK信号由主器件发起,便于CPU对FPGA进行配置;3 与并行配置相比,误操作的几率小,可靠性高CPU仅需要利用5个I/O脚与FPGA相连,就实现了Slave Serial模式中的硬件连接,具体信号见下表(信号方向从CPUFPGA侧看): 信号名I/O说明PROGRAMOIAsynchronous reset to configuration logic.INITIODelay configuration, indicate configuration clearing or error.CCLKOIConf

39、iguration clock. OutInput in MasterSlave mode.DINOISerial configuration data input.DONEIOConfiguration status and start-up control.4.5.3 一、采用Slave Serial模式对单个FPGA进行配置在Slave Serial模式中,需要将“M0、M1、M2”设置为“111”。在Slave Serial模式中,需要将“M0、M1、M2”设置为“111”。其连接关系图如图所示。对Xilinx FPGA的配置有四个主要步骤:(1) 配置存储器清空(Clearing C

40、onfiguration Memory)将管脚拉低300ns以上。当拉低后,开始配置存储器,将存储器清空。此时将被拉低,当置高后,FPGA将继续将置低直到完全清除完所有的配置存储器。当变高时,配置便可以开始了。(2) 加载配置数据(Loading Configuration Data) 当变高时,便可以配置FPGA了。配置时,先将CCLK置低,再将数据发送到DIN上,延时45ns以上,再将CCLK置高,该位数据便写入到了FPGA中(数据是低位在前),然后再准备下一次的输入。如此反复,将所有数据输入完毕为止。(3) CRC错误校验(CRC Error Checking)在加载数据过程中,嵌入到配

41、置文件中的CRC值同FPGA计算出来的值比较,若有CRC校验错误产生,则置低,且FPGA停止加载。(4) FPGA开始运行(Start-up)数据加载完毕后,继续送出CCLK时钟,等待DONE置高。当DONE置高后,FPGA将进入Start-up状态,即FPGA从配置状态转入到运行状态。配置流程如下图所示:Xilinx FPGA的下载时序图如图所示。图 Xilinx下载的时序图图Virtex、Virtex e和Spartan Slave Serial模式的时间关系图图 SpartanXL Slave Serial模式的时间关系图其操作过程如下所述:CPU按下列步骤操作I/O口线,即可完成对FP

42、GA的配置:1 设置=0,保持300ns以上,然后再设置=1。2 检测信号,如果为“1”,表明FPGA的Memory检测完毕,可开始进行配置。当在4us内未置高,FPGA需要重新配置。3 置CCLK=“0”,DIN上放置数据(低位在前),延时(45ns以上)。4 CCLK=“1”(将数据写入FPGA中),并延时45ns以上,并检测是否变低,若=0,FPGA需要重新配置。5 准备下一位数据,并重复执行步骤3、4,直到所有数据送出为止。6 继续送出时钟信号,并等待DONE置高。当DONE置高后,表明FPGA的配置已完成。若在一定时钟周期内DONE内不能置高(需要等待的最大时钟周期在DataShee

43、t中没有介绍,Xilinx的技术人员说是配置成功一般需要十几个时钟周期DONE信号便会抬高,在例程和流程图中,我们采用了等待20000个时钟周期,此时DONE还不置高,表示配置异常。),必须重新配置(从步骤1开始)。 其配置流程图如下图所示: 4.5.4 采用Slave Serial模式对多个FPGA进行配置在该模式中,需要将多个FPGA级连在一起,如图所示。 对于多个FPGA级连在一起进行配置时,若FPGA较多且输出的时钟频率也较高的话,需要加入时钟驱动芯片,将从CPU中出来的信号经过时钟驱动芯片后送入到FPGA中(对于FPGA在两片以上的,最好加入时钟驱动芯片,以便保证可靠的时钟信号)。对

44、于别的口的驱动问题不作特殊要求。将每一个FPGA都设为Slave Serial模式,同时上一级的DOUT同下一级的DIN相连。当上一级的数据配置完成后,以后输入的数据便从DOUT输出,下一级的DIN从上一级的DOUT中接收配置数据,这样一级一级配置。当所有的FPGA配置完成后,DONE才能置高。其配置时序如下图所示。Xilinx FPGA的从串多级配置的配置时序图 Xilinx FPGA的从串多级配置的配置时序图 当本片FPGA的配置数据加载完成后,DOUT选择在时钟的上升沿将数据输出。从时钟的上升沿到DOUT数据输出的时间为。见前面的配置时间关系表可以看出,对于VERTEX、VERTEX_E

45、、SPARTAN ,该时间的最大值为12ns;对于SPARTAN XL,该时间的最大值为30ns。DOUT数据的输出是在本片FPGA的配置数据加载完毕后才输出的,而且数据是选择在CCLK时钟的上升沿后由本片的FPGA这种配置方式需要将所配置的多个 *.bit文件合成一个 *.mcs文件。其合并过程如下(以Xilinx的开发平台Project Manager为例): 打开工程文件后,进入如图所示的界面。选择PROGRAMING一项,进入如下图所示的界面。再选择PROM File formatter,进入如下图所示的界面。 双击所要配置的文件(*.bit),将它加入到左边Data stream #

46、1中。注意:一定要注意文件次序,第一个*.bit文件是配置级连链路上的第一个FPGA的,第二个*.bit文件是配置级连链路上的第二个FPGA的。 然后选择File中的PROM Save as,将文件存入一个目录下。在该目录下形成的*.mcs文件即为我们所需要的配置文件。该配置过程与采用Slave Serial模式对单个FPGA进行配置的方法相同。且在CPU中的配置程序的编写也相同。 在级连模式中,我们需要注意的就是CPU的I/O口的驱动问题和各配置端口的上拉电阻的选取问题。各种Xilinx FPGA的直流电器特性见附录。其中,SPARTAN XL、SPARTAN 、VERTEX、VERTEX_

47、E的输入输出的漏极电流均为:Min=10uA;Max=10uA。其中以子模块和主要芯片为单元,画出各单元之间的连接关系,以及关键的逻辑关系;支撑整个电路的主要信号线或引出线。详细介绍上述各单元电路的基本工作原理及整个电路的工作过程。各组成部分完成的功能和指标分配,以及相应的时序图、逻辑图、信号关系、输入输出关系等。 RS-422接收器能够经受7 V的共模电压。(共模电压是输入A与B相对于地电压的平均值 )RS-485驱动器与接收器的特性与RS-422一样,它的驱动器与接收器能经受的共模电压扩展到+12 到-7 V, 因为驱动器要能够经受三态时的共模电压,而一些有三态能力的RS-422驱动器也不

48、能经受+12 到-7 V的共模电压。在我们的CDMA95与3G设计中驱动器与接收器都加了共模抑制电感。4.5.5 RS-485与RS-422典型应用电路与选择方法图4是一个典型的RS-485四线多点网络,也就是用的是全双工的488芯片。 图4 图5是一个典型的RS-485二线多点网络,也就是用的是半双工的485芯片。 图5 如果只有两个单片机做远距离通信,若对数据的处理速度要求很高的话,肯定选择全双工的488,因为这时候在只有两个单片机的情况下就无所谓谁是主机了,它们两个可以在任意时刻向对方发送数据,而不需要握手;而这时候如果用半双工的485的话,两个单片机之间必须有明确的握手协议才能正确通信

49、,握手主要是为了避免总线竞争问题,而2个单片机的全双工通信是不会产正总线竞争的,并且从协议上来讲要简单很多。 在多单片机通信系统里,情况就不一样了,这里就拿单主查询方式来说,系统只有一个主机,主机问到谁了谁才能说话,否则不准说话,其实这个原则也是为了避免总线竞争问题。这时就分成A、B两种情况了: A:系统上所有的单片机用的是全双工的488芯片,那么系统的工作过程是:主机呼叫1号子机,问有没有话要说,当1号子机察觉到呼叫的是自己后,先看看主机问的是什么问题,然后根据自己的情况作相应的回答,回答完后就继续订着总线有没有再一次呼叫到自己,当主机没有呼叫到自己时,自己是不能乱说话的,因为这时候主机有可能在和别的单片机说话,如果这时候自己乱说话的话,总线上的电平肯定乱套了,于是总线竞争就产生了,只好等待主机再一次呼叫到自己。这里面有一点需要说明,当某一子机被呼叫允许和主机说话时,因为这时候是全双工通信,所以在这个时候主机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论