基于串行外设接口(SPI)的CAN总线隔离扩展设计_第1页
基于串行外设接口(SPI)的CAN总线隔离扩展设计_第2页
基于串行外设接口(SPI)的CAN总线隔离扩展设计_第3页
基于串行外设接口(SPI)的CAN总线隔离扩展设计_第4页
基于串行外设接口(SPI)的CAN总线隔离扩展设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、基于串行外设接口基于串行外设接口(SPI)(SPI)的的 CANCAN 总线隔离扩展设计总线隔离扩展设计摘要摘要:介绍了利用 SPI 口实现 CAN 总线隔离扩展的一种通信控制系统,详细叙述了此通信控制系统中主从通信模块的硬件设计控制,软件设计流程及实现方法。关键词关键词: CAN 总线SPI 口XINT1 中断一、引言一、引言CAN 总线是一种有效支持分布式控制和实时控制的串行数据通信协议,它是一种多主总线,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,节点之间有优先级之分,因而通信方式灵活;CAN 可以点对点、一点对多点(成组)及全局广播等几种方式传送和接

2、收数据 ;CAN 采用非破坏性位仲裁技术,优先级发送,可以大大节省总线冲突仲裁时间,在重负荷下表现出良好的性能。CAN 上的节点数实际可达 110 个,通信介质可以是双绞线、同轴电缆或光导纤维,直接通信距离最远可达 10km(传输速率为 5kbps);最高通信速率可达 1Mbps(传输距离为 40m)。CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,CAN 数据链路层采用短帧结构,每一帧为 8 个字节,易于纠错。可满足通常工业领域中控制命令,工作状态及测试数据的一般要求。同时,8 个字节不会占用总线时间过长,从而保证了通信的实时性。CAN 总线具有较强的纠错能

3、力,每帧信息都有 CRC 校验及其它检错措施,有效地降低了数据的错误率。CAN 节点在错误严重的情况下,具有自动关闭的功能,使总线上其它节点不受影响。支持差分收发,因而适合高干扰环境。我们设计的一种 CAN 总线主从通信控制系统如图 1 所示,该控制系统采用内外两层隔离控制形式,主控台向主 CAN 网络发送指令和数据,通过主从通信模块与从 CAN 网络中的节点通信,对分系统控制单位进行数据采集和控制。此系统使 CAN 总线的节点数增加了 n 倍;CAN 总线的传输速率和通信距离大幅度的提高;抗干扰能力也大幅度的增强。本文讨论的是 CAN 总线主从通信控制系统中主从通信模块的硬件、软件设计及实现

4、方法。主从通信模块实现了主控台和从控制单元之间 CAN 网络数据通信的隔离扩展,对通信数据处理、传输和 CAN 网络控制有一定的借鉴作用。二、硬件设计二、硬件设计主从通信模块控制原理框图如图 2 所示,核心芯片是 TI 公司TMS320C2000 系列的适合于数字控制的一种 DSP。它的单个芯片内包含了 10 位ADC 转换器、片内 flash 程序存储器、事件管理器、数字输入输出 I/O 口等。为了便于与各种外围设备进行通信,DSP 还提供了一些接口:CAN 接口、串行外设接口(SPI)、串行通信接口(SCI)等。其中,SPI 接口是工业标准的同步串行接口,是一种全双工、三线通信的系统。它允

5、许 DSP 与各种外围设备以串行方式(可配置成 116 位数据同时、同步地被发送和接收)进行通信。在 SPI接口中,数据的传输需要 1 个时钟信号和两条数据线。SPI 可工作在主模式或从模式下。在主模式下,每一位数据的发送/接收需要 1 次时钟作用;而在从模式下,每一位数据都是在接收到时钟信号之后才发送/接收。三、三、SPISPI 的工作原理的工作原理1)SPI 的信号说明如图 2 通信控制部分原理图,两片 DSP 芯片的 SPI 使用 4 条线直接接口:串行时钟线(SPICLK)、主片输入/从片输出数据线 SPISOMI、主片输出/从片输入数据线 SPISIMO 和低电平有效的从片选择线 S

6、PISTE。SPICLK 是主片的时钟线,为 MISO 数据的发送和接收提供同步时钟信号。每一位数据的传输都需要 1 次时钟作用,因而发送或接收 1 个字节的数据需要 116 个时钟的作用。主片的时钟是通过主片的硬件设置的,并和从片的SPICLK 相连。MISO 是主片的输入/从片的输出数据线。主片的 MISO 应与从片的 MISO相连进行高位在前的数据交换。MOSI 是 SPI 接口的 SPI 主片输出/从片输入数据脚。这一引脚应当连接主片的数据输出和从片的数据输入端 MOSI,进行高位在前数据的交换。SPISTE 只在从方式中用于低电平选中从片,对应的主片 SPISTE 脚被配置为 I/O

7、 口作为从片的 SPI 片选输入脚。2)主模式发送和接收可以同时工作在主模式下。主模式的显著特征是不论是发送还是接收始终有 SPICLK 信号,发送操作是由向 SPIDAT(或 SPITXBUF)中写数据而触发的。在主模式下,时钟信号的 1 次作用对应一位数据的发送(M0SI)和另一位数据的接收(MISO)。如图 3 所示,在主片中数据从移位寄存器中自左向右发出送到从片(MOSI),同时从片中的数据自右向左发到主片(MISO),经过 16 位时钟周期完成 1 个字节的发送。输入字节保留在移位寄存器中,此时 SPI INT FLAG 位自动置位(如果有中断设置,则产生中断),移位寄存器的数据将被

8、锁存到 SPIRXBUF 中,此后对 SPIRXBUF 的读操作将把数据读出。3)从模式发送和接收同时工作在从模式下。从模式的显著特征是:不论是发送还是接收始终必须在 SPICLK 信号作用下进行,并且 SPISTE 信号必须有效。当SPISTE 信号无效时,数据的发送无法进行并且输入的数据视为无效。这是因为输入的时钟信号是与 SPICLK 的逻辑与操作,而 SPICLK 信号是 SPISTE 的反转。这样当 SPISTE 为高时,就没有时钟信号输入。数据的发送和接收的过程见图 3所示,与主模式下基本相似,只是移位寄存器的数据移出和输入方向与之相反。四、软件设计四、软件设计SPI 通信以一帧

9、CAN 报文 5 个字节为一个传送单元进行信息交换。主片控制着 SPICLK 信号可在任一时刻启动报文传送;从片在传送报文之前,通过口线向主片发送一个外部中断请求,请求成功后主片输出 SPICLK 信号来启动从片的报文传送。从片在 SPI 中断中接收主片传送来的报文;主片在外部中断中完成从片报文的接收。当主片和从片同时都有报文传送时,系统优先传送主片报文,然后再传送从片报文。1、主片发送,从片接收报文主片发送报文,从片接收报文软件流程图如图 4 所示。主片在向从片传送报文前禁止外部中断,也就是禁止从片发送报文。然后从 CAN 传送缓冲区取一帧报文放入 SPI 发送暂存器中,再从 SPI 发送暂

10、存器中取一个字节的数据写到 SPITXBUF 寄存器中启动 SPISIMO 引脚上的数据发送,同时,从片响应一个SPI 中断开始接收主片发送来的数据,当从片接收到一个字节后,通过口线触发主片的 XINT1 外部中断来告知主片数据已接收,主片响应了此 XINT1 外部中断后,再发送下一个字节的数据,当一帧报文传送完成后,主片将外部中断使能,以便接收报文。从片接收完报文后,置报文接收完成标志,以便 CPU 进行报文的处理。2、从片发送,主片接收报文从片发送报文,主片接收报文软件流程图如图 5 所示。从片在发送报文前,通过口线向主片发送一个 XINT1 外部中断,请求报文的发送,当主片响应了此中断时

11、,发送一个伪数据(如#0FFFFh)来告知从片可以开始报文的发送,从片测试到报文请求受理标志置位后,再从 CAN 传送缓冲区取一帧报文放入SPI 发送暂存器中,再从 SPI 发送暂存器中取一个字节的数据写到 SPITXBUF 寄存器中,通过口线向主片发送 XINT1 外部中断,请求主片取数据,主片在XINT1 中断服务程序中监测到中断标志置位时,发送伪数据#0FFFFh(启动从片数据发送的 SPICLK 时钟),然后将收到的字节存入 SPI 接收缓冲区,从片依次将一帧报文传送完成后,清报文受理标志。主片完成一帧报文接收后,置报文接收完成标志,并退出外部中断,以便 CPU 进行报文的处理。3、关

12、键技术的处理CAN 总线上信息的传送都是没有规律随机的,所以用 SPI 口实现主从系统间信息的传递时,必须考虑当有数据正在从 DSP1 向 DSP2 传送时,应该禁止数据从 DSP2 向 DSP1 传送,反之也然。否则数据在互传过程中就会出错或丢失,影响 CPU 的正常工作。为了避免主从报文在发送过程中产生冲突,主片在XINT1 中断服务程序中完成一帧报文的接收,从片在 SPI 中断服务程序中完成报文的接收。在进行报文传送时,不管是主片还是从片只有当一帧报文传送完成后,才能进行下一帧报文的传送。主、从片每发送完一个字节的数据,都有一个应答信号返回标志位(见标志位意义)的判断,以便确认数据是否完整的发送或接收。由于主片掌握着报文传送的时钟信号,即主动权,所以主片随时都可以进行报文的传送。从片在报文传送前,首先要确认主

温馨提示

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

评论

0/150

提交评论