登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 理工学类 > 自动化 > 正文

基于STM32的DeviceNet - SPI转换器模块设计外文翻译资料

 2022-09-02 20:59:41  

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


基于STM32的DeviceNet - SPI转换器模块设计

摘要

本文主要讲述根据STM32技术和DeviceNet现场总线技术的特点设计一个DeviceNet – SPI转换模块。这个转换模块解决了DeviceNet现场总线和SPI协议间的转换问题。使得采用SPI协议的设备能够通过这个模块与DeviceNet现场总线通信,同时弥补了SPI协议没有响应机制的缺点。在这篇文章中将详细的讲述这个转换模块从硬件到软件以及搭建实验平台并进行测试的整个过程。同时还包括根据实验结果来测试和验证这个转换模块的可行性与可靠性。

关键词 STM32,DeviceNet,SPI,转换模块

  1. 引言

SPI接口是由摩托罗拉最早提出的全双工三线同步串行外设接口。它采用主从式架构模型,通常只有一个主设备但能支持多个从设备。时钟由主设备进行控制,数据根据时钟脉冲下位发送。通信的速率高达10Mbps[1] - [5]。因为其接口较为简单便于硬件的设计和搭建,同时拥有高速的时钟与较低的系统功耗而被广泛的应用。但SPI有严重缺点。首先,它没有指定的流向控制,所以没有确认是否已经接收数据的响应。其次,它不具有核心的设备协议,因此,必须要用复杂的软件和外部逻辑来核心的组件架构[6] - [7]。

DeviceNet是一种基于CAN协议的高级工业现场通信协议。它最初由美国罗克韦尔自动化公司在1994年提出并由开放设备网制造商协会进行管理和推广。DeviceNet是一种低成本、稳定性好、灵活性高的设备级现场总线。它为低级的工业设备与先进的设备提供了可靠的网络通信连接。它已经被广泛应用于全球自动化控制的领域,并逐渐成为工业网络的主流通信协议。DeviceNet是基于CAN协议的高级协议,它的底层使用的是标准的CAN总线协议。DeviceNet是在此基础上的补充和发展。DeviceNet在IO数据通信上的应用模式是基于有明确通信模式和链接的“生产者-消费者”模式[12]-[13]。信息通过无线电的形式在网络中传输,并且每个节点可以决定是否接收信息。DeviceNet的的主站负责监督和监测每个与它有关的节点的运行状态。它的通信有以下特点:首先,请求/响应的典型方式采用用于两个设备之间的多用途点对点信息传输,其次,这个协议在基于在传输信息之前对设备的连接有着严苛的要求;第三,该物理信号层和MAC层采用CAN协议;最后,I/O数据的高效传输等。

STM32F103xx处理器系列采用高性能的ARM Cortex-M332位RISC内核在72 MHz的工作频率,高速嵌入式存储器(高达128 KB的闪存和高达20千字节的SRAM),并拥有丰富的增强I/ O口,外设连接到两个APB总线。所有器件提供了两个12位ADC,三个通用16位定时器加一个PWM定时器,以及标准和先进的通信接口:高达两个I2C和SPI接口,三USART接口,一个USB接口和一个CAN接口[16]-[19]。

因此,本文的目的是设计一个结合了SPI和优势DeviceNet的协议转换模块。该模块可以使用SPI接口的设备拥有与DeviceNet现场总线通信的功能。同时,它弥补了SPI协议没有应答机制的缺陷。该转换模块采用了意法半导体公司的STM32F103C8T6单片机作为核心处理器。这单片机具有一个CAN控制器,一个SPI接口和其他硬件资源。这些资源是实现这个转换模块必不可少的硬件,这样就大大降低了硬件设计的复杂性以及开发成本。

  1. 转换器模块的硬件设计

该转换器模块由五个部分组成:核心控制芯片STM32F103C8T6,总线驱动电路,电源转换电路,状态指示电路和SPI接口。总体硬件结构示于图1中。

核心控制芯片选用由ST公司生产的STM32F103C8T6微控制器,它集成了CAN协议控制器。它的功能是连接到CAN收发器,来组成总线驱动电路以接收DeviceNet总线数据。这个模块将转换由单片机从总线驱动电路接收到的其他符合SPI协议的数据,然后通过单片机的SPI接口传输到其他的SPI协议的设备或仪器,从而实现从DeviceNet现场总线协议到SPI协议的转换;同时,现场总线上的设备或仪器的数据可以通过MCU的SPI接口读取同时MCU会将数据转换成符合DeviceNet现场总线协议的数据;最后通过驱动电路将数据发送给现场总线网络,来实现从SPI协议到DeviceNet现场总线协议的转换。

单片机的最小系统示于图2。

CAN总线的驱动电路包括STM32F103C8T6单片机内部集成的CAN控制器和CAN收发器CTM1050。该STM32F103C8T6内部集成CAN控制器主要负责接收和发送CAN总线的消息,过滤数据包和处理总线通信的错误。由于CAN控制器只是单片机里面的一个协议控制器,它不能提供物理层驱动,在应用的时候有必要使用外部CAN总线收发器功能,来增强驱动能力。本文选择了具有隔离功能和ESD保护功能的CTM1050T芯片作为CAN总线收发器。CAN总线驱动器的电路示于图3中。CTM1050T使用5V电源的供电,因此,它的两个端口--TXD和RXD都是TTL5V的。而且被用来连接CTM1050T与CAN_TXD和CAN_RXD的单片机的控制器终端是3.3 V的。这两个电压是兼容的,但是单片机管脚的驱动能力是需要考虑的。MCU--STM32F103C8T6的一些IO口兼容TTL电平,所以管脚可以承受5V的电压。但所使用的单片机的控制器端可以承受5V电压,而不必进行修改。滤波器的电路由R8和C20组成。两端分别连接CTM1050T终端--CANG和总线终端—CANF。这个滤波电路是相当有用的。它在提升收发机的稳定性上有重要的作用。R9和S3形成选择电路。如果我们在设备的终端可以检测到转换模块,他们将选择在CANH和CANL跳线。

功率转换和状态显示电路由一个两阶降压电源电路和两个LED电路组成。转换模块的工作电压是24 V,由DeviceNet总线接口供电。由于单片机STM32F103C8T6的工作电压为3.3 V而CTM1050T的工作电压是5伏,所以不仅要有5伏电源也要有3.3伏的电源。电源转换模块采用二阶降压的设计。首先,先将24V的电源转换为5V的电源用于LM2874M5芯片的供电,接着用AM1117 3.3芯片将电源由5V降压到3.3V。这同样有助于减少系统的热量。状态显示电路由两个LED中,分别表示单片机运行和网络通信的状态。电源转换电路如图4所示。

  1. 转换器模块的软件设计

该转换器模块将完成DeviceNet现场总线和SPI协议之间的转换。在系统上电后,首先MCU将初始化时钟,IO口,SPI接口等。在这里,SPI接口将被配置为从设备。然后系统将会延时300ms来读取主机的设置到单片机。在这些工作完成后,最后MCU开始运行DeviceNet协议。系统主程序流程图如图5所示。

在MCU初始化后,转换模块的主程序必须先完成SPI驱动的初始化。该初始化包括MCU GPIO端口的初始化,SPI接口模式和相位的选择。这项准备工作完成后。MCU打开SPI接口的中断,最后复位设备参数列表中的数据。流程图如图6所示。

DeviceNet现场总线是一种基于CAN协议的应用层协议。

运行DeviceNet协议栈包括:总线驱动的初始化, DeviceNet对象的初始化,连接对象以及参数对象的初始化。在这之后,系统发送两个重复检测MAC ID的信号。如果没有错误,在线的设备会进入I / O数据交换的状态。DeviceNet协议的流程图如图7所示。

进行DeviceNet协议数据和SOI数据包转换的程序写在DeviceNet协议的文件夹下的lsquo;MAIN.crsquo;文件中。

4. 测试

为了验证这个模块的可行性与可靠性,本文设计了一个试验平台。测试平台的结构图如图8所示。电脑搭载的DeviceNet扫描卡----1770 – KFD负责运行程序来控制这个转换模块的工作。测试步骤为如下:首先,必须将AB公司的MicroLogix1500 PLC和1769 – SDN检测模块作为DeviceNet的主机,并把DeviceNet接口的EDS文件写入。总线分析仪CANalyst - II作为DeviceNet网络监测设备,然后将转换模块的DeviceNet接口连接到DeviceNet总线上。最后,SPI接口的软启动器通过SPI接口连接到转换模块。在完成了测试平台的搭建后,它可以通过控制软启动器的来完成转换模块的功能测试。

在这个网络中,主机会向网络发送四字节的信号。这个信号被用于控制软起动器起动和停止。这四个字节包括两个低字节作为控制和两个高字节作为保留字。转换器模块返回四个字节的信号到主机,用来反馈软起动器的当前状态 [20]。实验结果如图9图10所示。

在图9中,主机发送给转换模块信息--0x 02 00 00 00命令软启动器准备启动,同时转换模块作为从机接收到这一消息并通过SPI接口发送命令给软启动器。同时,软启动器的状态通过SPI接口返回给转换模块。最后,响应信号0x 08 1F00 00返回给主机。这个信号说明软启动器已经准备好启动了。

在图10中,主机发送给转换模块一个信号--0x 01 00 00 00命令软启动模块停止,同时转换模块接收到这个信号并发送命令给软启动器。然后,软启动器的状态返回给转换模块,最后应答信号-- 0x 0D 0F 00 00返回给主机。这个信号说明软启动器已经停止。测试结果说明这个转换模块可以完成DeviceNet – SPI的转换。同时弥补了SPI协议的缺点- 没有应答机制。

  1. 总结

本文设计了一种DeviceNet –SPI转换模块,提供了一种很好的解决DeviceNet fieldbus和 SPI协议之间通信问题的办法。该系统选用STM32F103C8T6作为微处理器,大大的减少了硬件设计的复杂性与开发成本。这个单片机集成了CAN协议控制器同时它还具有低功耗,尺寸小,强大的功能和处理速度快的优点。实验结果表明,通过这个转换模块可以有效的进行DeviceNet现场总线和SPI协议的之间的转换。该模块可以使原本只有SPI通信模式的设备可以进行DeviceNet现场总线的通信,同时它还弥补了SPI协议没有应答机制的缺陷。它还提供了一种其他设备进行现场总线通信转换的参考。

在这篇文章中,受限于各方面的因素,这个设计还有很多地方可以进行改进,它还可以更加完善。对于这篇文章还有很多展望。首先,我们不仅可以选择DeviceNet现场总线协议也可以选择其他协议,比如:CANopen总线,Modbus总线,现场总线等。其次,我们可以通过布线的调整来进一步的提高这个转换模块的抗干扰能力和散热能力。这将使系统运行更加可靠和稳定。第三,可以通过优化软件的整体架构来提高单片机的内部资源的利用率。这将使系统的运行更加高效。第四,由于资金和资源环境的限制,这个转换模块的测试只要针对通信功能。通过EMC和EMI的测试和获得有关机构的认证许可是这个模块进入市场必不可少的条件。

非常感谢以下机构的赞助

天津科学技术发展基金重点项目(批准No.:10ZCKFGX03000)

天津科学技术基金项目(批准编号:09ZXCXGX19300)

中国国家技术创新基金项目(批准号:09C262112022954)

天津高等教育机构科学技术发展基金(批准号No.:20120705)。

参考文献

[1] Zhili Zhou, Zheng Xie, Teng Wang. Development of Verification

Envioronment for SPI Master Interface Using SystemVerilog.2012 IEEE

11th International Conference on Signal Processing(ICSP 2012).2012,10.

[2] Qudjida A K. Design and Test of General-purpose SPI Master/Slave IPs

on OPB Bus. Proc.ofthe 7th International Conference on Systems Signals

and Devices. 2010.

[3] Martin Keaveneyt, Anthony McMahont, Niall Keeffe, et al. The

Development of Advanced Verification Environments Using System

Verilog. The 16th Irish System and Signals Conference. ISSC

2008 .June18-192008.

[4] Ke Han, Zhongliang Deng, Shu Qiong. Verification of AMBA Bus Model

Using System Verilog. The Eighth International Conference on

Electronic Measurement and Instruments.2007

[5] Rujian Sun. Based on the SPI interface of biaxial SCA100T Angle

sensor and its application. Instrument a

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[147557],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图