單片機和PLD有什麼聯繫與區別,PLD入門須知的幾點小常識!

2021-01-06 電子產品世界
  單片機和PLD有什麼聯繫與區別

  當今,數字時代的核心動力便是單片機,DSP ,PLD/ EDA ,以其各自的特點滿足了各種需要,推動著信息技術的快速發展。這裡將對這三類電子產品分別加以介紹,並作比較和分析。

本文引用地址:http://www.eepw.com.cn/article/201710/365216.htm

  引言

  信息技術正在快速發展,其應用已經深入到各個領域各個方面。如今越來越多的電子產品向著智能化、微型化、低功耗方向發展,其中有的產品還需要實時控制和信號處理。電子系統的複雜性在不斷增加,它迫切要求電子設計技術也有相應的變革和飛躍。使用純SSI 數字電路設計系統工作量大, 靈活性低, 而且系統可靠性差。廣泛使用單片機(MCU) 設計系統克服了純SSI 數字電路系統許多不可逾越的困難,是一個具有裡程碑意義的飛躍。而DSP以其極強的信號處理功能贏得了廣闊的市場,得到了廣泛地應用。近年來,PLD 器件迅速發展,尤其是CPLD/ FPGA 向深亞微米領域進軍,PLD 器件得到了廣泛應用,以CPLD/ FPGA 為物質基礎的EDA 技術誕生了。它具有電子技術高度智能化、自動化的特點,打破了軟硬體最後的屏障,使得硬體設計如同軟體設計一樣簡單。它作為一種創新技術正在改變著數字系統的設計方法、設計過程和設計觀念。單片機,DSP ,PLD/ EDA 以其各自的特點滿足了各種需要,正從各個領域各個層面改變著世界,它們已經成為數字時代的核心動力,推動著信息技術的快速發展。

  以下,我們將對單片機,DSP,PLD/ EDA 分別加以介紹,並作比較和分析。

  單片機

  單片機是集成了CPU ,ROM ,RAM 和I/ O 口的微型計算機。它有很強的接口性能,非常適合於工業控制,因此又叫微控制器(MCU) 。它與通用處理器不同,它是以工業測控對象、環境、接口等特點出發,向著增強控制功能,提高工業環境下的可靠性、靈活方便地構成應用計算機系統的界面接口的方向發展。所以,單片機有著自己的特點。

  品種齊全,型號多樣

  自從INTEL 推出51 系列單片機,許多公司對它做出改進,發展成為增強型51 系列,而且新的單片機類型也不斷湧現。如MOTOROLA 和PHIL IPS 均有幾十個系列,幾百種產品。CPU 從8 ,16 ,32 到64 位,多採用RISC 技術,片上I/O 非常豐富,有的單片機集成有A/ D , 「看門狗」,PWM ,顯示驅動,函數發生器,鍵盤控制等,它們的價格也高低不等,這樣極大地滿足了開發者的選擇自由。

  低電壓和低功耗

  隨著超大規模集成電路的發展,NMOS 工藝單片機被CMOS代替,並開始向HMOS 過渡。供電電壓由5V 降到3V ,2V 甚至到1V ,工作電流由mA 降至μA ,這在可攜式產品中大有用武之地。

  DSP晶片

  DSP 又叫數位訊號處理器。顧名思義,DSP 主要用於數位訊號處理領域,非常適合高密度,重複運算及大數據容量的信號處理。現在已經廣泛應用於通信、可攜式計算機和可攜式儀表、雷達、圖像、航空、家用電器、醫療設備等領域,常見的手機、數位電視和數位相機都離不開DSP。DSP用於手機和基站中為移動通信的發展做出重要貢獻,將在2. 5G和3G中扮演重要角色。可以說,DSP已經融入到生活的方方面面。

  DSP 相對於一般微處理器作了很大的擴充和增強,主要是:

  a) 修正的哈佛結構,多總線技術以及流水線結構。將程序與數據存儲器分開,使用多總線,取指令和取數據同時進行,以及流水線技術,這使得速度有了較大的提高。

  b) 硬體乘法器以及特殊指令。這是區別於一般微處理器的重要標誌。一般微處理器用軟體實現乘法,逐條執行指令,速度慢。而DSP 依靠硬體乘法器單周期完成乘法運算,而且還具有專門的信號處理指令,如TM320 系列的FIRS ,LMS ,MACD 指令等。

  EDA 技術

  當今電子系統的複雜性在不斷增加,而電子產品的更新換代越來越快,傳統的設計方法難以適應。隨著計算機技術的發展,ECAD 在某種程度上減輕了設計人員的工作壓力,但其智能化、自動化水平仍不盡人意。於是EDA 技術作為一種全新的技術誕生了。它正改變著數字系統和設計方法,設計過程和設計觀念。

  EDA(即Electronic Design AutomaTIon) 即電子設計自動化,它是以計算機為工具,在EDA 軟體平臺上,對用硬體描述語言HDL 完成的設計文件自動地邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優化、邏輯布局布線、邏輯仿真,直至對於特定目標晶片進行適配編譯、邏輯影射和編程下載等。設計者只需用HDL 語言完成系統功能的描述,藉助EDA 工具就可得到設計結果,將編譯後的代碼下載到目標晶片就可在硬體上實現。這裡的目標晶片就是PLD 器件( FPGA/CPLD) 。FPGA/ CPLD 是EDA 技術的物質基礎,這兩者是分不開的。可以說沒有PLD 器件,EDA 技術就成為無源之水。

  EDA 技術作為一種現代電子系統開發方式,具有兩方面特點。

  修改軟體程序即可改變硬體

  由於FPGA/ CPLD 可以通過軟體編程對該硬體的結構和工作方式進行重構,修改軟體程序就相當於改變了硬體,這是非常有用的。軟體可以使用自頂向下的設計方案,而且可以多個人分工並行工作,這些年來IP 核產業的崛起,將若干軟核結合起來就可以構成一個完整的系統,這一切極大地縮短了開發周期和上市時間,有利於在激烈的市場競爭中搶佔先機。

  速度快,可靠性高

  MCU 和DSP 都是通過串行執行指令來實現特定功能,不可避免低速,而FPGA/ CPLD 則可實現硬體上的並行工作,在實時測控和高速應用領域前景廣闊;另一方面,FPGA/CPLD 器件在功能開發上是軟體實現的,但物理機制卻和純硬體電路一樣,十分可靠。而MCU 和DSP晶片在強幹擾條件下,尤其是強電磁幹擾下,很可能越出正常的工作流程,出現PC 跑飛現象。EDA 高可靠性正好克服了它們這一先天不足。

  結束語

  單片機,DSP和FPGA/ CPLD 各具特色,滿足了不同需要,已經成為數字時代的核心動力。為了充分發揮它們的優勢,三者結合成為一個新的發展趨勢。

  MCU 與DSP的結合

  MCU 價格底,能很好地完成通信和智能控制的任務,但信號處理能力差。DSP恰好相反。把兩者結合,能滿足同時需要智能控制和數位訊號處理的場合,如蜂窩電話,無繩網絡產品等,這有利於減小體積,降低功耗和成本。

  DSP 和FPGA/ CPLD 的結合

  由於FPGA/ CPLD 兼有串/ 並行工作方式,高速度和寬口徑適用性等特點,將DSP與FPGA 集成在一個晶片上,可實現寬帶信號處理,極大地提高信號處理速度。另外,FPGA可以進行硬體重構,功能擴展或性能改善非常容易。總之,單片機,DSP , PLD/ EDA 極大地推動了信息技術的發展。要作為一名工程師,必須掌握從系統設計級、電路設計級到物理實現級整個過程分析設計能力,能熟練使用新器件,新的開發工具,並不斷更新觀念,只有這樣,才能適應時代發展,才能把握現在,創造未來!

  PLD入門須知的幾點小常識!

  PLD是可編程邏輯器件(Programable Logic Device)的簡稱,FPGA是現場可編程門陣列(Field Programable Gate Array)的簡稱,兩者的功能基本相同,只是實現原理略有不同,所以我們有時可以忽略這兩者的區別,統稱為可編程邏輯器件或PLD/FPGA。

  PLD是電子設計領域中最具活力和發展前途的一項技術,它的影響絲毫不亞於70年代單片機的發明和使用。

  PLD能做什麼呢?可以毫不誇張的講,PLD能完成任何數字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用PLD來實現。PLD如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖輸入法,或是硬體描述語言自由的設計一個數字系統。通過軟體仿真,我們可以事先驗證設計的正確性。在PCB完成以後,還可以利用PLD的在線修改能力,隨時修改設計而不必改動硬體電路。使用PLD來開發數字電路,可以大大縮短設計時間,減少PCB面積,提高系統的可靠性。

  PLD的這些優點使得PLD技術在90年代以後得到飛速的發展,同時也大大推動了EDA軟體和硬體描述語言(HDL)的進步。

  如何使用PLD呢?其實PLD的使用很簡單,學習PLD比學習單片機要簡單的多,有數字電路基礎,會使用計算機,就可以進行PLD的開發。不熟悉PLD的朋友,可以先看一看可編程邏輯器件的發展歷程。

  開發PLD需要了解兩個部分:1.PLD開發軟體 2.PLD本身

  1.PLD開發軟體

  由於PLD軟體已經發展的相當完善,用戶甚至可以不用詳細了解PLD的內部結構,也可以用自己熟悉的方法:如原理圖輸入或HDL語言來完成相當優秀的PLD設計。所以對初學者,首先應了解PLD開發軟體和開發流程。了解PLD的內部結構,將有助於提高我們設計的效率和可靠性。

  如何獲得PLD開發軟體軟體呢?

  許多PLD公司都提供免費試用版或演示版(當然商業版大都是收費的),例如:可以免

  費從 上下載Altera公司的 QuartusII (web版),或向其代理商索取這套軟體。Xilinx 公司也提供免費軟體:ISE WebPack,這套可以從xilinx網站下載。LatTIce 提供isplever Base版下載,Actel等公司也都有類似的免費軟體提供。以上免費軟體都需要在網上註冊申請LISENCE文件,如果您對軟體的安裝還有不清楚,請仔細閱讀相關網頁上的說明。 通常這些免費軟體已經能夠滿足一般設計的需要,當然,要想軟體功能更強大一些,只能購買商業版軟體。

  如果您打算使用VHDL或Verilog HDL硬體描述語言來開發PLD/FPGA,通常還需要使用一些專業的HDL開發軟體,這是因為FPGA廠商提供的軟體的HDL綜合能力一般都不是很強,需要其他軟體來配合使用。

  對於PLD產品,一般分為:基於乘積項(Product-Term)技術,EEPROM(或Flash)工藝的中小規模PLD,以及基於查找表(Look-Up table)技術,SRAM工藝的大規模PLD/FPGA。

  EEPROM工藝的PLD(CPLD)密度小,多用於5,000門以下的小規模設計,適合做複雜的組合邏輯,如解碼。SRAM工藝的PLD(FPGA),密度高,觸發器多,多用於10,000門以上的大規模設計,適合做複雜的時序邏輯,如數位訊號處理和各種算法。

  目前有多家公司生產CPLD/FPGA,最大的三家是:ALTERA,XILINX,LatTIce, 您可以參閱PLD廠商欄目獲得更多信息

  2.PLD/FPGA的分類和使用

  在PLD/FPGA開發軟體中完成設計以後,軟體會產生一個最終的編程文件(如 .pof )。如何將編程文件燒到PLD晶片中去呢?

  1.對於基於乘積項(Product-Term)技術,EEPROM(或Flash)工藝的PLD(如Altera的MAX系列,LatTIce的大部分產品,Xilinx的XC9500,Coolrunner系列), 廠家提供編程電纜,電纜一端裝在計算機的並行列印口上,另一端接在PCB板上的一個十芯插頭,PLD晶片有四個管腳(編程腳)與插頭相連。

  它向系統板上的器件提供配置或編程數據,這就是所謂的在線可編程。Byteblaster使用戶能夠獨立地配置PLD器件,而不需要編程器或任何其它編程硬體。編程電纜可以向代理商購買,也可以根據廠家提供的編程電纜的原理圖自己製作,成本僅需一,二十元。 早期的PLD是不支持ISP的,它們需要用編程器燒寫。目前的PLD都可以用ISP在線編程,也可用編程器編程。這種PLD可以加密,並且很難解密,所以常常用於單板加密。

  2.對於基於查找表(LUT,Look-Up table)技術,SRAM工藝的FPGA(如Altera的所有FPGA,如ACEX,Cyclone,Stratix系列,Xilinx的所有FPGA,如Spartan,Virtex系列,Lattice的EC/ECP系列等),由於SRAM工藝的特點,掉電後數據會消失,因此調試期間可以用下載電纜配置PLD器件,調試完成後,需要將數據固化在一個專用的EEPROM中(用通用編程器燒寫,或者用專用配置晶片),上電時,由這片配置EEPROM先對FPGA加載數據,十幾個毫秒到幾百個毫秒後,FPGA即可正常工作。亦可由CPU配置FPGA。但SRAM工藝的PLD一般不可以直接加密。

  3.還有一種反熔絲(Anti-fuse)技術的FPGA,如Actel,Quicklogic的部分產品就採用這種工藝。但這種的PLD是不能重複擦寫,需要使用專用編程器,所以開發過程比較麻煩,費用也比較昂高。但反熔絲技術也有許多優點:布線能力更強,系統速度更快,功耗更低,同時抗輻射能力強,耐高低溫,可以加密,所以在一些有特殊要求的領域中運用較多,如軍事及航空航天。

  為了解決反熔絲FPGA不可重複擦寫的問題,Actel等公司在90年代中後期開發了基於Flash技術的FPGA,如ProASIC系列,這種FPGA不需要配置,數據直接保存在FPGA晶片中,用戶可以改寫(但需要10幾伏的高電壓)。

  隨著技術的發展,在2004年以後,一些廠家推出了一些新的PLD和FPGA,這些產品模糊了PLD和FPGA的區別。例如Altera最新的MAXII系列PLD,這是一種基於FPGA(LUT)結構,集成配置晶片的PLD,在本質上它就是一種在內部集成了配置晶片的FPGA,但由於配置時間極短,上電就可以工作,所以對用戶來說,感覺不到配置過程,可以傳統的PLD一樣使用,加上容量和傳統PLD類似,所以altera把它歸作PLD。 還有像Lattice的XP系列FPGA,也是使用了同樣的原理,將外部配置晶片集成到內部,在使用方法上和PLD類似,但是因為容量大,性能和傳統FPGA相同,也是LUT架構,所以Lattice仍把它歸為FPGA。

相關焦點

  • ARM中的預取命令pld的使用
    ,{r0,r2,r4-r7,lr}cmpr2,#4blt.cfu_not_enoughPLD(pld[r1,#0])//因為後面要用到r0和r1,所有進行預讀取,加速存儲器的訪問PLD(pld[r0,#0])andsip,r0,#3bne.cfu_dest_not_aligned.cfu_dest_aligned:andsip,r1,#3bne.cfu_src_not_aligned
  • PLC和PLD的區別與聯繫
    7、通信和聯網8、其它:PLC還有許多特殊功能模塊,適用於各種特殊控制的要求,如:定位控制模塊,CRT模塊。PLD是可編程邏輯器件(Programable Logic Device)的簡稱,FPGA是現場可編程門陣列(Field Programable Gate Array)的簡稱,兩者的功能基本相同,只是實現原理略有不同,所以我們有時可以忽略這兩者的區別,統稱為可編程邏輯器件或PLD/FPGA。
  • PLD和FPGA有什麼區別與聯繫?PLD高速通訊USB轉移技術分析
    PLD和FPGA有什麼區別與聯繫?  PLD(Programmable Logic Device)是可編程邏輯器件的總稱。早期的PLD多屬於EEPROM或乘積項(Product Term)結構。FPGA(Field Programmable Gate Arry)是指在線可編程邏輯陣列,最早為Xilinx公司推出。
  • 關於單片機和嵌入式,它們的區別是什麼
    打開APP 關於單片機和嵌入式,它們的區別是什麼 信盈達科技 發表於 2020-03-06 16:42:00 單片機又是什麼?兩者有什麼區別和聯繫呢?針對兩者之間的問題小編整理了一篇文章,希望對大家理解兩者的基本概念,以及區別有所幫助。 1、從系統組成上區別,單片機由控制器、運算器、存儲器、輸入輸出設備構成,而嵌入式第一步需要結合具體的應用,考慮成本,性能,可擴展性,開發周期等各方面的要求,確定系統的主控器件後,加入微處理器,外圍硬體設備,嵌入式作業系統,應用程式組成。
  • arduino和單片機的區別
    打開APP arduino和單片機的區別 發表於 2017-11-08 14:25:18   一、arduino和單片機的區別
  • 微處理器MPU和單片機MCU的區別是什麼?怎麼選?
    單片機沒有足夠的計算能力和內存來應付此類應用。如果是用於複雜或對實時性要求高的控制系統, RTOS則很有用,但至少要配合50 DMIPS的高性能單片機。這比嵌入式Linux所需的性能要求要少得多。傳統的RTOS設計精簡,因此可以在單片機上運行。針對實時計算硬體時,這是合理的,例如用於車輛的防抱死系統,若響應時間過長會帶來致命的後果。
  • 熱點關注:買房子需要注意什麼?買房須知的18個常識!
    熱點關注:買房子需要注意什麼?買房須知的18個常識!買房須知的18個常識!】」成當日網友最關注內容,快來看看還有哪些內容入榜吧! 買房子需要注意什麼?買房須知的18個常識!
  • STC單片機和STM32單片機哪個更適合入門?
    1、引言在當今這個模擬電子技術看似被冷落(其實無處不在)和數字電子技術主導的資訊時代,對於剛入電子信息相關專業的大中專學生或需要轉型進入電子產品硬體研發行業的工程師而言,首先面對的第一個問題是:8位的51單片機和32位的基於Cortex-M3內核的STM32單片機哪一個作為電子技術入門的硬體平臺更合適
  • 樹莓派和單片機的區別_樹莓派能幹什麼
    自問世以來,受眾多計算機發燒友和創客的追捧,曾經一「派」難求。別看其外表「嬌小」,內「心」卻很強大,視頻、音頻等功能通通皆有,可謂是「麻雀雖小,五臟俱全」。   單片機(Microcontrollers)是一種集成電路晶片,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調製電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
  • 淺談STM32和51單片機之間的區別
    打開APP 淺談STM32和51單片機之間的區別 發表於 2019-01-30 09:36:46 單片微型計算機簡稱單片機,簡單來說就是集
  • 單片機 | 寫1清零,寫0清零,有什麼區別?
    單片機文檔的時候一般寄存器是rw類型,還有一些是r或者w。對於一些特殊寄存器的置1是由硬體自動實現的,比如標誌位flag、中斷int;但清0還是需要通過軟體進行操作。清0方式有兩種,寫1清0、寫0清0。這兩種方式有什麼區別呢?在硬體實現上有什麼不同?
  • 51單片機過時了嗎?如何零基礎快速入門?
    近些年ARM的發展火熱,很多打算學習甚至已是51單片機學習和愛好者經常有這樣的疑問:ARM這麼熱,還有必要學51單片機嗎?本文不敢妄加評論,只是想以一個學習者和愛好者一路走過來的親身經歷告訴關心這個問題的朋友們:51單片機和ARM(本身也是一種單片機)各有自身的優勢與不足,各有各的特點和適用領域,至少在一定的時期,不存在51單片機過時的問題,但隨著技術的飛速發展,沒有什麼技術是永恆不變的。
  • 學了這麼久單片機,你入門了嗎?
    技術的經驗是在設計、調試過程中不斷積累得到的,如果能熟悉產品的開發流程、能獨立完成一個單片機產品,就算入門了。>《單片機學習交流圈》分享單片機學習的相關知識,圈子內還有資料可以下載,如果有問題還可以在圈子內發帖提問。
  • 單片機和嵌入式有什麼關係?
    單片機和嵌入式有什麼關係?單片機是不是就是嵌入式呢?等等等等,初學階段總是會遇到很多這樣的問題,下面就一起來了解下。首先來說下單片機。單片機的本質是一種計算機。計算機就是一個硬體上包含了CPU、內存和一定外設(IO引腳、網口、I2C接口、串口等),並且可以運行一定的程序的電子系統。而單片機是一種計算機,這種計算機的特點就是「單片」。再來看看嵌入式。嵌入式本質上是一種電子設計方法,這種方法就是將微型計算機嵌入到電子產品內部。
  • Linux基礎入門:單片機和Linux有什麼不同嗎
    我發現很多初學者只有單片機基礎,甚至沒有單片機基礎。在學習Linux時,對很多概念比較陌生,導致不知道學什麼,也不知道學了之後有什麼用。所以小編在此分享此文。Linux的區別1.1 有哪些產品使用單片機或Linux所有的電子產品,所用技術都可以認為要麼是單片機,要麼是Linux;GUI方面主要是QT/Android,它們都是運行於Linux之上的。
  • Arduino,C51,STM32和ARM等有什麼聯繫和區別?
    包括我們手機所用的處理器的架構都是ARM公司的,不管是蘋果的A11,還是安卓的驍龍835統統用的是ARM的架構,有人會說華為海思麒麟是自主研發的,然而真實的情況是和蘋果安卓一樣使用的是ARM的架構,比如海思麒麟950採用的是ARM公司的公版架構,華為公司做了哪些呢?
  • 有源器件與無源器件的區別
    從電路性質上看,無源器件有兩個基本特點:(1)自身或消耗電能,或把電能轉變為不同形式的其他能量。(2)只需輸入信號,不需要外加電源就能正常工作。有源器件的基本定義如果電子元器件工作時,其內部有電源存在,則這種器件叫做有源器件。
  • 【愛找茬】都是C語言,單片機C語言和普通的C語言究竟有什麼差異呢?
    許多小夥伴在學完C語言後想入門單片機,但學著學著發現明明都是C語言,為什麼單片機C語言和我當初學的C語言有差異呢?今天小編就來梳理我們平時所學的C語言與單片機C語言的有什麼樣的不同。