控制層
工廠(chǎng)控制層一般由許多工作在控制層的PLC組成。PLC收集傳感器數(shù)據(jù),并做出是否改變生產(chǎn)過(guò)程狀態(tài)和是否控制繼電器與馬達(dá)以及工廠(chǎng)中其它機(jī)械設(shè)備狀態(tài)的決定。它們可監(jiān)控并管理分為數(shù)百個(gè)節(jié)點(diǎn)運(yùn)作的大型I/O網(wǎng)絡(luò)。
PLC通常要求確定性行為,也就是說(shuō),每次I/O行為發(fā)生所用的時(shí)間(或處理器周期)都完全相同,每次都如此。在對(duì)實(shí)時(shí)確定性行為要求不太嚴(yán)格的環(huán)境中,一些PLC可利用實(shí)時(shí)操作系統(tǒng)(RTOS)來(lái)減輕基于任務(wù)的編程,同時(shí)確保系統(tǒng)能夠在特定時(shí)間周期內(nèi)做出響應(yīng)。
ARM Cortex-M3內(nèi)核的差異化特性之一就是其硬件支持確定性行為。ARM Cortex-M3內(nèi)核可直接從片上閃存中獲取指令和數(shù)據(jù),無(wú)需從高速緩存中獲取。這使硬件能夠在出現(xiàn)異常時(shí)保存CPU狀態(tài)。處理器在接收到外部中斷后將控制權(quán)轉(zhuǎn)交給中斷處理程序只需12個(gè)周期,而背對(duì)背中斷(即尾鏈)將控制權(quán)轉(zhuǎn)交中斷處理程序只需6個(gè)周期。
從設(shè)計(jì)角度來(lái)看,Cortex-M3內(nèi)核的內(nèi)置確定機(jī)制使得采用單個(gè)MCU取代馬達(dá)控制的雙芯片解決方案成為可能。過(guò)去,需要數(shù)字信號(hào)處理器(DSP)來(lái)控制與結(jié)點(diǎn)相關(guān)的馬達(dá),同時(shí)還需要MCU來(lái)處理與系統(tǒng)其它部分的連接?;贑ortex-M3的MCU具有實(shí)現(xiàn)上述兩種功能的能力。
確定性性能的硬件支持能夠與為支持確定性而設(shè)計(jì)的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)最佳協(xié)作。具有高時(shí)間精確度的IEEE1588精確時(shí)間協(xié)議(PTP)可提供這種特性并具有多點(diǎn)傳送功能。從自動(dòng)化設(shè)計(jì)的角度看,這就意味著為IEEE1588 PTP提供硬件支持的10/100以太網(wǎng)是非常重要的外設(shè)。在一些更高端可編程自動(dòng)化控制器(PAC)實(shí)例中,千兆位以太網(wǎng)的需求也隨數(shù)據(jù)傳輸量的提升不斷增加。
工廠(chǎng)自動(dòng)化系統(tǒng)中另一種普遍使用的通信方法是可實(shí)現(xiàn)分布式與冗余系統(tǒng)設(shè)計(jì)的控制器局域網(wǎng)(CAN)協(xié)議。
無(wú)線(xiàn)網(wǎng)絡(luò)現(xiàn)已成為PLC、傳感器以及其它節(jié)點(diǎn)級(jí)設(shè)備聯(lián)網(wǎng)的趨勢(shì)。WLAN(無(wú)線(xiàn)以太網(wǎng))常被用于PLC與PAC之間的通信。
德州儀器(TI)Sitara系列ARM微處理器在芯片上集成了面向WLAN的以太網(wǎng)#p#分頁(yè)標(biāo)題#e#MAC、CAN以及SDIO,并擁有支持網(wǎng)絡(luò)協(xié)議的必要性能。
在傳感器層面上,ZigBee協(xié)議正在獲得認(rèn)可。基于IEEE802.15.4無(wú)線(xiàn)電規(guī)范的ZigBee采用網(wǎng)狀網(wǎng)絡(luò)技術(shù)創(chuàng)建穩(wěn)健的自配置網(wǎng)絡(luò),它是工業(yè)應(yīng)用的理想選擇。
基于Cortex M3的MCU具有執(zhí)行ZigBee協(xié)議以及除無(wú)線(xiàn)電之外所有相關(guān)任務(wù)所需的性能。此外,Cortex M3還通過(guò)支持auto-MDIX處理10/100 Base T以太網(wǎng)通信(全雙工及半雙工)。
TI基于A(yíng)RM Cortex-M3的Stellaris系列MCU具有片上集成以太網(wǎng)PHY與MAC的更多顯著優(yōu)勢(shì),不但比雙芯片解決方案節(jié)省成本,而且還可節(jié)省電路板空間。對(duì)于要求性能高于10/100以太網(wǎng)的設(shè)計(jì)而言,設(shè)計(jì)人員應(yīng)該選擇基于Cortex-A8的MPU,如TI Sitara系列。
Cortex-M3內(nèi)核針對(duì)片上閃存及SRAM的單周期訪(fǎng)問(wèn)進(jìn)行了優(yōu)化,可實(shí)現(xiàn)設(shè)計(jì)人員之前在MCU中一直不能達(dá)到的高性能。由于50MHz Stellaris Cortex-M3 MCU具備單周期閃存與單周期SRAM,因此相比運(yùn)行在100MHz下的其它MCU,設(shè)計(jì)人員采用運(yùn)行在50MHz下的Stellaris MCU能獲得更多的原始性能。
設(shè)計(jì)問(wèn)題
處理器內(nèi)核選擇的一個(gè)重要判定點(diǎn)就是看它能否提供加速產(chǎn)品上市的軟件,其中包括操作系統(tǒng)、庫(kù)以及通信協(xié)議棧。
圖形需求通常是選擇操作系統(tǒng)的主導(dǎo)因素??刂茟?yīng)用不但需要2D或3D圖形、視頻流以及更高的顯示分辨率,通常還需要功能齊全的RTOS、Embedded Linux或Windows Embedded CE操作系統(tǒng),并將通過(guò)功能強(qiáng)大的處理器在家庭中得到應(yīng)用,這些基于A(yíng)RM9或Cortex-A8核(如Sitara ARM MPU中采用的)的處理器包含完整的存儲(chǔ)器管理單元(MMU)。
可處理文本文件、2D基本圖元以及QVGA JPEG圖像的智能顯示模塊通常處于Cortex-M3 MCU的上限。Cortex-M3內(nèi)核具有存儲(chǔ)器保護(hù)單元(MPU),有助于小型RTOS與輕量級(jí)linux內(nèi)核(如RoweBots的Unisom內(nèi)核)的高效使用。
ARM 架構(gòu)的優(yōu)勢(shì)之一就是前文提到的強(qiáng)大生態(tài)系統(tǒng)。這可帶來(lái)數(shù)目眾多的第三方認(rèn)證通信協(xié)議棧,其中包括工廠(chǎng)自動(dòng)化環(huán)境所需的專(zhuān)用工業(yè)通信協(xié)議棧。TI Stellaris MCU可通過(guò)提供StellarisWare軟件加速產(chǎn)品上市進(jìn)程,該軟件提供了各種外設(shè)驅(qū)動(dòng)程序庫(kù)、圖形庫(kù)、#p#分頁(yè)標(biāo)題#e#USB庫(kù)(用于支持USB Device、USB Host和USB OTG)、啟動(dòng)加載程序支持以及可在工業(yè)應(yīng)用中實(shí)現(xiàn)設(shè)備診斷的IEC 60730自檢庫(kù)。
Sitara MPU支持開(kāi)發(fā)硬件、驅(qū)動(dòng)器以及針對(duì)開(kāi)源Linux與Windows Embedded CE6的電路板支持套件,并具有諸如Neutrino、Integrity以及VxWorks等RTOS的第三方支持,因而具有加速產(chǎn)品上市的優(yōu)勢(shì)。
功耗
功耗現(xiàn)已成為所有應(yīng)用的一個(gè)重要特征,其中包括電力線(xiàn)供電的應(yīng)用。不過(guò)便攜式設(shè)計(jì)主要關(guān)注處理器功耗,工業(yè)系統(tǒng)設(shè)計(jì)人員則將精力集中在盡可能保持低的效用成本。而且更低的功耗還具有積極的環(huán)保效應(yīng)。
馬達(dá)在生產(chǎn)車(chē)間和加工廠(chǎng)中普遍存在,通常會(huì)消耗工廠(chǎng)大量的電能。讓人有些驚奇的是,MCU內(nèi)核的確定性性能可在電源效率方面發(fā)揮重要的作用。比如在Cortex-M3中,MCU中斷服務(wù)響應(yīng)效率提升60%時(shí),系統(tǒng)級(jí)功耗將降低。中斷服務(wù)速度提高60%意味著MCU可將馬達(dá)的停止與啟動(dòng)速度提高60%,而且節(jié)約的電能可在一年中累加。此外,Cortex-M3內(nèi)核的高性能可用于實(shí)現(xiàn)智能數(shù)字換流,從而可以選擇更小的馬達(dá)投入使用,還可以選擇更高效率的馬達(dá)或者對(duì)馬達(dá)性能進(jìn)行改進(jìn)(例如AC感應(yīng)馬達(dá)由空間矢量調(diào)制驅(qū)動(dòng),而不是由簡(jiǎn)單的正弦算法來(lái)驅(qū)動(dòng)),所有這些均可降低所需的系統(tǒng)電能。Stellaris MCU包含帶有死區(qū)定時(shí)器的專(zhuān)用馬達(dá)控制PWM以及針對(duì)閉環(huán)控制的QEI,可幫助設(shè)計(jì)人員利用Cortex-M3內(nèi)核的計(jì)算能力提高效率,降低功耗。
另一個(gè)功耗問(wèn)題是設(shè)計(jì)全面封閉的工廠(chǎng)自動(dòng)化系統(tǒng)以預(yù)防車(chē)間環(huán)境下普遍存在的灰塵和其它污染物的趨勢(shì)。如果對(duì)處理器及相關(guān)電子設(shè)備進(jìn)行制冷需要采用一個(gè)以上散熱片,設(shè)計(jì)人員就必須考慮采用通風(fēng)口和風(fēng)扇,為不使最初的全密閉系統(tǒng)目標(biāo)落空,必須安裝昂貴的強(qiáng)制通風(fēng)清潔系統(tǒng)。
Sitara系列MPU可通過(guò)適應(yīng)性軟硬件技術(shù)滿(mǎn)足更低功耗的需求,該產(chǎn)品可通過(guò)IC操作動(dòng)態(tài)控制電壓、頻率以及功耗。
外設(shè)與I/O
#p#分頁(yè)標(biāo)題#e#
基于標(biāo)準(zhǔn)ARM架構(gòu)的處理器內(nèi)核價(jià)值在于其具有眾多的優(yōu)勢(shì)。因?yàn)橄到y(tǒng)級(jí)設(shè)計(jì)都建立在MPU與MCU基礎(chǔ)之上,所以IC制造商在圍繞內(nèi)核的片上系統(tǒng)中提供的功能也同等重要。存儲(chǔ)器選項(xiàng)是一個(gè)重要因素,由于片上外設(shè)提供其余的產(chǎn)品差異化,因此外設(shè)與IO接口的類(lèi)型和數(shù)量也是非常重要的因素。
上面討論了兩個(gè)重要的通信塊,CAN控制器和支持1588協(xié)議的以太網(wǎng)MAC與PHY。下面列出了各種IO選項(xiàng),其中許多選項(xiàng)都具有巨大的市場(chǎng)需求,因?yàn)樗鼈兛蓪?shí)現(xiàn)廣泛的數(shù)據(jù)傳送應(yīng)用。
I2C:用來(lái)連接低速外設(shè)的多主控串行計(jì)算機(jī)總線(xiàn)。
UART/USART:高級(jí)高速通用通信外設(shè)。
SPI:運(yùn)行在全雙工模式下的廣泛使用的同步串行數(shù)據(jù)鏈路。
內(nèi)部集成聲控(I2S):可將低失真信號(hào)驅(qū)動(dòng)到外部IC以實(shí)現(xiàn)音頻應(yīng)用。
外部外設(shè)接口(EPI):具有各種模式的可配置存儲(chǔ)器接口,可支持SDRAM、SRAM/閃存、傳統(tǒng)的主機(jī)總線(xiàn)x8及x16外設(shè),以及150MB/秒的快速機(jī)器對(duì)機(jī)器(M2M)并行傳輸接口。
通用串行總線(xiàn)(USB):用于點(diǎn)對(duì)點(diǎn)或多點(diǎn)應(yīng)用的USB接口,通常包括支持機(jī)器配置外部存儲(chǔ)或USB OTG的USB主機(jī)。
在工業(yè)應(yīng)用中,超高速通用I/O(GPIO)、脈寬調(diào)制(PWM)、正交編碼輸入以及模數(shù)轉(zhuǎn)換器(ADC)通道等功能對(duì)于馬達(dá)控制及其它機(jī)械和加工設(shè)備都非常重要。
圖3是一個(gè)高端MCU的結(jié)構(gòu)圖,主要說(shuō)明了片上所能集成這些功能的數(shù)量。
#p#分頁(yè)標(biāo)題#e#
圖3:基于Cortex-M3的Stellaris 9000系列MCU提供了豐富的外設(shè)集合
大多數(shù)IC廠(chǎng)商均可提供上述所有片上功能。在一些實(shí)例中,可通過(guò)更穩(wěn)健的實(shí)施來(lái)實(shí)現(xiàn)產(chǎn)品差異化。Stellaris系列器件上集成的以太網(wǎng)MAC與PHY和支持IEEE 1588是該產(chǎn)品差異化的良好范例。
另一個(gè)例子就是TI Sitara系列ARM9 MPU上提供的可編程實(shí)時(shí)單元(PRU)。PRU是一款具有有限指令集的小型處理器,可通過(guò)配置為片上不具備的實(shí)時(shí)功能提供特定資源。
在工業(yè)控制應(yīng)用中,PRU通常針對(duì)IO進(jìn)行配置。這可能是一種該產(chǎn)品線(xiàn)任何MPU都不具備的定制接口或IO塊。與添加外部芯片執(zhí)行相同功能相比,使用PRU可幫助節(jié)省系統(tǒng)內(nèi)成本。例如,工業(yè)設(shè)計(jì)人員可利用PRU實(shí)現(xiàn)UART或工業(yè)現(xiàn)場(chǎng)總線(xiàn)(如Profibus)等附加的標(biāo)準(zhǔn)接口。PRU的全面可編程性甚至可幫助設(shè)計(jì)人員添加其贏(yíng)得的客戶(hù)專(zhuān)有接口。
由于PRU可編程,因此它可在不同的執(zhí)行環(huán)境中替代不同類(lèi)型的IO以降低功耗并提升系統(tǒng)性能。例如,PRU可處理專(zhuān)用定制數(shù)據(jù)處理,通過(guò)關(guān)斷ARM時(shí)鐘減輕ARM9處理器負(fù)載。
本文小結(jié)
當(dāng)越來(lái)越多的半導(dǎo)體供應(yīng)商紛紛采用ARM架構(gòu)MCU與MPU時(shí),工業(yè)控制設(shè)備設(shè)計(jì)人員將能夠獲得更廣泛的IC選擇。產(chǎn)品差異化將由硅片(均衡的存儲(chǔ)器系統(tǒng),快速I(mǎi)/O及外設(shè)以及可加速產(chǎn)品上市的通信集成)的智能應(yīng)用以及良好的軟件開(kāi)發(fā)工具、庫(kù)以及工業(yè)協(xié)議棧的提供情況來(lái)確定。因此僅僅擁有大量的MCU或MPU清單仍遠(yuǎn)遠(yuǎn)不夠。擁有生產(chǎn)就緒型工具及開(kāi)源軟件的詳細(xì)清單(如驅(qū)動(dòng)器或基元及小控件的圖形庫(kù)等)為設(shè)計(jì)人員的設(shè)計(jì)提供快速啟動(dòng),才會(huì)占有更多的市場(chǎng)先機(jī)。
轉(zhuǎn)載請(qǐng)注明出處。