STMicroelectronics IEEE 1588 PTP Cortex-M3 通訊協定軟體 STM32 通訊堆疊 通訊技術 MCU PCB

搭配通訊協定軟體堆疊 MCU實現高性能工業應用

對嵌入式控制系統開發人員來說,工業環境已對其形成日益嚴峻的挑戰,究其主要原因,當前系統和通訊堆疊變得越來越複雜,系統即時性和安全要求越來越嚴格,同時,這種趨勢直接影響到半導體元件的特性和技術規格。
為克服這些挑戰,廠商發布新系列微控制器(MCU),讓開發人員實現要求苛刻的工業應用。新系列產品擁有更高的性能、更大的儲存容量以及針對工業應用最佳化的周邊設備。這類的產品在一顆晶片上整合多種功能,包括控制/調整功能和複雜的通訊堆疊。高整合度的優點是,縮小印刷電路板空間,避免在不同的控制器間存在易受到電磁相容性影響的連接電路,並最佳化應用成本。

工業自動化市場的特點是多個通訊協定並存,且即時應用需要高效能的作業系統。因此,軟體堆疊和作業系統成為選擇微控制器的首要條件。例如,意法半導體(STMicroelectronics)為使該公司的STM32微控制器更加完美,還增加一個相容Cortex微控制器軟體介面標準(CMSIS)的硬體抽象層和其他韌體庫,如可支援永磁同步馬達(PMSM)的磁場定向控制(FOC)。本文將介紹兩家協力廠商專門為STM32F-2研發的工廠自動化軟體IXXAT所開發支援準確時間協定(PTP)的IEEE 1588協定套裝軟體和PORT開發的Profinet通訊堆疊。

針對工廠自動化量身打造

與上一代產品STM32-F1相比,STM32-F2在許多方面加以改進,性能更出色,且周邊設備介面更豐富。STM32-F2採用90奈米(nm)微影技術,處理速度達到120MHz,並使執行功耗保持在合理水準(300μA/MHz)。這種微影技術的另一個好處是整合度更高,有助於降低應用的系統級成本。

為充分發揮Cortex-M3內核的優異性能,意法半導體重新評估產品架構。新產品在120MHz下擁有150DMIPS的強勁性能(Dhrystone 2.1),CoreMark測試成績取得254高分(2.120 CoreMark/MHz通過EEMBC認證)。STM32F-2因而進入Cortex-M微控制器的第一陣營,這個成績歸功於自我調整即時記憶體加速器(ART)。採用此種快閃記憶體存取管理技術後,應用程式碼執行不再受快閃記憶體本身固有的等候狀態的影響。雖然快閃記憶體的速度比內核本身慢三倍,但在程式碼執行過程中不會出現等候狀態,即便處理速度達到120MHz時也是零等候狀態。因此,新系列產品可大幅縮減設計尺寸、降低功耗和快閃記憶體的電磁相容(EMC)影響,確保最高的產品性能。

匯流排矩陣提高效能

除單純的內核運算能力外,微控制器設計人員還必須考慮匯流排設計,在微控制器不同單元間實現平行存取和資料傳輸,例如,內核和通訊周邊設備須要同時存取不同的記憶體。因此,主要匯流排最終被設計成一個多層先進高性能匯流排(AHB)矩陣,最多支援六個同步資料流程。

圖1中的黑點代表在這個七層匯流排結構中,匯流排主控制器與從控制器的全部介面。為提高系統的效能,靜態隨機存取記憶體(SRAM)被分成兩個儲存區SRAM1和SRAM2,SRAM1用於保存基本堆疊和變數,而SRAM2則當作通訊周邊設備的框架緩衝區。乙太網路和通用序列匯流排(USB)周邊設備都占用幾千位元組的先進先出(FIFO)儲存空間,而且分別擁有一個各自專用的直接記憶體存取(DMA)控制器。

圖1 七層匯流排結構

除多個SRAM分區外,該系統還有兩個AHB匯流排從控制器。同樣地,這樣的配置准許不同的匯流排主控制器平行處理和同步存取不同的高速周邊設備,例如加密處理器和通用輸入輸出埠。AHB從控制器和DMA控制器都是雙埠,這樣設計允許在AHB匯流排上直接連接DMA控制器與高速周邊設備,避免在匯流排矩陣和二級高速至低速橋上因延遲而降低性能。

外部記憶體介面又稱靜態儲存控制器,可直接連接不同的非同步和同步記憶體、NOR/NAND快閃記憶體、SRAM、偽SRAM,甚至還能連接一個液晶顯示器控制器,外存介面匯流排頻率最高60MHz,還能透過指令匯流排(I-Bus)獲取中央處理器(CPU)內核指令。

記憶體加速器即時調整

意法半導體的自我調整即時記憶體加速器(圖2)可讓Cortex-M3內核釋放最高的處理性能,雖然快閃記憶體本身需要等候狀態,但是,引入這項技術後,STM32-F2以120MHz的速度從快閃記憶體執行程式碼無等候狀態。

圖2 自我調整即時記憶體加速器結構

記憶體介面是128位元,每次可取四至八個THUMB2指令。如果執行線性程式碼,因為預取指令功能,即便快閃記憶體速度只是內核的四分之一,程式碼執行也不會出現等候狀態。

但如果執行轉移或跳轉指令,須要立即取出轉移或跳轉目標位址的資料,記憶體的等候狀態就會增加系統開銷,這就是ART及其六十四項高速指令緩存發揮作用之處。如果非順序指令第一次出現,這個指令將從記憶體中取出並保存在六十四項快取記憶體的一個儲存項內。在下一次出現時,該指令將從快取記憶體中直接取出,沒有等候狀態。

這個指令快取記憶體還有一個最近不常用(LRU)機制,因此,假如一個應用軟體的轉移指令超過六十四個,最近常用的新指令將取代最近不常用的指令。這個架構的優點是,即便中斷服務處理常式被加速器覆蓋,這個機制仍然能夠支援各種轉移指令。

最常用的八行資料項目類似高速指令緩存,但用於暫存最常用的資料庫時,可以使D-Bus匯流排立即充滿資料。

善用IEEE 1588 PTP協定

測量系統、電信設備、自動化系統或汽車系統等分散式應用設備對精確時序機制的要求越來越高。IEEE 1588的精確時序協定(PTP)透過乙太網路使分散式設備的時序同步精度達到奈秒(ns)級,從而滿足分散式應用系統的要求。

IXXAT自動化技術有限公司開發的IEEE 1588協定軟體讓設備廠商能夠輕鬆、快速地開發IEEE 1588相容設備,這款軟體的原始程式碼採用C語言,可運作在任何平台上。

為在STM32-F2系列微控制器上實現IEEE 1588協定,IXXAT為STM32-F2使用者提供一個訂製版協定軟體,該解決方案大幅簡化並加快協定的執行過程。STM32-F2專用協定軟體需要與一個有組播功能的TCP/IP堆疊配合使用,有無作業系統均可。

因為功能豐富、連續升級、占有率高,IXXAT的IEEE 1588協定軟體已成為1588協定軟體市場的主要參考標準。最新的1.03版IEEE 1588已支援新的IPv6標準,該標準將逐漸被新系統所採用。這個解決方案的模組化軟體結構包含基本與可選更新檔,例如用於IPv6、IEEE 802.3和Unicast的文件,可與專門應用及其資源實現最佳匹配。

使用者可以動態設置多種功能,例如延遲機制(點到點/端到端)和通訊技術(IPv4、IPv6、802.3),因此設計人員開發設備時毋須考慮網路結構,使用者使用設備時毋須修改韌體,這樣設計可降低研製成本,讓客戶提出更吸引人的價值主張。

STM32-F2系列微控制器在乙太網路媒體存取控制(MAC)內整合了支援IEEE 1588(PTP V2)的硬體,具有實現一個高精度時序同步協定所需的全部資源。當進行一個長時間的背對背連接同步測試時,採用一個精確的主控制器(2ppm晶振),測試條件是0.125秒同步間隔,測試結果顯示,該平台最大同步偏差為±70奈秒,標準同步偏差約15奈秒。通電後,IXXAT的IEEE 1588協定軟體同步平均需要約二十個同步間隔。

在一個STM32微控制器上實現的IEEE 1588軟體,取得一個有IPv4、端到端(E2E)和點到點(P2P)延遲機制和主控制器的通用普通時鐘的典型功能,需要47kB空間保存程式碼,7kB空間保存唯讀資料,23kB空間保存讀寫資料。

除IEEE 1588協定軟體外,IXXAT的服務還包括客製化軟硬體開發和系統設計,以及技術研討會和程式碼推廣服務。

結合Profinet軟體堆疊

Port是一家CAN/CANopen、DeviceNet現場匯流排解決方案提供商,該公司具備硬體和韌體開發能力,擴大業務組合,加強堆疊和POWERLINK、PROFINET、EtherNet/IP和EtherCAT開發工具產品組合。

PROFINET是工業乙太網路版PROFIBUS匯流排,而這項技術被業界公認為極其耗費資源。意法半導體與Port合作為STM32 F-2系列研發出一款只需128kB SRAM儲存容量的PROFINET軟體,讓微控制器步入一個新的應用領域。STM32 F-2與Port PROFINET組合不僅適用於工業自動化應用,如工業編碼器(定位)、工業驅動附件,而且還適用於內置乙太網路控制功能的安全系統。

PROFINET的STM32 F-2版堆疊(圖3)為使用者提供符合IEC 61158和IEC 61784標準的PROFINET IO相容通訊所需的全部服務功能,使用者可輕鬆快速地開發PROFINET IO設備。

圖3 PROFINET的STM32 F-2版堆疊

該解決方案是透過一個硬體抽象層(HAL)存取硬體,並為使用者提供可連接意法半導體的不同微控制器的驅動程式,有無作業系統均可。為快速獲得匯流排使用權限,符合PROFINET的技術規範,該解決方案對底層乙太網路驅動軟體進行最佳化。STM32 F-2支援PROFINET Conformance Class A,還可以支援PROFINET Realtime Class 1。為幫助設計人員輕鬆快速地開發專案,Port還提供一個PROFINET設計工具。

強化馬達向量控制能力

因為整合兩個先進的計時器周邊設備、三個快速數位類比轉換器(0.5MSPS)和直接記憶體存取(DMA)功能,STM32F2x特別適合需要一個或兩個馬達控制驅動器的應用。即便驅動兩個馬達時,150DMIPS的性能讓STM32F2x有充足後備動力驅動其他複雜的應用任務。

STM32F-2配備STM32 PMSM FOC軟體發展工具,實現磁場定向控制(FOC)驅動三永磁同步表面安裝馬達(SM-PMSM)和內部安裝馬達(I-PMSM),最新的3.1版STM32 PMSM FOC開發工具套件包含STM32F-2微控制器均已上市。

STM32 PMSM FOC開發工具套件可用於快速評估STM32微控制器的各種應用和完整的應用平台,在開發在意法半導體微控制器上執行的馬達控制演算法時,這套開發工具有助於縮短的應用的開發週期。

PMSM FOC韌體的原始程式碼採用C語言,實現馬達控制內核算法(參考系轉換、電流調整、速度調整、空間向量調製、能效最佳化)以及感測器檢測演算法、解碼演算法(三個並聯電阻、意法半導體專利單直流鏈路並聯電阻、隔離型電流感測器、增量編碼器、霍爾感測器)和轉子位置重構無感測器演算法。

為說明STM32F-2的運算性能,在此做一個性能測試。在使用兩個並聯電阻檢測馬達電流的無感測器配置中,採用一個STM32F-2驅動兩個PMSM馬達,按照標準雙向量控制性能(以10kHz執行FOC演算法)測試,CPU負荷在35%的範圍內;按照高級雙向量控制性能(以16kHz執行FOC演算法)測試,CPU負荷在50%的範圍內。這些性能為STM32F-2系列微控制器在工廠自動化領域開啟廣泛的應用空間。

要求嚴格的工業通訊協定軟體堆疊顯然能夠充分利用STM32F-2系列微控制器高於同級產品的優異性能。當執行高性能應用軟體和演算法時,STM32F-2執行速度比上一代產品STM32F-1提高一倍多。

(本文作者任職於意法半導體)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!