施耐德公司2019年6月份推出了M262 PLC ,這是一款適用于物聯網高性能邏輯與運動控制器,

施耐德公司的PLC被人的感覺是網路介面比較豐富,這幾年 創新的腳步快一點,M262同樣是如此,它的最左邊是2個獨立的以太網網口,網路支持EtherNet/IP和Modbus TCP,網口1速度是100Mbit/s,同時支持實時運動控制總線(支持EtherNet/IP 和 Sercos在同一電纜中運行),網口2速度為1Gbit/s,支持徑訓鏈連接和RSTP環網,而徑訓鏈介面在物理上是兩個以太網口實作的,所以實際上需要三個以太網口,
M262的主模塊上帶有了運動編碼器和高速IO,
M262又被稱為工業物聯網PLC,因為它具有嵌入式直接云平臺接入和加密通信協議,翻譯過來的意思就是M262的以太網口支持云協議(MQTT、HTTP、JSON、OPC UA)和網路安全加密(TLS),可以直接和云平臺相連接,這樣設備就可以通過控制器直接上云,
在這里就不多寫M262 的細節了,免得小編認為我在幫忙推銷產品,畢竟這類產品也太多了,我并沒有過分地關注它,
驚喜的發現
讓我關注它的是一位網友拆解了M262 (詳見”施耐德PLC內部拆解,果然厲害” 一文),滿足了我這個工程師的八卦心理,
讓我驚喜的是從這篇文章中發現,M262 居然采用了Xilinx 公司的ZYNQ 7000 芯片!
這段時間我一直在糾結高端控制器應該使用什么樣的MCU 芯片,在這之前,我也拆解過一些PLC,給我的印象它們大多是PLC廠商專門定制的CPU為主,也有一些廠商使用NXP 的MCU,這是我第一次看到在PLC 中使用Xillinx 公司的ZYNQ,

嵌入式MCU 的選擇
作為小型的工業控制設備制造廠商,通常沒有足夠的技術和資金實力開發專用芯片,況且現代SOC 芯片越來越復雜,開發的周期長,即便是PLC 大廠要能夠快速地產品迭代,也無法自己開發,因此,使用專業半導體廠商設計的通用MCU 成為主流,現階段可以選擇的適合工業控制領域的MCU廠商也并不多,主要包括了TI,ST,NXP,Microchip以及日本的瑞薩公司,它們的產品普遍使用ARM 內核,主要包括了Cortex-M 系列和Cortex-A 系列產品,在筆者看來,低端產品可能使用STM32 系列為主,目前已經達到1GHz 主頻的H7 系列,以及H7/M4 雙核芯片,在Cortex-A 系列,以NXP的i.mx 系列產品,目前已經出現了雙核,4核甚至更多核的MCU,比如i.mx8有兩個cortex-A72,4 個cortex-A53 核兩個cortex-M4F ,
而NXP 的Layerscape系列產品出現了LS2088 具有8核Cortex-A74 64bit ARM內核,而且以網路為擅長,
microchip和日本瑞薩的MCU 具有許多工業控制介面核軟體支持,在專用控制器中應用廣泛,
目前國產MCU停留在專用MCU(手機,影像監控,電表計費等)以及替代ST 公司產品的階段,以ARM 核為主,少數采用RISC-V核mips 內核,比如瑞芯微,全志的產品主要面向視頻監控,人臉識別等應用領域,也有人用來做工業網關,控制器的應用,
通用MCU 的困惑
使用通用MCU 開發工業控制器存在如下困惑:
外圍電路無法滿足應用的需要
在許多場合,我們與其說是在選擇MCU,還不如說是在選擇外圍介面,但是這樣的選擇是很麻煩的,特別是許多的外圍電路的引腳都是復用的,要選擇完全符合應用需要的MCU 相當困難
擴展外圍介面困難
同樣地,如果要擴展外圍介面電路,比如,從一個以太網口擴展為2個以太網口更加困難,有時不得不重新選擇不同廠商的MCU,硬體修改起來相對還比較簡單,而軟體就可能從頭開始去熟悉,花費的精力很大,
硬體邏輯無法保護,
想必大家都有這樣的感受,選擇通用MCU難以保護產品的知識產權,仍然有一些聰明的家伙從事破解軟體的事情,
為什么選擇ZYNQ
當看到施耐德的M262中選擇xillinx的ZYNQ,感徑訓然開朗,在PLC 控制器中使用ZYNQ 是非常合理,
通俗地講ZYNQ 芯片是在原來FPGA 芯片中增加了一個硬核的MCU,或者說是在MCU 在增加了一個功能強大的FPGA,這種FPGA+MCU的芯片帶來的優勢是明顯的,
1 可以使用FPGA 構建IO外圍電路,比如構建多個以太網介面,或者SPI,PWM介面,
我們不再擔心標準外圍電路不夠的問題
2 可以使用第三方設計的IP核在FPGA 中實作,比如EtherCAT介面,海德漢EnDat2.2 編碼器介面等等,
3 自行設計具有知識產權的IP核,比如數字濾波,特殊的通信介面,控制演算法的等等,現在甚至可以將Matlab/Simulink ,Labview 的演算法直接產生HDL、verlog 語言,經過vivado 的編譯之后下載到ZYNQ 中的FPGA 中運行,
4 ZYNQ 中包含了cortex-A級別的應用處理器,可以跑Linux 作業系統,而在施耐德M262 中跑的的高大上的Vxworks RTOS,小型公司可以采用Linux + Xenomai的方案,國產RT-Thread OS 也開始支持ZYNQ,不過沒有使用過,不知道是否成熟,
在PLC 中使用ZYNQ 芯片能夠滿足PLC 對高速控制介面的硬體實作,原本需要額外的FPGA 芯片來完成,采用ZYNQ減少了MCU與外接FPGA 之間的連線,增加它們之間的帶寬,也減少了PCB 的面積,畢竟PLC 對體積是有要求的,
加快了產品的系列化設計和迭代速度,某些功能只需要更改ZYNQ中的控制邏輯和軟體就可以實作不同的介面,協議和控制邏輯,
這些特性都是通用MCU 無法比擬的,
ZYNQ的問題也是明顯的
1 價格比通用MCU貴
2 ZYNQ 要比通用MCU 更復雜,開發難度有所增加
ZYNQ 產品
適合控制領域的ZYNQ 產品包括了兩大系列
-Zynq-7000 SoC
-Zynq UltraScale+ MPSoC
相比之下,ZYNQ 7000 更具備成本優勢,而且為了實作硬實時性能,使用7020 雙核產品更加合適,
其它使用ZYNQ 的產品
其它公司也開始使用ZYNQ ,比如NI 的cRIO,roboRIO 都是采用了ZYNQ

據說菲尼克斯的PLC Next 也是采用了ZYNQ,看來自動控制行業使用ZYNQ 是趨勢
結束語
在PLC 等控制設備中使用ZYNQ芯片是非常合理的,只是這顆芯片目前還有點貴,順便介紹一本書《The ZYNQ Book》,好像有中譯本,新的一年,讓我們一起來玩玩ZYNQ 吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413614.html
標籤:其他
上一篇:Numpy 高級
下一篇:STM32G4外設之GPIO
