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