基于CP2200簡易型以太網接口設計
引 言
本文引用地址:http://www.104case.com/article/255994.htm當前,嵌入式設計人員在為遠程控制或監控設備提供以太網接入時,使用的以太網控制器(如RTL8019、DM9008、CS8900A等)都是專為個人計算機系統設計的。這些器件不僅接口電路復雜,體積較大,而且比較昂貴。CP2200是Silabs公司于近期推出的一款48引腳獨立以太網控制器。它符合IEEE 802.3協議,支持10M以太網接入,而且僅需很少的外部電路連線就可滿足絕大多數嵌入式以太嗣接口的設計要求,簡化了嵌入式以太網接口的設計,減小了占板空間,降低了系統開發成本。
另外,該以太網控制器具有8位并行主機接口,可以為絕大多數微控制器或主處理器提供以太網通信功能。8位并行總線接口支持Intel和 Motorola總線方式,可以使用復用或非復用方式尋址。這些功能加上相關處理器的TCP/IP協議棧,使得嵌入式應用系統的以太網接口實現變得十分簡易。
1 CP2200的主要功能
◆符合IEEE 802.3協議:內置lOMbps以太網物理層器件PHY及媒介接入控制器MAC,可按業界標準的以太網協議可靠地收發信息包數據;具有可編程填充和CRC自動生成功能。
◆可編程過濾功能:特殊的過濾器,可自動評價、接收或拒收Magic Packet、單播(Unicast)、多播(Multicast)或廣播(Broadcast)信息包,以減輕主控單片機的處理負荷。
◆30 Mbp5速率的并行主機接口:支持Intel和M0torola兩種總線方式。
◆8 KB Flash存儲器:8192字節非易失性數據存儲空間,可對其進行靈活編程;工廠預編程的唯一48位MAC地址。
2 硬件電路設計
系統的硬件電路原理可參考圖1。其中,要特別注意CP2200控制器與RJ-45的連接電路,因為這些參數對通信的可靠性影響很大。

CP2200的外圍電路比較簡單,主要考慮其復位引腳、晶振輸入、并行接口和與以太網變壓器的連接。
2.1 復位電路
CP2200具有上電復位功能。一旦VDD上升到某個門限值后,就會在片內產生上電復位脈沖。當VDD上升到足夠器件上作時,器件會以初始化狀態啟動。CP2200支持軟件復位,可以通過并口將復位寄存器置位來實現軟件復位。
2.2 晶振電路
CP2200的工作頻率為20MHz,晶振連接在XTAL1和XTAL2之間。CP2200也可由連接到XTAL1引腳的外部時鐘源驅動。
2.3 I/O并行接口
CP2200的并行主機接口,支持Motorola和Intel兩種總線方式,且支持地址數據復用和非復用方式。可以通過將MUXEN和MOTEN引腳接地或拉高電平來實現對主機接口總線方式的配置。
2.4 以太網變壓器
要實現以太網接口,以太網變壓器是不可缺少的。在差分接收引腳(RX+/RX-)上,需要1個專用于10BASE-T操作的l:1脈沖變壓器;在差分發送引腳(TX+/TX-)上,需要外接1個帶有中心抽頭的l:2.5脈沖變壓器。變壓器應具有2 kV以上的電壓隔離性能,以防止靜電干擾。發送端需要2個8Ω(精度為1%)的電阻和1個560pF的電容與特定端相連,接收端需要1個100Ω具體連接方式見圖1)。
按照CP2200的要求,筆者采用的是PRJ系列的PRJ-010型變壓器。該變壓器集成了RJ-45接頭,在省去了不少連線的同時也提高了高頻信號傳輸的可靠性。
2.5 其他電路
LINK和ACT引腳輸出電平用于驅動LED,以指示網絡的連接和活動狀態。
所有電源引腳都必須與同一個外部3.3V電源相連。類似地,所有參考地都應在外部連接到相同的接地點。每個VDD和地之間都應連接一個0.1μF的陶瓷旁路電容,且盡可能靠近引腳。
需要特別說明的是,驅動雙絞線接口需要相對高的電流,因此以太網的收發數據線應盡可能短,并且線徑適當加大以減少電阻損耗(為了保證數據的可靠傳輸,筆者的PCB電路板選擇了20mil的線徑)。(注:100mil=2.54 mm。)
3 軟件設計
TCP/IP協議種類繁多,相互之間交互作用復雜,在單片機上不可能實現所有協議,所以必須對協議棧進行裁剪。結合系統的具體通信要求,本系統最后只保留了TCP、UDP、IP、ICMP、ARP協議模塊。在協議棧程序的整體設計上,考慮到單片機的單任務執行方式很難發揮TCP/IP協議的特點,采用了基于事件驅動機制的TCP/IP協議棧的實現方法。該機制的引入,使得系統在保證具有高效的匯編語言代碼效率的同時,實時響應性也得到了大幅提高。下而將具體闡述事件驅動機制的原理、特點以及基于該機制的TCP/IP協議棧的實現。
晶振相關文章:晶振原理 雙絞線傳輸器相關文章:雙絞線傳輸器原理
評論