程倩 龍志遠
摘 要:全國大學生電子設計競賽自1994年主辦以來,吸引了國內許多大學參加,這項賽事已成為國內最成功最有影響力的賽事。這項賽事的目的在于提高學生的創造能力和團隊精神,同時也提高學生在電子設計和電子工程上的能力。
本課題設計出一種基于單片機和可編程邏輯器件綜合應用的開發板,該開發板的硬件模塊和軟件模塊可以根據需要組成實用系統。電路由于采用了高性能的器件,從而具有高速,高可靠,小型化和低功耗等優點。本文主要內容包括:設計了基于"MCU+FPGA體系結構"的開發板,電路采用單片機擔當控制的核心;通過CPLD/FPGA實現單片機I/O端口的擴展和產生系統所需的各種數據和控制信號。開發板包括了電子設計中常用的模塊電路:數/模轉換模塊,模/數轉換模塊,通用鍵盤和顯示模塊等。同時編寫了與開發板系統相配套的單片機子程序文件。由于電路采用了單片機和可編程邏輯邏輯器件的綜合應用技術,使得電路連線減少,可靠性提高,從而減小了開發者的工作強度。
關鍵詞:電子設計;開發板;競賽
面向全國大學生的全國大學生電子設計競賽吸引了越來越多的大學生參加,其影響力也在逐年增加,有些作品因為其創新性強、可應用型高而頗受青睞,但是學生在設計過程中有時候也會遇到一些問題,導致思路在轉變為成果的過程中遇到一定的障礙。根據對多年的競賽題目和相關的參賽作品的分析,一般地,競賽中需開發的主控電路多為數字系統與模擬系統相結合的綜合電路,此系統多包括單片機最小系統、基于EDA開發的FPGA或CPLD可編程高速系統、數碼顯示系統、鍵控系統、RO M/RAM存儲系統、高頻時鐘系統、A/D轉換系統和D/A轉換系統等。當所有這些系統連成一協調的主控系統時,連線極為復雜、高速通道的連線技術、以及數模混合系統的抗干擾與單點接地技術要求很高,靠臨時手工焊線,成功率低、可靠性差、費時費力,且技術指標難以上去,根據實際需要變更系統通道結構的靈活性也很差。所以,亟待找到一種新的方法或思路來解決這個問題。本文通過研究多年的競賽題目和相關的參賽作品,提出了一個創新型設計方案:通過合理的硬件電路設計,可以削弱或抑制絕大部分干擾。本設計就是主要從硬件方面進行系統的抗干擾設計,當然,硬件抗干擾和軟件抗干擾也并不是絕對的,往往要采用“軟硬兼施”的方法。數字電路信號電平轉換過程中會產生很大的沖擊電流,并在傳輸線和供用電源內阻上產生較大的壓降,形成嚴重的干擾。為了抑制這種干擾,在電路中要適當配置去藕電路。本課題設計的目標是設計出一種適用于電子設計競賽的開發板,開發板采用單片機和FPGA/CPLD兩類器件相結合的電路結構。希望這個設計思路對學生有一定的指導意義。
隨著可編程邏輯器件(FPGA/CPLD)和EDA技術的發展。可編程邏輯器件因為自身的優勢越來越多地應用于電子產品的設計中,自全國第三屆電子技術設計競賽采用FPGA/CPLD器件以來,FPGA/CPLD器件己得到越來越多的選手的利用,甚至有的競賽題目如果不借助FPGA/CPLD器件可能很難實現。采用復雜可編程邏輯器件(FPGA/ CPLD),可以使硬件設計進一步軟件化。一片FPGA/CPLD器件可替代多片74系列器件,如138譯碼器、多路開關、244驅動器、與門、或門等,大大減小了板卡體積。同時由于FPGA/CPLD可編程,使設計更為靈活。在設計階段對FPGA/CPLD的設計通過EDA工具進行仿真,包括功能、時序的模擬仿真,在完成PCB板之前,就可以做好充分的測試驗證。所有這些優勢使得FPGA/CPLD器件成為了電子技術設計者的寵兒。
一、國內外研究現狀和發展趨勢
通過對2015年以來的全國大學生電子設計競賽的題目和一些作品的分析,發現越來越多的題目僅僅依靠單片機是難以完成的。隨著CPLD/FPPGA的發展,越來越多的競賽題目采用二者綜合應用的方式來實現。已經有比較多的優秀的競賽產品的實現就是綜合利用二者的結果。江西許多院校多次組隊參加該項賽事,參賽成績不斷提高,但是,由于以往所用的設計方法相對比較落后,成績不夠理想。為了做好全國大學生電子設計競賽的準備工作,進一步提高參賽成績,亟需設計出一種適用于電子設計競賽的開發板,針對目前的現狀,開發板采用單片機和FPGA/CPLD兩類器件相結合的電路結構無疑是最佳選擇。
目前,FPGA的主要發展動向是:隨著大規模現場可編程邏輯器件的發展,系統設計進入“片上可編程系統”(SOPC)的新紀元,這一時期的特點就是芯片朝著高密度、低壓、低功耗方向挺進;同時國際各大公司都在積極擴充其IP庫,以優化的資源更好的滿足用戶的需求;特別引人注目的FPGA動態可重構技術的發展,將進一步推動數字系統設計觀念的巨大轉變。
在電子設計技術領域,PLD-(可編程邏輯器件)的應用,已有了很好的普及,這些器件為數字系統的設計帶來極大的靈活性。由于該器件可以通過軟件編程來對其硬件的結構和工作方式進行重構,使得硬件的設計可以通過軟件編程而對其硬件的結構和上作方式進行重構,這樣硬件的設計可以如同軟件設計那樣方便快捷。這一切都極大地改變了傳統的數字系統設計方法、設計過程、乃至設計觀念。縱觀可編程器件的發展史,它在結構原理、集成規模、下載方式、邏輯設計手段等方面的每一次進步都為現代電子設計技術的革命與發展提供了不可或缺的強大動力。隨著可編程邏輯器件集成規模不斷擴大,自身功能的不斷完善和計算機輔助設計技術的提高,在現代電子系統設計領域中的EDA便應運而生了。傳統的數字電路設計模式,如利用卡諾圖等邏輯化簡手段以及難懂的布爾方程表達方式和相應的TTL或4000系列小集成規模芯片的堆砌技術正在迅速地退出歷史舞臺。
EDA技術就是以計算機為工具,在EDA軟件平臺上,根據硬件描述語言HDL完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合及優化、布局線、仿真,直至對于特定目標芯片地適配編譯,邏輯映射和編程下載等工作。設計者的工作僅限于利用軟件的方式來完成對系統硬件功能的描述,在EDA工具的幫助下和應用相應的PLD器件,就可以得到最后的設計結果。盡管目標是硬件,但整個設計和修改過程如同完成軟件設計一樣方便和高效。當然,這里所謂EDA主要是指數字系統的自動化設計,因為這一領域的軟硬件方面的技術已經比較成熟,應用的普及程度也已比較高。而模擬電子系統的EDA正在進入實用,其初期的EDA不一定需要硬件描述語言。此外,從應用的廣度和深度來說,由于電子信息領域的全面數字化,基于EDA的數字系統的設計技術具有更大的應用市場和更緊迫的需求性。
EDA的實現是與PLD技術的迅速發展息息相關的。PLD器件是80年代中后期興起的新型器件,其特點是具有用戶可編程的特性。利用PLD,電子系統設計工程師可以在實驗室中設計出專用IC,實現系統的集成,從而大大縮短了產品開發、上市的時間,降低了開發成本。此外,新型的PLD還具有靜態可重復編程或在線動態重構的特性,使硬件的功能可以像軟件一樣通過編程來修改,不僅使設計修改和產品升級變得十分方便,而且極大地提高了電子系統的靈活性和通用能力。
二、研究思路及目標
本設計是針對高等院校電子設計競賽的現狀,提出設計一種能適應現階段電子設計競賽的技術改革思路,該開發板可最大限度地利用其板載資源,兼顧成本與實用性,且具有很強的可擴展性強, 是一款可以用于電子設計競賽,技能抽查,課程設計,畢業設計等方面的開放式綜合實訓開發板。學生可靈活的利用其板載資源進行自由的搭建項目應用,改變了電子設計競賽使用傳統實驗板由于硬件電路固定而造成的學生缺乏創新的缺點,進而從整體上提高了電子設計競賽質量。
這個基于“MCU十FPGA體系結構”的開發板,電路采用單片機擔當控制的核心;通過CPLD/FPGA實現單片機I/0端口的擴展和產生系統所需的各種數據和控制信號。開發板包括了電子設計中常用的模塊電路:數/模轉換模塊、模/數轉換模塊、通用鍵盤和顯示模塊等。同時編寫與開發板系統相配套的單片機子程序文件。
在電子產品設計中可以綜合利用可編程邏輯器件和單片微機的設計方法,同時設計出基于二者綜合利用方法的開發板。這種設計可以兼顧通用性和穩定性。開發板包括了電子設計中常用的模塊電路:數/模轉換模塊、模/數轉換模塊、通用鍵盤和顯示模塊等,這些模塊通用性比較強,基本可以實現學生在競賽中的創新型需求,能夠滿足學生的設計需要;同時,基于“MCU十FPGA體系結構”的開發板穩定性較強,能夠確保學生電子大賽作品的穩定運行。通過對該裝置各種測試,能驗證設計的正確性以及系統工作的穩定性,這在一定程度上可以確保學生在設計過程中能夠反復的調試與修改,確保設計成果的高質量。
三、擬解決的關鍵問題及可行性分析
這一思路要解決的問題就是開發板硬件抗干擾設計:通過合理的硬件電路設計,可以削弱或抑制絕大部分干擾。本設計就是主要從硬件方面進行系統的抗干擾設計,當然,硬件抗干擾和軟件抗干擾也并不是絕對的,往往要采用“軟硬兼施”的方法。數字電路信號電平轉換過程中會產生很大的沖擊電流,并在傳輸線和供用電源內阻上產生較大的壓降,形成嚴重的干擾。為了抑制這種干擾,在電路中要適當配置去藕電路來降低其抗干擾。而通過對復雜可編程邏輯器件的發展和應用分析表明,FPGA不僅可以解決電子系統小型化、低功耗、高可靠性等問題,而且其具有開發周期短、開發軟件投入少等優點。隨著芯片價格不斷降低,FPGA越來越多地取代了ASIC,在小批量、多品種的產品方面,FPGA逐漸成為了首選。
綜上所述,這個設計思路是完全符合高等院校電子大賽開發板的設計需求的,可以兼顧靈活性和穩定性的需求,提升學生的競賽成績。
四、本項目創新點及特色
單片機和CPLD/FPGA有很強的互補性,而“單片機+CPLD/FPGA體系結構”則能夠有效地克服單純以單片機為控制核心和單純以CPLD/FPGA為控制核心的系統的缺點,并且把二者的長處最大程度的地發揮出來。在基于該體系結構的系統中,單片機擔當控制的核心,而在CPLD/FPGA中實現單片機I/O端口的發展,產生系統所需的各種數據和控制信號。結合二者的長處,基于“單片機+CPLD/FPGA體系結構”的系統具備可靠性高、功耗低、體積小等優點。這個設計板和以前的設計板雖然有不少共通之處,但是其優點卻是明顯的。原來的模板寫簡單的例子基本都沒什么問題,只是要做一個系統性的東西的時候就有點束手無策了。例如電子鐘,主程序要如何分別調用子模塊,以及模塊與模塊之間的連接要如何實現,對于之前沒有做過完整工程的學生來說都是很大的問題。一開始想到的是學過的一點簡單的單片機知識,當時單片機也是讓做的數字鐘。像系統時鐘的分頻問題,單片機由于位數的限制是需經過多次分頻的,而FPGA分頻可以實現一次到位。還有就是按鍵功能的實現以及狀態機的設計,關于引腳鎖定的問題,特別是對于大型的系統性實驗等都可以依托“單片機+CPLD/FPGA體系結構”的系統來完成。
參考文獻:
[1].吳紅奎,SP180S套件試用筆記[J],電子世界,2010年01期;
[2].朱志偉;劉湘云,Proteus中被忽視的設置引起的誤會與拔正[J],單片機與嵌入式系統應用,2011年06期;
[3].Microchip與Digilent聯合推出首款與Arduino兼容的32位單片機開發平臺[J],電子與電腦,2011年07期.