fido5100和fido5200 REM交換芯片與主機和網絡處理器配合使用
在工業(yè)自動化和運動控制應用中,工業(yè)以太網設備的使用正在成為現實,取代了CANbus或RS-485等傳統(tǒng)現場總線連接。
處理實時應用需要高度的確定性和可靠性,主要原始設備制造商(OEM)引入了許多協(xié)議,例如Profinet、EtherCAT、Ethernet/IP、Sercos和Modbus TCP。兼容這些協(xié)議,以及需要更新以兼容未來增強功能(如時間敏感網絡(TSN))的可能性,是每個工業(yè)通信設計的重要考慮因素。ADI公司通過實時以太網多協(xié)議(REM)交換芯片fido5100和fido5200支持最常見工業(yè)以太網協(xié)議。此交換芯片與fido1100通信控制器配合使用,使可編程多協(xié)議RAPID方案更加完善。fido5100和fido5200 REM交換芯片為Profinet IRT、EtherCAT、Ethernet/IP、Modbus TCP和Powerlink提供預認證的解決方案。
本應用筆記介紹fido5100和fido5200 REM交換芯片與任何微處理器的主機接口,另外還說明了存儲器總線接口以及控制以太網接口所需的附加信號。
在本文中,低電平有效信號用上橫線和信號名稱來表示(例如RESET))。
圖1.基于fido5100和fido5200的工業(yè)以太網設備架構和支持的軟件協(xié)議棧
主機接口
fido5100和fido5200 REM交換芯片通過一個設計為標準異步存儲器總線端口的主機接口連接到通信處理器。他們各有兩個以太網接口,支持介質獨立接口(MII)或精簡介質獨立接口(RMII)。由于以太網物理層配置差異性,所以交換芯片不處理以太網物理層部分。通用架構如圖2所示。
圖2.通用架構
主機接口為16位或32位存儲器總線,地址和數據可以復用,從而減少引腳數量。多路復用總線選擇(MBS)和數據總線大小(SIZE_32)信號選擇此總線模式。MBS和SIZE_32在RESET)信號的上升沿采樣。
另一個要考慮的方面是字節(jié)序,它由從小到大順序(LE)信號決定。LE電平也是在RESET)的上升沿采樣。
交換芯片數據總線定義如下:
?D0為最低有效位(LSB)。
?D15為16位總線的最高有效位(MSB)。
?D31為32位總線的MSB。
所有控制和狀態(tài)寄存器都是16位寬,所以即便使用32位總線,數據也必須按D15到D0的順序傳輸。有關如何處理字節(jié)序的詳細信息以及引腳功能的詳細描述,請參閱fido5100/fido5200數據手冊。
地址總線有四位數據,可以訪問16個直接地址寄存器。如果是非多路復用數據總線(例如MBS = 0),用戶必須考慮地址的另外四個引腳。
查看時序圖(參見fido5100/fido5200數據手冊)非常重要,它顯示了非多路復用和多路復用模式下的讀寫操作。
圖3.同相緩沖器驅動CS)信號
在非多路復用操作的情況下,地址建立時間(tAS)是異步存儲器訪問的關鍵參數。根據微處理器架構,地址線和CS)可以同時驅動(tAS = 0),或者二者之間可以有一個很小的延遲。
關于非多路復用操作,市場上的許多Cortex?-M4系列(例如ADI公司ADSP-CM408F或STM32F4)和Cortex-Ax系列(例如ADI公司ADSP-SC589和NXP imx6)可無延遲地驅動CS)和地址線。在其他情況下,如Motorola 68000架構,CS)在地址線有效后置位。
fido5100和fido5200 REM交換芯片使用CS)下降沿來鎖存地址線,并且需要一個很小的延遲tAS(最小20 ps)。
當微處理器同時置位CS)和地址時,應給CS)增加幾ns的延遲。例如,ADSP-CM408F通過一個快速的單通道同相緩沖器(通常增加2.5 ns的延遲)將CS)驅動到fido5100和fido5200 REM交換芯片。
對于多路復用存儲器訪問,地址和ALE信號有效之間的時序關系也可能要求在ALE信號上增加一個短延遲,這取決于所使用的處理器。
中斷
三條中斷線用作fido5100和fido5200 REM交換芯片的輸出。主機微處理器必須監(jiān)視這些線路。
MDIO接口
所有以太網物理層都需要配置,它們可以提供狀態(tài)信息。許多器件使用管理數據輸入和輸出(MDIO)接口。此通信接口由兩條線組成:一條數據線(MDIO)和一條管理數據時鐘線(MDC)。IEEE802.3規(guī)范定義了一個特定通信協(xié)議。fido5100和fido5200REM交換芯片不驅動此通信接口。主機處理器必須能夠相應地管理MDIO和MDC。
存儲器要求
理想情況下,REM交換芯片驅動器需要50 kB到100 kB的只讀存儲器(ROM)。在RapID平臺上,fido1100使用46 kB ROM。此外,某些工業(yè)以太網協(xié)議需要8 kB RAM來同時處理飛行中處理器的多個數據包。
引腳數
表1總結了使用最大引腳數(125 MB/s,非多路復用總線)的配置的引腳數和使用最小引腳數(62.5 MB/s,多路復用總線)的配置的引腳數,假設MBS、SIZE_32和LE處于某一固定電平。非多路復用總線中有45個引腳,多路復用總線中有26個引腳。
互連框圖
圖4顯示了主機或網絡處理器與fido5100和fido5200REM交換芯片之間以及兩個以太網物理層的完整互連框圖。圖4中的虛線表示僅用于多路復用模式的連接。在多路復用模式下,請勿連接四條地址線,只能連接A02/ALE。A02/ALE具有雙重功能。在多路復用模式下,A02線充當ALE信號來驗證地址線。
圖4.互連框圖
REM交換芯片軟件驅動程序
REM交換芯片軟件驅動程序為fido5100和fido5200提供標準的與協(xié)議無關的接口。軟件驅動程序用于初始化、中斷管理、定時器管理以及獨立于協(xié)議的數據包傳輸和接收。針對每種支持的協(xié)議(Profinet、Ethernet/IP、EtherCAT、ModbusTCP和POWERLINK),REM交換芯片軟件驅動程序以源代碼形式提供。驅動程序使用C語言編寫,并針對選定的協(xié)議配置交換芯片。固件從主機處理器下載。
配置通常在上電時執(zhí)行,但配置可在系統(tǒng)復位后的任何時間執(zhí)行。
如圖5所示,C代碼被組織成一組應用程序編程接口(API),分為兩個主要功能組別:協(xié)議專用接口和標準交換接口。
任何傳輸控制協(xié)議/互聯網協(xié)議(TCP/IP)協(xié)議棧都可以連接到標準交換接口,任何協(xié)議棧都可以連接到協(xié)議專用接口。標準交換接口在所有驅動程序中都是通用的,因此用戶只需連接到TCP/IP協(xié)議棧一次即可。
用戶可以選擇作為處理器開發(fā)環(huán)境的操作系統(tǒng)(OS)一部分的TCP/IP協(xié)議棧,以及來自第三方供應商的PROFINET協(xié)議棧。然后,協(xié)議棧由主機處理器管理,并連接到REM交換芯片驅動程序中的協(xié)議特定API,而REM驅動程序中的標準交換API連接到OS中的TCP/IP協(xié)議棧。
圖5.多協(xié)議能力
驅動程序不依賴于任何操作系統(tǒng)資源(例如無線程和令牌),所以移植僅限于定義主機處理器如何與REM交換芯片通信以及一些調試選項。
移植相關代碼(REMS_Port.h和REMS_Port.c)位于Porting目錄中(/PorTIng/inc/和/PorTIng/src/)。為支持特定硬件平臺,必須修改這兩個文件,其依賴于主機處理器。
REM軟件驅動程序架構如圖6所示。
圖6.REM軟件驅動程序架構
應用范例
本部分包含一些與工業(yè)應用中常用的微處理器架構配合使用的范例。有關更多信息,請參閱相應集成電路(IC)制造商提供的具體文檔。
ADI公司ADSP-CM408F(帶FPU的Arm? CORTEX-M4)
ADSP-CM408F帶有一個靈活的外部存儲器接口。靜態(tài)存儲器控制器(SMC)可以編程為控制最多四組外部存儲器。允許異步非復用16位操作。
表2顯示了fido5100和fido5200 REM交換芯片與ADSP-CM408F處理器之間的連接。
表2.連接至ADSP-CM408F
ADI公司ADSP-SC589(帶ARM CORTEX-A5的SHARC?+雙核DSP)
ADSP-SC589配有SMC,可控制最多兩個外部存儲器模塊。允許異步非復用16位操作。正如ADSP-CM408F中所建議的那樣,CS)信號需要一個外部緩沖器,MDIO接口由嵌入式控制器管理。
表3顯示了fido5100和fido5200 REM交換芯片和雙核SHARC+Arm處理器之間的連接。
由于ADSP-SC589沒有嵌入式閃存,因此處理器需要在上電時對REM交換芯片進行編程以從外部ROM下載代碼。
表3.連接至ADSP-SC589
ST MICROELECTRONICS STM32F42系列(帶FPU的ARM CORTEX-M4)
STM32F42系列具有靈活的內存控制(FMC)接口,允許異步16位和32位多路復用和非多路復用訪問操作。由于FMC_NE(片選)預測地址有效的時間最長可達2 ns,因此該信號可能需要更長的延遲時間。
表4顯示了fido5100和fido5200 REM交換芯片與STM32F42處理器之間的連接。
表4.連接至STM32F42
在多路復用操作的情況下,需要一個反相器,因為FMC_NADV是低電平有效信號,但fido5100和fido5200需要高電平有效信號來鎖存地址。這種情況下無需增加延遲,因為tw (NADV)時間足以讓fido5100和fido5200鎖存地址線。
ST MICROELECTRONICS STM32F103系列(Arm CORTEX-M3)
STM32F103系列具有靈活的嵌入式靜態(tài)存儲控制器(FSMC),可以管理最多四組不同類型的存儲器,包括SRAM。FSMC允許異步多路復用和非多路復用16位操作。由于FSMC_NE(片選)可以在地址線有效之前最多3 ns時置位,所以此信號可能需要更長的延遲時間。
表5顯示了fido5100和fido5200REM交換芯片與STM32F103處理器之間的連接。
表5.連接至STM32F103
在多路復用操作的情況下,需要一個反相器,因為FSMC_NADV是低電平有效信號,但fido5100和fido5200需要高電平有效信號來鎖存地址。這種情況下不需要增加延遲,因為tw (NADV)時間足以讓fido5100和fido5200鎖存地址線。
該系列Cortex-M3處理器未實現MDIO接口。
盡管如此,可以使用兩個GPIO來代替,而MDIO功能必須通過軟件來模擬。
TEXAS INSTRUMENTS AM1808 SITARA系列(Arm9)
AM1808有一個支持異步SRAM的外部存儲器接口(EMIFA)。EMIFA可以管理16位非復用訪問。片選信號需要一個緩沖器。
表6顯示了fido5100和fido5200 REM交換芯片與AM1808處理器之間的連接。
表6.連接至AM1808
TEXAS INSTRUMENTS TMS320F2807 PICCOLO系列(32位浮點微控制器)
TMS320F2807系列具有支持異步SRAM的EMIFA。EMIFA可以管理32位和16位非復用訪問。片選信號需要一個緩沖器。
表7顯示了fido5100和fido5200 REM交換芯片與TMS320F2807處理器之間的連接。
表7.連接至TMS320F2807
該系列32位處理器未實現MDIO接口。盡管如此,可以使用兩個GPIO來實現此接口,而MDIO功能必須通過軟件來模擬。
NXP i.MX 6ULL系列(Arm CORTEX-A7)
i.MX 6ULL處理器配有外部接口模塊(EIM),其可提供對SRAM的16位非復用和復用訪問。
表8顯示了fido5100和fido5200 REM交換芯片與i.MX 6ULL處理器之間的連接。
表8.連接至i.MX 6ULL
在多路復用操作的情況下,需要一個反相器,因為EIM_LBA)是低電平有效信號,但fido5100和fido5200需要高電平有效信號來鎖存地址。
因為EIM_LBA)解除置位(成為地址的鎖存時間)取決于可編程參數,所以計算W40A時序時要小心??赡苄枰彌_器。
時序W31(EIM_CSx)有效至地址有效)是可編程的,可以為負值(CS)在地址有效前置位)??赡苄枰彌_器。