【基于STM32的工业总线转换器的硬件设计】 can总线故障

  [摘要]随着计算机技术的不断发展,外围接口由广泛使用的RS232串口逐渐发展到性能更加优越的USB接口。而在工业总线领域,CAN总线凭借其自身的优越性, 已经成为国际上应用最广泛的现场总线之一,相比之下传统的RS485总线在实际工业设备中仍存在不少,井未退出历史的舞台。通过协议转换的功能,可以实现工业总线之间数据通讯的需求以及计算机对工业控制网络申的数据采集与分析。本文介绍了基于STM32的工业总线转换器的硬件设计,为转换器的进一步研究与应用奠定了基础。
  [关键词]转换器;CAN:USB;RS232/485
  [中图分类号]了P3347 [文献标识码]A
  [文章编号]1007―4309(2010)08―0148―1.5
  
  一、系统硬件结构
  
  转换器的硬件设计包括一个UsB接口、一个CAN接口、一个RS485接口和一个RS232接口,可以通过相应的硬件选择并配合软件程序实现两种接口之间的数据通讯,在两种总线之间起到桥梁的作用。所有模块之间都通过STM32微控制器的异步串行收发器(UART)连接,对于嵌入式系统,UA只丁具有操作简单、工作可靠、抗干扰能力强及廉价的特点,是微处理器和其他模块通讯的最佳方式,UARTl用于连接RS232模块,UART2用于两个微处理器互连,UART3用于连接RS485模块,其系统硬件结构如图l。
  STM32微控制器内部集成了USB设备接口和CAN总线接口,但由于USB和CAN共享了一个专用的512Bytes的SRAM内存,从而实现数据的发送与接受,所以它们不可能在一个芯片上同时被使用,必须分别使用两个芯片。USB模块使用一片STM32F103C8微控制器的内置USB设备,CAN模块使用另一片STM32F103C8微控制器的内置CAN设备,它们之间通过微控制器的UAR7相连。STM32F103C8微控制器提供了3路UAR/接口,其他UAR/接口用来连接RS232和RS485模块。选用STM32微控制器的内部USB设备和CAN总线设备,使得整个转换器的设计电路简化,稳定性提高。
  
  
  二、核心微控制器设计
  
  嵌入式系统的核心是嵌入式微处理器。嵌入式系统的功能软件集成于硬件系统之中,系统的应用软件与硬件一体化。在嵌入式系统的硬件设备中,其性能好坏直接决定整个系统的运行效果,与普通工业控制计算机相比,嵌入式处理器具有体积小、重量轻、成本低、可靠性高的优点。在应用中将微处理器装在专门设计的电路板上,只保留与嵌入式相关的母板,大幅减小系统的体积和功耗。嵌入式处理器一般具备以下4个特点:第一,对实时多任务有很强的支持能力,能完成多任务并目有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。第二,具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。第三,可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。嵌入式微处理器必须具有很低的功耗,而用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此。第四,全世界只有4%的计算机处理芯片用于计算机中,其余都被嵌入式处理器所占据,它的品种数量已超过1000多种,流行体系结构有30多个。
  
  三、USB模块设计
  
  由于S/M32的高度集成化,包含了USB模块。其作为其I/O组的一部分,使得USB模块的电路设计变得简化。S/M32的USB外围设备接口实现了USB总线与内部APBI总线的连接, 因此只需要将处理器的D+引脚和D一引脚与USB的B型接口相连即可。D/和D一都有串联电阻R将USB连接终止。总的电阻值应该为45欧,包括USB控制器的引脚本身的阻抗在内。除此之外,我们选用了一个P沟道MOS管FDN338P作为电源的开关,它本身就有软开启的功能,可以限制冲击电流。如果没有这个软启动的保护功能,电路复位的瞬间产生的冲击电流会使STM32的USB电路遭到损坏。
  
  四、CAN模块设计
  
  STM32集成了基础扩展的CAN外围设备,用来连接CAN网络。它支持CAN 2,0A和2,OB协议,可以用最小的CPU开销有效地处理大量的接收消息,并满足发送消息的优先级要求,最高比特率可以达到IMbps。发送端有3个输出邮箱,并可配置发送优先级,发送时提供位于起始帧的时间戳;接受端有两个FIFO缓冲器,14个过滤器组,并可配置的缓冲器溢出,发送时也提供位于起始帧的时间戳。
  CAN控制器与物理总线之间通过CAN收发器连接,也称为总线驱动器。提供对总线的差动发送和接收功能。与USB类似,处理器与CAN收发器连接十分简单,只需要将处理器的CAN/X引脚与收发器的D引脚相连,处理器的CANRX引脚与收发器的R引脚相连即可。电容C208用于VDD33电源去耦。
  
  五、RS232模块设计
  
  RS232是目前比较通用的接口标准,实现起来较USB简单、方便。S/M32微处理器的UAR/接口可轻松通过接口芯片MAX3232完成电子转换。MAX3232的使用极其简单,因为设计时几乎没有什么工作要做,唯一需要的外部支持部件就是电容,以供芯片内部的变压器使用。这些变压器输出RS232所需的+12V和-12V电压。电容C201、C202、C203和C204大小都为。,1uF,C205为VDD33电源去耦电阻,大小也为0,1uF。所有电容都应该尽可能靠近芯片相应的引脚。然后将S/M32微处理器的UAR丁I的串行数据线和RS232连接器的信号线相连。实现一个简单的串口,只需要Rx、h和信号地就可以了。
  
  六、RS485模块设计
  
  连接到RS485网络的接口通过一个收发器来实现。如Maxim的MAX3485芯片。在网络的一端,MAX3485有两个信号A和B,它们是双绞线的接入点。MAX3485的DI(Data In)和RO(Receiver 0ut)两个引脚,分别与S/M32微处理器的UAR/2的h和Rx引脚相连接。由于连接到一个公共网络,它必须能够在这个网络上进行监听和传输,所以收发器有两个控制输入端:DE(Data Enable)和RE(Receiver Enable)。对DE输/X--个高电平,则允许DI端的数据在网络上传输,同样,对输入厂个低电平,就使接收器可以接收数据。DE是高电平有效,而邢是低电平有效,由微处理器的一个I/0引脚控制。
  
  七、总结
  
  本文主要设计了一种基于S7M32微控制器的总线转换系统,结合STM32丰富的外围设备借口,使得硬件电路设计变得简单可靠,如果只实现两种总线之间的转换,可以方便地裁减不用的接口。结合移植的u C/OS-II操作系统,设计了完整的串口和CAN总线抽象层模块,方便整个软件体系移植到其他处理器。

推荐访问:转换器 总线 硬件 基于STM32的工业总线转换器的硬件设计 基于stm32的设计 基于stm32的毕业设计