MCU典型應用設計:STM32-F2在工廠(chǎng)自動(dòng)化中的應用
上圖中的黑點(diǎn)代表在這個(gè)7層總線(xiàn)結構中總線(xiàn)主控制器與從控制器的全部接口。為提高系統的能效,SRAM存儲器被分成兩個(gè)存儲區SRAM1和SRAM2,SRAM1用于保存基本協(xié)議棧和變量,而SRAM2則用作通信外設的幀緩沖區。以太網(wǎng)和USB外設都占用了幾千字節的FIFO存儲空間,而且分別擁有一個(gè)各自專(zhuān)用的DMA控制器。
除多個(gè)SRAM分區外,該系統還有兩個(gè)AHB總線(xiàn)從控制器。同樣地,這樣的配置準許不同的總線(xiàn)主控制器并行處理和同步訪(fǎng)問(wèn)不同的高速外設,例如,加密處理器和通用輸入輸出端口。AHB從控制器和DMA控制器都是雙端口,這樣設計準許在A(yíng)HB總線(xiàn)上直接連接DMA控制器與高速外設,避免在總線(xiàn)矩陣和二級高速至低速橋上因延遲而降低性能。
外部存儲器接口又稱(chēng)“靜態(tài)存儲控制器”,可直接連接不同的異步和同步存儲器、NOR/NAND閃存、SRAM、偽SRAM,甚至還能連接一個(gè)液晶顯示器控制器,外存接口總線(xiàn)頻率最高60MHz,還能通過(guò)指令總線(xiàn)(I-bus)獲取CPU內核指令。
存儲器加速器
意法半導體的自適應實(shí)時(shí)(ART)存儲器加速器(如下圖所示)可讓Cortex-M3內核釋放最高的處理性能,雖然閃存本身需要等待狀態(tài),但是,引入這項技術(shù)后,STM32-F2以120 MHz的速度從閃存執行代碼無(wú)等待狀態(tài)。
存儲器接口是128位寬,每次可取4-8條THUMB2指令。如果執行線(xiàn)性代碼,因為預取指功能,即便閃存速度只是內核的四分之一,代碼執行也不會(huì )出現等待狀態(tài)。
然而,如果執行轉移或跳轉指令,需要立即取出轉移或跳轉目標地址的數據,這樣,存儲器的等待狀態(tài)會(huì )增加系統開(kāi)銷(xiāo),這就是ART及其64項高速指令緩存發(fā)揮作用的地方。如果非順序指令第一次出現,這條指令將從存儲器中取出并保存在64 項高速緩存的一個(gè)存儲項內。在下一次出現時(shí),該指令將從高速緩存中直接取出,沒(méi)有等待狀態(tài)。
這個(gè)指令高速緩存還有一個(gè)LRU即最近不常用機制,因此,假如一個(gè)應用軟件的轉移指令超過(guò)64條,最近常用的新指令將取代最近不常用的指令。這個(gè)架構的優(yōu)點(diǎn)是,即便中斷服務(wù)處理程序被加速器覆蓋,這個(gè)機制仍然能夠支持各種轉移指令。
最常用的8行數據項目像高速指令緩存一樣,但是用于暫存最常用的數據庫,可以使D-bus總線(xiàn)立即充滿(mǎn)數據。
工業(yè)協(xié)議棧和固件
IXXAT為 STM32開(kāi)發(fā)的IEEE 1588 PTP協(xié)議
測量系統、電信設備、自動(dòng)化系統或汽車(chē)系統等分布式應用設備對精確時(shí)序機制的要求越來(lái)越高。IEEE 1588的精確時(shí)序協(xié)議(PTP)通過(guò)以太網(wǎng)使分布式設備的時(shí)序同步精度達到納秒級,從而滿(mǎn)足分布式應用系統的要求。
IXXAT自動(dòng)化技術(shù)有限公司開(kāi)發(fā)的IEEE 1588協(xié)議軟件讓設備廠(chǎng)商能夠輕松、快速地開(kāi)發(fā)IEEE 1588兼容設備,這款軟件的源代碼采用C語(yǔ)言,可實(shí)現在任何平臺上。
為了在意法半導體的STM32-F2系列微控制器上實(shí)現IEEE 1588協(xié)議,IXXAT為STM32-F2用戶(hù)提供一個(gè)定制版協(xié)議軟件,該解決方案大幅簡(jiǎn)化并加快了協(xié)議的實(shí)現過(guò)程。STM32-F2專(zhuān)用協(xié)議軟件需要與一個(gè)有組播功能的TCP/IP協(xié)議棧配合使用,有無(wú)操作系統均可。
因為功能豐富,連續升級,占有率高,IXXAT的IEEE 1588協(xié)議軟件已成為1588協(xié)議軟件市場(chǎng)的主要參考標準。最新的1.03版IEEE 1588已支持新的IPv6標準,該標準將逐漸被新系統所采用。這個(gè)解決方案的模塊化軟件結構包含基本包和可選擴展文件,例如,用于IPv6、IEEE 802.3和Unicast的文件,讓包與專(zhuān)門(mén)應用及其資源能夠實(shí)現最佳匹配。

評論