基于S3C2440的Ethercat實(shí)時(shí)工業(yè)以太網(wǎng)
本文設計的Ethercat從站節點(diǎn)硬件包括從站協(xié)議控制器、從站CPU和網(wǎng)絡(luò )接口等部分組成。Ethercat從站中最關(guān)鍵部分是Ethercat協(xié)議控制器,它實(shí)現Ethercat的物理層與數據鏈路層的協(xié)議?,F在市場(chǎng)上有多種Ethercat協(xié)議控制器可供使用,如FPGA實(shí)現和ASIC實(shí)現。從站CPU采用ARM920T核的S3C2440芯片。接口連接方式采用16位異步微處理器方式[7]。從站的硬件實(shí)現如圖3所示。
其中ARM控制器實(shí)現Ethercat對現場(chǎng)任務(wù)的收集與調度;Ethercat從站控制器實(shí)現Ethercat協(xié)議;EEPROM用于保存從站配置數據和從站描述數據;網(wǎng)絡(luò )接口用于主從站之間或從站與從站之間的連接,根據Ethercat從站控制器的不同網(wǎng)絡(luò )接口可以分別為2-4個(gè),網(wǎng)絡(luò )接口采用標準以太網(wǎng)物理層器件就可以。
圖3 從站節點(diǎn)結構框圖
4 數據交換
主從站之間交換的數據主要分兩種形式:一種是周期性數據;另一種是非周期性數據。周期性數據傳輸可以根據任務(wù)的緊迫性劃分其優(yōu)先級,通過(guò)采用EDF算法調度任務(wù),把劃分好優(yōu)先級的任務(wù)放入緩沖區供系統調用。緩沖區為在內存中分配的一段空間,兩端都可以訪(fǎng)問(wèn)緩沖區中的數據;非周期性數據采用郵箱方式傳輸,此時(shí)一端寫(xiě)入數據到內存,且只有此段內存寫(xiě)滿(mǎn)后另一端才能開(kāi)始從內存中讀取數據,并且只能當內存中的數據全部讀出時(shí),才能重新寫(xiě)入數據。針對這兩種數據通信方式,從站程序可以對非周期性數據通信采用查詢(xún)方式,對周期性通信采用中斷方式,程序流程圖如圖4、圖5所示[8]。
圖4 中斷方式
圖5 查詢(xún)方式
評論