建德網絡連接器規(guī)格
發(fā)布時間:2023-08-11 01:30:02
建德網絡連接器規(guī)格
摘要 在自動化控制及其他民用設備、工業(yè)控制如電力設備系統(tǒng)等領域,眾多設備的對外通訊接口仍然是低速串口。但低速串口有其固有的缺點:無法集中、全面、準確而實時地監(jiān)控數據。本文介紹基于微處理器SEP3203串口以太網轉換器的以太網接口的軟硬件設計方法,它可以變傳統(tǒng)的串口通訊為網絡通訊,實現串口設備的快速聯網。1引言在自動化控制及其他民用設備、工業(yè)控制如電力設備系統(tǒng)等領域,眾多設備的對外通訊接口仍然是低速串口。因此現有系統(tǒng)的缺點是:無法集中、全面、準確而實時地監(jiān)控數據。隨著以太網在工業(yè)、商業(yè)領域的大規(guī)模使用以及網絡自動化強勁勢頭的到來,用戶與供應商迫切需要在任何時間和任何地點都可以實時訪問數據和進行控制,做到遠程快速故障分析與處理、設備的遠程維護,以便提高質量,提高工作效率并降低整體成本。完全換掉這些串口通訊的設備是既不經濟也不可行的。針對一些實際需求,采用串口以太網轉換器就是解決這些問題的最佳解決方案。本課題串口以太網轉換器正是在這一要求下設計出來的產品, 本文就是本課題下的子課題部分。2基于ARM7TDMI的SEP3203微處理器簡介ARM7TDMI處理器是ARM7處理器系列成員之一,是目前應用較廣的32位高性能嵌入式RISC處理器,SEP3203[1]是東南大學國家專用集成電路系統(tǒng)工程技術研究中心基于ARM7TDMI處理器內核設計的16/32位RISC微處理器芯片。它面向低成本手持設備和其它通用嵌入式設備,為用戶提供了豐富的外設、低功耗管理和低成本的外存配置。3串口以太網轉換器中與以太網接口相關的電路結構為了實現該轉換模塊的研究,首先要選擇一個硬件平臺即嵌入式處理器。由于ARM是基于精簡指令系統(tǒng)(RISC)的32位內核,代碼效率高,運行速度快,綜合性能強,在基于ARM體系結構的嵌入式CPU中,基于ARM7TDMI體系結構的SEP3203嵌入式微處理器擁有較好的技術支持,因此本轉換器選擇SEP3203作為硬件平臺;轉換系統(tǒng)必須要有電源,供整個系統(tǒng)用;系統(tǒng)工作時需要有工作時鐘,因此本系統(tǒng)需要有時鐘電路;由于用戶需要的轉換器要有串口、USB和以太網口下載等功能,由于本文只針對以太網口,其它兩個接口本文不作介紹。以太網口與嵌入式芯片之間要有一個網絡模塊,現把與以太網口相關電路結構的部分設計顯示如圖1所示。4 網絡接口電路的硬件設計SEP3203芯片內部沒有集成網絡模塊,但SEP3203芯片設計的接口豐富,可以方便地擴展??紤]使用中可能對網速的要求比較高,因此本系統(tǒng)選用了10M的以太網接口。本系統(tǒng)的網絡接口采用REALTEK公司的RTL8019芯片。RTL8019AS 是一種高度集成的以太網芯片,能簡單的實現Plug and Play 并兼容NE2000。由于它擁有三種等級的掉電模式,所以它是綠色電腦的網絡設備的理想選擇。在全雙工模式下,如果是連接到一個同樣是全雙工的交換機或集線器,就可實現同時接收和發(fā)送[2]。RTL8019AS支持16KByte、32KByte、64KByte的BROM,另外還支持FLASH MENORY和頁訪問方式,最大支持4MByte(16K×256),此外還支持在運行完BROM 后釋放內存以供系統(tǒng)其他程序的運行。網絡接口模塊的系統(tǒng)連接示意圖如圖2所示。由圖2可知,以太網接口通過系統(tǒng)總線外擴而成。RTL8019AS的地址使用方式有5位、8位、11位三種。使用5位地址就可以訪問RTL8019AS所有的寄存器,實現最簡單的網絡功能。本系統(tǒng)使用8位地址滿足了操作系統(tǒng)對遠程DMA端口的需求。網絡接口模塊和SEP3203微處理器的連接線比較簡單,在PCB板上布線比較規(guī)則。網絡接口芯片RTL8019的實際電路連接圖見參考文獻[3]。網口選用了內置變壓及指示燈的RJ45網絡接口,實際電路圖如圖3[4]所示, 對比SEP3203微處理器的SRAM接口協議,由于總線沒有等待信號,所以沒有使用IOCHRDY信號。由于SEP3203微處理器總線的最低數據位寬是16位,所以IOCS16B固定置于16位方式。5軟件平臺Nucleus綜合考慮各個因素,我們選擇了嵌入式實時操作系統(tǒng)Nucleus。Nucleus PLUS是美國著名RTOS廠商(ATI)(Accelerated Technology Inc)公司為實時嵌入式應用而設計的一個搶先式多任務操作系統(tǒng)內核,其95%的代碼是用ANSI C寫成的,非常便于移植并支持大多數類型的處理器。Nucleus PLUS是一組C函數庫,下載到目標板的RAM中或直接燒錄到到目標板的ROM中執(zhí)行。在典型的目標環(huán)境中,Nucleus PLUS核心代碼一般不超過20K字節(jié)大小,內核規(guī)模非常小。Nucleus PLUS除提供功能強大的內核操作系統(tǒng)外,還提供種類豐富的功能模塊。例如用于通訊系統(tǒng)的局域和廣域網絡模塊,支持圖形應用的實時化Windows模塊,支持nternet網的WEB產品模塊,工控機實時BIOS模塊,圖形化用戶接口,以及應用軟件性能分析模塊等,用戶可以根據自己的應用來選擇不同的應用模塊;6 網絡接口通信的設計網絡接口的硬件將網絡上傳送來的數據送入系統(tǒng)內存中,并通知操作系統(tǒng)有網絡數據到達。通常,網絡接口使用中斷機制來完成這一任務,一個中斷時處理器將正常的處理掛起,跳轉到設備驅動程序的代碼段執(zhí)行。此時,由設備驅動程序管理所有細節(jié)。設備驅動軟件通知協議棧已經有一個分組到達,并要求進行相應的處理。當設備驅動軟件完成這些繁瑣的處理工作后,他將從中斷返回,處理器繼續(xù)從中斷發(fā)生處往下執(zhí)行。在本協議棧中,設備驅動程序對上層應用屏蔽了接收和發(fā)送的細節(jié)。用戶只需要調用相應的套接字即可以完成數據的接收和發(fā)送。比如用戶要使用非阻塞方式接收和發(fā)送數據,可以使用Select(),在Select 的timeout 參數選擇NO_PREEMPT,即可以非阻塞方式接收發(fā)送。在本TCP/IP 實現中,協議棧初始化是依靠調用NETI_Init()完成的。NETI_Init()完成兩個工作,首先是對網絡協議棧的初始化[5], 然后就對系統(tǒng)所使用的網絡設備進行初始化流程說明:①程序由Main()函數開始,調用taskmain()。②taskmain()調用sys_ini()對系統(tǒng)初始化,調hardware_ini()對硬件初始化;調用vcre_tsk()創(chuàng)建了6個任務,調用stak_tske()將部分任務放入就緒隊列,調用sys_sta()啟動系統(tǒng)。③通過系統(tǒng)調度開啟任

建德網絡連接器規(guī)格
嵌入式系統(tǒng)以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應了各種應用系統(tǒng)中對功能、可靠性、成本、體積、功耗等的嚴格要求,因此它贏得了巨大的市場,在應用數量上遠遠超過了各種通用計算機。嵌入式接入Internet是近幾年隨著計算機網絡技術的普及和發(fā)展而發(fā)展起來的一項新興概念和技術,它通過為現有嵌入式系統(tǒng)增加因特網接入能力來擴展其功能,一般指設備通過嵌入式模塊而非PC系統(tǒng)直接接入Internet,以Internet為介質實現信息交互的過程,通常又稱為非PC接入。嵌入式系統(tǒng)利用網絡接口控制芯片實現與網絡的通信功能,成本低,控制方便可靠,滿足系統(tǒng)對通信的要求??紤]到本身的特點,在大量工業(yè)領域中應用嵌入式設備功能比較單一,在上述網絡接口控制芯片接口程序的基礎上只需要開發(fā)簡化的嵌入式協議棧,就可滿足許多情況下的應用需求。目前,許多公司和組織致力于將以太網與現場總線實現無縫連接,使以太網越來越向底層延伸。以太網在現場設備中的應用研究和基于以太網的智能芯片的開發(fā)等也日益成為研究的熱點。1 嵌入式接入網的主要方式目前嵌入式系統(tǒng)接入Internet通常有以下兩種主要方式:(1)采用高速的16/32Bit微控制器直接實現TCP/IP協議,這種方法的實現框圖如圖1所示。這種方式可以使嵌入式系統(tǒng)直接與Internet相連,有很大的靈活性。缺點是占用的系統(tǒng)資源較多,對微控制器的要求也很高,無法在8/16Bit低速微控制器為核心的嵌入式系統(tǒng)上實現。(2)使用嵌入式網關來實現,如圖2所示。各個嵌入式系統(tǒng)首先和網關進行通信,通信方式采用傳統(tǒng)的RS-232、RS-485等,由嵌入式網關負責實現TCP/IP協議,完成嵌入式系統(tǒng)的信息與Internet的信息交互。這種方案解決了以低速8/16Bit微控制器為核心的嵌入式系統(tǒng)接入Internet的問題。缺點是需要一個專門的嵌入式網關,而且和各個嵌入式系統(tǒng)之間的通信同樣受到速度和距離的限制,這種方法的實現成本將會增加。2 嵌入式系統(tǒng)的組成嵌入式系統(tǒng)包括硬件和軟件兩部分。硬件包括處理器微處理器、存儲器及外設器件和30端口、圖形控制器等。軟件部分包括操作系統(tǒng)軟件(要求實時和多任務操作)和應用程序編程。嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式互聯的目標是嵌入式設備工作在以網絡為中心的環(huán)境中,把“孤立的目標系統(tǒng)”相互連接起來。為適應嵌入式分布處理結構和應用上網需求,嵌入式系統(tǒng)必需配有一種或多種網絡通信接口,使嵌入式微控制器不僅能執(zhí)行傳統(tǒng)的控制功能,而且還能執(zhí)行與連接因特網相關的功能,從而把標準網絡技術(TCP/IP)一直擴展到嵌入設備,由嵌入式系統(tǒng)自身實現Web服務器功能,這是解決嵌入式Internet問題的最佳方案;嵌入式設備接入Intranet/Internet網原則上講,只要實現TCP/IP網絡協議就可以。針對嵌入式設備連接涉及的兩個關鍵問題即傳送信息的媒質和采用的協議。最常用的聯接模式是以太網通信介質的有線連接與TCP/IP協議。其網絡體系結構與協議分層如圖1所示。利用網絡接口控制器(NIC-Network InteRFace Controller)來實現物理層和鏈路層協議,同時微處理器運行嵌入式TCP/IP協議通信模塊來實現與Intranet/Internet網的連接。一旦這個目標得以實現,就能在網絡環(huán)境下在任何時間從任何地點對位于任何其它地方的系統(tǒng)中的微控制器進行監(jiān)控,利用傳統(tǒng)的Web和因特網機制遠程監(jiān)視數據和運行情況控制,而且還能在合適的條件下對系統(tǒng)進行調試、升級和維護。 技術難點分析3.1 發(fā)送數據的封裝把一組數據發(fā)送到基于TCP/IP協議的網絡上,首要條件是產生符合TCP/IP協議的數據格式。首先從一個物理幀的格式來分析。一個標準的IEEE802.3的物理幀如圖4所示:如果與嵌入式系統(tǒng)的通信只是局限于局域網之中,在物理幀的數據域內可以直接放置要發(fā)送的數據。如果需要和其他的網絡進行通信,在物理幀的數據域中需要封裝更高層的協議,嵌入式系統(tǒng)發(fā)送的數據應該封裝在高層協議的數據域內。這些數據的層層封裝和物理幀的形成對于速度沒有特殊的要求,普通的低速微控制器完全可以實現。3.2 發(fā)送數據的發(fā)送以10M以太網為例說明,發(fā)送數據時應該做的工作是,首先對待發(fā)送的數據進行曼徹斯特編碼,而后對編碼后的數據進行扭曲處理,使發(fā)送的數據適合在 10M以太網上傳輸,最后把處理好的數據以10M的速度發(fā)送到以太網上。同時,為了保證數據的有效發(fā)送,系統(tǒng)還應具有沖突檢測和重發(fā)的功能。從以上的發(fā)送過程可以看出,直接用普通的微控制器是很困難的,應該考慮用其他的方法實現。4 一種嵌入式網絡接口的實現方案基于因特網的嵌入式網絡體系結構實現的核心問題是如何實現嵌入式網絡接口。在眾多實現方案中,以MCU為核心的實現方案,雖然實現起來有一定困難,仍因其極低的成本,受到格外重視。在此實現了一種網絡接口芯片與MCU相結合的方案,如圖5所示。RTL8019AS與硬件實現以太網接口芯片中,選用RTL8019AS。由臺灣Realtek公司生產的RTL8019AS以太網控制器,由于其優(yōu)良的性能、低廉的價格,使其在市場上的10Mbps網卡中占有相當的比例。使用8051/52兼容單片機實現對RTL8019AS的控制,電路圖如圖6所示。RTL8019AS采用8位數據傳輸的跳線模式(IOCS16接地, JP接高電平)。P0口通過地址鎖存器實現地址數據復用。P3.4片選RTL8019AS。數據收發(fā)不使用中斷驅動,全部由軟件查詢實現?;刂愤x擇引腳IOS[3:0]空,I/O基地址為300H。使用雙絞線為通信介質,所使用的引腳有:TPIN+,TPIN-,POUT+,TPOUT-,連入耦合隔離變壓器FB2022,通過RJ 45插頭實現與網絡的連接。通常TCP/IP是指Internet協議簇,而不單單是TCP/IP。因此,在8bitMCU不大的ROM空間里,不可能實現所有的TCP/IP協議??紤]到嵌入式應用中硬件系統(tǒng)的多樣性,完成特定功能的應用程序也各不相同,因而軟件的設計在保證滿足功能前提下,最好短小,易于被移植,尤其是應用程序與網絡協議軟件應具備一定的獨立性。因此,選擇TCP/IP作為嵌入式網絡的通信協議,同時必須對TCP/IP協議簇根據實際需要進行必要的刪減,即實現一個thinTCP/IP協議簇。通常的thinTCP/IP的層次結構與標準的TCP/IP的一樣,也是四層結構(圖7)。以太網接口層主要實現對以太網接口芯片的控制,IP層根據實際需要選擇實現ARP(地址解析協議)、RARP(反向地址解析協議)、ICMP(因特網控制報文協議)以及IGMP(網絡組管理協議)。傳輸層主要由TCP(傳輸控制協議)和UDP(用戶數據報協議)組成,在實際實現時,根據需要可只實現其中一個。CIP(控制信息協議)是專為控制設備、基于對象的一種方法,它是獨立于特定網絡的應用層協議,提供了訪問數據和控制設備操作的服務集。CIP的制定需要根據具體應用加以考慮,與通常協議的格式相似,也為“命令+數據”模式。

建德網絡連接器規(guī)格
防水rj45連接器俗稱水晶頭。就是連接網卡或HUB的那個透明的插頭,是用來連接雙絞線的兩端。RJ-45是一種網絡接口規(guī)范,類似的還有RJ-11接口,就是我們平常所用的“電話接口”,用來連接電話線。之所把它稱之為“水晶頭”,是因為它的外表晶瑩透亮的原因。雙絞線的兩端必須都安裝這種RJ-45插頭,以便插在網卡(NIC)、集線器(Hub)或交換機(Switch)的RJ-45接口上,進行網絡通訊。目前,市場上rj45連接器的品牌與種類很多,但如果使用行業(yè)是工業(yè)方面的客戶,需要rj45連接器具備過硬的密封防水性能以及保證信號不發(fā)生衰減,這種rj45連接器市場上還是比較少。RJ45水晶頭常規(guī)的都為8個端子,一般都有鍍金,這可以根據需求者的要求更改的。一般來說,鍍金的u(mai)數越大,電信號的傳輸能力就越強。一般水晶頭滿足的質量檢測標準是插拔次數2000次,如果低于這個插拔次數,則這個水晶頭視為不合格2rj45連接器線路連接順序編輯常用B標RJ-45線路連接順序為橙白、橙、綠白、藍、藍白、綠、棕白、棕。當連接不同設備時,使用A標,其連接順序為綠白、綠、橙白、藍、藍白、橙、棕白、棕。一般都常用B標的壓法,如果要做交叉線,就一邊為A標另一邊為B標。東莞訊磁電子科技有限公司成立于06年,是一家集新產品研發(fā)、生產、售銷于一體的專業(yè)連接器制造企業(yè)。公司主導產品為:RJ45網絡通訊接插件,RJ45+Transformer、網絡變壓器模塊等磁性元器件為主體,大部份產品通過了美國UL認證。并在東莞,陜西,廣西各設一廠,公司現有廠房面積6000平米,穩(wěn)定員工500多人,其中技術人才有20多人,以及先進的生產設備和質量檢測儀器數十臺,在此公司依靠其雄厚的研發(fā)與生產實力,嚴格的品質管理體系,高素質的隊伍,一絲不茍的作風,并能根據您的實際需求設計制造出高質量的產品與提供優(yōu)良的服務。公司主營產品有:(1)RJ45集成10/100/1000M 網絡脈沖變壓器,濾波器系列(2)RJ45+(單層雙層)USB集成10/100/1000M 網絡脈沖變壓器,濾波器系列(3)T1/E1/CEPT/ISDN-PRI接口變壓器(4)T3/DS3/E3/STS-1接口變壓器,SONET/SDH(E4/STM-1)接口變壓器(5)10/100/1000M網絡變壓器,脈沖變壓器,濾波器與網絡磁性模塊(6)RJ45、RJ11、RJ12和電話插座轉接頭等系列產品。(7)USB、HDMI、CF、CARD、FPC排針排母等電腦周邊連接器。產品廣泛應用于:路由器、交換機、移動硬盤、視頻傳輸監(jiān)控、網卡、集線器、電腦主板、工控主板、網絡播放器、光端機、SDH、PDH、IP電話、ADSL/VDSL以及藍光DVD、數字電視機頂盒 等網絡、通訊設備上。

建德網絡連接器規(guī)格
引言隨著Internet 的出現和以太網的迅速發(fā)展, 基于以太網的設備控制越來越多。目前市場上大部分以太網控制器采用的封裝均超過80 引腳, 如RTL8019AS、DM9008、CS8900A 等。這些器件不僅結構復雜, 面積龐大, 且系統(tǒng)開銷較大。近來, Microchip推出全球首枚28 引腳獨立以太網控制器ENC28J60, 可為嵌入式系統(tǒng)提供低引腳數、低成本、精簡的遠程通訊解決方案。設計了以ENC28J60 為核心的以太網接口實現方案, 描述了該系統(tǒng)硬件架構的設計方法。在簡要介紹了以太網控制器ENC28J60 的結構、功能、外圍電路的基礎上, 對ENC28J60Atmega16 的SPI 通訊進行了闡述。此方案不僅成本低, 而且可以實現500Kbps 以上的傳輸速率, 滿足了嵌入式系統(tǒng)的Internet 控制要求。2 ENC28J60 網絡接口體系結構ENC28J60 是帶有行業(yè)標準串行外設接口(Serial PeripheralInterface, SPI)的獨立以太網控制器。它符合IEEE 802.3 的全部規(guī)范, 采用了一系列包過濾機制以對傳入數據包進行限制。它還提供了一個內部DMA 模塊, 以實現快速數據吞吐和硬件支持的IP 校驗和計算。與主控制器的通信通過兩個中斷引腳(INT和WOL)和SPI 腳(SO、SI、SCK、CS)實現, 數據傳輸速率高達10Mb/s.兩個專用的引腳(LEDA、LEDB)用于連接LED, 進行網絡活動狀態(tài)指示。圖1 所示為ENC28J60 的典型應用電路。ENC28J60 由7 個主要功能模塊組成:SPI 接口, 充當主控制器和ENC28J60 之間通信通道; 控制寄存器, 用于控制和監(jiān)視ENC28J60; 雙端口RAM緩沖器, 用于接收和發(fā)送數據包; 判優(yōu)器, 當DMA、發(fā)送和接收模塊發(fā)出請求時對RAM緩沖器的訪問進行控制; 總線接口, 對通過SPI 接收的數據和命令進行解析;MAC 模塊:實現符合IEEE 802.3 標準的MAC 邏輯; PHY 模塊, 對雙絞線上的模擬數據進行編碼和譯碼。ENC28J60 還包括其他支持模塊, 諸如振蕩器、片內穩(wěn)壓器、電平變換器(提供可以接受5V 電壓的I/O 引腳)和系統(tǒng)控制邏輯。根據以上說明, ENC28J60 應用于嵌入式網絡接口是非常合適的, 有廣闊的應用發(fā)展前景。3 ENC28J60 在嵌入式網絡接口的應用3.1 硬件電路設計利用ENC28J60 可以構成不同功能的網絡終端節(jié)點, 如網絡服務器、帶Internet 功能的設備、遠程監(jiān)控(數據采集, 診斷)設備等。圖2 所示為基于ENC28J60 的嵌入式網絡接口的硬件電路原理圖。電路中有:2 個LED 狀態(tài)指示燈主要用來顯示網絡連接狀態(tài), 包括PHY 是否沖突、連接是否建立、是否接收數據、連接速度、雙工模式等; 必需的偏置電阻R3(2kΩ, 精度為1%);高速局域網電磁隔離模塊(即RJ45 以太網接口), 應用中,ENC28J60 的物理端口與隔離變壓器HR901170A 連接時必須符合IEEE802.3 對物理層規(guī)范的要求, 如RJ45 的插孔與隔離變壓器的間隔應盡量小, 輸出和輸入差分信號對的走線要有很好的隔離。電路中的主控制器采用Atmel 公司的ATmega16 單片機,它具有先進的RISC(精簡指令集計算機)結構、16 kB 可編程Flash 存儲器、512 B 的EEPROM和1 kB 片內SRAM, 具有豐富的外設接口, 其SPI 接口允許ATmega16 與外設進行高速的同步數據傳輸。本設計中ATmega16 SPI 配置為主機模式,ENC28J60 為從設備。ATmega16 的SPI 工作模式由CPOL、CPHA 設置, 根據ENC28J60 的SPI 讀寫時序, ATmega16 的SPI工作模式應設置為模式0.ATmega16 通過將ENC28J60 的CS引腳置低實現與其的同步。SPI 時鐘由寫入到SPI 發(fā)送緩沖寄存器的數據啟動, SPI MOSI(PB5)引腳上的數據發(fā)送秩序由寄存器SPCR 的DORD 位控制, 置位時數據的LSB(最低位)首先發(fā)送, 否則數據的MSB(最高位)首先發(fā)送。我們選擇先發(fā)送MSB,同時接收到的數據傳送到接收緩沖寄存器, CPU 進行右對齊從接收緩沖器中讀取接收到的數據。應該注意, 當需要從ENC28J60 中讀取多個數據時, 即使ENC28J60 并不需要ATmega16 串行輸出的數據, 每讀取一個數據前都要向SPI 發(fā)送緩沖器寫一個數據以啟動SPI 接口時鐘。由于SPI 系統(tǒng)的發(fā)送方向只有1 個緩沖器, 而在接收方向有2 個緩沖器, 所以在發(fā)送時一定要等到移位過程全部結束后, 才能對SPI 數據寄存器執(zhí)行寫操作; 而在接收數據時, 需要在下一個字節(jié)移位過程結束之前通過訪問SPI 數據寄存器讀取當前接收到的數據, 否則第1 個數據丟失。3.2 ENC28J60 軟件初始化在使用ENC28J60 發(fā)送和接收數據包前, 必須對器件進行初始化設置。根據不同的應用, 一些配置選項可能需要更改。初始化設置工作包括接收和發(fā)送緩沖器、接收過濾器、晶振啟動時間、MAC 寄存器、PHY 寄存器。初始化芯片之前先關閉單片機的中斷輸入, 對RESET 引腳給定一個持續(xù)的低電平復位信號, 然后對相應的寄存器進行設置。設置完成所有需要的寄存器后, 判斷以太網狀態(tài)中的時鐘啟動標志位是否置位, 然后開中斷。系統(tǒng)初始化后進入主程序循環(huán), 包括單片機的控制作用和網絡數據傳輸。對于以太網傳輸部分來說。主要有兩個作用:一是對要發(fā)送的數據按照以太網數據幀格式進行封裝并發(fā)送; 二是對接收的以太網數據幀進行解包, 供應用程序使用。3.3 ENC28J60 發(fā)送數據包在進行數據包發(fā)送或接收時, 要先對寫緩沖存儲器(WriteBuffer Memory, WBM)命令掌握。WBM允許主控制器將字節(jié)寫入8KB 發(fā)送和接收緩沖存儲器。如果ECON2 寄存器中的AUTOINC 位置1, 那么在寫完每個字節(jié)的最后一位之后,EWRPT 指針將會自動地遞增指向下一個地址(當前地址加1)。如果寫入地址1FFF 且AUTOINC 置1, 則寫指針加1 指向0000h.將CS 引腳拉為低電平啟動WBM命令。然后將WBM操作碼及隨后的5 位常量1Ah 送入ENC28J60.在發(fā)送WBM命令和常量之后, 由EWRPT 指向的存儲器中的數據將移入ENC28J60, 首先移入最高位。在接收到8 個數據位后, 如果AUTOINC 置1, 寫指針將自動遞增。主控制器可以繼續(xù)在SCK引腳提供時種信號、在SI 引腳發(fā)送數據同時保持/CS 為低電平, 從而可以連續(xù)寫入存儲器。當AUTOINC 被使能時, 以該方式就可以連續(xù)地向緩沖存儲器寫入字節(jié)而無需多余的SPI命令。拉高CS 引腳電平可結束WBM命令。在WBM操作期間,SO 引腳一直為高阻態(tài), WBM操作時序, 請參見圖3.ENC28J60 內的MAC 在發(fā)送時會自動生成前導符和幀起始定界符。此外, MAC 可根據配置生成填充(如果需要)和CRC字段。主控制器必須生成所有其他幀字段, 并將它們寫入緩沖存儲器, 以待發(fā)送。此外, ENC28J60 還要求在待發(fā)送的數據包前添加一個包控制字節(jié)。主控制器應:1.正確編程ETXST 指針,使之指向存儲器中未用的單元。它將指向包控制字節(jié), 在本設計方案中, 指針應編程為0120h; 2.使用WBM SPI 命令寫入包控制字節(jié)、目標地址、源MAC 地址、類型/ 長度和數據有效負載; 3.正確編程ETXND 指針。它應指向數據有效負載的最后一個字節(jié), 在本設計方案中, 指針應編程為0156h; 4.將EIR.TXIF位清零、將EIE.TXIE 位和EIE.INTIE 位置1 允許在發(fā)送完成后產生中斷(如果需要); 5.將ECON1.TXRTS 位置1 開始發(fā)送。如果在TXRTS 位置1 時正在進行DMA 操作, ENC28J60 會等待DMA 操作完成再發(fā)送。這種等待是必需的, 因為DMA 和發(fā)送引擎共享同一個存儲器訪問端口。同樣如果在TXRTS 已置1后, ECON1 中DMAST 位才置1, DMA 在TXRTS 位清零前不會采取任何動作。如果正在進行發(fā)送, 不應通過SPI 讀取或寫入任何待發(fā)送的字節(jié)。主控制器將TXRTS 位清零可取消發(fā)送。如果數據包發(fā)送完成或因錯誤取消而中止發(fā)送, ECON1.TXRTS位會被清零, 一個7 字節(jié)的發(fā)送狀態(tài)向量將被寫入由ETXND +1 指向的單元, EIR.TXIF 會被置1 并產生中斷(如果允許)。要驗證數據包是否成功發(fā)送, 應讀取ESTAT.TXABRT 位。如果該位置1, 主控制器在查詢發(fā)送狀態(tài)向量的各個字段外, 還應查詢ESTAT.LATECOL 位, 以確定失敗的原因。下面給出寫數據包的源代碼:3.3 ENC28J60 接收數據包假設接收緩沖器已完成初始化, MAC 已正確配置而且接收過濾器已配置為接收以太網數據包, 主控制器應該:1.如果需要在接收到數據包時產生一個中斷, 就要將EIE.PKTIE 位和EIE.INTIE位置1; 2. 如果需要在由于緩沖空間不足導致數據包丟失時產生一個中斷, 就要將EIR.RXERIF 位清零, 并將EIE.RXERIE位和EIE.INTIE 位置1; 3. 通過將ECON1.RXEN 位置1使能接收。在將RXEN 置1 后, 將不能修改雙工模式和接收緩沖器起始和結束指針。此外, 要阻止不期望接收的數據包, 在更改接收過濾器配置寄存器(ERXFCON) 和MAC 地址前建議將RXEN 清零。在使能接收后, 沒有過濾掉的數據包將寫入循環(huán)接收緩沖器。任何不符合過濾條件的數據包將被丟棄, 但主控制器無法識別一個數據包已被丟棄。當接收到一個數據包并將其完整寫入緩沖器時, EPKTCNT 寄存器將遞增, EIR.PKTIF 位將置1, 并產生一個中斷(如果允許), 同時硬件寫指針ERXWRPT 自動遞增。