999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

中國自動(dòng)化學(xué)會專家咨詢工作委員會指定宣傳媒體
新聞詳情

秦曉的“國企觀”

http://bfqmb.cn 2009-07-21 17:25 來源:中國自動(dòng)化學(xué)會專家咨詢工作委員會

  摘要:與傳統(tǒng)的PLC、PAC以及基于PC的系統(tǒng)控制技術(shù)不同,嵌入式控制技術(shù)可以根據(jù)受控對象不同,為我們提供多種選擇。微控制器是嵌入式控制技術(shù)中最廣為人知的一項(xiàng),而本文將向你展示ASIC和FPGA技術(shù)所具有的一些獨(dú)特優(yōu)勢。

  與傳統(tǒng)的PLC、PAC以及基于PC的系統(tǒng)控制技術(shù)不同,嵌入式控制技術(shù)可以根據(jù)受控對象不同,為我們提供多種選擇。微控制器是嵌入式控制技術(shù)中最廣為人知的一項(xiàng),而本文將向你展示ASIC和FPGA技術(shù)所具有的一些獨(dú)特優(yōu)勢。

  嵌入式控制系統(tǒng)不同于數(shù)據(jù)采集系統(tǒng)以及那些只針對標(biāo)準(zhǔn)大眾化產(chǎn)品的控制系統(tǒng)。它可以復(fù)雜到類似一套電信交換系統(tǒng),也可以如一套警報(bào)系統(tǒng)。在不同的應(yīng)用中,我們可以采用多種方案來滿足不同要求。哪種方案最適合你,一方面由最終的使用情況決定,另一方面取決于系統(tǒng)生命周期。

  有三種CPU方案用在嵌入式系統(tǒng)中最為合適。它們分別是:微控制器、現(xiàn)場可編程邏輯門陣列(FPGA)以及專用集成電路(ASIC)。

  微控制器的最大優(yōu)點(diǎn)是它們的高度適應(yīng)性。開發(fā)人員可以通過C以及C++之類的高級語言對它們實(shí)施編程。如今,許多微控制器應(yīng)用已經(jīng)相當(dāng)復(fù)雜了,以至于我們能夠采用Linux或Microsoft Windows Embedded之類的操作系統(tǒng)。

  微控制器的高度適應(yīng)性同時(shí)也成為了它們最大的缺陷。微控制器往往需要搭配一套編寫復(fù)雜、資源全面的操作系統(tǒng)方能使用。在許多應(yīng)用中,微控制器無法勝任那些對性能要求極高的任務(wù)。

  嵌入式控制系統(tǒng)設(shè)計(jì)師可以利用FPGA和ASIC實(shí)現(xiàn)一些非常復(fù)雜的算法。這些算法會在結(jié)構(gòu)緊湊的可編程硬件內(nèi)高速運(yùn)行。

  ASIC和FPGA的特點(diǎn)

  如今,我們還可以用另外兩種具有計(jì)算功能的芯片替代微控制器。它們分別是現(xiàn)場可編程邏輯門陣列(FPGA)以及專用集成電路(ASIC)。兩者的共同特點(diǎn)首先是都采用了硬件化的布爾邏輯算法。其次,它們都具有高度的適應(yīng)性,能夠?qū)崿F(xiàn)相當(dāng)豐富的邏輯功能。這些功能小到簡單的開關(guān)控制,大到整個(gè)微處理器。再者,它們都可以通過諸如VHDL和Verilog之類的標(biāo)準(zhǔn)硬件描述語言(HDL)進(jìn)行編程,不必動(dòng)用由第三代或更高級編程語言編寫的軟件進(jìn)行編程。

  兩者的不同之處在于一次性工程成本(NRE)和可變成本,以及重復(fù)編程性、可測量性、開發(fā)時(shí)間(與產(chǎn)量有關(guān))等方面。

  FPGA的特點(diǎn)是能夠被重復(fù)編程,從而為樣品開發(fā)提供了便利。此外,我們還能夠?qū)PGA進(jìn)行產(chǎn)生調(diào)整和現(xiàn)場升級,從而加快了產(chǎn)品投放市場的速度。一款FPGA平臺適用于多種產(chǎn)品,從而起到了平衡開發(fā)成本與資源的作用。如果我們采用ASIC或MCU作設(shè)計(jì)開發(fā),那么就無法得到這些優(yōu)勢了。

  維基百科把FPGA描述成一種包含了可編程邏輯器件(被稱為“邏輯模塊”)以及可編程互連網(wǎng)絡(luò)的半導(dǎo)體設(shè)備。邏輯模塊經(jīng)過編程后能夠?qū)崿F(xiàn)基本的邏輯門功能,例如與邏輯(AND)和異或邏輯(XOR),以及更復(fù)雜的復(fù)合邏輯功能,例如解碼器或數(shù)學(xué)運(yùn)算功能。

  ASIC是一種針對某種特殊應(yīng)用定制的集成電路,它不具有通用性。例如,一款經(jīng)過專門設(shè)計(jì)、用來實(shí)現(xiàn)手機(jī)中某項(xiàng)特定功能的芯片就是一種ASIC。

  在設(shè)計(jì)一款全定制ASIC時(shí),我們必須繪制出設(shè)備的整個(gè)光刻層。ASIC技術(shù)的NRE大部分消耗在將HDL代碼轉(zhuǎn)換為半導(dǎo)體結(jié)構(gòu)階段。

  無論是設(shè)計(jì)FPGA還是ASIC,都要先從編寫硬件描述語言(HDL)起步。但是在編寫HDL代碼之前,我們最好采用軟件或硬件仿真的方式來構(gòu)建、測試并調(diào)試整個(gè)系統(tǒng)的算法。

  算法的開發(fā)過程

  一般而言,算法最初是作為一種系統(tǒng)工程策略,由用戶提出的使用要求所決定。

  以一個(gè)機(jī)器人割草機(jī)為例。整個(gè)開發(fā)項(xiàng)目可能會從一次完整的計(jì)算機(jī)仿真開始。其中,處于開發(fā)階段的算法(AUD)是由C或C++程序模塊組合而成的。 這些模塊可能是借用了其他項(xiàng)目的開發(fā)成果,也可能是通過另外的多種途徑獲得的。

  這些模塊由一套專門的監(jiān)控程序調(diào)用。監(jiān)控程序的作用是對嵌入式系統(tǒng)軟件實(shí)行打包操作。它可以在桌面開發(fā)系統(tǒng)上運(yùn)行,而且桌面系統(tǒng)還可以同時(shí)運(yùn)行電機(jī)、驅(qū)動(dòng)器、傳感器以及圖形用戶界面的的C或C++仿真模塊。

  算法開發(fā)從一開始就是在計(jì)算機(jī)上進(jìn)行的,從而保證算法能夠完成預(yù)訂的功能并且時(shí)刻處于開發(fā)人員的掌控之中。每一位明智的開發(fā)人員都會在確保算法正確,并且不會出現(xiàn)潛在硬件隱患的情況下將它移交給測試工程師。否則,你最終得到的將是一臺失控的機(jī)器人,就像科幻小說中描述的那樣。簡直就是測試工程101!

  一旦算法被證明能夠執(zhí)行正確的操作,系統(tǒng)開發(fā)人員就可以將它下載到第一部機(jī)器人割草機(jī)樣機(jī)中,并且對它作一系列測試,以便開發(fā)硬件平臺。對硬件開發(fā)程序而言,算法在其中扮演了機(jī)器人測試向?qū)У慕巧?/P>

  硬件子系統(tǒng)可能已經(jīng)經(jīng)過了基于PC的數(shù)據(jù)采集系統(tǒng)和控制系統(tǒng)的測試。但是,這些系統(tǒng)中的測試程序與AUD相比,只是擁有相同的硬件接口規(guī)范而已,在其他方面不具有相似性。而且,各個(gè)硬件子系統(tǒng)可能還沒有協(xié)同工作過。因此,系統(tǒng)開發(fā)的最后一個(gè)步驟就是整合所有的子系統(tǒng),并且統(tǒng)一調(diào)試。

  系統(tǒng)集成最初可能是從在嵌入式單板計(jì)算機(jī)(SBC)上運(yùn)行AUD開始的。這種計(jì)算機(jī)上運(yùn)行的其實(shí)是用高級語言編寫,并經(jīng)過硬件仿真調(diào)試的相同程序。這是AUD首次對實(shí)際硬件實(shí)行控制。

  這一階段,許多軟硬件接口以及軟硬件自身的問題都會暴露出來。在嵌入式控制系統(tǒng)中,硬件與軟件的關(guān)系非常緊密,以至于任何一處硬件或軟件的改動(dòng)都可能影響到對方。正是由于SBC具有機(jī)動(dòng)性和可重復(fù)編程的特點(diǎn),我們才選中它來實(shí)現(xiàn)完整的系統(tǒng)調(diào)試。

  嵌入式控制系統(tǒng)設(shè)計(jì)師可以先利用FPGA對硬件設(shè)計(jì)作調(diào)試。然后,在產(chǎn)品產(chǎn)量允許的前提下,轉(zhuǎn)而使用定制ASIC。

  硬件實(shí)現(xiàn)

  在我們解決了所有軟件和硬件問題之后,就可以推出一款在外觀和功能上都與最終產(chǎn)品十分接近的樣品。ASIC與FPGA需要相同的引腳分布,它們都會被安裝到一塊小型母板上。母板可以支持任意一款引腳位置與之吻合的芯片。

  如果我們采用FPGA,那么就需要在母板上額外增加一塊程序存儲芯片。這塊芯片內(nèi)存儲了FPGA內(nèi)部的互聯(lián)信息。當(dāng)我們把AUD下載到硬件之后,就會形成這些信息。FP

  GA采用了動(dòng)態(tài)RAM技術(shù)。這種技術(shù)的致命缺陷是具有易失性,F(xiàn)PGA內(nèi)部運(yùn)行的程序在斷電之后會全部丟失。

  這一階段,系統(tǒng)開發(fā)人員可能會采用FPGA進(jìn)行設(shè)計(jì)。因?yàn)镕PGA版本的控制模塊在引腳分布上可以做到與ASIC版本一致,而且FPGA還具有可重復(fù)編程的特點(diǎn)。FPGA的致命弱點(diǎn)同時(shí)也是它最受青睞的地方。因?yàn)樵谙到y(tǒng)投入現(xiàn)場應(yīng)用之前,開發(fā)人員很可能會對軟件作升級。這樣的話,如果我們只是為了升級ASIC程序就開發(fā)一款新產(chǎn)品,這樣做在成本方面顯然是行不通的。

  即使我們的設(shè)計(jì)最終成為了一款產(chǎn)量達(dá)到千位數(shù)的標(biāo)準(zhǔn)產(chǎn)品,F(xiàn)PGA在經(jīng)濟(jì)性方面仍然具有優(yōu)勢。只有在產(chǎn)量達(dá)到幾百萬甚至更多的情況下,將AUD轉(zhuǎn)換到ASIC所產(chǎn)生的大量NRE投入才可能被補(bǔ)償?shù)?。?dāng)然,對于消費(fèi)類產(chǎn)品而言,這樣的產(chǎn)量很快就能達(dá)到。

  把AUD轉(zhuǎn)換為適用于FPGA的HDL程序可能很困難也可能很簡單。這一方面要看我們采用什么工具將已有的經(jīng)過調(diào)試的軟件轉(zhuǎn)換為指定硬件的HDL代碼,另一方面要看這種轉(zhuǎn)換是在哪一階段完成的。

  例如,Mathworks正在與ASIC、FPGA供應(yīng)商合作開發(fā)一套工具,幫助工程師將那些采用Matlab與Simulink編寫的AUD代碼轉(zhuǎn)換為HDL,另有一些工具能夠?qū)和C++代碼轉(zhuǎn)換為HDL。

  當(dāng)然,基本的測試表明,系統(tǒng)在經(jīng)歷任何重大改變之后,都必須重新作一遍開發(fā)測試。為了確保FPGA芯片下載了HDL代碼之后確實(shí)能夠執(zhí)行原始AUD所指定的操作,我們必須做仿真和測試。當(dāng)我們從FPGA編程轉(zhuǎn)換到定制ASIC設(shè)計(jì)時(shí),也會面臨同樣的問題。

  翻譯:翁思健

版權(quán)所有 工控網(wǎng) Copyright?2025 Gkong.com, All Rights Reserved