中间站是实现RS485网络与以太网进行数据交换的设备,实现数据在两个不同网络中传输的无损准换,即作为串口通讯协议(RS485)与以太网通讯协议 (TCP/IP)的网关。主要实现将上位机发送的控制数据发送到对应中继器,以及将从中继器得到的现场温度、状态数据发送到上位机。根据要实现的功能,确 定中间站应包含的的主要模块有: 1.最小系统:保证控制器的运行,包括电源供给、晶振电路、模式选择电路、复位电路、RTC电路等;
1.最小系统:保证控制器的运行,包括电源供给、晶振电路、模式选择电路、复位电路、RTC电路等;
2.通讯电路:包含以太网接口以实现设备与远程上位机的数据传输,包含RS485接口以实现设备与中继器的数据传输;
3调试电路:通过JTAG 口进行程序的下载、调试,留有部分按键及LED指示,用于参数修改、调试及通讯指示。
4.除以上基本功能外,考虑到功能扩展,在产品设计过程中预留了 RS232C、CAN、USB通讯接口,模拟量输入,存储设备及触摸屏等接口。
设备供电可以通过开关电源直接接入直流信号,也可采用通过电源模块转换市电这两种方式。考虑到设备需要长期运行,且运行环境多有提供220V市电,加之釆 用开关电源提供直流电的方式无论在成本还是在可靠性上都不如电压模块整流的方式,故采用AC/DC器件将市电转换为直流电方式得到设备工作所用的电源。系 统所用电源主要为3.3V,另含部分5V供电器件。电源模块采用Harvest HAS2.5-5-WED型AC/DC模块将220V市电转换成5V直流电,同时留有5V接口以备调试时直接接入直流电源。釆用AMSm7-3.3V得到 需要的3.3V电源信号。
中间站模块由于需要连接到以太网,需要移植TCP/IP协议栈。即便是精简的嵌入式TCP/IP协议栈诸如uIP,全功能时也需要约2K以上的RAM,同 时要求处理器具有较高的处理速度以满足大量数据传输的能力。面对这些性能指标,51及其增强系列单片机显得要单薄很多;虽然AVR系列单片机在功能指标上 满足要求,但出于其价格较昂贵、供货不稳定等因素的考虑,亦不符合要求。
Cortex-M3是ARM公司于2004年底推出的基于ARMv7-M架构的处理器内核,是一个低功耗的内核,具有门数少、中断延迟小、调试容易等特 点。Cortex-M3主要是为了在微控制器、无线网络、汽车控制、工业控制等对功耗和成本相对敏感的嵌入式应用领域实现高性能而设计的。核心基于哈佛结 构三级流水线,集成分支预测、硬件除法、单周期乘法等众多强大特性,可提供1.25DMIPS/MHZ的运算性能。
STM32系列是意法半导体基于突破性的ARM Cortex-M3这一专为嵌入式应用而幵发的内核基础上定制的32位高性能、低成本、低功耗闪存微控制器,其增强型STM32F103系列时钟频率可达 72MHz,并可方便嵌入操作系统。从设备功能及潜在升级角度考虑,选用STM32F103VET6型控制器,主要特点有:
1.时钟频率最高72MHz,1.25DMIPS/MHZ,单周期乘法及硬件除法;
2.内置 512KB Flash, 64KB SRAM,支持外扩 Nor、NAND Flash;
3.宽电压供电范围:2.0V至3.6V,内含8MHz晶振、40KHzRTC晶振;
4.3路12位模拟转换器,共16路采集通道;
5.2路12位DA转换器;
6.12通道DMA控制器,支持ADC、DAC、UART等;
7.80个GPIO 口,大部分可容忍5V;
8.8个独立定时器:2个增强型,4个普通型,2个简单型;接口丰富,含 I2C、I2S、US ART. SPI、CAN、USB、SDIO 等;
微控制器的运行必须依赖于周期性的时钟脉冲驱动,通常由一个外部晶振来提供时钟输入信号并最终转换为多个外部设备的周期性运动,而时钟“能量”扩散到所有 片内外设。在传统的低端8位单片机如51、AVR、PIC等,虽然自身也具备时钟树,但其中的绝大部分不受用户控制,即单片机上电工作后时钟树就固定在某 种状态不可改变。而STM32系列控制器的时钟树则是可以配置的,其时钟输入与外设时钟速率不再是具体的关系,而且外设的时钟可以单独配置打开或关闭,使 得可以配置成仅有用的外设才打开对应的时钟,从而起到降低功耗的作用。
为实现设备上网,就要为控制器选择一颗上网芯片。目前应用广泛的以太网芯片主要有 Realtek 的 RTL8019、DAVICOM 的 DM9000 以及 Microchip 的ENC28J60等。其中RTL8019、DM9000虽功能强大、通信速率相对较高,但引脚数目庞大占据大量端口资源,同时操作也相对繁琐。
ENC28J60是Microchip (美国微芯科技公司)推出的一款28脚以太网控制器,釆用标准的SPI接口进行数据传输。符合IEEE 802.3协议规范,内置10Mbps以太网介质访问控制器(MAC)和物理层器件(PHY)。[25]由于接口简单规范,大大简化了设计工作,是目前市 面上最小的以太网解决芯片。以太网控制器ENC28J60的主要特性有:
1.兼容IEEE 802.3协议;
2.集成 MAC 和 10 BASE-T PHY;
3.支持全双工和半双工模式;
4.最高速度可达lOMb/s的SPI接口;
5.8KB发送/接收数据包双端口 SRAM;
ENC28J60的工作频率为25MHz,要求使用平行切割的晶体。使用顺序切割的晶体可能会使振荡器产生的频率不在晶体制造厂商所给的参数范围内。
RS232、RS422> RS485标准都是串口数据通信接口标准,由电子工业协会(EIA)制定并发布。RS232于1962年发布,被定义为一种在低速串行通信中增加通信距离 的单端标准,采用不平衡传输。RS422由RS232发展而来并改进了 RS232通信速率低、距离短的缺点,是一种平衡通信接口,传输速率可高达10Mbps、距离可达1.2KM (速率小于100Kbps时),允许在一根平衡总线上最多连接10个收发器。为扩展应用,EIA于1983年在RS422基础上制定了 RS485标准,增加了多点、双向通信能力,同时增加了收发器的驱动能力使得网络节点数目可扩展到32个甚至更多。
RS232、RS422、RS485标准只是对接口的电气规范做出了规定,并没有涉及接插件、电缆或具体的通信协议,因此用户可以建立自己的高层通信协议。
RS485许多电气规范与RS422相仿,如采用平衡传输方式、传输线终端匹配电阻等。使用中,有四线制和两线制方式,两线制可实现真正意义上的多机双向 通信。由于RS485采用平衡发送、差分接收,因此具有很强的共模干扰抑制能力,加之总线收发器具有能检测低至200mV的高灵敏度,故传输信号可以准确 地在千米之外得到恢复。
由于RS485采用半双工通信方式,某一网络节点在某一时刻可能处于发送或接受状态中的一种,故需要额外的端口来控制RS485收发器的状态作为控制信号的STM32F103VET6通用同步异步收发器(USART)主要特性有:
1.全双工的异步通信;
2.分数波特率发生器系统,最高4.5Mbps;
3.可编程数据字长度8位或9位;
4.可配置的停止位1位或2位;
5.IRDASIR编码器解码器;
6.可配合DMA使用。
由于主电路信号为3.3V,故采用了低压RS485接口芯片MAX3485。芯片支持32个网络节点,网络多采用带终端匹配电阻的总线型结构。组网时注意从总线到每个节点的引出点距离尽量短,以减小引出线中反射信号对总线信号的影响。
STM32程序下载可通过串口、JTAG、SWD等方式。借助JTAG仿真工具,可方便地通过MDK、IAR等开发环境对控制器进行程序下载及功能调试, 从而提高开发效率、缩短研发周期。[3I]STM32的JTAG接口采用标准的四线:JTMS、JTCK、JTDO、JTDI。
从功能扩展角度考虑,在中间站电路设计时,预留了部分外设接口。考虑到大规模数据的本地存储,预留MicroSD卡(TF卡)。STM32通过SDIO接 口与MicroSD卡进行数据通信。SDIO在AHP外设总线为多媒体卡(MMC)、SD存储卡、SDIO卡和CE-ATA设备提供操作接口。
考虑到通信接口扩展,预留CAN、USB等通信接口。CAN是控制器局域网(Controller Area Network)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发并最终成为国际标准(IS011898 )‘的一种应用广泛的现场总线。[33]STM32F含bxCAN接口(基本扩展CAN, BasicExtended CAN),支持 CAN 协议的 2.0A 和 2.0B。
USB是Universal Serial BUS (通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接与通信,由Intel、Compaq、IBM、Microsoft等多家公司 于1994年底联合推出。STM32的USB外设实现了 USB2.0全速总线和APB1总线间的接口,符合USB2.0全速设备的技术规范。
除以上扩展外,中间站还预留E2PROM、蜂鸣器、RS232、模拟量输入、TFT触屏等接口。