本帖最后由 forgot 于 2023-6-6 18:24 编辑
串口网络服务器设计方案(CW32L083RB) 1. 方案说明 串口网络服务器,有时候也被称作串口转网络收发模块,主要功能就是可以将串行通信口数据,如RS232和RS485等转为以太网口的TCP或者是UDP数据包的形式,通过套接字的建立,发送到远端的IP服务;也可以将IP服务下发的数据转为RS232或RS485接口数字发送到串口终端设备,在远传电表、水表等终端数据采集系统中广发应用。并且在很多设计中还加入了无线传输的途径进行选配,如4G,NB-iot等。
该设计方案主要实现功能如下: 1、设备具有1个以太网络接口实现TCP/IP网络通讯功能。 2、设备具有1个RS485接口,实现与以太网口的数据帧透传。 3、设备具有1个RS232接口,实现与以太网口的数据帧透传。 4、设备具有内置web,可以配置网络参数,如IP、网关、掩码等,可配置串行接口参数,如波特率、校验等。 5、设备具有LED指示灯显示当前的数据传输情况,无数据传输时,可慢闪,有数据传输时可以快闪。 6、设备具有4G模块可选接口,可以实现无线网络通信,直接连接到云平台。
(网络实物参考图片)
2. 选用MCU产品型号 考虑到ARM Cortex-M0+系列大部分产品的RAM比较小,一般为8KB,所以选用CW32L083RB,该芯片最高主频 64MHz,可支持最大 128K 字节 FLASH作为存储,并且有24K 字节 RAM,可用给透传和内置WEB页面提供足够的内存空间,LQFP64的管脚数量也比较富余。
3. 硬件设计思路 1、设备电源直接采用5V电源适配器进行供电,PCB采用DC/DC进行3.3V设计。 2、外设部分,LED驱动采用普通GPIO进行设计。RS485和RS232接口采用MAX3485和MAX3232进行接口电路的设计,连接到MCU的低功耗UART口,因为CW32L083RB具有6路UART,可以留1路出来进行debug调试打印。 3、网络部分采用W5500进行设计,W5500采用的是SPI接口进行驱动,CW32L083RB具有两路SPI,最大支持12Mbit/s。
因为W5500最大可以配置8个套接字,套接字可以分配如下: socket1作为RS232透传的UDP接口 Socket2作为RS232透传的TCP接口 Socket3作为RS485透传的UDP接口 Socket4作为RS485透传的TCP接口 Socket5作为WEB访问的TCP接口
通过CW32L083RB的SPI就可以实现以太网通讯了。 4、WEB配置的设备参数可以直接存储在片内FLASH中,不需要外置存储器了,128K比较大,完成满足该方案的应用。 5、由于CW32L083RB是低功耗芯片,在系统没有通讯需求时,可以考虑设计进入低功耗睡眠模式,深度休眠模式+IWDT工作可以实现1.7uA的最低功耗。 6、定时器可以根据需要进行设计,主要是转发超时的时间设计。
4. 设计框图
5. 软件设计说明 1、串口网络服务器的设计核心在与将串口数据流无差别通过以太网转发,可以选择转发的网络方式和转发的目标IP及端口,从而将一些不具备网络接口的设备,但是具备串行通信口的设备实现物联网络连接,可以更好的通过远程管理软件进行集中管理。 2、在W5500的网络设计中,是可以很简单得获得数据包的长度。而对于串口不定长的数据,可以采用CW32L083RB的串口中断来进行长度判断。 3、由于CW32 是可以进行In Application Programing应用编程的,通过编写Bootloader 和 APP程序,再通过该方案的WEB网页,可以实现网页在线对设备进行升级操作。避免在应用过程中还需要进行开壳进行升级。而厂家给出的 Bootloader 采用 UART1 作为 IAP 的通讯接口,以 Ymodem 协议进行文件的传输,也是一种比较方便的升级方式,可以通过预留出一个RS485接口进行固件的升级。
4、若系统采用的是小型rtos系统进行的设备,数据转发也可以过邮箱的方式进行转发。但是对于ram的占用可能相对较大。
|