紅星球磨機的以太網電路接口設計
球磨機的電路借口設計是建立在以太網為基礎的球磨機負荷檢測系統,以太網接口單元是其中關鍵部分。從以太網的工作基本原理看,球磨機的以太網接口電路主要由MAC控制器和物理層接口PHY ( Physical Layer)兩大部分構成。TMS320VC5471的網絡模塊(EIM)可以 IEEE802.3協議及全雙工/半雙工模式的10/100Mbps的MAC層的功能,它一端與前面的物理層的接口連接,從網線上獲得數據。收到的數據包經過處理后,放在TMS320VC5471的一塊稱為包存儲器的片內存儲空間,這塊空間EIM和ARM處理器都可以訪問。包存儲器用來臨時存放接收、發送和各種控制信息。由于該內存與MCU系統的總線分離,當傳輸以太網包時,不需MCU的介入。
FIFO和包存儲器之間的數據傳輸,通過一種稱之為描述符鏈( Descriptor Ring)的軟件結構來 。每個描述符 (Descriptor)有 8個byte,包含了某個要傳輸的數據包的狀態信息和指向那個數據包的指針。多個描述符組成的隊列就是描述符鏈。FIFO和包存儲器之間有兩個描述符鏈,分別針對發送和接收操作。
電路接口的MAC端口模塊包括ENET0模塊和以太網狀態機 (ESM)模塊。ENET0模塊是EIM 的核心部分,它以硬件 IEEE802.3協議MAC層所要求的功能。它主要有5個模塊:一個FIFO,一個MAC,寄存器控制界面,DMA控制器和一個狀態統計塊組成。球磨機的以太狀態機 (ESM)這個模塊則主要負責協調在包存儲器中的數據的傳輸。DMA控制器和ESM都對描述符進行操作。
ENET0模塊中的MAC控制器在半雙工模式下支持IEEE802.3的帶沖突檢測的載波監聽多址接入CSMA/CD協議,而在全雙工模式下支持IEEE802.3媒介控制層協議。MAC控制器內部由發送模塊、接收模塊、流控模塊、匹配地址存儲器CAM以及一些命令、狀態、CRC寄存器構成,主要接口包括MII (MediaIndependent Interface媒介獨立接口)接口和BDI(Buffered DMA Interface緩沖DMA接口)接口。MII接口是IEEE802.3標準接口,它分離了物理層和媒介層,把數據輸入輸出的編碼和解碼工作交由使物理層實體處理。BDI接口是MAC控制器內猝發模式的DMA引擎與系統總線之間的接口,連接MAC內256字節的發送/接收緩沖區以及8、16字節的發送/接收FIFO緩沖區。
數據通過描述符的方式在FIFO與包存儲器之間傳輸,ARM處理器對包存儲器讀寫數據也通過描述符來進行。因此,應該有四個描述符鏈,分別是:
1.負責從ENETO收數據,稱為ENETO RX鏈;
2.負責把數據發往ENETO,稱為ENETO TX鏈;
3.負責從ARM收數據,稱為CPU RX鏈;
4.負責把數據發給ARM,稱為CPU TX鏈。
ESM相當于一個中轉處,連接ENETO和ARM這兩個端口。ESM的主要作用是把RX鏈所指向的數據包傳給TX鏈。這種數據包的傳遞不是通過數據復制來完成的,而是通過復制指針來完成。也就是說,放在包存儲器里的數據包不發生搬移,而是把TX鏈描述符中的地址指針復制到RX鏈的描述符指針域中。四個描述符鏈和它們所對應的數據全都放在包存儲器中,對這16k byte的存儲空間的結構劃分由ARM來完成。結構劃分需要滿足三個約束條件:
1.每個描述符所在的地址應該是可以被8整除;
2.每個描述符所指向的數據包占有的長度是大于等于64的4的 數;
3.描述符的總和不能超過255。
以太網使用100Mbps和10Mbps速度時,對應使用25MHz和2.5 MHz外部晶振,我公司的球磨機的接口系統設計使用100Mbps的以太網傳輸速度。