引言
工業環境正在對嵌入式控制系統開發人員構成日益嚴峻的挑戰,究其主要原因,當前系統和通信協議棧變得越來越復雜,系統實時性和安全要求越來越嚴格,同時,這種趨勢直接影響到半導體元器件的特性和技術規格。
為克服這些挑戰,意法半導體在今年初發布了STM32-F2系列微控制器,以幫助開發人員實現要求苛刻的工業應用。新系列產品誕生于深受市場歡迎的STM32產品家族,擁有更高的性能、更大的存儲容量和針對工業應用優化的外設。 F2系列產品在一顆芯片上集成了多種功能,例如,控制/調整功能和復雜的通信協議棧。高集成度的優點是,縮小印刷電路板空間,避免在不同的控制器之間存在易受到電磁兼容性影響的連接電路,優化應用成本。
工業自動化市場的特點是多個通信協議并存,實時應用需要高效的操作系統。因此,軟件棧和操作系統成為選擇微控制器的首要參數。 STM32微控制器基于受到市場廣泛支持的Cortex M3內核,因此,有20多家實時操作系統和通信協議提供商供用戶選擇。為使STM32微控制器更加完美,意法半導體還增加了一個兼容CMSIS的硬件抽象層和其它固件庫,例如,支持永磁同步電機(PMSM)的磁場定向控制 (FOC) 。本文將介紹兩個第三方專門為STM32F-2研發的工廠自動化軟件: IXXAT 開發的支持PTP的IEEE1588協議軟件包和 PORT 開發的Profinet通信協議棧。
STM32-F2針對工廠自動化的改進的性能
與上一代產品STM32-F1相比,STM32-F2在很多方面加以改進,特別是性能更加出色,外設接口更加豐富。STM32-F2采用90nm光刻技術,處理速度達到120MHz,并使運行功耗保持在合理水平(300uA/MHz)。這項光刻技術的另一個好處是集成度更高,有助于降低應用的系統級成本。
為了充分發揮Cortex-M3內核的優異性能,意法半導體重新評估了產品架構。新產品在120MHz下釋放150DMIP的強勁性能 (Dhrystone 2.1),CoreMark?測試成績取得254高分(2.120 CoreMark/MHz 通過EEMBC 認證), STM32F-2因而進入Cortex-M微控制器的第一陣營,這個成績歸功于自適應實時存儲器加速器(ARTTM),采用這項閃存訪問管理技術后,應用代碼執行不再會受閃存本身固有的等待狀態的影響。雖然閃存的速度比內核本身慢三倍,但是,在代碼執行過程中不會出現等待狀態,即便處理速度達到 120MHz時也是零等待狀態。因此,新系列產品可大幅縮減設計尺寸,降低功耗和閃存的EMC影響,確保最高的產品性能。
STM32-F2的主要特性如下: 最高1MB的閃存、128kB RAM、6個UART(7.5Mbps)、3 SPI接口 (30Mbps)、支持IEE1588 PTP V2的以太網媒體訪問控制器(MAC)、4kB備用RAM、512字節的一次性可編程存儲器(OTP)。
總線矩陣
除單純的內核計算能力外,微控制器設計人員還必須考慮總線設計,在微控制器不同單元之間實現并行訪存和數據傳輸,例如,內核和通信外設需要同時訪問不同的存儲器。因此,主要總線最終被設計成一個多層AHB總線矩陣,最多支持6個同步數據流。
STM32-F2系列微控制器共有5個總線主控制器:
· 有3條內核總線的ARM Cortex-M3內核
· 2個DMA控制器
· 高速 USB主設備控制器
· 10/100以太網 MAC控制器
上圖中的黑點代表在這個7層總線結構中總線主控制器與從控制器的全部接口。為提高系統的能效,SRAM存儲器被分成兩個存儲區SRAM1和 SRAM2,SRAM1用于保存基本協議棧和變量,而SRAM2則用作通信外設的幀緩沖區。以太網和USB外設都占用了幾千字節的FIFO存儲空間,而且分別擁有一個各自專用的DMA控制器。
除多個SRAM分區外,該系統還有兩個AHB總線從控制器。同樣地,這樣的配置準許不同的總線主控制器并行處理和同步訪問不同的高速外設,例如,加密處理器和通用輸入輸出端口。AHB從控制器和DMA控制器都是雙端口,這樣設計準許在AHB總線上直接連接DMA控制器與高速外設,避免在總線矩陣和二級高速至低速橋上因延遲而降低性能。
外部存儲器接口又稱“靜態存儲控制器”,可直接連接不同的異步和同步存儲器、NOR/NAND閃存、SRAM、偽SRAM,甚至還能連接一個液晶顯示器控制器,外存接口總線頻率最高60MHz,還能通過指令總線(I-bus)獲取CPU內核指令。
存儲器加速器
意法半導體的自適應實時(ART)存儲器加速器(如上圖所示)可讓Cortex-M3內核釋放最高的處理性能,雖然閃存本身需要等待狀態,但是,引入這項技術后,STM32-F2以120 MHz的速度從閃存執行代碼無等待狀態。
存儲器接口是128位寬,每次可取4-8條THUMB2指令。如果執行線性代碼,因為預取指功能,即便閃存速度只是內核的四分之一,代碼執行也不會出現等待狀態。
然而,如果執行轉移或跳轉指令,需要立即取出轉移或跳轉目標地址的數據,這樣,存儲器的等待狀態會增加系統開銷,這就是ART及其64項高速指令緩存發揮作用的地方。如果非順序指令第一次出現,這條指令將從存儲器中取出并保存在64項高速緩存的一個存儲項內。在下一次出現時,該指令將從高速緩存中直接取出,沒有等待狀態。
這個指令高速緩存還有一個LRU即最近不常用機制,因此,假如一個應用軟件的轉移指令超過64條,最近常用的新指令將取代最近不常用的指令。這個架構的優點是,即便中斷服務處理程序被加速器覆蓋,這個機制仍然能夠支持各種轉移指令。
最常用的8行數據項目像高速指令緩存一樣,但是用于暫存最常用的數據庫,可以使D-bus總線立即充滿數據。
工業協議棧和固件
IXXAT為 STM32開發的IEEE 1588 PTP協議
測量系統、電信設備、自動化系統或汽車系統等分布式應用設備對精確時序機制的要求越來越高。IEEE 1588的精確時序協議(PTP)通過以太網使分布式設備的時序同步精度達到納秒級,從而滿足分布式應用系統的要求。
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)的硬件,具有實現一個高精度時序同步協議所需的全部資源。我們做了一個長時間的背對背連接同步測試, 采用了1個精確的主控制器(2ppm晶振),測試條件是0.125秒同步間隔,測試結果顯示,該平臺最大同步偏差為±70納秒,標準同步偏差大約是15納秒。在上電后,IXXAT的IEEE 1588協議軟件同步平均需要大約20個同步間隔。
在一個STM32微控制器上實現的IEEE 1588軟件,取得1個有IPv4、端到端 (E2E)和對等(P2P)延遲機制和主控制器的通用普通時鐘的典型功能,需要47KB空間保存程序代碼,7KB空間保存只讀數據,23KB空間保存讀寫數據。
除IEEE 1588協議軟件外,IXXAT的服務還包括定制軟硬件開發和系統設計,以及技術研討會和代碼推介會服務。
PORT 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版協議棧為用戶提供符合IEC 61158和IEC 61784標準的PROFINET IO兼容通信所需的全部服務功能,幫助用戶輕松快速地開發PROFINET IO設備。該解決方案是是通過一個硬件抽象層訪問硬件,并為用戶提供能夠連接意法半導體的不同微控制器的驅動程序,有無操作系統均可。為了快速獲得總線使用權限,符合PROFINET的技術規范,該解決方案對底層以太網驅動軟件進行了優化。STM32 F-2支持PROFINET Conformance Class A,還可以支持PROFINET Realtime Class 1。為了幫助設計人員輕松快速地開發項目,Port還提供一個PROFINET設計工具。
意法半導體的電機矢量控制庫
因為集成兩個先進的定時器外設、3個快速數模轉換器(0.5MSps)和DMA直接訪存功能,STM32F2x特別適合需要1個或2個電機控制驅動器的應用。即便驅動兩個電機時,150DMIPS的性能讓STM32F2x有充足后備動力驅動其它復雜的應用任務。
STM32F-2配備STM32 PMSM FOC軟件開發工具,實現了磁場定向控制(FOC)驅動3相永磁同步表面安裝電機(SM-PMSM)和內部安裝電機(I-PMSM),最新的3.1版 STM32 PMSM FOC開發工具套件包含STM32F-2微控制器,預計2011年7月上市。
STM32 PMSM FOC開發工具套件可用于快速評估STM32微控制器的各種應用和完整的應用平臺,當開發在意法半導體微控制器上運行的電機控制算法時,這套開發工具有助于縮短的應用的開發周期。PMSM FOC固件的源代碼采用C語言,實現了電機控制內核算法(參考系轉換、電流調整、速度調整、空間矢量調制、能效優化)以及傳感器檢測算法、解碼算法(3個并聯電阻、意法半導體專利單直流鏈路并聯電阻、隔離型電流傳感器、增量編碼器、霍爾傳感器)和轉子位置重構無傳感器算法。
為了讓大家了解STM32F-2出色的計算性能,我們做了一個性能測試。在使用兩個并聯電阻檢測電機電流的無傳感器配置中,用一個STM32F-2 驅動兩個PMSM電機,按照標準雙矢量控制性能(以10kHz運行FOC算法)測試,CPU負荷在35%的范圍內;按照高級雙矢量控制性能(以16kHz 運行FOC算法)測試,CPU負荷在50%的范圍內。這些性能為STM32F-2系列微控制器在工廠自動化領域開啟了廣泛的應用空間。
結語
要求嚴格的工業通信協議軟件棧顯然能夠充分利用STM32F-2系列微控制器高于同級產品的優異性能。當執行高性能應用軟件和算法時,STM32F-2執行速度比上一代產品STM32F-1提高1倍多。
STM32-F2系列產品已通過客戶檢測驗證,目前正在提升產量。大多數固件和協議棧已經上市,未上市的也準備今年夏季發布。STM32-F2系列產品的升級產品目前正在設計階段,新一代產品包括基于Cortex-M4內核的微控制器,能夠更好地支持需要數字信號處理器的應用。
評論
查看更多