ZLAN1043是單芯片以太網(wǎng)轉(zhuǎn)串口芯片,除此之外,它還具有Modbus TCP轉(zhuǎn)RTU、定時(shí)發(fā)送心跳包、發(fā)送注冊包、JSON轉(zhuǎn)Modbus RTU、MQTT網(wǎng)關(guān)等功能,本文主要介紹ZLAN1043的網(wǎng)絡(luò)IO控制功能。
網(wǎng)絡(luò)IO控制器是通過網(wǎng)口對設(shè)備的數(shù)字量輸入(DI)進(jìn)行讀取對數(shù)字量輸出(DO)進(jìn)行控制的一種設(shè)備,成品設(shè)備比如ZLAN6042(4路DI/DO控制器)、ZLAN6842(8路DI/DO控制器)等。本文介紹ZLAN1043芯片如何設(shè)計(jì)ZLAN6042、ZLAN6842類似產(chǎn)品的方法。
ZLAN1043設(shè)計(jì)網(wǎng)絡(luò)IO控制器的優(yōu)點(diǎn)包括:
1.只要一顆核心芯片配合一些電阻電容即可實(shí)現(xiàn)DI/DO。使用簡單,性價(jià)比高。
2.無需復(fù)雜的網(wǎng)絡(luò)編程,純硬件設(shè)計(jì),只需要配置各種DI/DO輸入對應(yīng)的網(wǎng)口指令即可。
3.網(wǎng)絡(luò)控制指令可自定義,最常用的是Modbus指令。
4.目前支持8個(gè)DI/DO(DI/DO加起來為8個(gè)),DI/DO可以在使用時(shí)定義。
網(wǎng)絡(luò)IO的參考原理圖如圖2、圖3所示。
由以上電路圖可知,使用ZLAN1043進(jìn)行設(shè)計(jì)網(wǎng)口IO控制器,外部只要提供3.3V和1.8V的電源、網(wǎng)口即可。關(guān)于8個(gè)GPIO的引腳定義請參考相關(guān)文檔。當(dāng)作為輸入時(shí)GPIO可以用1K上拉;當(dāng)作為輸出時(shí),對驅(qū)動(dòng)繼電器等大電流器件驅(qū)動(dòng)時(shí),請使用三極管、達(dá)林頓管等進(jìn)行電流放大。
將提供的8個(gè)引腳定義為PIN[1]…PIN[8]。使用配置工具ZLVircom可以設(shè)置每個(gè)引腳為輸入還是輸出。若為為輸入,則設(shè)置網(wǎng)絡(luò)查詢和返回指令的格式,可以為Modbus TCP或者自定義協(xié)議,若為自定義協(xié)議則輸入自定義命令的格式??梢栽O(shè)置控制PIN[1]…PIN[8]輸出高電平和低電平對應(yīng)的網(wǎng)絡(luò)控制指令的格式。
設(shè)計(jì)完畢后將設(shè)計(jì)文件通過網(wǎng)口下載到ZLAN1043芯片內(nèi)部,重新上電后,芯片會(huì)接受剛剛設(shè)計(jì)的網(wǎng)絡(luò)命令,實(shí)現(xiàn)網(wǎng)絡(luò)DI/DO功能。
如果設(shè)備和計(jì)算機(jī)都在局域網(wǎng)內(nèi)部,建議配置芯片為采用TCP服務(wù)器工作模式(默認(rèn)模式)。如果是控制的服務(wù)器在公網(wǎng),且具有公網(wǎng)IP,建議采用TCP客戶端模式,配置ZLAN1043連接到這個(gè)公網(wǎng)服務(wù)器。
如果通過P2P模式進(jìn)行遠(yuǎn)程IO的輸入輸出請使用ZLAN1043N芯片。關(guān)于P2P的使用請參考卓嵐P2P相關(guān)文檔。