成都網(wǎng)絡(luò)連接器圖片
發(fā)布時(shí)間:2023-08-16 01:29:52成都網(wǎng)絡(luò)連接器圖片
摘要:設(shè)計(jì)了以ENC28J60 為核心的以太網(wǎng)接口實(shí)現(xiàn)方案,描述了該系統(tǒng)硬件架構(gòu)的設(shè)計(jì)方法。在簡(jiǎn)要介紹了以太網(wǎng)控制器ENC28J60 的結(jié)構(gòu)、功能、外圍電路的基礎(chǔ)上, 對(duì)ENC28J60 與Atmega16 的SPI 通訊進(jìn)行了闡述。此方案不僅成本低, 而且可以實(shí)現(xiàn)500Kbps 以上的傳輸速率,滿足了嵌入式系統(tǒng)的Internet 控制要求。1 引言隨著Internet 的出現(xiàn)和以太網(wǎng)的迅速發(fā)展, 基于以太網(wǎng)的設(shè)備控制越來(lái)越多。目前市場(chǎng)上大部分以太網(wǎng)控制器采用的封裝均超過(guò)80 引腳, 如RTL8019AS、DM9008、CS8900A 等。這些器件不僅結(jié)構(gòu)復(fù)雜, 面積龐大, 且系統(tǒng)開(kāi)銷較大。近來(lái), Microchip推出全球首枚28 引腳獨(dú)立以太網(wǎng)控制器ENC28J60, 可為嵌入式系統(tǒng)提供低引腳數(shù)、低成本、精簡(jiǎn)的遠(yuǎn)程通訊解決方案。2 ENC28J60 網(wǎng)絡(luò)接口體系結(jié)構(gòu)ENC28J60 是帶有行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口(Serial PeripheralInterface, SPI)的獨(dú)立以太網(wǎng)控制器。它符合IEEE 802.3 的全部規(guī)范, 采用了一系列包過(guò)濾機(jī)制以對(duì)傳入數(shù)據(jù)包進(jìn)行限制。它還提供了一個(gè)內(nèi)部DMA 模塊, 以實(shí)現(xiàn)快速數(shù)據(jù)吞吐和硬件支持的IP 校驗(yàn)和計(jì)算。與主控制器的通信通過(guò)兩個(gè)中斷引腳(INT和WOL)和SPI 腳(SO、SI、SCK、CS)實(shí)現(xiàn), 數(shù)據(jù)傳輸速率高達(dá)10Mb/s.兩個(gè)專用的引腳(LEDA、LEDB)用于連接LED, 進(jìn)行網(wǎng)絡(luò)活動(dòng)狀態(tài)指示。圖1 所示為ENC28J60 的典型應(yīng)用電路。ENC28J60 由7 個(gè)主要功能模塊組成:SPI 接口, 充當(dāng)主控制器和ENC28J60 之間通信通道; 控制寄存器, 用于控制和監(jiān)視ENC28J60; 雙端口RAM緩沖器, 用于接收和發(fā)送數(shù)據(jù)包; 判優(yōu)器,當(dāng)DMA、發(fā)送和接收模塊發(fā)出請(qǐng)求時(shí)對(duì)RAM緩沖器的訪問(wèn)進(jìn)行控制; 總線接口, 對(duì)通過(guò)SPI 接收的數(shù)據(jù)和命令進(jìn)行解析;MAC 模塊:實(shí)現(xiàn)符合IEEE 802.3 標(biāo)準(zhǔn)的MAC 邏輯; PHY 模塊, 對(duì)雙絞線上的模擬數(shù)據(jù)進(jìn)行編碼和譯碼。ENC28J60 還包括其他支持模塊, 諸如振蕩器、片內(nèi)穩(wěn)壓器、電平變換器(提供可以接受5V 電壓的I/O 引腳)和系統(tǒng)控制邏輯。根據(jù)以上說(shuō)明, ENC28J60 應(yīng)用于嵌入式網(wǎng)絡(luò)接口是非常合適的, 有廣闊的應(yīng)用發(fā)展前景。3 ENC28J60 在嵌入式網(wǎng)絡(luò)接口的應(yīng)用3.1 硬件電路設(shè)計(jì)利用ENC28J60 可以構(gòu)成不同功能的網(wǎng)絡(luò)終端節(jié)點(diǎn), 如網(wǎng)絡(luò)服務(wù)器、帶Internet 功能的設(shè)備、遠(yuǎn)程監(jiān)控(數(shù)據(jù)采集, 診斷)設(shè)備等。圖2 所示為基于ENC28J60 的嵌入式網(wǎng)絡(luò)接口的硬件電路原理圖。電路中有:2 個(gè)LED 狀態(tài)指示燈主要用來(lái)顯示網(wǎng)絡(luò)連接狀態(tài), 包括PHY 是否沖突、連接是否建立、是否接收數(shù)據(jù)、連接速度、雙工模式等; 必需的偏置電阻R3(2kΩ, 精度為1%);高速局域網(wǎng)電磁隔離模塊(即RJ45 以太網(wǎng)接口), 應(yīng)用中,ENC28J60 的物理端口與隔離變壓器HR901170A 連接時(shí)必須符合IEEE802.3 對(duì)物理層規(guī)范的要求, 如RJ45 的插孔與隔離變壓器的間隔應(yīng)盡量小, 輸出和輸入差分信號(hào)對(duì)的走線要有很好的隔離。電路中的主控制器采用Atmel 公司的ATmega16 單片機(jī),它具有先進(jìn)的RISC(精簡(jiǎn)指令集計(jì)算機(jī))結(jié)構(gòu)、16 kB 可編程Flash 存儲(chǔ)器、512 B 的EEPROM和1 kB 片內(nèi)SRAM, 具有豐富的外設(shè)接口, 其SPI 接口允許ATmega16 與外設(shè)進(jìn)行高速的同步數(shù)據(jù)傳輸。本設(shè)計(jì)中ATmega16 SPI 配置為主機(jī)模式,ENC28J60 為從設(shè)備。ATmega16 的SPI 工作模式由CPOL、CPHA 設(shè)置, 根據(jù)ENC28J60 的SPI 讀寫(xiě)時(shí)序, ATmega16 的SPI工作模式應(yīng)設(shè)置為模式0.ATmega16 通過(guò)將ENC28J60 的CS引腳置低實(shí)現(xiàn)與其的同步。SPI 時(shí)鐘由寫(xiě)入到SPI 發(fā)送緩沖寄存器的數(shù)據(jù)啟動(dòng), SPI MOSI(PB5)引腳上的數(shù)據(jù)發(fā)送秩序由寄存器SPCR 的DORD 位控制, 置位時(shí)數(shù)據(jù)的LSB(最低位)首先發(fā)送, 否則數(shù)據(jù)的MSB(最高位)首先發(fā)送。我們選擇先發(fā)送MSB,同時(shí)接收到的數(shù)據(jù)傳送到接收緩沖寄存器, CPU 進(jìn)行右對(duì)齊從接收緩沖器中讀取接收到的數(shù)據(jù)。應(yīng)該注意, 當(dāng)需要從ENC28J60 中讀取多個(gè)數(shù)據(jù)時(shí), 即使ENC28J60 并不需要ATmega16 串行輸出的數(shù)據(jù), 每讀取一個(gè)數(shù)據(jù)前都要向SPI 發(fā)送緩沖器寫(xiě)一個(gè)數(shù)據(jù)以啟動(dòng)SPI 接口時(shí)鐘。由于SPI 系統(tǒng)的發(fā)送方向只有1 個(gè)緩沖器, 而在接收方向有2 個(gè)緩沖器, 所以在發(fā)送時(shí)一定要等到移位過(guò)程全部結(jié)束后, 才能對(duì)SPI 數(shù)據(jù)寄存器執(zhí)行寫(xiě)操作; 而在接收數(shù)據(jù)時(shí), 需要在下一個(gè)字節(jié)移位過(guò)程結(jié)束之前通過(guò)訪問(wèn)SPI 數(shù)據(jù)寄存器讀取當(dāng)前接收到的數(shù)據(jù), 否則第1 個(gè)數(shù)據(jù)丟失。
成都網(wǎng)絡(luò)連接器圖片
網(wǎng)絡(luò)連接器占有很大的市場(chǎng)重要性,因?yàn)榫W(wǎng)絡(luò)需要一個(gè)連接器。如果很多工作沒(méi)有網(wǎng)絡(luò)連接器就無(wú)法進(jìn)行,那么我們有朋友說(shuō),連接器如何連接?連接器還有一個(gè)插頭。當(dāng)連接器插頭與插座連接時(shí),必須按照相應(yīng)的觸點(diǎn)編號(hào)進(jìn)行端接。 RT45網(wǎng)絡(luò)連接器在端部鎖定前禁止上電。選擇正確類型的RJ45網(wǎng)絡(luò)連接器后,注意插頭末端出水孔的大小,以防止電纜小于孔時(shí)漏水。其實(shí)網(wǎng)絡(luò)連接器的使用方式有很多,比如:從應(yīng)用層面來(lái)解釋,不僅是我們經(jīng)常理解的網(wǎng)絡(luò)數(shù)據(jù)包,還有其他信號(hào)。另外,除了utp,這個(gè)連接器還能連接其他傳輸介質(zhì)嗎?比如同軸電纜還是光纖?連接器大部分是RJ45連接器,用于以太網(wǎng)連接,8P8C,可以連接4對(duì)雙絞線,12mm寬,比RJ11系列寬。
成都網(wǎng)絡(luò)連接器圖片
從外觀上看來(lái)超五類水晶頭與六類水晶頭如同沒(méi)什么不相同,也有客戶問(wèn)過(guò)唯康工作人員,兩種水晶頭是否能通用?事實(shí)上,它們里面的結(jié)構(gòu)是有不同的。超五類網(wǎng)線相對(duì)而言銅芯較細(xì),在0.45-0.51mm左右;六類網(wǎng)線的銅芯相對(duì)而言銅芯較粗,在0.52-0.58mm左右。這就直接導(dǎo)致了兩種水晶頭內(nèi)部結(jié)構(gòu)的差異。568A標(biāo)準(zhǔn):綠白,綠,橙白,藍(lán),藍(lán)白,橙,棕白,棕HDMI高清線廠家唯康提示:六類線的傳輸速率是1000M/S,而超五類線的傳輸速率是100M/S,這個(gè)主要是看路由器是百兆仍是千兆。
成都網(wǎng)絡(luò)連接器圖片
使用以網(wǎng)際協(xié)議(Internet Protocol)為通訊基礎(chǔ)的插座稱為網(wǎng)絡(luò)插座(Internet socket)。其作用是實(shí)現(xiàn)導(dǎo)線的電氣連續(xù)性。常用的RJ45非屏蔽模塊高2cm、寬2cm、厚3cm,塑體抗高壓、阻燃,可卡接到任何M系列模式化面板、支架或表面安裝盒中,并可在標(biāo)準(zhǔn)面板上以90°(垂直)或45°斜角安裝,特殊的工藝設(shè)計(jì)至少提供750次重復(fù)插拔。模塊使用了T568-A和T568-B布線通用標(biāo)簽。這種模塊是綜合布線系統(tǒng)中應(yīng)用最多的一種模塊,無(wú)論從三類、五類、還是超五類和六類,它的外形都保持了相當(dāng)?shù)囊恢?。按屏蔽性能分為非屏蔽模塊和屏蔽模塊。當(dāng)安裝屏蔽電纜系統(tǒng)時(shí),整個(gè)鏈路都必須屏蔽,包括電纜和連接件,都需要用屏蔽的信息模塊。根據(jù)模塊端接時(shí)是否需要打線來(lái)分,信息模塊有打線式與免打線式信息模塊。打線式信息模塊需用專用的打線工具將雙絞線導(dǎo)線壓入信息模塊的接線槽內(nèi)。免打線工具設(shè)計(jì)也是模塊的人性化設(shè)計(jì)的一個(gè)體現(xiàn),這種模塊端接時(shí)無(wú)需用專用刀具。
成都網(wǎng)絡(luò)連接器圖片
我知道有兩種水晶頭制造規(guī)范??墒俏疫@兒有個(gè)問(wèn)題:假如僅僅我家里用,一根八芯網(wǎng)線,是不是有必要依照色彩次序來(lái)接水晶頭?假定我不依照規(guī)范來(lái)做,只需網(wǎng)線兩頭水晶頭色彩次序相同,咱們都知道網(wǎng)線水晶頭的做法有568A和568B兩種規(guī)范,即:568A規(guī)范:綠白,綠,橙白,藍(lán),藍(lán)白,橙,棕白,棕568B規(guī)范:橙白,橙,綠白,藍(lán),藍(lán)白,綠,棕白,棕相信不少人都有這樣的疑問(wèn),為什么做網(wǎng)線水晶頭有必要依照色彩次序呢,已然網(wǎng)線中的八根線都是銅導(dǎo)線,只需網(wǎng)線兩頭的水晶頭都依照同一種人為規(guī)范就能夠?qū)?,就能夠正常傳輸?shù)據(jù),為什么假如不依照規(guī)則的一致規(guī)范,就會(huì)出現(xiàn)無(wú)法上網(wǎng)的狀況。一般網(wǎng)線真實(shí)起到上網(wǎng)效果的線序只要1.2.3.6,就算其他四根線沒(méi)接通相同都是能夠正常上網(wǎng)的。因?yàn)殡p絞線能夠起到抵消攪擾的效果,因而有必要挑選兩組雙絞線,為了一致規(guī)范,即挑選了橙白,橙和綠白,綠兩組雙絞線用作最高傳輸速率為10Mbps的數(shù)據(jù)傳輸,其他色彩線作為備用語(yǔ)音傳輸?shù)刃Ч且驗(yàn)檫@個(gè)原因,網(wǎng)線生產(chǎn)商在生產(chǎn)網(wǎng)線時(shí)候,會(huì)將橙白,橙,綠白,綠四種色彩線的性能做得比其他色彩線要好許多,具有更高的衰減與串?dāng)_的比值(ACR)和信噪比(Structural Return Loss)、更小的時(shí)延差錯(cuò)。一致網(wǎng)線水晶頭規(guī)范還可便于操作員在網(wǎng)絡(luò)工程中實(shí)施接線操作。所以這就是網(wǎng)線水晶頭接法有必要依照色彩次序的必要性。更多水晶頭相關(guān)搜索:水晶頭,ri45水晶頭,網(wǎng)線水晶頭,8p8c水晶頭,超5類水晶頭,六類水晶頭,超五類非屏蔽水晶頭,電腦水晶頭,超五類鍍金水晶頭,純銅水晶頭,五類純銅素材水晶頭,超五類屏蔽水晶頭,超五類3U水晶頭,CAT5E水晶頭,RJ45UTP水晶頭,六類水晶頭保護(hù)套,水晶頭膠套,電話線,2芯電話線,4芯電話線,6芯電話線,六類網(wǎng)線,六類屏蔽網(wǎng)線,電話聽(tīng)筒線,曲線電話線,語(yǔ)音跳線,6P4C電話直線,方貝水晶頭,透明爪子護(hù)套,彩色水晶頭,萬(wàn)兆水晶頭,千兆水晶頭
成都網(wǎng)絡(luò)連接器圖片
引言隨著Internet 的出現(xiàn)和以太網(wǎng)的迅速發(fā)展, 基于以太網(wǎng)的設(shè)備控制越來(lái)越多。目前市場(chǎng)上大部分以太網(wǎng)控制器采用的封裝均超過(guò)80 引腳, 如RTL8019AS、DM9008、CS8900A 等。這些器件不僅結(jié)構(gòu)復(fù)雜, 面積龐大, 且系統(tǒng)開(kāi)銷較大。近來(lái), Microchip推出全球首枚28 引腳獨(dú)立以太網(wǎng)控制器ENC28J60, 可為嵌入式系統(tǒng)提供低引腳數(shù)、低成本、精簡(jiǎn)的遠(yuǎn)程通訊解決方案。設(shè)計(jì)了以ENC28J60 為核心的以太網(wǎng)接口實(shí)現(xiàn)方案, 描述了該系統(tǒng)硬件架構(gòu)的設(shè)計(jì)方法。在簡(jiǎn)要介紹了以太網(wǎng)控制器ENC28J60 的結(jié)構(gòu)、功能、外圍電路的基礎(chǔ)上, 對(duì)ENC28J60Atmega16 的SPI 通訊進(jìn)行了闡述。此方案不僅成本低, 而且可以實(shí)現(xiàn)500Kbps 以上的傳輸速率, 滿足了嵌入式系統(tǒng)的Internet 控制要求。2 ENC28J60 網(wǎng)絡(luò)接口體系結(jié)構(gòu)ENC28J60 是帶有行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口(Serial PeripheralInterface, SPI)的獨(dú)立以太網(wǎng)控制器。它符合IEEE 802.3 的全部規(guī)范, 采用了一系列包過(guò)濾機(jī)制以對(duì)傳入數(shù)據(jù)包進(jìn)行限制。它還提供了一個(gè)內(nèi)部DMA 模塊, 以實(shí)現(xiàn)快速數(shù)據(jù)吞吐和硬件支持的IP 校驗(yàn)和計(jì)算。與主控制器的通信通過(guò)兩個(gè)中斷引腳(INT和WOL)和SPI 腳(SO、SI、SCK、CS)實(shí)現(xiàn), 數(shù)據(jù)傳輸速率高達(dá)10Mb/s.兩個(gè)專用的引腳(LEDA、LEDB)用于連接LED, 進(jìn)行網(wǎng)絡(luò)活動(dòng)狀態(tài)指示。圖1 所示為ENC28J60 的典型應(yīng)用電路。ENC28J60 由7 個(gè)主要功能模塊組成:SPI 接口, 充當(dāng)主控制器和ENC28J60 之間通信通道; 控制寄存器, 用于控制和監(jiān)視ENC28J60; 雙端口RAM緩沖器, 用于接收和發(fā)送數(shù)據(jù)包; 判優(yōu)器, 當(dāng)DMA、發(fā)送和接收模塊發(fā)出請(qǐng)求時(shí)對(duì)RAM緩沖器的訪問(wèn)進(jìn)行控制; 總線接口, 對(duì)通過(guò)SPI 接收的數(shù)據(jù)和命令進(jìn)行解析;MAC 模塊:實(shí)現(xiàn)符合IEEE 802.3 標(biāo)準(zhǔn)的MAC 邏輯; PHY 模塊, 對(duì)雙絞線上的模擬數(shù)據(jù)進(jìn)行編碼和譯碼。ENC28J60 還包括其他支持模塊, 諸如振蕩器、片內(nèi)穩(wěn)壓器、電平變換器(提供可以接受5V 電壓的I/O 引腳)和系統(tǒng)控制邏輯。根據(jù)以上說(shuō)明, ENC28J60 應(yīng)用于嵌入式網(wǎng)絡(luò)接口是非常合適的, 有廣闊的應(yīng)用發(fā)展前景。3 ENC28J60 在嵌入式網(wǎng)絡(luò)接口的應(yīng)用3.1 硬件電路設(shè)計(jì)利用ENC28J60 可以構(gòu)成不同功能的網(wǎng)絡(luò)終端節(jié)點(diǎn), 如網(wǎng)絡(luò)服務(wù)器、帶Internet 功能的設(shè)備、遠(yuǎn)程監(jiān)控(數(shù)據(jù)采集, 診斷)設(shè)備等。圖2 所示為基于ENC28J60 的嵌入式網(wǎng)絡(luò)接口的硬件電路原理圖。電路中有:2 個(gè)LED 狀態(tài)指示燈主要用來(lái)顯示網(wǎng)絡(luò)連接狀態(tài), 包括PHY 是否沖突、連接是否建立、是否接收數(shù)據(jù)、連接速度、雙工模式等; 必需的偏置電阻R3(2kΩ, 精度為1%);高速局域網(wǎng)電磁隔離模塊(即RJ45 以太網(wǎng)接口), 應(yīng)用中,ENC28J60 的物理端口與隔離變壓器HR901170A 連接時(shí)必須符合IEEE802.3 對(duì)物理層規(guī)范的要求, 如RJ45 的插孔與隔離變壓器的間隔應(yīng)盡量小, 輸出和輸入差分信號(hào)對(duì)的走線要有很好的隔離。電路中的主控制器采用Atmel 公司的ATmega16 單片機(jī),它具有先進(jìn)的RISC(精簡(jiǎn)指令集計(jì)算機(jī))結(jié)構(gòu)、16 kB 可編程Flash 存儲(chǔ)器、512 B 的EEPROM和1 kB 片內(nèi)SRAM, 具有豐富的外設(shè)接口, 其SPI 接口允許ATmega16 與外設(shè)進(jìn)行高速的同步數(shù)據(jù)傳輸。本設(shè)計(jì)中ATmega16 SPI 配置為主機(jī)模式,ENC28J60 為從設(shè)備。ATmega16 的SPI 工作模式由CPOL、CPHA 設(shè)置, 根據(jù)ENC28J60 的SPI 讀寫(xiě)時(shí)序, ATmega16 的SPI工作模式應(yīng)設(shè)置為模式0.ATmega16 通過(guò)將ENC28J60 的CS引腳置低實(shí)現(xiàn)與其的同步。SPI 時(shí)鐘由寫(xiě)入到SPI 發(fā)送緩沖寄存器的數(shù)據(jù)啟動(dòng), SPI MOSI(PB5)引腳上的數(shù)據(jù)發(fā)送秩序由寄存器SPCR 的DORD 位控制, 置位時(shí)數(shù)據(jù)的LSB(最低位)首先發(fā)送, 否則數(shù)據(jù)的MSB(最高位)首先發(fā)送。我們選擇先發(fā)送MSB,同時(shí)接收到的數(shù)據(jù)傳送到接收緩沖寄存器, CPU 進(jìn)行右對(duì)齊從接收緩沖器中讀取接收到的數(shù)據(jù)。應(yīng)該注意, 當(dāng)需要從ENC28J60 中讀取多個(gè)數(shù)據(jù)時(shí), 即使ENC28J60 并不需要ATmega16 串行輸出的數(shù)據(jù), 每讀取一個(gè)數(shù)據(jù)前都要向SPI 發(fā)送緩沖器寫(xiě)一個(gè)數(shù)據(jù)以啟動(dòng)SPI 接口時(shí)鐘。由于SPI 系統(tǒng)的發(fā)送方向只有1 個(gè)緩沖器, 而在接收方向有2 個(gè)緩沖器, 所以在發(fā)送時(shí)一定要等到移位過(guò)程全部結(jié)束后, 才能對(duì)SPI 數(shù)據(jù)寄存器執(zhí)行寫(xiě)操作; 而在接收數(shù)據(jù)時(shí), 需要在下一個(gè)字節(jié)移位過(guò)程結(jié)束之前通過(guò)訪問(wèn)SPI 數(shù)據(jù)寄存器讀取當(dāng)前接收到的數(shù)據(jù), 否則第1 個(gè)數(shù)據(jù)丟失。3.2 ENC28J60 軟件初始化在使用ENC28J60 發(fā)送和接收數(shù)據(jù)包前, 必須對(duì)器件進(jìn)行初始化設(shè)置。根據(jù)不同的應(yīng)用, 一些配置選項(xiàng)可能需要更改。初始化設(shè)置工作包括接收和發(fā)送緩沖器、接收過(guò)濾器、晶振啟動(dòng)時(shí)間、MAC 寄存器、PHY 寄存器。初始化芯片之前先關(guān)閉單片機(jī)的中斷輸入, 對(duì)RESET 引腳給定一個(gè)持續(xù)的低電平復(fù)位信號(hào), 然后對(duì)相應(yīng)的寄存器進(jìn)行設(shè)置。設(shè)置完成所有需要的寄存器后, 判斷以太網(wǎng)狀態(tài)中的時(shí)鐘啟動(dòng)標(biāo)志位是否置位, 然后開(kāi)中斷。系統(tǒng)初始化后進(jìn)入主程序循環(huán), 包括單片機(jī)的控制作用和網(wǎng)絡(luò)數(shù)據(jù)傳輸。對(duì)于以太網(wǎng)傳輸部分來(lái)說(shuō)。主要有兩個(gè)作用:一是對(duì)要發(fā)送的數(shù)據(jù)按照以太網(wǎng)數(shù)據(jù)幀格式進(jìn)行封裝并發(fā)送; 二是對(duì)接收的以太網(wǎng)數(shù)據(jù)幀進(jìn)行解包, 供應(yīng)用程序使用。3.3 ENC28J60 發(fā)送數(shù)據(jù)包在進(jìn)行數(shù)據(jù)包發(fā)送或接收時(shí), 要先對(duì)寫(xiě)緩沖存儲(chǔ)器(WriteBuffer Memory, WBM)命令掌握。WBM允許主控制器將字節(jié)寫(xiě)入8KB 發(fā)送和接收緩沖存儲(chǔ)器。如果ECON2 寄存器中的AUTOINC 位置1, 那么在寫(xiě)完每個(gè)字節(jié)的最后一位之后,EWRPT 指針將會(huì)自動(dòng)地遞增指向下一個(gè)地址(當(dāng)前地址加1)。如果寫(xiě)入地址1FFF 且AUTOINC 置1, 則寫(xiě)指針加1 指向0000h.將CS 引腳拉為低電平啟動(dòng)WBM命令。然后將WBM操作碼及隨后的5 位常量1Ah 送入ENC28J60.在發(fā)送WBM命令和常量之后, 由EWRPT 指向的存儲(chǔ)器中的數(shù)據(jù)將移入ENC28J60, 首先移入最高位。在接收到8 個(gè)數(shù)據(jù)位后, 如果AUTOINC 置1, 寫(xiě)指針將自動(dòng)遞增。主控制器可以繼續(xù)在SCK引腳提供時(shí)種信號(hào)、在SI 引腳發(fā)送數(shù)據(jù)同時(shí)保持/CS 為低電平, 從而可以連續(xù)寫(xiě)入存儲(chǔ)器。當(dāng)AUTOINC 被使能時(shí), 以該方式就可以連續(xù)地向緩沖存儲(chǔ)器寫(xiě)入字節(jié)而無(wú)需多余的SPI命令。拉高CS 引腳電平可結(jié)束WBM命令。在WBM操作期間,SO 引腳一直為高阻態(tài), WBM操作時(shí)序, 請(qǐng)參見(jiàn)圖3.ENC28J60 內(nèi)的MAC 在發(fā)送時(shí)會(huì)自動(dòng)生成前導(dǎo)符和幀起始定界符。此外, MAC 可根據(jù)配置生成填充(如果需要)和CRC字段。主控制器必須生成所有其他幀字段, 并將它們寫(xiě)入緩沖存儲(chǔ)器, 以待發(fā)送。此外, ENC28J60 還要求在待發(fā)送的數(shù)據(jù)包前添加一個(gè)包控制字節(jié)。主控制器應(yīng):1.正確編程ETXST 指針,使之指向存儲(chǔ)器中未用的單元。它將指向包控制字節(jié), 在本設(shè)計(jì)方案中, 指針應(yīng)編程為0120h; 2.使用WBM SPI 命令寫(xiě)入包控制字節(jié)、目標(biāo)地址、源MAC 地址、類型/ 長(zhǎng)度和數(shù)據(jù)有效負(fù)載; 3.正確編程ETXND 指針。它應(yīng)指向數(shù)據(jù)有效負(fù)載的最后一個(gè)字節(jié), 在本設(shè)計(jì)方案中, 指針應(yīng)編程為0156h; 4.將EIR.TXIF位清零、將EIE.TXIE 位和EIE.INTIE 位置1 允許在發(fā)送完成后產(chǎn)生中斷(如果需要); 5.將ECON1.TXRTS 位置1 開(kāi)始發(fā)送。如果在TXRTS 位置1 時(shí)正在進(jìn)行DMA 操作, ENC28J60 會(huì)等待DMA 操作完成再發(fā)送。這種等待是必需的, 因?yàn)镈MA 和發(fā)送引擎共享同一個(gè)存儲(chǔ)器訪問(wèn)端口。同樣如果在TXRTS 已置1后, ECON1 中DMAST 位才置1, DMA 在TXRTS 位清零前不會(huì)采取任何動(dòng)作。如果正在進(jìn)行發(fā)送, 不應(yīng)通過(guò)SPI 讀取或?qū)懭肴魏未l(fā)送的字節(jié)。主控制器將TXRTS 位清零可取消發(fā)送。如果數(shù)據(jù)包發(fā)送完成或因錯(cuò)誤取消而中止發(fā)送, ECON1.TXRTS位會(huì)被清零, 一個(gè)7 字節(jié)的發(fā)送狀態(tài)向量將被寫(xiě)入由ETXND +1 指向的單元, EIR.TXIF 會(huì)被置1 并產(chǎn)生中斷(如果允許)。要驗(yàn)證數(shù)據(jù)包是否成功發(fā)送, 應(yīng)讀取ESTAT.TXABRT 位。如果該位置1, 主控制器在查詢發(fā)送狀態(tài)向量的各個(gè)字段外, 還應(yīng)查詢ESTAT.LATECOL 位, 以確定失敗的原因。下面給出寫(xiě)數(shù)據(jù)包的源代碼:3.3 ENC28J60 接收數(shù)據(jù)包假設(shè)接收緩沖器已完成初始化, MAC 已正確配置而且接收過(guò)濾器已配置為接收以太網(wǎng)數(shù)據(jù)包, 主控制器應(yīng)該:1.如果需要在接收到數(shù)據(jù)包時(shí)產(chǎn)生一個(gè)中斷, 就要將EIE.PKTIE 位和EIE.INTIE位置1; 2. 如果需要在由于緩沖空間不足導(dǎo)致數(shù)據(jù)包丟失時(shí)產(chǎn)生一個(gè)中斷, 就要將EIR.RXERIF 位清零, 并將EIE.RXERIE位和EIE.INTIE 位置1; 3. 通過(guò)將ECON1.RXEN 位置1使能接收。在將RXEN 置1 后, 將不能修改雙工模式和接收緩沖器起始和結(jié)束指針。此外, 要阻止不期望接收的數(shù)據(jù)包, 在更改接收過(guò)濾器配置寄存器(ERXFCON) 和MAC 地址前建議將RXEN 清零。在使能接收后, 沒(méi)有過(guò)濾掉的數(shù)據(jù)包將寫(xiě)入循環(huán)接收緩沖器。任何不符合過(guò)濾條件的數(shù)據(jù)包將被丟棄, 但主控制器無(wú)法識(shí)別一個(gè)數(shù)據(jù)包已被丟棄。當(dāng)接收到一個(gè)數(shù)據(jù)包并將其完整寫(xiě)入緩沖器時(shí), EPKTCNT 寄存器將遞增, EIR.PKTIF 位將置1, 并產(chǎn)生一個(gè)中斷(如果允許), 同時(shí)硬件寫(xiě)指針ERXWRPT 自動(dòng)遞增。