久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM-WinCE分布式系統平臺的時鐘同步設計

ARM-WinCE分布式系統平臺的時鐘同步設計

作者: 時間:2013-10-15 來源:網絡 收藏

2 硬件設計

由于IEEE1588協議運行于以太網,在基于的嵌入式系統上采用DP83640芯片移植IEEE1588協議的硬件基確是為系統增加以太網接口電路。以太網接口電路主要由媒體訪問控制(Medium Access Control,MAC)器和物理層(Physical Layer,PHY)收發器兩部分構成。MAC控制器芯片實現OSI模型數據鏈路層的功能,提供尋址機構、數據幀的構建、數據差錯檢查、傳送控制、向網絡層提供標準的數據接口等功能。PHY芯片實現OSI模型物理層的功能,定義了數據傳送與接收所需要的電與光信號、線路狀態、時鐘基準、數據編碼和電路等,并向數據鏈路層設備提供標準接口。處理器、MAC芯片與PHY芯片三者之間的關系是MAC芯片向上通過其處理器接口(Processor Interface)與處理器的高級外設總線(APB)連接,向下通過其媒體獨立接口(Media Independent Interface,MII)接口與PHY芯片連接。最終,PHY芯片與RJ45接口連接。

本文使用SAMSUNG公司的S3C2440A型ARM處理器,其內部設有集成MAC控制器,而DP83640芯片只是PHY收發器,因此二者之間還需要增加MAC芯片。由于目前常用的以太網控制器都集成了MAC控制器和PHY收發器,這里選用DAVICOM公司的DM9000以太網芯片,其特點是:具有MII接口可以和片外PHY芯片連接;寄存器操作簡單有效;成本低廉。

實現S3C2440A與DM9000連接,必須對兩者間的數據、地址、控制三大總線進行連接和轉換,其連接關系如圖2所示。

S3C2440A的數據線D[15:0]與DM9000的地址、數據復用數據線SD[15:0]連接用來實現S3C2440A與DM9000之間的數據傳輸。芯片選擇信號AEN與S3C2440A的片選使能信號nGSC4連接,當訪問0x20000000-0x27FF FFFF這個范圍的地址時會激活片選使能信號nGCS4。DM9000默認I/O基地址為300H。CMD引腳用于設置COMMAND模式,與S3C2440A的ADDR2連接CMD為高電平時,選擇數據端口。CMD為低電平時,選地址端口。數據端口和地址端口的地址碼由下式決定:
DM9000地址端口=高位片選地址+300H+0H
DM9000數據端口=高位片選地址+300H+4H

高位片選地址由S3C2440A芯片的nGCS4提供,即為:0x20000000。因此DM9000的地址IO基址為0x20000000,數據IO基址為0x2000 0004。向地址IO寫數據時不會激活ADDR2,CMD為低電平,所以向DM9000傳送的數據為地址,而向數據IO寫數據時會激活ADDR2,CMD為高電平,向DM9000傳送的數據為數據。S3C2440的輸出使能引腳nOE連接DM9000的讀引腳IOR,寫使能引腳nWE連接DM9000的寫引腳IOW。DM9000的中斷請求引腳INT連接S3C2440的外部中斷請求引腳EINT7,使得S3C2440A能夠響應DM9000的中斷。

DM9000與DP83640之間通過標準MII接口連接,RXD[3:0]為接收數據線,TXD[3.0]為發送數據線,CRS為載波檢測信號,COL為沖突檢測信號,RX_DV為數據有效信號,RX_ER為接收錯誤信號,RX_CLK為接收時鐘信號,TX_CLK為發送時鐘信號,TX_EN為發送使能信號,MDIO是管理數據的輸入輸出雙向接口,MDC為管理數據接口提供時鐘信號。需要注意的是DM9000默認使用片內PHY,因此在驅動程序初始化DM9000時,必須主動置位網絡控制寄存器NCR的EXT_PHY位以選擇使用片外PHY即DP83640。

3 軟件設計

軟件設計分為兩個步驟:1)是基于DM9000和DP83640進行以太網通信的驅動程序設計;2)是通過DP83640進行的應用程序設計。

本文使用5.0操作系統,5.0系統下網絡驅動程序的編寫必須符合網絡驅動接口規范NDIS(Network Driver Interface Stan dard)。NDIS的層次結構如圖3所示,其中最上層的Winsock是提供給應用層的接口。NDIS位于協議驅動層下面,硬件驅動Miniport Driver之上。協議驅動層通過調用NDIS封裝的接口函數,實現與底層硬件驅動的交互。下網絡驅動程序的設計主要是在NDIS構架下,針對實際的硬件編寫代碼,實現相應的中間層Miniport Driver接口函數。其主要完成的功能有:DM9000與DP83640的初始化;網絡數據包的發送;網絡數據的接收和中斷。

實現了以太網通信的驅動程序的基礎上,用于功能的應用程序通過UDP協議發送、接收報文,并進行加入、提取和解析時間戳等操作,這些操作通過讀寫DP83640內部的1588基本寄存器組(PTP 1588 BASEREGISTERS)和1588配置寄存器組(PIP 1588CONFIGURATION REGISTERS)完成。

4 結論

IEEE1588協議通過在以太網上發送和接收同步報文來實現時鐘同步,同步的精度取決于記錄報文發送和接收時間的時間戳的精度,因此要實現高精度的時鐘同步必須通過硬件支持在通信協議的底層加入和提取時間戳。本文通過在ARM-WinCE嵌入式系統平臺上設計了使用DP836 40芯片作為PHY收發器的以太網接口電路及其驅動程序,實現了IEEE1588協議在ARM-WinCE平臺上的移植,并達到了不低于1 μs的同步精度,為基于ARM-WinCE平臺的測試儀器組建分布式測試系統奠定了基礎。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉