張儒



摘要:本文采用體積小、功能強大的CP2200作為以太網的通信接口控制芯片。介紹CP2200的功能,并以其為核心設計網絡通訊模塊。經過測試驗證表明,該網絡通訊模塊,運行穩定可靠,實時性較高,抗干擾能力強。本系統在儀器的測試和生產中得到廣泛使用,有著良好的應用前景。
關鍵詞: CP2200;網絡;單片機;
中圖分類號:TP273 文獻標識碼:A 文章編號:1674-098X(2016)01(a)-0000-00
1 CP2200功能結構
CP2200支持IEEE802.3MAC控制協議,不僅支持10 BASE-T的網絡,而且完全兼容100/1000 BASE-T網絡,可以工作在全雙工或半雙工模式,能進行自動極性檢測和糾正,具有碰撞自動重發的功能,能夠自動填充和生成CRC,支持廣播和多播MAC尋址。CP2200有2個LED燈的控制信號線,可以驅動10mA電流。CP2200內部不僅有2k字節的發送緩存區和4k字節的接收緩存取,同時有8k字節的內部非易失性FLASH存儲器。片內的FLASH存儲器,可以用于存儲用戶參數、Web服務器內容或作為通用非易失性存儲器,最后的6個存儲單元工廠預編程的唯一48位MAC地址。CP2200工作的溫度在-40℃~+85℃之間。
CP2200芯片具有30 Mb/s速率的并行主機接口,且有8位復用或非復用方式,即Intel或Motorola總線方式。非復用方式時,并行接口的讀寫1字節數據時,通常需要260ns,復用方式則需要300ns。為了提高系統的運行速度,本系統采用非復用總線方式,且在該方式下采用連續讀寫操作,使得數據傳輸速率達到30Mbps。非復用Intel總線方式下,具體數據幀的讀寫分別如圖1和圖2所示。CP2200有28腳QFN和48腳TQFP兩種封裝。20腳QFN封裝僅支持復用方式,因此本系統選用48腳TQFP封裝。
讀操作流程如下
(1)/RD在TAS期間保持高電平。TAS是地址總線的建立時間,≥30ns。
(2)/RD在TRD期間保持低電平。TRD是讀有效的時間,≥160ns。
(3)在/RD的下降沿,把數據放到數據總線上。TVD1是數據總線的建立時間, ≤140ns。
(4)TVD2,是數據總線從/RD的上升沿到恢復到高阻態的時間,通常為60ns。
寫操作流程如下:
(1)/WR在TAS期間保持高電平。TAS是地址總線的建立時間,≥30ns。
(2)/WR在TWR期間保持低電平。TWR是讀有效的時間,≥120ns。
(3)TDS是數據總線的建立時間,≥40ns。
(4)TDH是數據總線的保持時間,≥20ns。
2 硬件設計
CP2200芯片外圍的硬件電路包括復位電路、晶振電路、I/O并行接口電路、網絡接口電路等。如圖3所示為電路原理圖。
復位管腳/RST通過1K電阻被拉高,并且接到單片機的P1.5管腳,由單片機進行復位控制。CP2200的工作頻率為20Mhz,通過外部晶振接入。CP2200與單片機的并行接口電路按非復用總線方式連接,MUXEN和MOTEN都接地。地址總線A0~A7接單片機的P3.0~P3.7。數據總線D0~D7接處理器的P4.0~P4.7。讀寫信號/RD和/WR,片選信號/CS均接到單片機,由單片機進行控制。中斷信號/INT接到單片機,向單片機發送中斷請求。網絡通訊信號與RJ-45之間通過網絡變壓器E2023NL進行隔離。CP2200芯片的兩個管腳LINK和ACT控制兩個發光二極管,用于指示網絡控制器的工作狀態。 為減少干擾,系統穩定地運行,需要所有的地共地,因此在每個電源和地之間串上一個0.1μF的電容,電源的工作電壓取+3.3V。
3 軟件設計
TCP/IP協議是基于連接的協議,在收發數據前,發送端和接收端要進行3次握手,然后建立連接。數據從A端傳到B端,B端會回送確認包給A端。因此TCP/IP協議是一種可靠性較高的數據通信方式。UDP協議是基于非連接的協議,發送端和接收端不需要建立連接,直接發送數據包。數據從A端傳到B端,B端不會回送確認包給A端。因此UDP協議適的可靠性不高。本系統應用于石油測井的現場作業中,可靠性和實時性要求比較高,因此采用了TCP/IP協議。
CP2200通過EMIF接口與單片機進行數據交互,本系統中單片機的外部中斷0和定時器0用于TCP/IP協議棧。由于單片機的處理速度和內部資源有限,不可能集成所有的TCP/IP協議,因此需要對TCP/IP協議進行裁剪。結合本系統的實際需要,進行裁剪。使用silicon公司推出的TCP/IP設置軟件TCP/IP ConfigurationWizard,可以配置TCP/IP協議棧的參數,對協議棧進行設置。
程序設計采用C/S的工作模式,軟件的工作流程如圖4所示。本系統為服務器,測井儀器為客戶端。本系統的單片機使用C語言編程,使用keil51編譯器。使用配置向導TCP/IP ConfigurationWizard生成程序的代碼框架。mn_server()啟動工作后,有中斷服務程序和回調函數兩種交互方式。本系統采用回調函數實現與主進程進行交互,使用回調函數callback_app_server_idle()采集儀器的數據。當發送緩沖區非空時,mn_server()周期性的調用callback_app_server_idle()函數。
4 測試驗證
網絡連接設置用于設置與測試系統網絡連接的IP、端口等參數,并顯示連接狀態。將上位機IP地址改為192.168.1.2,子網掩碼255.255.255.0,默認網關192.168.1.1,本系統的IP地址在程序中設置為192.168.1.3。網絡連接設置窗口如圖5所示,某只測井儀器的測試界面如圖6所示。測試中,測試系統和儀器的通訊效果良好。
5 結束語
本系統使用CP2200配合裁剪過的TCP/IP協議棧,組建了速度快、成本低的網絡通訊模塊。CP2200具有多種集成功能,有效地減少了單片機的負載,內部的各單元設置靈活簡易,給以太網控制器的設計帶來了許多的方便。經測試驗證表明,該網絡通訊模塊運行穩定可靠,實時性較高,抗干擾能力強。本文研制的儀器測試系統,提高了數據處理效率,減小了硬件資源的占用量,而且滿足了高穩定性、高實時性和高集成化的設計要求,為儀器測試帶來了方便。目前該系統已在儀器的測試和生產中得到廣泛使用,有著良好的應用前景。
參考文獻:
[1] 喻向陽.基于CP2200的數據采集接口. 化工自動化及儀表,2007.34(6)
[2] 李國.基于CP2200的嵌入式以太網接口設計.微計算機信息.2007.23
[3] Silabs公司.CP2200數據手冊.2007