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

下载本文档

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

文档简介

1、0 摘要摘要. . abstract. 引言引言.1 1. can 总线协议分析总线协议分析.2 1.1 can 总线主要特点 .2 1.2 can 总线协议 .2 1.3 can 总线报文传输结构 .3 1.4 can 总线错误处理 .3 1.4.1 错误检测.3 1.4.2 错误标定.4 2. can 控制器控制器 sja1000 分析分析 .5 2.1 can 节点结构与 sja1000 操作模式.5 2.2 sja1000 内部结构及其功能分析.6 3. can 总线与总线与 rs-232 转换接口电路设计转换接口电路设计.11 3.1 can 总线与 rs-232 转换接口电路总体设

2、计.11 3.2 主控制模块电路设计.12 3.2.1 at89c51 与 6116 电路设计.13 3.2.2 看门狗电路设计.14 3.3 at89c51 与 rs-232 转换接口电路设计.16 3.3.1 rs-232-c 标准分析.16 3.3.2 rs-232 与 at89c51 接口电路设计.18 3.4 sja1000 与 at89c51 接口电路设计.19 3.4.1 sja1000 与 at89c51 接口电路设计.19 3.4.2 物理层接口电路设计.21 3.5 元器件清单.22 结论结论.22 致致 谢谢.24 参考文献参考文献.25 1 can总线与rs-232转换

3、接口电路设计 引言 现场总线是安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置/系统之 间的一种串行数字式多点双向通信的数据总线,多用于工空等领域,应用现场总线技术 不仅可以降低系统的布线成本,还具有设计简单、调试方便等优点,同时,由于现场总 线本身还提供了灵活而又功能强大的协议,这就使得用户对系统配置,设备选型具有强 大的自主权,可以任意组合多种功能模块扩充系统的功能。在众多的现场工业总线中, can总线是一种具有国际标准而且性能价格比又较高的现场总线,它在当今自动控制领 域中的应用极为广泛,并发挥着重要的作用。一个由can总线构成的单一网络中,理论 上可以挂接无数个节点。实际应用

4、中,节点数目受网络硬件的电气特性所限制。can可 提供高达1mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定 特性也增强了can的抗电磁干扰能力。 can通讯协议描述了在设备之间信息如何传递。它对层的定义与开放系统互连模型 (osi)一致。每一层与另一设备上相同的那一层通讯。实际的通讯是发生在每一设备上相 邻的两层,而设备只通过模型物理层的物理介质互连。can的结构定义了模型的最下面 的两层:数据链路层和物理层。应用层通过不同的新型协议层(专门用于特殊的工业领 域加上由个别can用户定义的任何合适的方案)和物理层连接。物理层和数据链路层对 于设计者来说是透明的,并包含

5、在所有执行can协议的部件中。 实际中,许多设备是rs-232接口,为了实现can总线数据和rs-232接口设备数据的传 输,设计完成了can总线与rs-232转换接口电路设计。 2 1. can 总线协议分析 1.11.1 cancan 总线主要特点总线主要特点 can 总线是一种多主式的串行通信总线,具有极高的实时性和可靠行,最高通信速 率可以达到 1mbit/s,是一种十分优秀的现场工业总线。can 总线具有如下特点: 结构简单,只有 2 根线与外部相连,且内部集成错误探测和管理模块。 通信方式灵活。可以多主方式工作,网络上的其他节点发送信息,而不分主从。 可以点对点、点对多点或者全局广

6、播方式发送和接收数据。 网络上的节点信息可分成不同的优先级,以满足不同的实时要求。 can 总线通信格式采用短帧格式,每帧字节最多为 8 个,可满足通常工业领域中控 制命令、工作状态及测试数据的一般要求。同时,8 字节也不会占用总线时间过长,从而 保证了通信的实时性。 采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节 点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。这大大的节省了 总线仲裁冲突的时间,杂网络负载很重的情况下也不会出现网络瘫痪。 直接通信距离最大可达 10km(速率 5kbit/s 以下) ,最高通信速率可达 1mbit/s(此 时距离最长为

7、 40km) ,节点数可达 110 个,通信介质可以是双绞线、同轴电缆或光导纤 维。 can 总线通信接口中集成了 can 协议的物理层和数据链路层功能,可完成对通信数 据的成帧处理,包括位填充、数据块编码、循环冗余检测、优先级判别等多项工作。 can 总线采用 crc 进行数据检测并可提供相应的错误处理功能,保证了数据通信的 可靠性。 1.21.2 cancan 总线协议总线协议 can 总线协议主要描述设备之间的信息传递方式,从结构上可分成 3 个层次,分别 对应 osi 网络模型的最低两层数据链路层和物理层。can 总线协议层次结构由高到低如 表 1-1 所示。 表表 1-1can 总线

8、协议层次结构总线协议层次结构 协议层 对应 osi 模型 说明 llc 逻辑链路控制子层,用于为链路中的数据传输提供上层控制手 段 mac 数据链路 层媒体访问控制子层,用于控制帧结构、仲裁、错误界定等数据 传输的具体实现 物理层物理层 物理层的作用是在不同节点之间根据所有的电气属性进行位的 实际传输 llc 层和 mac 层也可以看作是 can 总线数据链路层的两个子层。其中 llc 层接收 mac 层传递的报文,主要完成报文滤波、过载通知以及恢复管理等工作。而 mac 层则 为数据报文的传输进行具体的控制,包括帧结构控制、总线仲裁、错误检测、出错界定、 3 报文收发控制等工作。 物理层定义

9、了信号是如何实际传输的,因此涉及到位时间、位编码、同步的解释, can 总线协议并未对物理层部分进行具体的规定。 1.31.3 cancan 总线报文传输结构总线报文传输结构 报文传输由以下4个不同的帧类型所表示 1数据帧:数据帧携带数据从发送器至接收器。 数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、crc场、应答场、 帧结尾。数据场的长度可以为0。数据帧(或远程帧)通过帧间空间与前述的各帧分开。 2远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。 远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、crc场、应答场、帧末尾。 通过发送远程帧,作为某数据接收器的站通

10、过其资源节点对不同的数据传送进行初始化 设置。 3错误帧:任何单元检测到总线错误就发出错误帧。 错误帧由两个不同的场组成。第一个场用作为不同站提供的错误标志(error flag)的叠加。第二个场是错误界定符。 为了能正确地终止错误帧,“错误被动”的节点要求总线至少有长度为3个位时间的 总线空闲(如果“错误被动”的接收器有本地错误的话)。因此,总线的载荷不应为100%。 有两种形式的错误标志,主动错误标志(active error flag)和被动错误标志(passive error flag)。 4过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。 过载帧包括两个位场

11、:过载标志和过载界定符。 有两种过载条件都会导致过载标志的传送: (1)接收器的内部条件(此接收器对于下一数据帧或远程帧需要有一延时)。 (2)间歇场期间检测到一“显性”位。 由过载条件1 而引发的过载帧只允许起始于所期望的间歇场的第一个位时间开始。 而由过载条件2引发的过载帧应起始于所检测到“显性”位之后的位。 1.41.4 cancan 总线错误处理总线错误处理 1.4.1 错误检测错误检测 有以下5种不同的错误类型(这5种错误不会相互排斥) 1位错误(bit error) 单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相合, 则在此位时间里检测到一个位错误。但是在仲

12、裁场(arbitration field)的填充位流 期间或应答间隙(ack slot)发送一“隐性”位的情况是例外的。此时,当监视到一 “显性”位时,不会发出位错误。当发送器发送一个被动错误标志但检测到“显性”位 时,也不视为位错误。 2填充错误(struff error) 如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测 4 到一个填充错误。 3crc错误(crc error) crc序列包括发送器的crc计算结果。接收器计算crc的方法与发送器相同。如果 计算结果与接收到crc序列的结果不相符,则检测到一个crc错误。 4形式错误(form error) 当一个

13、固定形式的位场含有1个或多个非法位,则检测到一个形式错误。(备注:接收 器的帧末尾最后一位期间的显性位不被当作帧错误) 5应答错误(acknowledgment error) 只要在应答间隙(ack slot)期间所监视的位不为“显性”,则发送器会检测到一 个应答错误。 1.4.2 错误标定错误标定 检测到错误条件的站通过发送错误标志指示错误。对于“错误主动”的节点,错误 信息为“主动错误标志”,对于“错误被动”的节点,错误信息为“被动错误标志”。 站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发 出错误标志信息。只要检测到的错误的条件是crc错误,错误标志的发送开

14、始于ack界 定符之后的位(其他的错误条件除外)。 5 2. can 控制器 sja1000 分析 2.12.1 cancan 节点结构与节点结构与 sja1000sja1000 操作模式操作模式 sja1000独立的can控制器有2个不同的操作模式: basiccan模式(和pca82c200兼容); pelican模式 basiccan模式是上电后默认的操作模式。因此用pca82c200开发的已有硬件和软 件可以直接在sja1000上使用,而不用作任何修改。 pelican 模式是新的操作模式,它能够处理所有 can2.0b 规范的帧类型。而且它还 提供一些增强功能,例如,sja1000

15、支持一些错误分析功能,支持系统诊断、系统维护 和系统优化,而且这个模式里也加入了对一般 cpu 的支持和系统自身测试的功能。使 sja1000 能应用于更宽的领域。 本设计采用 pelican 模式,因此只给出 pelican 模式增强功能。如表 2-1 所示。 表表2-1pelican模式的增强功能模式的增强功能 can2.0b (active)can2.0b active 支持带有29 位标识符的网络扩 展应用 发送缓冲器有11 位或29 位标识符的报文的单报文发送缓 冲器 增强的验收滤波器两个验收滤波器模式支持11 位和29 位标识符 的滤波 可读的错误计数器 可编程的出错警告界限 支持

16、错误分析在原型阶段和在正常操作期间可 用于:诊断、系统维护、系统优化 错误代码捕捉寄存器 出错中断 仲裁丢失捕捉中断支持系统优化包括报文延迟时间的分析 单次发送使软件命令最小化和允许快速重载发送缓冲器 仅听模式sja1000能够作为一个认可的can 监控器操作, 可以分析can 总线通信或进行自动位速率检测 自测试模式支持全部can 节点的功能自测试或在一个系统 内的自接收 通常,每个can模块能够被分成不同的功能块,如图2-1所示。 can控制器执行在can规范里规定的完整can协议。它通常用于报文缓冲和验收滤 6 波。 通用can收发器实现从can控制器到can总线物理层的电气连接。 而所

17、有这些can功能都由一个模块控制器控制,它负责执行应用层的功能。 图图2-1 can模块装置模块装置 2.22.2 sja1000sja1000 内部结构内部结构及其功能分析及其功能分析 1sja1000内部结构 sja1000内部可以分为接口管理逻辑、发送缓冲区、接收fifo、比特流处理器、接 收滤波器、定位逻辑器、错误管理逻辑、复位模块和振荡电路这几个部分组成。其内部 结构和相互关系如图2-2所示。 模块控制器 can 控制器 can 收发器 传感器 执行器 人机接口 微处理器 sja1000 pca82c250/251 传感器 执行器 人机接口 can 总线 7 图图2-2 sja100

18、0内部结构图内部结构图 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信号输入端。 clk

19、out(引脚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。 8 vss3(引脚15) 输出

20、驱动器的接地端。 /int(引脚16) 中断信号输出端。当产生事件且内部中断寄存器对应位被置位时, 该引脚产生低电平,通知处理器产生外部中断,处理器可以通过查看中断事件寄存器来 了解发生了何种中断。该引脚为集电极开路,因此多个/int信号可以直接连接在一起产生 线“或” 。 /rst(引脚17) 芯片复位端。 vdd2(引脚18) 输入比较器的电源端。 rx0、rx1(引脚19、20) can输入比较器的输入端0和输入端1。 vss2(引脚21) 输入比较器的接地端。 vdd1 (引脚22) 电源端。 3sja1000寄存器及其功能 sja1000的功能配置和行为由主控制器的命令控制。因此sj

21、a1000能满足不同属性的 can总线系统的要求。主控制器和sja1000之间的数据交换经过一组寄存器(控制段)和 一个ram(报文缓冲器)完成。ram部分的寄存器和地址窗口组成了发送和接收缓冲器, 对于主控制器来说就象是外围器件寄存器。 表2-2根据它们在系统的作用分组列出了sja1000寄存器。 注意,一些寄存器只在pelican模式有效,控制寄存器仅在basiccan模式里有效。 一些寄存器是只读的或只写的,还有一些只能在复位模式中访问。 表表2-2 sja1000 内部寄存器的分类内部寄存器的分类 寄存器地址使用类 型 寄存器名称(符 号)peilcan 模 式 basiccan 模

22、式 功能 模式(mod)0选择睡眠模式、验收滤波器 模式、自测试模式、只听模 式和复位模式 控制(cr)在 basiccan 模式里选择复位 模式 命令(cmr)basiccan 模式的睡眠模式命 令 选择不 同的操 作模式 的要素 时钟分频器 (cdr) 3131在 clkout 设置时钟信号(引 脚 7)选择 peilcan 模式、 比较器旁路模式、tx1(管脚 14)输出模式 设定 can 通 讯的要 素 验收码(ack) 验收屏蔽 (avr) 1629 2023 4 5 验收滤波器位的模式选择 9 总线定时寄存器 0(btr0) 总线定时寄存器 1(btr1) 6 7 6 7 位定时参

23、数的设置 输出控制 (ocr) 88输出驱动器属性的选择 命令(cmr)11自接收、清除数据超载、释 放接收缓冲器、中止传输和 传输请求的命令 状态(sr)22报文缓冲器的状态、can 核 心模块的状态 中断(ir)33can 中断标志 中断使能 (ier) 4在 peilcan 模式使能和禁能 中断 控制(cr)0在 basiccan 模式使能和禁能 中断事件 仲裁丢失捕捉 (alc) 11显示仲裁丢失的位置 错误代码捕捉 (ecc) 12显示最近一次的错误类型和 位置 出错警告界限 (ewlr) 13产生出错警告中断的阀值选 择 rx 错误记数 (rxerr) 14反映接收错误记数器的当前

24、 值 tx 错误记数 (txerr) 14、15反映发送错误计数器的当前 值 rx 报文计数器 (rmc) 29接收 fifo 里的报文数量 复杂的 错误检 测和分 析的要 素 rx 缓冲器起始地 址(rbsa) 30显示接收缓冲器提供的报文 的当前内部 ram 地址 发送缓冲器 (txbuf) 16281019信息缓 冲器 接收缓冲器 (rxbuf) 16282029 (1)发送缓冲器/接收缓冲器 在can总线上发送的数据被载入sja1000的存储区,这个存储区叫“发送缓冲器”。 从can总线上收到的数据也存储在sja1000的存储区,这个存储区叫“接收缓冲器”,在 basiccan模式下。

25、这些缓冲器包括2、3或5个字节的标识符和帧信息(取决于模式和帧类 10 型),而最多可以包含8个数据字节。 在pelican模式:这些缓冲器是13个字节长(见表2-3) 1字节帧信息 2个或4个标识符字节(标准帧或扩展帧) 最多8个数据字节。 表2-3是pelican模式里的rx缓冲器1(读访问)和tx缓冲器(写访问2) 表表2-32-3 pelicanpelican模式读访问和写访问模式读访问和写访问 can地址(十进制) 名称组成和标注 16 帧信息1位说明,如果报文包括一个标准帧或扩展帧 1位远程传输请求位 4位数据长度码,说明数据字节的数量 17,18标识符字节1,2标准帧:11位标识

26、符 扩展帧:16位标识符 19,20标识符字节3,4仅扩展帧:13个标识符 帧类型 标准帧:1926 扩展帧:2128 数据字节18由数据长度码说明,最多8个数据字节 (2)验收滤波器 独立的can控制器sja1000装配了一个多功能的验收滤波器,该滤波器允许自动检查 标识符和数据字节。使用这些有效的滤波方法,可以防止对于某个节点无效的报文或报 文组存储在接收缓冲器里。因此降低了主控制器的处理负载。 滤波器由验收码寄存器和屏蔽寄存器根据给定算法来控制。接收到的数据会和验收 代码寄存器中的值进行逐位比较。接收屏蔽寄存器定义与比较相关的位的位置(0=相关 1=不相关)。只有收到的报文相应位与验收代

27、码寄存器的相应位相同,报文才会被接收。 pelican模式的验收滤波已被扩展:4个8位的验收码寄存器(acr0,acr1,acr2和 acr3)和验收屏蔽寄存器(amr0,amr1,amr2和amr3)可以用多种方法滤波报文。报文 的哪些位用于验收滤波,取决于收到的帧(标准帧或扩展帧)和选择的滤波器模式(单 滤波器或双滤波器)。对于不需要经过验收滤波的报文位(例如报文组被定义为接受), 验收屏蔽寄存器必须相应的位位置上置“1”。 如果报文不包括数据字节(例如:是一个远程帧或者数据长度码为零)但是验收滤 波包括数据字节,则如果标识符直到rtr位都有效的话,报文会被接收。 11 3. can 总线

28、与 rs-232 转换接口电路设计 3.13.1 cancan 总线与总线与 rs-232rs-232 转换接口转换接口电路总体设计电路总体设计 c1+ 1 v+ 2 c1- 3 c2+ 4 c2- 5 v- 6 2cout 7 2cin 8 251out 9 25 1in 10 151 in 11 151out 12 1c in 13 1cout 14 gnd 15 vcc 16 max232 r7 max232 1f 1f 1f gnd 1f gnd 1 6 2 7 3 8 4 9 5 db9 gnd p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1

29、.6 7 p1.7 8 rst/vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal2 18 xtal1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale/prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 v

30、cc 40 at89c51 gnd gnd 390 vcc 0.1f 0.1f gnd 24mh z 20pf 20pf gnd 39047k gnd +5v gnd gnd 30p 30p /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 gnd vcc vcc vcc vcc vcc vcc 1k1k1k1k vcc 1k vcc ad0 23 ad1 24 ad2 25 ad3 26 ad4 27 ad5 28 ad6 1 ad7 2 /cs 4 ale 3 /rd 5 /wr 6 clko ut 7 int 16 rst 17 t

31、x0 13 tx1 14 rx0 15 rx1 20 mode 11 vdd1 22 vss1 8 vss2 21 vss3 15 vdd2 18 vdd3 12 xtal1 3 xtal2 10 sja1000 0.1f txd 1 rxd 4 vref 5 rs 8 gnd 2 canl 6 canh 7 vcc 3 p82c250 a0 8 a1 7 a2 6 a3 5 a4 4 a5 3 a6 2 a7 1 a8 23 a9 22 a10 19 e 18 g 20 w 21 d0 9 d1 10 d2 11 d3 13 d4 14 d5 15 d6 16 d7 17 6116 not

32、d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 74hc373 a1 2 a2 5 a3 8 a4 11 a5 14 a6 17 b1 3 b2 6 b4 12 b5 15 b6 18 b3 9 o1 1 o2 4 o3 7 o4 10 o5 13 o6 16 dip6 vccvcc 1 3 4 5 6 vcc gnd tlp113 1 3 4 5 6 vcc gnd tlp113 390 +5v gnd gnd vcc 390 +5v 1f 图

33、图 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芯

34、片实现物理层的电平转换和传输。can控制器使用sja1000芯片, 实现数据链路层协议。 3.23.2 主控制模块主控制模块电路设计电路设计 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst/vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal2 18 xtal1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5

35、 26 p2.6 27 p2.7 28 psen 29 ale/prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89c51 gnd gnd /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 gnd vcc vcc vcc vcc 1k1k1k1k vcc a0 8 a1 7 a2 6 a3 5 a4 4 a5 3 a6 2 a7 1 a8 23 a9 22 a10 19 e 18 g 20 w 21 d0

36、9 d1 10 d2 11 d3 13 d4 14 d5 15 d6 16 d7 17 6116 not d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 74hc373 a1 2 a2 5 a3 8 a4 11 a5 14 a6 17 b1 3 b2 6 b4 12 b5 15 b6 18 b3 9 o1 1 o2 4 o3 7 o4 10 o5 13 o6 16 dip6 图图 3-2 主控制模块电路图主控制模块电路图 主控制模块负责处理 ca

37、n 以及 rs-232 接口的数据通信与控制,利用 at89c51 完成 两种格式数据帧的交换,并对接口进行控制。如图 3-2 中所示,rs-232 与 can 的转接板 13 主要实现 rs-232 接口与 can 总线接口之间的数据传输,其运算量不大,因此选用可以 有效降低成本的 at89c51 作为整个设计的主控制器。 at89c51 提供以下标准功能:4k 字节 flash 闪速存储器,1000 次可擦写周期,三级 加密程序存储器,128 字节内部 ram,32 个 i/o 口线,两个 16 位定时/计数器,一个 5 向量中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at

38、89c51 可降 至 0hz 的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止 cpu 的 工作,但允许 ram、定时/计数器、窜行通信口及中断系统继续工作。掉电方式保存 ram 中的内容,但振荡器停止工作并禁止所有部件工作直到下一个硬件复位。 at89c51 的电源使用+5v 电源,同时其 p3.5、p3.4 以及 p1.4p1.5 外接一个 dip6 开 关,用于设置单片机本身的地址信息。 at89c51 使用的晶振信号由 sja1000 提供(sja1000 用 24mhz 的片外晶振) , sja1000 的 clkout 引脚接入 mcu 的 xtal1 引脚。 3.

39、2.1 at89c51 与与 6116 电路设计电路设计 图图3-3at89c513-3at89c51与与61166116连接电路图连接电路图 由于 can 总线速率与 rs-232 接口速率并不相同,因此设计中还增加了片外 ram 芯 片 6116,用作转换双方的数据缓冲区。设计中使用 p2.7 接反向器连接 6116 的片选端, 所以接口转换电路中的片外 ram 的起始地址实际上应为 0x8000。 at89c51 通过数据总线、地址总线及控制总线与存储器连接,如图 3-4 所示: 图图 3-4 片外存储器原理框图片外存储器原理框图 本设计中选用的是 6116。6116 为 2kx8 位的

40、静态 ram,其逻辑图 3-5 如下: at89c 51 存储器 地址总线 控制总线 数据总线 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst /vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28

41、psen 29 ale /prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89c51 gnd gnd vcc a0 8 a1 7 a2 6 a3 5 a4 4 a5 3 a6 2 a7 1 a8 23 a9 22 a10 19 e 18 g 20 w 21 d0 9 d1 10 d2 11 d3 13 d4 14 d5 15 d6 16 d7 17 6116 not d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4

42、 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 74hc373 14 图图 3-5 片外片外 ram6116 逻辑图逻辑图 其中 a0a10 为 11 根地址线,i/oi/o7 为 8 根数据线,/e 为片选端,当/e 低电平有 效时才能选中芯片。/g 为数据输出选通端,/w 为写信号端。其工作方式见表 3-1: 表表 3-1 片外数据存储器工作方式片外数据存储器工作方式 控制信号 /e/g/w 读 001 写 010 非选通 1 3.2.2 看门狗电路设计看门狗电路设计 一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统

43、需要 出让一个定时器资源,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。硬件 看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由 555 多谐振荡器、 计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。 所以本设计使用带有 spi 总线接口的 x25045 实现硬件看门狗功能。 图图 3-6 x25045 芯片图芯片图 1x25045 引脚功能 /cs: 片选择输入 so: 串行输出,数据由此引脚逐位输出 si: 串行输入,数据或命令由此引脚逐位写入 x25045 sck: 串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出 /wp: 写

44、保护输入。当它低电平时,写操作被禁止 vss: 地 vcc: 电源电压 reset:复位输出 2x25045 的特性 6116 a010 vcc i/o07 /w /g /e gnd s1 /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 15 可选时间的看门狗定时器 vcc 的降压检测和复位控制 5 种标准的开始复位电压 使用特定的编程顺序即可对低电压检测和复位开始电压进行编程 复位电压可低至 vcc=1v 省电特性 在看门狗打开时,电源小于50ua 在看门狗关闭时,电源小于 10ua 在读操作时,电源小于2ma 4k位eeprom 1

45、000000次的擦写周期 具有数据的块保护功能,可以保护1/4、1/2或全部的eeprom,当然也可以置于不保 护状态 内建防误写措施 用指令允许写操作 写保护引脚 时钟可达3.3m 短的编程时间 16字节的页写模式 写时由器件内部自动完成 典型的器件写周期为5ms 3x25045功能 如图3-7所示,x25045将四种功能合于一体,上电复位控制、看门狗定时器、降压管 理以及具有块保护功能的串行eeprom,它有助于简化转换接口的设计,减少印制板的 占用面积,提高可靠行。 图图3-73-7 x25045x25045内部结构图内部结构图 该芯片内的串行 eeprom 具有块锁保护 coms 串行

46、 eeprom,它被组织成 8 位的 结构,它由一个由四线构成的 spi 总线方式进行操作,其擦写周期至少有 1000000 次,并 且写好的数据能够保存 100 年。 x25045 在读写操作之前,需要先向它发出指令,指令名及指令格式如表 3-2 所示。 16 表表 3-2x25045 读写操作指令表读写操作指令表 指令名指令格式操作 wren00000110设置写使能锁存器(允许写操作) wrdi00000100复位写使能锁存器(禁止写操作) rdsr00000101读状态寄存器 wrsr00000001写状态寄存器 read0000a8011把开始于所选地址的寄存器中的数据读出 writ

47、e0000a8010把数据写入开始所选地址的寄存器 4看门狗芯片 x25045 与 at89c51 接口电路设计 /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst /vp d 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p

48、2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 ps en 29 ale /p rog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 89c51 gnd vcc vcc vcc gnd 1k 1k 1k1k vcc 图图 3-8 x25045 与与 at89c51 接口电路图接口电路图 如图 3-8 所示,x25045 的 4 个主要引脚/cs、sck、si、so 分别对应连接 at89c51 的

49、 p1.0p1.3 脚,这些引脚还应该连上拉电阻。/wp 接高电平,使 x25045 始终保持写保 护输入状态。 x25045 芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门 狗定时器预置的时间内若没有总线活动,则 x25045 将从 reset 输出一个高电平信号给 at89c51,使其复位。 3.33.3 at89c51at89c51 与与 rs-232rs-232 转换接口电路设计转换接口电路设计 3.3.1 rs-232-c 标准分析标准分析 rs-232c 标准(协议)的全称是 eia-rs-232c 标准,其中 eia(electronic industry a

50、ssociation)代表美国电子工业协会,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 电

51、气特性 eia-rs-232c 对电器特性、逻辑电平和各种信号线功能都作了规定。 在 txd 和 rxd 上:逻辑 1(mark)=-3v-15v 17 逻辑 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)即信

52、号无效的电平低于-3v,也就 是当传输电平的绝对值大于 3v 时,电路可以有效地检查出来,介于-3+3v 之间的电压 无意义,低于-15v 或高于+15v 的电压也认为无意义,因此,实际工作时,应保证电平在 (315)v 之间。 eia-rs-232c 与 ttl 转换:eia-rs-232c 是用正负电压来表示逻辑状态,与 ttl 以 高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的 ttl 器件连 接,必须在 eia-rs-232c 与 ttl 电路之间进行电平和逻辑关系的变换。实现这种变换的 方法可用分立元件,也可用集成电路芯片。本文采用集成电路芯片 max232 2r

53、s-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 之间最大

54、传输距离为 15m(50 英尺) 。可见这个最大的距离是在码元畸变小于 4%的 前提下给出的。为了保证码元畸变小于 4%的要求,接口标准在电气特性中规定,驱动器 的负载电容应小于 2500pf 3rs-232c 接口信号 rs-232c 标准接口有 25 条线,4 条数据线、11 条控制线、3 条定时线、7 条备用和未 定义线,常用的只有 9 根,它们是: (1)联络控制信号线 数据装置准备好(data set ready-dsr)有效时(on)状态,表明modem处于可 以使用的状态。 数据终端准备好(data set ready-dtr)有效时(on)状态,表明数据终端可以使 用。 请求发

55、送(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收到由通信链路

56、另一端(远地)的modem送 来的载波信号时,使rlsd信号有效,通知终端准备接收,并且由modem将接收下来的 载波信号解调成数字两数据后,沿接收数据线rxd送到终端。此线也叫做数据载波检出 (data carrier dectection-dcd)线。 振铃指示(ringing-ri)当modem收到交换台送来的振铃呼叫信号时,使该信号 有效(on状态) ,通知终端,已被呼叫。 (2)数据发送与接收线 发送数据(transmitted data-txd)通过txd终端将串行数据发送到 modem,(dtedce)。 接收数据(received data-rxd)通过rxd线终端接收从mod

57、em发来的串行数据, (dcedte)。 (3)地线 3.3.2 rs-232 与与 at89c51 接口电路设计接口电路设计 1max232 芯片引脚功能 max232 芯片是美信公司专门为电脑的 rs-232 标准串口设计的接口电路,使用+5v 单 电源供电。max232 芯片功能包括:电荷泵电路、数据转换通道和供电。max232 的芯 片图如图 3-9 所示: 图图 3-9 max232 芯片引脚图芯片引脚图 电荷泵电路。由 1、3、4、5 脚和 2 只电容构成,2 管脚串联一个电容接电源,6 管 脚串联一个电容接地。功能是产生+12v 和-12v 两个电源,提供给 rs-232 串口电

58、平的需要。 数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚 (r1in) 、12 脚(r1out) 、11 脚(t1in) 、14 脚(t1out)为第一数据通道。8 脚 (r2in) 、9 脚(r2out) 、10 脚(t2in) 、7 脚(t2out)为第二数据通道。ttl/cmos 数据从 t1in、t2in 输入转换成 rs-232 数据从 t1out、t2out 送到电脑 dp9 插头; dp9 插头的 rs-232 数据从 r1in、r2in 输入转换成 ttl/cmos 数据后从 r1out、r2out 输出。而我们用来作写频器就只

59、需一个通道就行啦。所以一通道的 7、8、9、10 脚就全空脚,我们只用了第 二通道的 4 个管脚。 供电电源。15 脚 dng、16 脚 vcc(+5v) 。 2rs-232 与 at89c51 接口电路设计 19 c1+ 1 v+ 2 c1- 3 c2+ 4 c2- 5 v- 6 2cout 7 2cin 8 251out 9 25 1in 10 151 in 11 151out 12 1c in 13 1cout 14 gnd 15 vcc 16 max232 max232 1f 1f 1f gnd 1f gnd 1 6 2 7 3 8 4 9 5 db9 gnd vccvcc p1.0

60、1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst /vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale /prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 3

温馨提示

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

评论

0/150

提交评论