ZLAN1043是单芯片以太网转串口芯片,除此之外,它还具有Modbus TCP转RTU、定时发送心跳包、发送注册包、JSON转Modbus RTU、MQTT网关等功能,本文主要介绍ZLAN1043的网络IO控制功能。
网络IO控制器是通过网口对设备的数字量输入(DI)进行读取对数字量输出(DO)进行控制的一种设备,成品设备比如ZLAN6042(4路DI/DO控制器)、ZLAN6842(8路DI/DO控制器)等。本文介绍ZLAN1043芯片如何设计ZLAN6042、ZLAN6842类似产品的方法。
ZLAN1043设计网络IO控制器的优点包括:
1.只要一颗核心芯片配合一些电阻电容即可实现DI/DO。使用简单,性价比高。
2.无需复杂的网络编程,纯硬件设计,只需要配置各种DI/DO输入对应的网口指令即可。
3.网络控制指令可自定义,最常用的是Modbus指令。
4.目前支持8个DI/DO(DI/DO加起来为8个),DI/DO可以在使用时定义。
网络IO的参考原理图如图2、图3所示。
由以上电路图可知,使用ZLAN1043进行设计网口IO控制器,外部只要提供3.3V和1.8V的电源、网口即可。关于8个GPIO的引脚定义请参考相关文档。当作为输入时GPIO可以用1K上拉;当作为输出时,对驱动继电器等大电流器件驱动时,请使用三极管、达林顿管等进行电流放大。
将提供的8个引脚定义为PIN[1]…PIN[8]。使用配置工具ZLVircom可以设置每个引脚为输入还是输出。若为为输入,则设置网络查询和返回指令的格式,可以为Modbus TCP或者自定义协议,若为自定义协议则输入自定义命令的格式。可以设置控制PIN[1]…PIN[8]输出高电平和低电平对应的网络控制指令的格式。
设计完毕后将设计文件通过网口下载到ZLAN1043芯片内部,重新上电后,芯片会接受刚刚设计的网络命令,实现网络DI/DO功能。
如果设备和计算机都在局域网内部,建议配置芯片为采用TCP服务器工作模式(默认模式)。如果是控制的服务器在公网,且具有公网IP,建议采用TCP客户端模式,配置ZLAN1043连接到这个公网服务器。
如果通过P2P模式进行远程IO的输入输出请使用ZLAN1043N芯片。关于P2P的使用请参考卓岚P2P相关文档。