ZLIP是一個專門為51單(dan)片(pian)機(ji)設計的(但不限(xian)于51單(dan)片(pian)機(ji))專門的嵌(qian)入式TCP/IP協(xie)議(yi)棧。新一代ZLIP增(zeng)值版V1.0主(zhu)要特點有:
1. 原創性:ZLIP的所有代碼都由版權所有者設計實現。與基于開源代碼的軟件相比,它更具有清晰的結構和易于維護性,卓嵐公司也更具有專業的技術能力。
2. 優(you)化性:ZLIP專門針(zhen)對(dui)51單(dan)片機進(jin)行(xing)了優(you)化。
(1) ZLIP具有適中的代碼兩和相對較快的運行速度。由于ZLIP一開始就是為51單片機設計,所以代碼量和速度一直是設計中考慮的重點。LWIP是一個著名的開源嵌入式TCP/IP,但是它是為16位/32位CPU設計,相對于51來說代碼量較大。
(2) ZLIP專門針對Keil C51編譯器進行了優化。
a) 全部指針都為明確存儲類型的指針,以提高速度。
b) 對于可能被重入的函數聲明為reentant。
c) 根據程序的需要在內存消耗和速度之間取舍,以選擇為xdata類型還是data類型。
3. 易用性:
(3) 實現BSD socket的函數集:
a) ZLIP實現了BSD socket的socket, sendto, recvfro,
connect, bind, listen, accept, send, recv, closesocket, shutdown,
getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt,
getsockopt,select共23個接口函數。支持阻塞(block)和非阻塞(nonblock)模式運行,支持LINGER方式的socketclose()等。
b) 統一的socket接口簡化了TCP/IP和應用層的交互。著名的uIP有很小的代碼量(選擇AVR為目標器件時,代碼為5K左右)和RAM使用量(100字節左右),但是uIP沒有和BSD
socket接口兼容,它采用不保存需要應答的數據包的RAM使用方案,當數據包丟失時,需要應用層負責重發,應用層接口較復雜。
c) 統一的socket接口可以方便地將其它基于socket接口的開源程序移植到ZLIP上。
(4) 類MFC回調機制:MFC(Microsoft Foundation Class)CSocket的OnAccept、OnRecv、OnClose、OnConnect、OnRecvFrom回調機制能夠在TCP被連接、接收到數據、連接關閉、連接建立、UDP接收到數據情況下立即執行回調函數,使得編程非常方便。ZLIP實現全部5種回調機制。
4. 穩定性:
(5) ZLIP從2003年至今經過不斷完善,已經是一個成熟的產品。
(6) 從2003開始,ZLIP在門禁系統、遠程采集儀器等產品中經過實際檢驗。
(7) ZLIP增值版V1.0,經過92個專門的測試程序,全面地測試了其穩定性。
(8) 專門設計的校驗和程序檢驗了在大數據量(100MB)收發時收發數據的一致性。
5. 支持操作系統:ZLIP增值版可以在無操作系統的平臺上或者有操作系統平臺上運行。ZLIP增值版1.0之前版本主要運行于非操作系統平臺上,增值版1.0增加了對uc/os-II的配合,真正實現了TCP/IP和OS在51單片機上的同時運行。
除此之外,基于ZLIP的ZLWeb提供了通過瀏覽器對設備進行控制和數據采集的接口;提供豐富的例子程序和詳細的用戶手冊;提供卓嵐公司的ZLIP調試工具SocketTestDlg程序和ZLFs文件系統構造程序ZLFsCreate。