嵌入式網卡是為嵌入式系統的聯網設計的網卡,其功能類似于計算機的網卡,但是也有不少區別。嵌入式網卡的樣子如圖1所示,其大小只有4×2厘米。
和普通的網卡相比,嵌入式網卡根據嵌入式系統的特點而設計,主要有如下區別:
1.嵌入式網卡和主機的接口不同。普通網卡以PCI方式和計算機的主板連接,由于嵌入式系統的MCU(例如ARM、MIPS、51單片機)等并不是以PCI為主要的外部設備接口,且PCI的接口較大。所以嵌入式網卡采用以串口(即UART、TTL電平串口)為接口形式,MCU通過串口收發即可通過網卡發送和接收數據。
2.嵌入式網卡內集成TCP/IP協議棧。普通的計算機網卡只提供MAC和PHY功能,計算機通過網卡驅動來并結合計算機操作系統上的TCP/IP協議棧來實現網絡通信。由于嵌入式系統本身的處理能力有限、且很多嵌入式MCU程序本身不含有TCP/IP協議功能,如果將TCP/IP協議棧也集成到網卡內部則無論是對嵌入式系統的開發還是MCU的負荷都很有好處。
上海卓嵐的ZLSN2000嵌入式網卡很好滿足了以上特點,可用于嵌入式系統接入以太網。
計算機的網卡會產生IP沖突這個是很常見的,比如兩臺計算機設置為一個IP地址,就會引起無法上網的現象。在嵌入式網卡情況下,如果兩個嵌入式網卡設置為同樣的IP那么也會產生無法工作的現象。注意IP沖突只是在一個局域網內部出現的,如果是由路由器分割開了,是可以設置為同樣IP的。
但是嵌入式網卡的IP沖突經常出現一種“先后式”IP沖突,而這種“先后式”IP沖突在計算機網卡使用中并不常見。所謂“先后式”IP沖突是這樣的情況:現在有兩臺嵌入式設備,每臺嵌入式設備都裝有嵌入式網卡ZLSN2000,且每個ZLSN2000的IP地址相同,分別叫這兩臺設備為A設備和B設備,用戶先將A設備上電接入網口進行測試,測試完畢后,將B上電接入網絡測試,發現B設備測試無法通過。此時“先后式”IP沖突已經產生。
“先后式”IP沖突的原因是:每個以太網設備,包括計算機在內,都會在本地緩存中保存對方IP地址對應的物理地址。當用戶計算機/設備和A設備通信后記錄了該IP的物理地址,當和A設備同樣IP的B設備進入網絡時,用戶計算機/設備仍然用緩存中記憶的老的物理地址和B設備通信,引起無法通信。
方法1:等待2分鐘。物理地址的緩存在windows XP操作系統的計算機中的保存時間為2分鐘。也就是說在出現“先后式”IP沖突后,只要簡單等待2分鐘即可實現和B設備的通信。但是此種被動等待的方法,顯然效率太低。
方法2:ZLPing工具方法。特別是在對嵌入式網卡進行測試的情況下,需要連續地、高效地測試網絡設備。為此上海卓嵐開發了ZLPing程序,只要在每次新模塊連接到網絡后點擊Ping按鈕即可清空物理地址緩存。

點擊
在ZLPing界面的IP地址部分,填入嵌入式網卡的IP地址,然后點擊Ping按鈕,默認是192.168.1.200的IP。點擊Ping按鈕有3個作用,(1)獲取嵌入式網卡的物理地址。(2)對嵌入式網卡進行icmp echo(也就是俗稱的ping) 測試,如果測試通過則在“成功計數”中增一(3)清空本地物理地址緩存。
ZLPing的第(3)個功能正好用于清除上一個嵌入式網卡的物理地址記憶。用戶在測試嵌入式網卡時,在每接上一個新的嵌入式網卡時,點擊一下Ping按鈕。即可和新的嵌入式網卡通信了。ZLPing方便了用戶對嵌入式網卡/設備的批量測試。但是這個工具只適合于上海卓嵐的嵌入式網卡。
除了ZLPing以外還可以用windows自帶的命令arp -d來清空物理地址緩存。從這里下載pingbat.bat后雙擊即可運行一次清空物理地址緩存的操作。 正確的界面如圖2所示。

在win7及以上操作系統下,注意需要用管理員方式登錄windows,然后運行以上的ZLPing和Pingbat,否則會沒有效果,非管理員的執行效果如下:

此時請使用管理員方式登錄再次使用pingbat或者zlping。如果以管理員身份還是出現圖3問題,請用“管理員方式運行”執行程序。即在程序上點擊右鍵,選擇“以管理員身份運行”。
另外也可以直接修改程序屬性,每次都按照管理員身份運行,勾選屬性中的“以管理員身份運行此程序”。
方法3:對于固件版本為1.546及其以上版本的卓嵐模塊,可以使用卓嵐
方法4:請選擇ZLSN2002或者ZLSN2003為核心的卓嵐模塊。它們比ZLSN2000核心模塊先進的地方是自動具有ARP緩存清理功能。不再有ARP前后式沖突問題。
