嵌入式工業(yè)系統(tǒng)設(shè)計要求更低的功率、更高的性能和更低的成本,常常還要求原有總線和新興標(biāo)準(zhǔn)通信協(xié)議之間相互兼容,因此,該領(lǐng)域的設(shè)計人員面臨的挑戰(zhàn)越來越大。
隨著新特性和新功能的推出周期越來越短,開發(fā)人員還必須妥善處理某些生產(chǎn)設(shè)備生命周期極長的問題。另外,許多工業(yè)設(shè)計開發(fā)中一直采用的嵌入式微處理器的性能已達(dá)極限或逐漸被制造商淘汰。對此,帶有集成設(shè)計環(huán)境的新一代微處理器也許是一種解決方案,可縮小傳統(tǒng)要求與新興商機(jī)之間的差距。
傳統(tǒng)的軟件密集型工業(yè)嵌入式設(shè)計方案把實(shí)現(xiàn)系統(tǒng)性能的重?fù)?dān)完全放在設(shè)計人員身上,這樣一來就需要很長的軟件開發(fā)和調(diào)試周期。相反地,一個集成式的設(shè)計環(huán)境能夠利用芯片內(nèi)的多個硬件資源來處理眾多復(fù)雜問題,故可縮短設(shè)計時間,降低成本,也免除了編寫和調(diào)試上千行代碼的麻煩。更重要的是,這種方案讓設(shè)計人員能夠把更多的精力集中于創(chuàng)建能提高附加值和差異化的軟件和功能上,從而贏得競爭優(yōu)勢。
性能和功能
工業(yè)應(yīng)用比消費(fèi)應(yīng)用的內(nèi)在挑戰(zhàn)更多,因為前者必須工作在非常嚴(yán)格的時間限制內(nèi),需要高度的確定性預(yù)測能力,而且一般被深度嵌入在生產(chǎn)線系統(tǒng)內(nèi),其環(huán)境常常十分惡劣。生產(chǎn)線對操作步驟的順序和同步性能要求非常嚴(yán)格,因此嵌入式控制器必須具有穩(wěn)定的實(shí)時性能。例如,可編程邏輯控制器(PLC)必須讀取一組輸入數(shù)據(jù),執(zhí)行所需分析,并觸發(fā)適當(dāng)?shù)妮敵?D?D所有步驟都要在一個可預(yù)測性很強(qiáng)且固定的時間幀內(nèi)完成。
工業(yè)自動化控制器不僅需要在目標(biāo)系統(tǒng)中提供確定的實(shí)時性能,還必須與周圍的生產(chǎn)環(huán)境及各種通信網(wǎng)絡(luò)相兼容。許多嵌入式工業(yè)應(yīng)用都采用Modbus、Profibus 或 CAN等現(xiàn)場總線進(jìn)行構(gòu)建,這些經(jīng)過專門優(yōu)化的總線可在實(shí)時控制機(jī)器操作方面提供確定性性能。
不過,在機(jī)器之間和生產(chǎn)網(wǎng)絡(luò)方面越來越傾向于使用通信標(biāo)準(zhǔn),比如以太網(wǎng)。
確定性現(xiàn)場總線和標(biāo)準(zhǔn)網(wǎng)絡(luò)之間存在固有差異,因此利用傳統(tǒng)微處理器來集成這些完全不同的通信協(xié)議特別困難。此外,如果每一個接口都需要不同的元件,那么支持眾多通信接口的要求會導(dǎo)致庫存和物流成本的增加。
大多數(shù)微處理器都必須花費(fèi)大量的時間來處理有關(guān)任務(wù)切換和管理的工作。而且,商用微處理器無法區(qū)分實(shí)時與安全關(guān)鍵任務(wù)之間以及用戶應(yīng)用代碼與用戶接口任務(wù)之間的差別。所以,不借助額外的軟件(如實(shí)時操作系統(tǒng)),要確保實(shí)時與安全關(guān)鍵任務(wù)的確定性低延遲處理幾乎是不可能的。雖然如此,但對于RTOS如何管理任務(wù)切換和代碼執(zhí)行優(yōu)先權(quán),設(shè)計人員的控制也相當(dāng)少。
圖:傳統(tǒng)MCU對比多上下文硬件。
有一種新的芯片級架構(gòu)方案可以解決上述問題,它可以使用多個獨(dú)立的硬件資源,能夠在芯片內(nèi)部處理許多實(shí)時任務(wù)。這種架構(gòu)允許對管理功能和實(shí)時任務(wù)進(jìn)行硬件級的劃分。它可以在多達(dá)5個獨(dú)立的硬件資源中分配處理優(yōu)先權(quán),從而讓優(yōu)先權(quán)最高的任務(wù)總是能夠立即順利地訪問處理資源。
在工業(yè)應(yīng)用方面,控制延遲的能力至關(guān)重要。它允許傳感器讀取、控制測量、運(yùn)動控制和PLC輸出等任務(wù)能夠被直接且可預(yù)測地執(zhí)行。通過把代碼(比如實(shí)時環(huán)路)分配給芯片內(nèi)的某個特定硬件資源,這種多資源架構(gòu)能夠把任務(wù)請求及其執(zhí)行之間的延遲降至最小。
類似地,對于需要與多個現(xiàn)場總線或基于標(biāo)準(zhǔn)的網(wǎng)絡(luò)相連接的情況,多硬件資源提供了一個極好的隔離接口間差異的方法。一條確定性總線,比如CAN、Modbus或?qū)崟r以太網(wǎng),能夠全速運(yùn)行在某個專用硬件資源上,無需像單MCU實(shí)現(xiàn)方案中那樣等待處理資源。此外,相同的低級別硬件元件可以很容易地通過編程提供全部的通信接口。通用接口控制器的這種概念不僅解決了庫存和物流方面的問題,還具有很高的靈活性,能支持各種機(jī)器間通信及標(biāo)準(zhǔn)網(wǎng)絡(luò),從而精簡了新一代模塊化PLC的實(shí)現(xiàn)。
由于實(shí)時任務(wù)是由獨(dú)立的硬件資源來處理的,因此多資源架構(gòu)方案也意味著可以去掉與實(shí)時操作相關(guān)的許多軟件開銷。軟件開發(fā)的簡化代表著成本和上市時間的大量節(jié)省,也就能形成更高魯棒性的系統(tǒng)。
把主要的處理工作移交給單獨(dú)的硬件資源來處理還有一個好處,即在切換任務(wù)時保存與恢復(fù)狀態(tài)的減少或消除。這不僅避免了寄存器進(jìn)棧出棧的要求,還去除了中止與前面任務(wù)相關(guān)的所有外設(shè)處理以及設(shè)置外設(shè)和總線來運(yùn)行下一個任務(wù)所需的開銷。
除了成本、復(fù)雜性和性能方面的優(yōu)點(diǎn)之外,這種方案的另一個主要優(yōu)點(diǎn)在存儲器管理方面。對資源敏感的存儲器保護(hù)單元可以管理針對不同資源進(jìn)行的存儲器劃分,它不會增加軟件開銷。它還能自動關(guān)聯(lián)存儲器的特定模塊和特定硬件資源,并在啟動時間分配合適的權(quán)限。
例如,存儲器的某個模塊對某個資源來說可能是可讀寫的,對另一個資源為只讀,對第三個資源則根本不能訪問。這種安排允許資源間有適當(dāng)?shù)臄?shù)據(jù)流動,它確保了每個資源的專用存儲器受到保護(hù)。精確的存儲器保護(hù)對實(shí)現(xiàn)安全關(guān)鍵功能(比如確保對運(yùn)動鋸條的控制代碼或執(zhí)行某條產(chǎn)品線的代碼不會被用戶接口代碼破壞)是非常重要的。
這種新的處理器架構(gòu)還可以簡化調(diào)試工作。由于工業(yè)系統(tǒng)常常被深度嵌入在客戶的生產(chǎn)線設(shè)備內(nèi)部,對工程師來說,安裝監(jiān)控設(shè)備進(jìn)行現(xiàn)場性能測量及調(diào)試的空間很有限。鑒于物理訪問受限,對機(jī)器的各方面進(jìn)行遠(yuǎn)程控制和分析的能力就成為一項很重要的優(yōu)勢。有了這種能力,不需要破壞生產(chǎn)環(huán)境就可以迅速解決問題。
多資源架構(gòu)通過JTAG端口提供了高級別的遠(yuǎn)程控制和觀察能力。因為這種模擬具有資源敏感特性,寄存器組可以根據(jù)資源獨(dú)立切入或切出。簡單的調(diào)試工具允許一次一位地改變寄存器狀態(tài)或外設(shè),同時在整個過程中計時。
用于事件記錄的跟蹤緩沖器可以被分配在任何地址空間,甚至可以通過以太網(wǎng)端口發(fā)送出去。對于設(shè)計良好的系統(tǒng),這意味著工程師能夠很容易地定義觀察點(diǎn)和斷點(diǎn),啟動系統(tǒng)運(yùn)行,然后遠(yuǎn)程觀察結(jié)果,不必親臨客戶現(xiàn)場或干涉客戶現(xiàn)場操作。
生命周期的挑戰(zhàn)
工業(yè)設(shè)備生命周期較長是設(shè)計人員面臨的一個主要挑戰(zhàn),在嵌入式控制功能所用的許多處理器生命周期較短的背景下,這一矛盾尤其突出。在做出有關(guān)技術(shù)更改、產(chǎn)量和壽命終了停產(chǎn)的決策時,主流微處理器供應(yīng)商必須把商業(yè)大眾市場的批量規(guī)模視為它們的主要商業(yè)推動力量。消費(fèi)產(chǎn)品的壽命一般是3到5年,而許多工業(yè)、醫(yī)療、電信及航空產(chǎn)品往往長達(dá)10到30年。
加速許多設(shè)備被淘汰的另一個原因是必需符合環(huán)保規(guī)范,比如歐盟的RoHS指令。在許多情況下,供應(yīng)商發(fā)現(xiàn),比較陳舊、不符合規(guī)范元件的最簡單的替代方案就是廢棄它們。建議的替代部件常常也不是完全兼容的。
不幸的是,鑒于商機(jī)不斷減小以及RoHS指令要求而作出的生命終結(jié)的決策可能為向來使用這些元件的工業(yè)產(chǎn)品設(shè)計人員帶來相當(dāng)大的麻煩。舉例說明,英特爾去年5月宣布計劃停止700個不同處理器部件的生產(chǎn),其中一部分部件的生產(chǎn)歷史已超過25年,比如80186, 286, 386 和 486處理器,但它們目前仍然頻繁用于多種工業(yè)產(chǎn)品設(shè)計中。2007年3月以后,英特爾將停止接受這些芯片的訂單,最后一批出貨安排在9月份。
由于上述多資源架構(gòu)的部分開發(fā)目的是提供陳舊器件(如186/188, H8, Z88, 6805 and 8051)的替代產(chǎn)品,故它不僅要克服以前MCU的局限性,還要提供一條能夠避免未來被淘汰的前向移植路徑。
為了把系統(tǒng)性能提高到的一個新的高度,以填補(bǔ)傳統(tǒng)要求和新興技術(shù)之間的代溝,工業(yè)應(yīng)用設(shè)計人員在選擇嵌入式處理器時需要考慮到高度的實(shí)時性能和實(shí)現(xiàn)靈活性。單純提高傳統(tǒng)單線程MCU架構(gòu)的時鐘頻率和原始性能是不夠的。當(dāng)前的工業(yè)應(yīng)用需要更大的芯片級靈活性來劃分和優(yōu)化實(shí)時功能。此外,設(shè)計人員還必須從開發(fā)軟件以克服傳統(tǒng)主流嵌入式處理器的局限性這一沉重負(fù)擔(dān)中被解放出來。
而利用同時提供多個硬件資源以及集成式軟件庫元件與調(diào)試能力的新的嵌入式處理器設(shè)計,工業(yè)系統(tǒng)設(shè)計人員能夠把主要的實(shí)時處理任務(wù)與對時間要求較小的代碼相分離?D?D在硬件處理器中以最低的級別實(shí)現(xiàn)。
這些特性形成的新能力有助于平滑集成傳統(tǒng)現(xiàn)場總線和標(biāo)準(zhǔn)網(wǎng)絡(luò)使用的確定性要求。這些能力還允許在同一個處理器上優(yōu)化實(shí)時和安全關(guān)鍵處理任務(wù),可處理更高級別的用戶接口和應(yīng)用功能,同時不影響性能,也不需要進(jìn)行過多的軟件開發(fā)工作。對工業(yè)系統(tǒng)開發(fā)人員和最終用戶而言,重點(diǎn)在于提供適合下一代工業(yè)設(shè)備的高級別性能、模塊化、互操作性和可擴(kuò)展能力。
作者:Jordon Woods
首席技術(shù)官、創(chuàng)始人之一
Innovasic公司