CAN总线与RS-232转换接口电路设计_第1页
CAN总线与RS-232转换接口电路设计_第2页
CAN总线与RS-232转换接口电路设计_第3页
CAN总线与RS-232转换接口电路设计_第4页
CAN总线与RS-232转换接口电路设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

0摘要.ABSTRACT. 引言 .11. CAN 总线协议分析 .21.1 CAN 总线主要特点 .21.2 CAN 总线协议 .21.3 CAN 总线报文传输结构 .31.4 CAN 总线错误处理 .31.4.1 错误检测 .31.4.2 错误标定 .42. CAN 控制器 SJA1000 分析 .52.1 CAN 节点结构与 SJA1000 操作模式 .52.2 SJA1000 内部结构及其功能分析 .63. CAN 总线与 RS-232 转换接口电路设计 .113.1 CAN 总线与 RS-232 转换接口电路总体设计 .113.2 主控制模块电路设计 .123.2.1 AT89C51 与 6116 电路设计 .133.2.2 看门狗电路设计 .143.3 AT89C51 与 RS-232 转换接口电路设计 .163.3.1 RS-232-C 标准分析 .163.3.2 RS-232 与 AT89C51 接口电路设计 .183.4 SJA1000 与 AT89C51 接口电路设计 .193.4.1 SJA1000 与 AT89C51 接口电路设计 .193.4.2 物理层接口电路设计 .213.5 元器件清单 .22结论 .22致 谢 .24参考文献 .251CAN总线与RS-232转换接口电路设计引言现场总线是安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置 /系统之间的一种串行数字式多点双向通信的数据总线,多用于工空等领域,应用现场总线技术不仅可以降低系统的布线成本,还具有设计简单、调试方便等优点,同时,由于现场总线本身还提供了灵活而又功能强大的协议,这就使得用户对系统配置,设备选型具有强大的自主权,可以任意组合多种功能模块扩充系统的功能。在众多的现场工业总线中,CAN总线是一种具有国际标准而且性能价格比又较高的现场总线,它在当今自动控制领域中的应用极为广泛,并发挥着重要的作用。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN可提供高达1Mbit/s 的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。CAN通讯协议描述了在设备之间信息如何传递。它对层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯是发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN的结构定义了模型的最下面的两层:数据链路层和物理层。应用层通过不同的新型协议层(专门用于特殊的工业领域加上由个别CAN用户定义的任何合适的方案)和物理层连接。物理层和数据链路层对于设计者来说是透明的,并包含在所有执行CAN协议的部件中。实际中,许多设备是RS-232接口,为了实现CAN总线数据和RS-232接口设备数据的传输,设计完成了CAN总线与RS-232转换接口电路设计。21. CAN 总线协议分析1.1 CAN 总线主要特点CAN 总线是一种多主式的串行通信总线,具有极高的实时性和可靠行,最高通信速率可以达到 1Mbit/s,是一种十分优秀的现场工业总线。CAN 总线具有如下特点:结构简单,只有 2 根线与外部相连,且内部集成错误探测和管理模块。通信方式灵活。可以多主方式工作,网络上的其他节点发送信息,而不分主从。可以点对点、点对多点或者全局广播方式发送和接收数据。网络上的节点信息可分成不同的优先级,以满足不同的实时要求。CAN 总线通信格式采用短帧格式,每帧字节最多为 8 个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8 字节也不会占用总线时间过长,从而保证了通信的实时性。采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。这大大的节省了总线仲裁冲突的时间,杂网络负载很重的情况下也不会出现网络瘫痪。直接通信距离最大可达 10Km(速率 5Kbit/s 以下) ,最高通信速率可达 1Mbit/s(此时距离最长为 40Km) ,节点数可达 110 个,通信介质可以是双绞线、同轴电缆或光导纤维。CAN 总线通信接口中集成了 CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检测、优先级判别等多项工作。CAN 总线采用 CRC 进行数据检测并可提供相应的错误处理功能,保证了数据通信的可靠性。1.2 CAN 总线协议CAN 总线协议主要描述设备之间的信息传递方式,从结构上可分成 3 个层次,分别对应 OSI 网络模型的最低两层数据链路层和物理层。CAN 总线协议层次结构由高到低如表 1-1 所示。表 1-1CAN 总线协议层次结构协议层 对应 OSI模型 说明LLC 逻辑链路控制子层,用于为链路中的数据传输提供上层控制手 段MAC数据链路层 媒体访问控制子层,用于控制帧结构、仲裁、错误界定等数据传输的具体实现物理层 物理层 物理层的作用是在不同节点之间根据所有的电气属性进行位的 实际传输LLC 层和 MAC 层也可以看作是 CAN 总线数据链路层的两个子层。其中 LLC 层接收MAC 层传递的报文,主要完成报文滤波、过载通知以及恢复管理等工作。而 MAC 层则为数据报文的传输进行具体的控制,包括帧结构控制、总线仲裁、错误检测、出错界定、3报文收发控制等工作。物理层定义了信号是如何实际传输的,因此涉及到位时间、位编码、同步的解释,CAN 总线协议并未对物理层部分进行具体的规定。1.3 CAN 总线报文传输结构报文传输由以下4 个不同的帧类型所表示1数据帧:数据帧携带数据从发送器至接收器。数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。数据场的长度可以为0。数据帧(或远程帧)通过帧间空间与前述的各帧分开。2远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧末尾。通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传送进行初始化设置。3错误帧:任何单元检测到总线错误就发出错误帧。错误帧由两个不同的场组成。第一个场用作为不同站提供的错误标志(ERROR FLAG)的叠加。第二个场是错误界定符。为了能正确地终止错误帧,“错误被动”的节点要求总线至少有长度为3个位时间的总线空闲(如果“错误被动”的接收器有本地错误的话)。因此,总线的载荷不应为100%。有两种形式的错误标志,主动错误标志(Active error flag)和被动错误标志(Passive error flag)。4过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。过载帧包括两个位场:过载标志和过载界定符。有两种过载条件都会导致过载标志的传送:(1)接收器的内部条件(此接收器对于下一数据帧或远程帧需要有一延时)。(2)间歇场期间检测到一“显性”位。由过载条件1 而引发的过载帧只允许起始于所期望的间歇场的第一个位时间开始。而由过载条件2 引发的过载帧应起始于所检测到 “显性”位之后的位。1.4 CAN 总线错误处理1.4.1 错误检测有以下5种不同的错误类型(这5 种错误不会相互排斥)1位错误( Bit Error)单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相合,则在此位时间里检测到一个位错误。但是在仲裁场(ARBITRATION FIELD)的填充位流期间或应答间隙(ACK SLOT)发送一“隐性”位的情况是例外的。此时,当监视到一“显性”位时,不会发出位错误。当发送器发送一个被动错误标志但检测到“显性”位时,也不视为位错误。2填充错误( Struff Error)如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测4到一个填充错误。3CRC 错误(CRC Error)CRC序列包括发送器的CRC计算结果。接收器计算CRC的方法与发送器相同。如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC 错误。4形式错误( Form Error)当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误。(备注:接收器的帧末尾最后一位期间的显性位不被当作帧错误)5应答错误( Acknowledgment Error)只要在应答间隙(ACK SLOT)期间所监视的位不为“显性”,则发送器会检测到一个应答错误。1.4.2 错误标定检测到错误条件的站通过发送错误标志指示错误。对于“错误主动”的节点,错误信息为“主动错误标志”,对于“错误被动”的节点,错误信息为“被动错误标志”。站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发出错误标志信息。只要检测到的错误的条件是CRC 错误,错误标志的发送开始于ACK界定符之后的位(其他的错误条件除外)。52. CAN 控制器 SJA1000 分析2.1 CAN 节点结构与 SJA1000 操作模式SJA1000独立的CAN控制器有2个不同的操作模式:BasicCAN模式(和PCA82C200兼容);PeliCAN模式BasicCAN模式是上电后默认的操作模式。因此用PCA82C200 开发的已有硬件和软件可以直接在SJA1000上使用,而不用作任何修改。PeliCAN 模式是新的操作模式,它能够处理所有 CAN2.0B 规范的帧类型。而且它还提供一些增强功能,例如,SJA1000 支持一些错误分析功能,支持系统诊断、系统维护和系统优化,而且这个模式里也加入了对一般 CPU 的支持和系统自身测试的功能。使SJA1000 能应用于更宽的领域。本设计采用 PeliCAN 模式,因此只给出 PeliCAN 模式增强功能。如表 2-1 所示。表2-1PeliCAN模式的增强功能CAN2.0B (active) CAN2.0B active 支持带有29 位标识符的网络扩展应用发送缓冲器 有11 位或29 位标识符的报文的单报文发送缓冲器增强的验收滤波器 两个验收滤波器模式支持11 位和29 位标识符的滤波可读的错误计数器可编程的出错警告界限支持错误分析在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化错误代码捕捉寄存器出错中断仲裁丢失捕捉中断 支持系统优化包括报文延迟时间的分析单次发送 使软件命令最小化和允许快速重载发送缓冲器仅听模式 SJA1000能够作为一个认可的CAN 监控器操作,可以分析CAN 总线通信或进行自动位速率检测自测试模式 支持全部CAN 节点的功能自测试或在一个系统内的自接收通常,每个CAN模块能够被分成不同的功能块,如图2-1所示。CAN控制器执行在CAN规范里规定的完整CAN协议。它通常用于报文缓冲和验收滤6波。通用CAN收发器实现从CAN控制器到CAN总线物理层的电气连接。而所有这些CAN功能都由一个模块控制器控制,它负责执行应用层的功能。图2-1 CAN模块装置2.2 SJA1000 内部结构及其功能分析1SJA1000内部结构SJA1000内部可以分为接口管理逻辑、发送缓冲区、接收FIFO、比特流处理器、接收滤波器、定位逻辑器、错误管理逻辑、复位模块和振荡电路这几个部分组成。其内部结构和相互关系如图2-2所示。模块控制器CAN 控制器CAN 收发器传感器执行器人机接口微处理器SJA1000PCA82C250/251传感器执行器人机接口CAN 总线7图2-2 SJA1000内部结构图2SJA1000引脚功能SJA1000中共有28个外部引脚,芯片封装形式可以是DIP28,也可以是SO28。 AD7AD0(引脚2、1、2823) 这8个引脚为8位地址/ 数据端ALE/AS(引脚3) Intel模式下,该引脚为ALE信号输入端。Motorola模式下,该引脚为AS信号输入端。/CS(引脚4) 芯片片选端/RD/E(引脚5) Intel模式下,该引脚为/RD 信号输入端,Motorola模式下,该引脚为E信号输入端。/WR(引脚6) Intel模式下,该引脚为/WR信号输入端,Motorola模式下,该引脚为RD/ /WR信号输入端。CLKOUT(引脚7) SJA1000的时钟信号输入端。该时钟频率可以由SJA1000的内部时钟控制寄存器进行可编程控制,若时钟控制寄存器的Clock Off 位为1,则该引脚无效。VSS1(引脚8) 逻辑地XTAL1、 XTAL2(引脚 9、10) 外部晶振接入端。Mode(引脚11) 模式选择端。该引脚用于处理器接口的选择,当该引脚接高电平时,SJA1000 工作在Intel模式,当该引脚接低电平时,SJA1000工作在Motorola模式。VDD3(引脚12) 输出驱动器的电源端。TX0、TX1(引脚13、14) CAN输出驱动器的输出端0和输出端1。8VSS3(引脚15) 输出驱动器的接地端。/INT(引脚 16) 中断信号输出端。当产生事件且内部中断寄存器对应位被置位时,该引脚产生低电平,通知处理器产生外部中断,处理器可以通过查看中断事件寄存器来了解发生了何种中断。该引脚为集电极开路,因此多个/INT信号可以直接连接在一起产生线“或” 。/RST(引脚 17) 芯片复位端。VDD2(引脚18) 输入比较器的电源端。RX0、RX1(引脚19、20) CAN输入比较器的输入端0和输入端1。VSS2(引脚21) 输入比较器的接地端。VDD1 (引脚22) 电源端。3SJA1000寄存器及其功能SJA1000的功能配置和行为由主控制器的命令控制。因此SJA1000 能满足不同属性的CAN总线系统的要求。主控制器和SJA1000之间的数据交换经过一组寄存器(控制段)和一个RAM(报文缓冲器)完成。RAM部分的寄存器和地址窗口组成了发送和接收缓冲器,对于主控制器来说就象是外围器件寄存器。表2-2根据它们在系统的作用分组列出了SJA1000寄存器。注意,一些寄存器只在PeliCAN模式有效,控制寄存器仅在BasicCAN模式里有效。一些寄存器是只读的或只写的,还有一些只能在复位模式中访问。表2-2 SJA1000 内部寄存器的分类寄存器地址使用类型寄存器名称(符号) PeilCAN 模式BasicCAN 模式功能模式(MOD) 0 选择睡眠模式、验收滤波器模式、自测试模式、只听模式和复位模式控制(CR) 在 BasicCAN 模式里选择复位模式命令(CMR) BasicCAN 模式的睡眠模式命令选择不同的操作模式的要素时钟分频器(CDR)31 31 在 CLKOUT 设置时钟信号(引脚 7)选择 PeilCAN 模式、比较器旁路模式、TX1(管脚14)输出模式设定CAN 通讯的要素验收码(ACK)验收屏蔽(AVR)1629202345验收滤波器位的模式选择9总线定时寄存器0(BTR0)总线定时寄存器1(BTR1)6767位定时参数的设置输出控制(OCR)8 8 输出驱动器属性的选择命令(CMR) 1 1 自接收、清除数据超载、释放接收缓冲器、中止传输和传输请求的命令状态(SR) 2 2 报文缓冲器的状态、CAN 核心模块的状态中断(IR) 3 3 CAN 中断标志中断使能(IER)4 在 PeilCAN 模式使能和禁能中断控制(CR) 0 在 BasicCAN 模式使能和禁能中断事件仲裁丢失捕捉(ALC)11 显示仲裁丢失的位置错误代码捕捉(ECC)12 显示最近一次的错误类型和位置出错警告界限(EWLR)13 产生出错警告中断的阀值选择RX 错误记数(RXERR)14 反映接收错误记数器的当前值TX 错误记数(TXERR)14、15 反映发送错误计数器的当前值Rx 报文计数器(RMC)29 接收 FIFO 里的报文数量复杂的错误检测和分析的要素RX 缓冲器起始地址(RBSA)30 显示接收缓冲器提供的报文的当前内部 RAM 地址发送缓冲器(TXBUF)1628 1019信息缓冲器接收缓冲器(RXBUF)1628 2029(1)发送缓冲器/接收缓冲器在CAN总线上发送的数据被载入SJA1000的存储区,这个存储区叫“发送缓冲器”。从CAN总线上收到的数据也存储在SJA1000的存储区,这个存储区叫“接收缓冲器”,在BasicCAN模式下。这些缓冲器包括2、3或5个字节的标识符和帧信息(取决于模式和帧类10型),而最多可以包含8个数据字节。在PeliCAN模式:这些缓冲器是13个字节长(见表2-3) 1字节帧信息 2个或4个标识符字节(标准帧或扩展帧) 最多8个数据字节。表2-3是PeliCAN模式里的RX缓冲器1(读访问)和TX缓冲器(写访问2)表2-3 PeliCAN模式读访问和写访问CAN地址(十进制) 名称 组成和标注16 帧信息 1位说明,如果报文包括一个标准帧或扩展帧1位远程传输请求位4位数据长度码,说明数据字节的数量17,18 标识符字节1,2 标准帧:11位标识符扩展帧:16位标识符19,20 标识符字节3,4 仅扩展帧:13个标识符帧类型标准帧:1926扩展帧:2128数据字节18 由数据长度码说明,最多8个数据字节(2)验收滤波器独立的CAN控制器SJA1000装配了一个多功能的验收滤波器,该滤波器允许自动检查标识符和数据字节。使用这些有效的滤波方法,可以防止对于某个节点无效的报文或报文组存储在接收缓冲器里。因此降低了主控制器的处理负载。滤波器由验收码寄存器和屏蔽寄存器根据给定算法来控制。接收到的数据会和验收代码寄存器中的值进行逐位比较。接收屏蔽寄存器定义与比较相关的位的位置(0=相关1=不相关)。只有收到的报文相应位与验收代码寄存器的相应位相同,报文才会被接收。PeliCAN模式的验收滤波已被扩展:4个8位的验收码寄存器(ACR0,ACR1,ACR2和ACR3)和验收屏蔽寄存器(AMR0,AMR1,AMR2和AMR3)可以用多种方法滤波报文。报文的哪些位用于验收滤波,取决于收到的帧(标准帧或扩展帧)和选择的滤波器模式(单滤波器或双滤波器)。对于不需要经过验收滤波的报文位(例如报文组被定义为接受),验收屏蔽寄存器必须相应的位位置上置“1”。如果报文不包括数据字节(例如:是一个远程帧或者数据长度码为零)但是验收滤波包括数据字节,则如果标识符直到RTR位都有效的话,报文会被接收。113. CAN 总线与 RS-232 转换接口电路设计3.1 CAN 总线与 RS-232 转换接口电路总体设计C1+1V+2C1-3C2+4C2-5V-62Cout72Cin8251out925 1in10151 in11151out121C in131Cout14GND15VCC16MAX232r7 MAX2321F 1F1F GND1F GND162738495 DB9GNDP1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/Vpp31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40AT89C51GNDGND390 VCC 0.1f0.1fGND 24MHz20PF 20PFGND39047K GND+5V GND GND30p30p/cs1SO2/WP3GND4SI5SCK6RST7VCC8X25045GNDVCCVCCVCCVCCVCCVCC1K1K1K1KVCC1KVCCAD023AD124AD225AD326AD427AD528AD61AD72/CS4ALE3/RD5/WR6CLKOUT7INT16RST17TX013TX114RX015RX120MODE11VDD122VSS18VSS221VSS315VDD218VDD312XTAL13XTAL210SJA10000.1fTXD1RXD4Vref5Rs8GND2CANL6CANH7Vc3P82C250A08A17A26A35A44A53A62A71A823A922A1019E18G20W21D09D110D211D313D414D515D616D7176116NOTD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE1174HC373A12A25A38A411A514A617B13B26B412B515B618B39O11O24O37O410O513O616DIP6Vc 1 3456VCC GNDTLP113134 5 6VCCGND TLP113390+5V GNDGND VCC390 +5V1F图 3-1CAN 与 RS-232 接口转换电路图 3-1 为 CAN 总线与 RS-232 接口转换电路图。整个转换接口电路包括:主控制模块、RS-232 接口转换电路和 CAN 控制模块 3 个主要部分。12主控制模块处理 CAN 总线以及 RS-232 接口的数据通信和控制,利用 AT89C51 完成两种格式数据帧的交换,并对接口进行控制。RS-232 接口电路由 MAX232 芯片构成,实现将单片机串口的 TTL 电平与 RS-232 电平的相互转换。CAN控制器模块,主要完成CAN协议的物理层和数据链路层协议的实现。其中物理接口采用PCA82C250芯片实现物理层的电平转换和传输。CAN控制器使用SJA1000芯片,实现数据链路层协议。3.2 主控制模块电路设计P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/Vpp31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40AT89C51GNDGND/cs1SO2/WP3GND4SI5SCK6RST7VCC8X25045GNDVCCVCC VCCVCC1K1K1K1KVCCA08A17A26A35A44A53A62A71A823A922A1019E18G20W21D09D110D211D313D414D515D616D7176116NOTD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE1174HC373A12A25A38A411A514A617B13B26B412B515B618B39O11O24O37O410O513O616DIP6图 3-2 主控制模块电路图主控制模块负责处理 CAN 以及 RS-232 接口的数据通信与控制,利用 AT89C51 完成两种格式数据帧的交换,并对接口进行控制。如图 3-2 中所示,RS-232 与 CAN 的转接板13主要实现 RS-232 接口与 CAN 总线接口之间的数据传输,其运算量不大,因此选用可以有效降低成本的 AT89C51 作为整个设计的主控制器。AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,1000 次可擦写周期,三级加密程序存储器,128 字节内部 RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5向量中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM、定时/计数器、窜行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止所有部件工作直到下一个硬件复位。AT89C51 的电源使用+5V 电源,同时其 P3.5、P3.4 以及 P1.4P1.5 外接一个 DIP6 开关,用于设置单片机本身的地址信息。AT89C51 使用的晶振信号由 SJA1000 提供(SJA1000 用 24MHz 的片外晶振) ,SJA1000 的 CLKOUT 引脚接入 MCU 的 XTAL1 引脚。3.2.1 AT89C51 与 6116 电路设计图3-3AT89C51与6116连接电路图由于 CAN 总线速率与 RS-232 接口速率并不相同,因此设计中还增加了片外 RAM 芯片 6116,用作转换双方的数据缓冲区。设计中使用 P2.7 接反向器连接 6116 的片选端,所以接口转换电路中的片外 RAM 的起始地址实际上应为 0X8000。AT89C51 通过数据总线、地址总线及控制总线与存储器连接,如图 3-4 所示:图 3-4 片外存储器原理框图本设计中选用的是 6116。6116 为 2KX8 位的静态 RAM,其逻辑图 3-5 如下:AT89C51存储器地址总线控制总线数据总线P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RST/VPD9 P3.0/RxD10P3.1/TxD11 P3.2/INT012P3.3/INT113 P3.4/T014P3.5/T115 P3.6/WR16P3.7/RD17 XTAL218XTAL119 GND20 P2.0 21P2.1 22P2.223P2.3 24P2.4 25P2.526P2.6 27P2.7 28PSEN29ALE/PROG 30EA/Vpp 31P0.732P0.6 33P0.5 34P0.435P0.3 36P0.2 37P0.138P0.0 39VCC 40AT89C51GNDGNDVCCA08 A17A26 A35A44 A53A62 A71A823 A922A1019E18 G20 W21D0 9D1 10D2 11D3 13D4 14D5 15D6 16D7 176116NOTD03 Q0 2D14 Q1 5D27 Q2 6D38 Q3 9D413 Q4 12D514 Q5 15D617 Q6 16D718 Q7 19OE1 LE1174HC37314图 3-5 片外 RAM6116 逻辑图其中 A0A10 为 11 根地址线,I/OI/O7 为 8 根数据线,/E 为片选端,当/E 低电平有效时才能选中芯片。/G 为数据输出选通端,/W 为写信号端。其工作方式见表 3-1:表 3-1 片外数据存储器工作方式控制信号 /E /G /W读 0 0 1写 0 1 0非选通 1 3.2.2 看门狗电路设计一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。硬件看门狗是真正意义上的“ 程序运行监视器 ”,如计数型的看门狗电路通常由 555 多谐振荡器、计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。所以本设计使用带有 SPI 总线接口的 X25045 实现硬件看门狗功能。图 3-6 X25045 芯片图1X25045 引脚功能/CS: 片选择输入SO: 串行输出,数据由此引脚逐位输出SI: 串行输入,数据或命令由此引脚逐位写入 X25045SCK: 串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出/WP: 写保护输入。当它低电平时,写操作被禁止Vss: 地Vcc: 电源电压RESET:复位输出2X25045 的特性6116A010 VCCI/O07/W/G/E GNDS1/cs1SO2/WP3GND4 SI 5SCK 6RST 7VCC 8X2504515可选时间的看门狗定时器 VCC 的降压检测和复位控制5 种标准的开始复位电压使用特定的编程顺序即可对低电压检测和复位开始电压进行编程 复位电压可低至 VCC=1V 省电特性在看门狗打开时,电源小于50uA在看门狗关闭时,电源小于 10uA在读操作时,电源小于2mA4K位EEPROM 1000000次的擦写周期具有数据的块保护功能,可以保护1/4、1/2或全部的EEPROM,当然也可以置于不保护状态内建防误写措施用指令允许写操作写保护引脚时钟可达3.3M短的编程时间16字节的页写模式写时由器件内部自动完成典型的器件写周期为5ms3X25045功能如图3-7 所示,X25045将四种功能合于一体,上电复位控制、看门狗定时器、降压管理以及具有块保护功能的串行EEPROM,它有助于简化转换接口的设计,减少印制板的占用面积,提高可靠行。图3-7 X25045内部结构图该芯片内的串行 EEPROM 具有块锁保护 COMS 串行 EEPROM,它被组织成 8 位的结构,它由一个由四线构成的 SPI 总线方式进行操作,其擦写周期至少有 1000000 次,并且写好的数据能够保存 100 年。X25045 在读写操作之前,需要先向它发出指令,指令名及指令格式如表 3-2 所示。16表 3-2X25045 读写操作指令表指令名 指令格式 操作WREN 00000110 设置写使能锁存器(允许写操作)WRDI 00000100 复位写使能锁存器(禁止写操作)RDSR 00000101 读状态寄存器WRSR 00000001 写状态寄存器READ 0000A8011 把开始于所选地址的寄存器中的数据读出WRITE 0000A8010 把数据写入开始所选地址的寄存器4看门狗芯片 X25045 与 AT89C51 接口电路设计/cs1 SO2/WP3 GND4 SI 5SCK 6RST 7VCC 8X25045P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RST/VPD9 P3.0/RxD10P3.1/TxD11 P3.2/INT012P3.3/INT113 P3.4/T014P3.5/T115 P3.6/WR16P3.7/RD17 XTAL218XTAL119 GND20 P2.0 21P2.1 22P2.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28PSEN 29ALE/PROG 30EA/Vpp 31P0.7 32P0.6 33P0.5 34P0.4 35P0.3 36P0.2 37P0.1 38P0.0 39VCC 4089C51GNDVCCVCCVCCgnd1K1K1K 1KVCC图 3-8 X25045 与 AT89C51 接口电路图如图 3-8 所示,X25045 的 4 个主要引脚/CS、SCK、SI 、SO 分别对应连接 AT89C51的 P1.0P1.3 脚,这些引脚还应该连上拉电阻。/WP 接高电平,使 X25045 始终保持写保护输入状态。X25045 芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则 X25045 将从 RESET 输出一个高电平信号给AT89C51,使其复位。3.3 AT89C51 与 RS-232 转换接口电路设计3.3.1 RS-232-C 标准分析RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中 EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232 是标识号,C 代表 RS232 的最新一次修改(1969) ,在这之前,有 RS232B、RS232A。 。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有 EIA�;RS-232-C、EIA� ;RS-422-A 、EIA�;RS-423A、EIA�;RS-485。这里只介绍EIA�;RS-232-C(简称 232,RS232 ) 。例如,目前在 IBM PC 机上的 COM1、COM2接口,就是 RS-232C 接口。1RS-232 电气特性EIA-RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。在 TxD 和 RxD 上:逻辑 1(MARK)=-3V-15V17逻辑 0(SPACE)=+315V在 RTS、CTS、DSR、DTR 和 DCD 等控制线上:信号有效(接通,ON 状态,正电压)+3V+15V信号无效(断开,OFF 状态,负电压)=-3V-15V以上规定说明了 RS-323C 标准对逻辑电平的定义。对于数据(信息码):逻辑 “1”(MARK)的电平低于-3V,逻辑“0”(SPACE)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于 3V 时,电路可以有效地检查出来,介于 -3+3V 之间的电压无意义,低于-15V 或高于+15V 的电压也认为无意义,因此,实际工作时,应保证电平在(315)V 之间。EIA-RS-232C 与 TTL 转换:EIA-RS-232C 是用正负电压来表示逻辑状态,与 TTL 以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的 TTL 器件连接,必须在 EIA-RS-232C 与 TTL 电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。本文采用集成电路芯片 MAX2322RS-232 机械特性:由于 RS-232C 并未定义连接器的物理特性,因此,出现了 DB-25、DB-15 和 DB-9 各种类型的连接器,其引脚的定义也各不相同。下面仅介绍 DB-9 连接器。在 AT 机及以后,不支持 20mA 电流环接口,使用 DB-9 连接器,作为提供多功能I/O 卡或主板上 COM1 和 COM2 两个串行接口的连接器。它只提供异步通信的 9 个信号。在通信速率低于 20kb/s 时,RS-232C 所直接连接的最大物理距离为 15m(50 英尺) 。RS-232C 标准规定,若不使用 MODEM,在码元畸变小于 4%的情况下,DTE 和DCE 之间最大传输距离为 15m(50 英尺) 。可见这个最大的距离是在码元畸变小于 4%的前提下给出的。为了保证码元畸变小于 4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于 2500pF3RS-232C 接口信号RS-232C 标准接口有 25 条线, 4 条数据线、11 条控制线、 3 条定时线、7 条备用和未定义线,常用的只有 9 根,它们是:(1)联络控制信号线数据装置准备好(Data set ready-DSR)有效时(ON)状态,表明MODEM处于可以使用的状态。数据终端准备好(Data set ready-DTR)有效时( ON)状态,表明数据终端可以使用。请求发送(Request to send-RTS)用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态) ,向MODEM 请求发送。它用来控制MODEM是否要进入发送状态。允许发送(Clear to send-CTS)用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS 的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。18接收线信号检出(Received Line detection-RLSD)用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM 送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM 将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD 送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。振铃指示(Ringing-RI)当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态) ,通知终端,已被呼叫。(2)数据发送与接收线发送数据(Transmitted data-TxD)通过TxD终端将串行数据发送到MODEM,(DTEDCE)。接收数据(Received data-RxD)通过RxD线终端接收从MODEM 发来

温馨提示

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

评论

0/150

提交评论