基于TB6560的步進電機驅(qū)動電路設計
對于速度和實時性能要求非常高的協(xié)議,在硬件中以專用協(xié)議MAC的形式實現(xiàn)實時功能。而協(xié)議的其他功能由運行在嵌入式處理器中的軟件堆棧來完成,這些處理器可以是在Cyclone III FPGA中實現(xiàn)的Nios II軟核處理器。
工業(yè)以太網(wǎng)發(fā)展狀況
圖1是來自ARC咨詢集團的市場數(shù)據(jù)。ARC預測在今后幾年內(nèi),工業(yè)以太網(wǎng)市場會出現(xiàn)強勁增長。其中,在2011年之前工業(yè)以太網(wǎng)器件和交換機銷售增長年度復合增長率將達到30%。
圖1 ARC咨詢集團預測:今后5年中以太網(wǎng)現(xiàn)場器件和交換機年度復合增長將達到30%
目前的工業(yè)通信環(huán)境還不統(tǒng)一,有較多的競爭工業(yè)以太網(wǎng)標準和傳統(tǒng)的現(xiàn)場總線標準,很多解決方案采用了ASIC、ASSP和MCU來實現(xiàn)。這類硬件不是很靈活,需要針對用戶支持的每一種協(xié)議改變硬件和相應的軟件堆棧。
目前,有幾種開放標準工業(yè)以太網(wǎng)協(xié)議,包括EtherCAT、Ethernet IP、Modbus/TCP、PROFINET、Ethernet POWERLINK和SERCOS III。這些協(xié)議都可以使用單一硬件設計在FPGA中實現(xiàn),使工程師能夠在一個支持多種協(xié)議標準的硬件平臺上進行標準化處理。
隨著時間的推移,越來越多的標準采用了基于FPGA的平臺。推動工業(yè)以太網(wǎng)在工廠自動化以及過程系統(tǒng)中應用的主要因素包括平臺的通用性和性能、辦公室和工廠信息集成以共享實時信息、降低總成本等。
工業(yè)以太網(wǎng)解決方案支持通用平臺,從而推動了辦公室和工廠集成,在底層控制器和車間管理之間建立鏈接,共享實時信息,實現(xiàn)迅速響應。同時還可以通過內(nèi)聯(lián)網(wǎng)連接車間內(nèi)部、車間之間以及車間和辦公室之間的實時和非實時系統(tǒng),與對應的現(xiàn)場總線協(xié)議后向兼容,支持新系統(tǒng)和老系統(tǒng)之間的平臺操作。
開放協(xié)議標準簡化了設備實施和網(wǎng)絡通信,有助于工廠從多層現(xiàn)場總線過渡到單一的以太網(wǎng),支持各種商用設備和電纜,即使工業(yè)以太網(wǎng)協(xié)議出現(xiàn)了變化,也可以重復使用這些設備和電纜。
通過定制網(wǎng)絡,支持多種拓撲,能夠在網(wǎng)絡中增加或者去掉器件,提供更多的控制功能,而且不會影響系統(tǒng)其他部分的工作,從而縮短了開發(fā)時間。
工業(yè)以太網(wǎng)基于穩(wěn)定、成熟、可靠的以太網(wǎng)技術(shù),降低了實施、維護和總的系統(tǒng)成本,從而實現(xiàn)了產(chǎn)品更迅速地面市,不需要ASIC、ASSP和MCU設計昂貴的專用解決方案,避免了硬件和軟件改動導致的高成本。
工業(yè)以太網(wǎng)體系結(jié)構(gòu)
工業(yè)以太網(wǎng)協(xié)議可以分成三類體系結(jié)構(gòu)(圖2):A類、B類和C類協(xié)議標準。
A類使用標準以太網(wǎng)TCP/IP,主要用于非實時信息層面的應用,例如工廠自動化、低速傳感器和HMI顯示等PLC應用。其典型的響應時間大約為100ms左右,或者更長。EtherNet/IP、Modbus/TCP和PROFINET CBA是這一類中常見的以太網(wǎng)協(xié)議。
B類在標準以太網(wǎng)硬件之上使用定制軟件堆棧,提供適當?shù)膶崟r性能,響應時間小于10ms。B類適合低精度電機控制和遠程I/O通信等應用,涉及到Ethernet Powerlink和PROFINET RT等協(xié)議。
C類在MAC層使用改進后的硬件,同時使用定制軟件來實現(xiàn)確定的快速實時性能,一般小于1ms,適用于器件級的精確運動控制等應用。EtherCAT、PROFINET IRT和SERCOS III都是C類工業(yè)以太網(wǎng)協(xié)議的例子。C類體系結(jié)構(gòu)的標準網(wǎng)絡流量帶寬小于A類體系結(jié)構(gòu)。
為支持所有三類工業(yè)以太網(wǎng)體系結(jié)構(gòu),需要具有全面的可配置平臺能力,能夠同時改變硬件和軟件。
基于FPGA的以太網(wǎng)實現(xiàn)
傳統(tǒng)上,微控制器、ASIC或者ASSP一直用于實現(xiàn)現(xiàn)場總線和工業(yè)以太網(wǎng)解決方案。這些產(chǎn)品具有很高的性價比,當功能、協(xié)議標準和I/O固定不變,或者沒有硬件改變時,工作情況良好。然而由于工業(yè)網(wǎng)絡標準在不斷變化,而工業(yè)應用要求產(chǎn)品生命周期非常長,通常在10年以上,此時,這些產(chǎn)品便具有一定的局限性。每一個新的解決方案都需要對電路板進行重制,無數(shù)的軟件編程人員將代碼移植到新處理器和新平臺上,這是非常耗時的過程。
Altera Cyclone III系列等FPGA可以在同一平臺上將處理器功能和工業(yè)以太網(wǎng)協(xié)議與其他定制IP或者接口進行更新和集成。當工程師熟悉了Altera提供的Quartus II和SOPC Builder等FPGA開發(fā)工具后,工作就會變得非常簡單。
圖3是支持工業(yè)以太網(wǎng)的典型應用的體系結(jié)構(gòu)。所有工業(yè)以太網(wǎng)標準都基于IEEE 802.3以太網(wǎng)物理層。所以,在圖3的下部,PHY和總是相同的。在標準以太網(wǎng)應用中,可以在PHY之上采用標準介質(zhì)訪問控制器或者MAC,對于非實時工業(yè)協(xié)議,這就是其典型的實現(xiàn)方式。
圖2 工業(yè)以太網(wǎng)分類
圖3 支持工業(yè)以太網(wǎng)的典型應用的體系結(jié)構(gòu)[!--empirenews.page--]
Ethernet IP、Modbus/TCP和Ethernet POWERLINK等協(xié)議應用了標準MAC,因此,可以只修改運行在Nios II處理器上的軟件堆棧,使用相同的以太網(wǎng)MAC IP來支持這些協(xié)議。
對于EtherCAT、PROFINET IRT和SERCOS III等有實時要求的協(xié)議,標準MAC就不能滿足要求了。在這種情況下,必須使用專用協(xié)議MAC。對于采用了Cyclone III等FPGA的設計,可以使用支持專用協(xié)議的MAC來替代標準MAC。某些協(xié)議還可能需要支持IEEE 1588功能,或加入集線器或者交換機以提高性能,增加環(huán)形保護等其他功能。
正確的應用這些硬件就可以接收任何工業(yè)以太網(wǎng)標準數(shù)據(jù)包。此時,用戶需要一個處理器來處理數(shù)據(jù)包、管理通信功能。在FPGA中采用Nios II處理器內(nèi)核等軟核處理器很容易實現(xiàn)這些功能,在這類處理器上可以運行實時操作系統(tǒng)。
這種實現(xiàn)方法針對不同的堆棧,為工程師提供了一致的軟件平臺,在實現(xiàn)單芯片多標準解決方案時很容易對軟件進行支持和維護?,F(xiàn)在,用戶可以通過任何工業(yè)以太網(wǎng)協(xié)議來發(fā)送和接收數(shù)據(jù)。
通過軟件API抽象出以太網(wǎng)鏈接接口是實現(xiàn)應用程序數(shù)據(jù)流的最佳方法,這樣,當改變工業(yè)以太網(wǎng)標準時,只需要很少的改動甚至不用改動就可以運行應用程序。在支持多標準時,節(jié)省了大量的時間和投入。軟件API通過雙端口RAM、串行I/O或者并行I/O進行通信。應用軟件可以運行在外部處理器或者FPGA內(nèi)部的另一Nios處理器上。
FPGA硬件提供靈活的平臺,任何時候都能夠重新配置,支持對產(chǎn)品特性進行立即更新。這意味著可以在同一Cyclone III FPGA上實現(xiàn)標準或者定制工業(yè)以太網(wǎng)MAC、DSP模塊以及其他定制邏輯和I/O接口,提高工業(yè)網(wǎng)絡產(chǎn)品的性能和接口能力。
基于Altera FPGA的解決方案和硬件/軟件設計工具能夠設計并集成工程師所需要的一切功能。嵌入在FPGA中的Nios II軟核處理器可以用于運行以太網(wǎng)堆棧驅(qū)動軟件和其他功能。甚至還可以加入第二個處理器,以支持應用層軟件。而且,Ethernet IP和SERCOS III等工業(yè)以太網(wǎng)協(xié)議僅以IP的形式發(fā)布,允許使用FPGA來支持這些協(xié)議標準。這一方法提供了單一平臺,很容易滿足需求的變化。不必花費大量時間針對每一以太網(wǎng)協(xié)議導入軟件堆棧,在處理器上運行,而是使用現(xiàn)成的工具和軟件堆棧,支持所有的以太網(wǎng)標準。而且,在FPGA平臺上改動設計時,不需要針對每一新協(xié)議來設計新電路板。一塊電路板能夠支持多種工業(yè)以太網(wǎng)協(xié)議,從而減小了NIE的費用,降低了長期擁有成本。FPGA中實現(xiàn)的工業(yè)以太網(wǎng)協(xié)議能夠在不同的設計和FPGA器件系列之間進行移植,因此,下一代產(chǎn)品可以重新使用相同的IP。Altera及其合作伙伴所提供的工業(yè)以太網(wǎng)快速開發(fā)解決方案確保了較短的產(chǎn)品面市周期。靈活的FPGA支持在最終產(chǎn)品中應用早期工程工作,設計人員可以在最后一刻更改設計,避免PCB重制。
SOPC Builder軟件工具
SOPC Builder是設計用于自動交付、配置和集成IP模塊的工具,它采用了窗口類型的圖形開發(fā)環(huán)境,用戶可以在其中建立全部的CPU系統(tǒng),甚至不需要寫入HDL代碼。這樣,去掉了耗時的手動編碼過程,設計人員能夠?qū)⒕性趦?yōu)化解決方案上。
通過圖4,可以看到SOPC Builder窗口以及集成到設計中的Altera IP、第三方IP和硬件模塊列表。當用戶點擊這些IP模塊時,右側(cè)會打開一個配置窗口,從這里可以選擇需要的配置選項,加入到用戶的系統(tǒng)中。加入所需的IP后,會看到所選的組件列在主窗口中,窗口左側(cè)是已經(jīng)自動連接在一起的模塊。用戶可以隨時通過鼠標編輯它,重新配置IP組件或者鏈接,為其應用建立理想的系統(tǒng)。完成系統(tǒng)后,只需要簡單的點擊底部的“Generate”按鈕,告訴SOPC Builder生成一個集成硬件模塊,它含有設計人員所選擇的所有IP以及從GUI中選擇的配置和鏈接。SOPC Builder生成完整的設計,將其交給Quartus II設計環(huán)境,并對系統(tǒng)進行編譯,建立HDL仿真模型或者FPGA配置文件。
嵌入式軟件開發(fā)流程
圖5是嵌入式軟件的開發(fā)流程圖。如果是硬件設計人員,那么不需要很大的投入就可以不斷修改設計,實現(xiàn)最佳系統(tǒng)。但是,如果是軟件工程師,在典型的硬件/軟件集成過程中所面臨的挑戰(zhàn)是必須跟上不斷變化的處理器平臺。與修改FPGA和Nios II處理器配置相比,軟件更新需要做很多工作,要花較長的時間來進行更新。由于SOPC Builder還生成含有所有硬件配置信息的文件,這樣,Nios II軟件開發(fā)環(huán)境就能夠?qū)崿F(xiàn)定制軟件,建立專用硬件支持庫。這種庫含有系統(tǒng)需要的所有器件驅(qū)動以及硬件抽象層,即HAW,提取出訪問硬件的所有應用程序。如果改動硬件,軟件環(huán)境會探測到這些改變,在軟件工程中自動更新所有硬件設置和器件驅(qū)動。這種自動工具解決方案能夠幫助硬件和軟件工程師更迅速、簡單地修改設計,不會出錯。
圖4 SOPC builder窗口截圖
圖5 嵌入式軟件開發(fā)流程