嵌入式網(wǎng)卡是為嵌入式系統(tǒng)的聯(lián)網(wǎng)設(shè)計的網(wǎng)卡,其功能類似于計算機(jī)的網(wǎng)卡,但是也有不少區(qū)別。嵌入式網(wǎng)卡的樣子如圖1所示,其大小只有4×2厘米。
和普通的網(wǎng)卡相比,嵌入式網(wǎng)卡根據(jù)嵌入式系統(tǒng)的特點而設(shè)計,主要有如下區(qū)別:
1.嵌入式網(wǎng)卡和主機(jī)的接口不同。普通網(wǎng)卡以PCI方式和計算機(jī)的主板連接,由于嵌入式系統(tǒng)的MCU(例如ARM、MIPS、51單片機(jī))等并不是以PCI為主要的外部設(shè)備接口,且PCI的接口較大。所以嵌入式網(wǎng)卡采用以串口(即UART、TTL電平串口)為接口形式,MCU通過串口收發(fā)即可通過網(wǎng)卡發(fā)送和接收數(shù)據(jù)。
2.嵌入式網(wǎng)卡內(nèi)集成TCP/IP協(xié)議棧。普通的計算機(jī)網(wǎng)卡只提供MAC和PHY功能,計算機(jī)通過網(wǎng)卡驅(qū)動來并結(jié)合計算機(jī)操作系統(tǒng)上的TCP/IP協(xié)議棧來實現(xiàn)網(wǎng)絡(luò)通信。由于嵌入式系統(tǒng)本身的處理能力有限、且很多嵌入式MCU程序本身不含有TCP/IP協(xié)議功能,如果將TCP/IP協(xié)議棧也集成到網(wǎng)卡內(nèi)部則無論是對嵌入式系統(tǒng)的開發(fā)還是MCU的負(fù)荷都很有好處。
上海卓嵐的ZLSN2000嵌入式網(wǎng)卡很好滿足了以上特點,可用于嵌入式系統(tǒng)接入以太網(wǎng)。
計算機(jī)的網(wǎng)卡會產(chǎn)生IP沖突這個是很常見的,比如兩臺計算機(jī)設(shè)置為一個IP地址,就會引起無法上網(wǎng)的現(xiàn)象。在嵌入式網(wǎng)卡情況下,如果兩個嵌入式網(wǎng)卡設(shè)置為同樣的IP那么也會產(chǎn)生無法工作的現(xiàn)象。注意IP沖突只是在一個局域網(wǎng)內(nèi)部出現(xiàn)的,如果是由路由器分割開了,是可以設(shè)置為同樣IP的。
但是嵌入式網(wǎng)卡的IP沖突經(jīng)常出現(xiàn)一種“先后式”IP沖突,而這種“先后式”IP沖突在計算機(jī)網(wǎng)卡使用中并不常見。所謂“先后式”IP沖突是這樣的情況:現(xiàn)在有兩臺嵌入式設(shè)備,每臺嵌入式設(shè)備都裝有嵌入式網(wǎng)卡ZLSN2000,且每個ZLSN2000的IP地址相同,分別叫這兩臺設(shè)備為A設(shè)備和B設(shè)備,用戶先將A設(shè)備上電接入網(wǎng)口進(jìn)行測試,測試完畢后,將B上電接入網(wǎng)絡(luò)測試,發(fā)現(xiàn)B設(shè)備測試無法通過。此時“先后式”IP沖突已經(jīng)產(chǎn)生。
“先后式”IP沖突的原因是:每個以太網(wǎng)設(shè)備,包括計算機(jī)在內(nèi),都會在本地緩存中保存對方IP地址對應(yīng)的物理地址。當(dāng)用戶計算機(jī)/設(shè)備和A設(shè)備通信后記錄了該IP的物理地址,當(dāng)和A設(shè)備同樣IP的B設(shè)備進(jìn)入網(wǎng)絡(luò)時,用戶計算機(jī)/設(shè)備仍然用緩存中記憶的老的物理地址和B設(shè)備通信,引起無法通信。
方法1:等待2分鐘。物理地址的緩存在windows XP操作系統(tǒng)的計算機(jī)中的保存時間為2分鐘。也就是說在出現(xiàn)“先后式”IP沖突后,只要簡單等待2分鐘即可實現(xiàn)和B設(shè)備的通信。但是此種被動等待的方法,顯然效率太低。
方法2:ZLPing工具方法。特別是在對嵌入式網(wǎng)卡進(jìn)行測試的情況下,需要連續(xù)地、高效地測試網(wǎng)絡(luò)設(shè)備。為此上海卓嵐開發(fā)了ZLPing程序,只要在每次新模塊連接到網(wǎng)絡(luò)后點擊Ping按鈕即可清空物理地址緩存。
點擊
在ZLPing界面的IP地址部分,填入嵌入式網(wǎng)卡的IP地址,然后點擊Ping按鈕,默認(rèn)是192.168.1.200的IP。點擊Ping按鈕有3個作用,(1)獲取嵌入式網(wǎng)卡的物理地址。(2)對嵌入式網(wǎng)卡進(jìn)行icmp echo(也就是俗稱的ping) 測試,如果測試通過則在“成功計數(shù)”中增一(3)清空本地物理地址緩存。
ZLPing的第(3)個功能正好用于清除上一個嵌入式網(wǎng)卡的物理地址記憶。用戶在測試嵌入式網(wǎng)卡時,在每接上一個新的嵌入式網(wǎng)卡時,點擊一下Ping按鈕。即可和新的嵌入式網(wǎng)卡通信了。ZLPing方便了用戶對嵌入式網(wǎng)卡/設(shè)備的批量測試。但是這個工具只適合于上海卓嵐的嵌入式網(wǎng)卡。
除了ZLPing以外還可以用windows自帶的命令arp -d來清空物理地址緩存。從這里下載pingbat.bat后雙擊即可運(yùn)行一次清空物理地址緩存的操作。 正確的界面如圖2所示。
在win7及以上操作系統(tǒng)下,注意需要用管理員方式登錄windows,然后運(yùn)行以上的ZLPing和Pingbat,否則會沒有效果,非管理員的執(zhí)行效果如下:
此時請使用管理員方式登錄再次使用pingbat或者zlping。如果以管理員身份還是出現(xiàn)圖3問題,請用“管理員方式運(yùn)行”執(zhí)行程序。即在程序上點擊右鍵,選擇“以管理員身份運(yùn)行”。
另外也可以直接修改程序?qū)傩?,每次都按照管理員身份運(yùn)行,勾選屬性中的“以管理員身份運(yùn)行此程序”。
方法3:對于固件版本為1.546及其以上版本的卓嵐模塊,可以使用卓嵐
方法4:請選擇ZLSN2002或者ZLSN2003為核心的卓嵐模塊。它們比ZLSN2000核心模塊先進(jìn)的地方是自動具有ARP緩存清理功能。不再有ARP前后式?jīng)_突問題。