




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
以太網控制器(EthernetController)LPC1700系列Cortex-M3微控制器胡宏澤目錄簡介1硬件連接2內部結構3基本操作4小結5簡介
以太網(Ethernet)是目前應用最廣泛的局域網通訊方式,同時也是一種協議。以太網協議定義了一系列軟件和硬件標準,從而將不同的計算機設備連接在一起。以太網簡介|以太網的基本組成以太網(Ethernet)設備組網的基本元素:光纖和普通網線集線器路由器交換機以太網協議,通訊規則
簡介|背景
在現實的工業控制領域系統中,各廠家產品兼容性差、價格昂貴、底層通信速度慢是現場總線技術一直沒有得到大力推廣的原因。工業以太網技術的出現和快速發展,不但很好的解決了這些問題,同時也為現場總線技術的發展開辟了一個更為廣闊的空間。另外,嵌入式技術應用于智能測控系統中,具有以下特點:可以完成數據測量、數據處理、過程控制等多種任務;能確保一些任務的實時性;具有一定自診斷、自校正的功能;便于連接工業以太網,利用工業以太網實現遠程監控和數據通信。這些都大大提高了測控系統的性能。簡介|以太網控制器
以太網控制器是專門用于以太網連接的控制器,由以太網媒體接入控制器(MAC)和物理接口收發器(PHY)組成。MAC與PHY通訊采用MII接口(媒體獨立接口)或者RMII接口(簡化的MII)。
LPC1700系列單片機包含一個功能齊全的10/100Mbps以太網MAC,可以通過RMII與PHY組成一個完整的以太網控制器。
LPC1700
MACPHYRMII接口網絡變壓器簡介|通訊系統OSI模型與TCP/IPISO定義的OSI(OpenSystemsInterconnection)模型。物理層數據鏈路層表示層會話層傳輸層網絡層應用層物理層數據鏈路層表示層會話層傳輸層網絡層應用層EthernetMACEthernetPHYTCP/UDP…IP/ICMP…HTTP/FTP/DHCP…未定義硬件軟件TCP/IP協議簡介|LPC1700系列單片機以太網特性支持10/100MbpsPHY器件,如10Base-T、100Base-TX、100Base-FX、100Base-T4;完全兼容IEEE802.3標準;支持VLAN幀;支持發送超長幀和接收任意長度的幀;自動沖突檢測和重發;局域網喚醒;通過RMII(ReducedMediaIndependentInterface)連接外部PHY,MIIM管理PHY;映射到共享SRAM的接收和發送緩沖區;具有通過幀描述符數組分散/聚集以太網幀的DMA引擎;通過緩沖和預取數據優化內存管理;支持使用任何通訊介質的外部PHY。目錄硬件連接2簡介1內部結構3基本操作4小結5硬件連接PHYRMIIMIIMREF_CLKTX_ENTXD1RXD0RX_ERCRSMDIO以太網MACMDCTXD0RXD1以太網模塊使用RMII(簡化的媒體獨立接口)協議和片上MIMM(媒體獨立接口)串行總線、還有MDIO(管理數據輸入/輸出)來實現與片外以太網PHY之間的連接注意:LPC1700系列Cortex-M3的以太網MAC只具有RMII接口目錄內部結構3簡介1硬件連接2基本操作4小結5MAC寄存器說明MAC寄存器說明控制寄存器說明控制寄存器說明控制寄存器說明接收過濾寄存器說明以太網模塊控制寄存器說明內部結構|整體組成中斷MIIM控制MCFGMCMDMADRMWTDMRDDMIND模塊控制IntStatusIntEnableIntClearIntSetPowerDown接收過濾RxFilterCtrlRxFilterWoLStatusRxFilterWoLClearHashFilterLHashFilterH接收控制RSVRxDescriptorRxStatusRxDescriptorNumberRxProduceIndexRxConsumeIndex發送控制TSV0,TSV1TxDescriptorTxStatusTxDescriptorNumberTxProduceIndexTxConsumeIndexMAC地址SA0SA1SA2全局控制MAC1,MAC2IPGT,IPGRCLRTMAXFSUPP,TESTCommandStatusFlowControlCounterFlowControlStatusMIIMRMIIMAC層PHY發送FIFO接收FIFO由DMA引擎創建于SRAM內部結構|MIIM操作MACMII管理控制器AHBPHY相關寄存器MDC時鐘MDIO數據MCFGMCMDMADRMWDTMRDDMIND1MCFG[5:2]選擇時鐘MCMD[0]寫/讀寫PHY/寄存器地址等待“busy”清零寫數據配置命令地址寫數據讀數據狀態讀數據等待“busy”清零254354內部結構|以太網包格式前導碼SFD目標地址源地址長度/類型數據FCS7個字節1個字節6個字節6個字節2個字節46-1500個字節4個字節前導碼SFD目標地址源地址長度/類型數據FCS
前導碼為連續7個字節的10101010序列,用于實現物理層幀接收的時序同步。
起始幀分界符用于指示幀的開始,其值為10101011。
目標地址指定數據幀的最終目標的地址,長度為48bit,其LSB可用于指定一個幀是一個地址(0)還是組/多播地址(1)。
源地址識別幀啟動的站點。
這個字段的意義由它的數值來決定,當值不大于1500(十進制),表示MAC客戶數據的字節數,當值大于1536(十進制),表示數據的類型,比如ARP協議的數值為0x0806。FCS是循環冗余校驗(CRC)值,使用CRC-32算法通過目標地址、源地址、長度/類型、數據和填充字段計算得到,可由硬件自動生成。幀接收時,若CRC校驗失敗,可選擇硬件自動過濾。
數據字段是一個0~1500字節的序列。在以太網協議中,規定這個字段最小值為46,最大值為1500,少了要填充,多了要分幀。
內部結構|SRAM中FIFO創建
LPC1700系列單片機的以太網無獨立的FIFO,而是在共享SRAM中創建環形緩沖代替收發FIFO。發送控制TSV0,TSV1TxDescriptorTxStatusTxDescriptorNumberTxProduceIndexTxConsumeIndexTxProduceIndexTxConsumeIndexPACKETCONTROLDATABUFFERPACKETCONTROLDATABUFFERPACKETCONTROLDATABUFFERPACKETCONTROLDATABUFFERTxDescriptorTxDescriptorNumber-1012TxConsumeIndex=TxProduceIndex;FIFO空TxProduceIndex=TxDescriptorNumber-1;緩沖尾,返回緩沖頭TxProduceIndex=TxConsumeIndex-1;FIFO滿描述符的數目存放描述符首地址數據緩沖的首地址內部結構|收發控制Command[10]FullDuplex使能雙工模式TxProduceIndex填充數據MAC2[5]PAD/CRCENABLE使能PAD/CRCRxDescriptor建立接收FIFOCommand[7]PassRxFilter使能接收過濾Command[0]RxEnable使能接收RxProduceIndex接收緩沖標簽RxFilterCtrl[1]AcceptBroadcastEn使能接收廣播幀MAC2[4]CRCENABLE使能CRC寫操作發送FIFO接收FIFO讀操作任意深度雙工器發送器接收器TxDescriptor建立發送FIFO前導碼SFD目標地址源地址長度/類型數據FCS前導碼SFD目標地址源地址長度/類型數據FCS前導碼SFD目標地址源地址長度/類型數據FCS0使能發送Command[1]TxEnable4512364351DMA引擎RxFilterCtrl[5]AcceptPerfectEn使能接收地址匹配幀2RxConsumeIndex12012內部結構|接收過濾接收過濾RxFilterCtrlRxFilterWoLStatusRxFilterWoLClearHashFilterLHashFilterH
接收過濾模塊可以對接收到的數據包進行過濾,丟掉無用數據包,降低CPU的負荷和內存消耗。地址匹配過濾單播/多播/廣播過濾魔法包過濾哈希表過濾前導碼SFD目標地址源地址長度/類型數據FCSb7:b1b00:單播1:多播目標地址目標地址假設為48CRC32查找HashFilterHHashFilterL100101011001000110010101001110011001010110100001101101011001010131:063:32前導碼SFD目標地址源地址長度/類型數據FCS前導碼SFD目標地址源地址長度/類型數據FCS廣播:目標地址位全為1目標地址=本機MAC地址?相等則通過。由AMD定義,用于喚醒主機哈希表對應位值為1則通過。內部結構|模塊控制模塊控制IntStatusIntEnableIntClearIntSetPowerDown模塊控制包含了中斷控制和整個模塊電源控制。IntClearIntSetIntEnable……中斷狀態……輸出中斷
接收溢出中斷;接收錯誤;接收FIFO為空;處理完一個描述符的數據緩沖;發送FIFO空棧錯誤;發送錯誤;發送FIFO空;發送一個描述符緩沖完成;軟件中斷;喚醒中斷。以太網中斷源清中斷狀態中斷設置中斷使能目錄基本操作4簡介1硬件連接2內部結構3小結5
DMA管理器利用存放在存儲器中的幀描述符數組和狀態數組來工作。描述符充當以太網硬件和設備驅動軟件之間的接口。接收幀和發送幀各有一個描述符數組。驅動軟件DMA接收引擎DMA發送引擎邏輯鏈路控制層媒體訪問控制層(MAC)接收狀態接收描述符發送狀態發送描述符以太網硬件以太網驅動軟件與硬件的關系
設備驅動軟件和以太網硬件都能同時對描述符數組執行讀和寫操作,以“產生”和“消耗”描述符。在兩者同時請求的情況下,AHB總線仲裁將使DMA硬件具有更高的優先級。一個描述符的“擁有者”可以是設備驅動軟件,也可以是以太網硬件。只有描述符的“擁有者”才能描述符進行讀寫操作。具體順序如下:需要注意的一點:軟件必須預先分配好用來存放的描述符數組的寄存器
設備驅動程序“擁有”并建立描述符設備驅動軟件將描述符/狀態的“擁有權”傳遞給以太網模塊,這時以太網模塊會讀取描述符并將信息寫入狀態區域以太網模塊將描述符的“擁有權”傳遞回設備驅動程序,驅動程序使用狀態信息并重復利用描述符以供其他幀使用描述符數組的擁有順序設備驅動程序“擁有”并建立描述符DMA引擎更新狀態緩沖驅動軟件重新擁有描述符DMA引擎擁有描述符驅動軟件更新描述符TxProduceIndex++或RxProduceIndex++TxConsumeIndex++或RxConsumeIndex++接收描述符數組和接收狀態數組初始化步驟RxDescriptor=接收描述符數組首地址RxStatus=接收狀態數組首地址RxDescriptorNumber=接收描述符的數量-1初始化接收描述符數組和接收狀態數組RxConsumIndex=0初始化完畢發送描述符數組和發送狀態數組初始化步驟TxDescriptor=發送描述符數組首地址TxStatus=發送狀態數組首地址TxDescriptorNumber=發送描述符的數量-1初始化接收描述符數組和接收狀態數組TxProduceIndex=0初始化完畢接收操作的使能與禁能復位之后,以太網模塊的接收功能是禁止的。設備驅動程序將命令寄存器的RxEnable位以及MAC1配置寄存器中的“RECEIVEENABLE”位置位來使能接收功能ACTIVERxStatus=1INACTIVERxStatus=0RxEnable=1RxEnable=0并且接收完畢或RxProduceIndex=RxConsumeIndex-1復位發送操作的使能與禁能復位之后,以太網模塊的發送功能是禁止的。設備驅動程序將命令寄存器的TxEnable位置位可使能發送通道。ACTIVETxStatus=1INACTIVETxStatus=0TxEnable=1TxEnable=0并且數據發送完畢或RxProduceIndex=RxConsumeIndex復位以太網發送數據流程軟件建立發送描述符發送DMA引擎讀取發送描述符數組發送DMA引擎發送數據寫發送狀態TxConsumeIndex++以太網接收數據流程軟件建立接收描述符接收DMA引擎讀取接收描述符數組接收DMA引擎接收數據寫接收狀態RxProduceIndex++設備驅動程序處理接收數據發送示例發送流控制示例
上述例子采用的是全雙工模式,即發送一幀信息的同時也接收到一幀信息。設備驅動程序檢測是否出現緩沖區溢出并設置FlowControlCounter寄存器的PauseTimer字段和MirrorCounter字段的值,此后它通過置位命令寄存器中的TxFlowControl位來使能發送流控制?;静僮鱸MAC初始化voidEthernetInit(void){PCONP|=0x40000000;PINSEL2=0x50150105;PINSEL3=(PINSEL3&~0x0000000F)|0x00000005;MAC1=MAC1_PASS_ALL;Init_PHY(void);Command=CR_RMII|CR_PASS_RUNT_FRM;rx_descr_init();tx_descr_init();MAC1=MAC1_PASS_ALL;MAC2=MAC2_CRC_EN|MAC2_PAD_EN;IntEnable=INT_RX_DONE|INT_TX_DONE;IntClear=0xFFFF;Command|=(CR_RX_EN|CR_TX_EN);MAC1|=MAC1_REC_EN;}選擇RMII模式配置以太網電源、引腳解除軟件復位狀態通過MIIM接口配置PHY配置DMA引擎,描述符配置主機寄存器使能接收和發送通道基本操作|MAC初始化voidEMACTxDescriptorInit(void){unit32i;unit32*tx_desc_addr,*tx_status_addr;MAC_TXDESCRIPTOR=TX_DESCRIPTOR_ADDR;MAC_TXSTATUS=TX_STATUS_ADDR;MAC_TXDESCRIPTORNUM=EMAC_TX_DESCRIPTOR_COUNT-1;for(i=0;i<EMAC_TX_DESCRIPTORTOR_COUNT;i++){tx_desc_addr=(unit32*)(TX_DESCRIPTOR_ADDR+i*8);*tx_desc_addr=(unit32)(EMAC_TX_BUFFER_ADDR+i*EMAC_BLOCK_SIZE);*(tx_desc_addr+1)=(unit32)(EMAC_TX_DESC_INT|(EMAC_BLOCK_SIZE-1));}for(i=0;i<EMAC_TX_DESCRIPTOR_COUNT;i++){tx_status_addr=(unit32*)(TX_STATUS_ADDR+i*4);*tx_status_addr=(unit32)0;}MAC_TXPRODUCEINDEX=0x0;return;}發送描述符數量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源行業綠色能源技術推廣方案
- 農業信息化建設方案
- 目前電商行業發展現狀
- 2025年大學統計學期末考試題庫-SPSS統計分析軟件應用試題
- 2025年小學教師資格考試《綜合素質》邏輯思維應用題庫解析
- 2025年小學語文畢業升學模擬試卷:口語表達訓練全真試題解析與練習
- 2025年西式面點師資格證考試模擬題庫全攻略解析
- 2025年小學語文畢業升學考試全真模擬卷(古詩詩詞句式賞析試題)
- DB32-T 5083-2025 江蘇省公共體育設施基本標準
- 2025年小學英語畢業考試模擬卷(英語繪本閱讀)-繪本故事情節發展試題
- 特種設備作業焊工資格證考試題庫(帶解析)
- 烘焙食品市場細分-深度研究
- 武漢市2025屆高中畢業生二月調模擬卷答案
- 2025-2030全球奶牛用擠奶機器人行業調研及趨勢分析報告
- 心理健康教育與校園文化建設融合探討
- 無人機操控知識培訓課件
- 裝卸作業安全知識培訓課件x
- 2025年度婚姻介紹所婚戀公益項目合作合同
- 環境健康與安全EHS管理制度
- 2025廣東省廣州打撈局編外人員招聘21名高頻重點提升(共500題)附帶答案詳解
- 公安機關保密培訓
評論
0/150
提交評論