專利名稱::基于nios的嵌入式采集系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及數(shù)字化測試測量領域,具體涉及智能化采集系統(tǒng)。
背景技術:
:隨著半導體技術的發(fā)展,越來越多的設備具備“智能化”,目前的采集系統(tǒng)已經(jīng)是采集器、儀表與處理器融為一體的智能采集系統(tǒng),超過了傳統(tǒng)的自動檢測儀表和專用數(shù)據(jù)采集系統(tǒng),因此,獲得了高速的發(fā)展。而嵌入式系統(tǒng)正是這種“智能”的實現(xiàn)手段。嵌入式系統(tǒng)一般指非PC系統(tǒng),它是與常見的微型機系統(tǒng)和專用的大型、小型機系統(tǒng)相對而言的。它是以應用為中心、以計算機技術為基礎,軟硬件可裁減、適應應用系統(tǒng)對功能、可靠性、成本、體積和功耗等綜合性要求的專用計算機系統(tǒng),是硬件和軟件的有機結合體,并以硬件的形式表現(xiàn)。隨著嵌入式采集系統(tǒng)向高速度、低功耗、低電壓和網(wǎng)絡化的發(fā)展,系統(tǒng)對電路的要求越來越高,同時,由于IC設計與工藝技術水平的提高,集成電路規(guī)模越來越大,復雜程度越來越高,整個系統(tǒng)已經(jīng)可以集成在一個芯片上,由此,S0C(SyStemOnChip片上系統(tǒng))的概念孕育而生。采用SOC(SystemOnChip片上系統(tǒng))技術的嵌入式采集系統(tǒng)的已經(jīng)成為當前國內(nèi)外各采集系統(tǒng)研制單位的重點研究方向。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種基于NIOS的嵌入式采集系統(tǒng)。本發(fā)明是一種可以提高采集系統(tǒng)可靠性、降低功耗、節(jié)省成本的智能化儀器,本發(fā)明是采集系統(tǒng)領域中成功應用SOC技術的先進設備。本發(fā)明的基于NIOS的嵌入式采集系統(tǒng),通過以下步驟實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)的功能(一)基于SOC技術,利用FPGA的可編程特性,采用在FPGA中內(nèi)嵌一顆NIOS嵌入式處理器替代專用嵌入式處理器芯片;(二)在同一片F(xiàn)PGA中實現(xiàn)采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路的功能;(三)將NIOS嵌入式處理器與采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路整合到一起,成為一個獨立、專用的、可編程的嵌入式采集系統(tǒng)芯片,形成最終的SOPC系統(tǒng);(四)采用大容量非易失性存儲介質一NANDFLASH進行采集數(shù)據(jù)的存儲,實現(xiàn)快速數(shù)據(jù)訪問。本發(fā)明的技術方案要點本發(fā)明是基于SOC技術,利用FPGA的可編程特性,采用在FPGA中內(nèi)嵌一顆嵌入式處理器NI0S,同時,將該嵌入式處理器與采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路整合到一起,成為一個獨立、專用的、可編程的嵌入式采集系統(tǒng)芯片,形成最終的SOPC系統(tǒng)。與傳統(tǒng)的采用多個控制芯片組成的嵌入式采集系統(tǒng)相比,該系統(tǒng)在成本、功耗、體積、可靠性等方面均有較大的優(yōu)勢。目前先進的智能化數(shù)據(jù)采集設備一般都采用了嵌入式處理器技術,即采用嵌入式處理器與傳統(tǒng)采集器、數(shù)據(jù)存儲管理技術相結合的采集系統(tǒng)設計方案。傳統(tǒng)的采集器完成數(shù)據(jù)采集、數(shù)據(jù)存儲等功能,專用的嵌入式處理器作為采集系統(tǒng)的控制核心,完成對采集器的控制、數(shù)據(jù)分析以及數(shù)據(jù)發(fā)送等多種任務,系統(tǒng)具有一定的自檢測、自矯正能力,便于維護。嵌入式處理器是設計的關鍵環(huán)節(jié),是整個系統(tǒng)的“大腦”,往往決定了系統(tǒng)能夠實現(xiàn)怎樣的功能,以及整個系統(tǒng)的可靠性與穩(wěn)定性。目前市場上已經(jīng)有大量采用這種架構的采集系統(tǒng),在數(shù)據(jù)采集的各個領域內(nèi)都得到了廣泛的應用,其技術成熟度和可靠性已經(jīng)得到了市場的驗證。但是,技術的發(fā)展是無止境的,隨著芯片技術的不斷發(fā)展,特別是SOC(SystemC)nChip片上系統(tǒng))的提出,將專用的嵌入式處理器與傳統(tǒng)的采集控制系統(tǒng)集成到一個芯片內(nèi),從而進一步減少設備體積、節(jié)省成本、降低功耗、提高系統(tǒng)可靠性等愿望已經(jīng)不再是空想。本發(fā)明基于NIOS的嵌入式采集系統(tǒng),整個系統(tǒng)僅用一片F(xiàn)PGA即可實現(xiàn)傳統(tǒng)設備需要多個專用控制芯片完成的復雜工作,該FPGA內(nèi)嵌一顆OTOS嵌入式處理器,替代傳統(tǒng)嵌入式采集系統(tǒng)中嵌入式處理器的所有功能,另外,利用FPGA的可編程特性,其還能實現(xiàn)采集控制、數(shù)據(jù)存儲接口、通信接口等諸多外圍功能,從而實現(xiàn)S0PC(SyStemOnaProgrammableChip)系統(tǒng)。采用該技術設計的產(chǎn)品,在設備體積、成本、功耗、可靠性等方面均有優(yōu)異的表現(xiàn),可以預見,這種通過采用SOPC技術實現(xiàn)高性能、高集成度、超小型化、高可靠性以及可編程性的產(chǎn)品將是今后嵌入式采集系統(tǒng)未來的發(fā)展方向。SOC從整個系統(tǒng)的角度出發(fā),把處理機制、模型算法、芯片結構、各層次電路,直至器件的設計緊密結合起來,在單個(或少數(shù)幾個)芯片上完成整個系統(tǒng)的功能。SOC的設計以IP核為基礎,以分層次的硬件描述語言為系統(tǒng)功能和結構的主要描述手段,借助于以計算機為平臺的EDA工具進行。研究表明,與IC組成的系統(tǒng)相比,由于SOC設計能夠綜合并全盤考慮整個系統(tǒng)的各種情況,因而可以在同樣的工藝技術條件下,實現(xiàn)更高性能的系統(tǒng)指標。SOC技術也大大促進了軟硬件協(xié)調設計及計算機系統(tǒng)設計自動化的發(fā)展。SOPC是ALTERA公司提出來的一種靈活、高效的SOC解決方案。它將處理器、存儲器、I/O口、LVDS、⑶R等系統(tǒng)設計需要的功能模塊集成到一個PLD器件上,構造成一個可編程的片上系統(tǒng)。它是可編程系統(tǒng),具有靈活的設計方式,可裁減、可擴充、可升級、并具備軟硬件在系統(tǒng)可編程的功能??删幊唐骷?nèi),還具有高速RAM資源,利用市場上豐富的IPCore資源,用戶可以構成各種不同的系統(tǒng)。ALTERA將一個嵌入式處理器軟核放入PLD,這個軟核就是NI0S,它只占芯片內(nèi)部很少的一部分邏輯單元,成本很低,大規(guī)模的PLD擁有豐富的邏輯資源,除了NIOS嵌入式系統(tǒng)使用的資源外,還有足夠的資源用于實現(xiàn)其他的附加邏輯,形成集成度更高、功能更復雜的S0C。Nios嵌入式處理器具有32位的指令集,每個周期可以執(zhí)行一條指令,最高執(zhí)行速度可達200MIPS。Nios處理器還具有一些可配置的周邊接口,它們包括UART、并行I/O、Timer、SPI、片上SRAM和ROM、與片外SRAM和FLASH的接口控制。NIOS處理器具有完善的軟件開發(fā)套件,包括編譯器、集成開發(fā)環(huán)境、JTAG調試器、實時操作系統(tǒng)(RTOS)和TCP/IP協(xié)議棧。設計者能夠用AlteraQuartusII開發(fā)軟件中的SOPCBuilder系統(tǒng)開發(fā)工具很容易地創(chuàng)建專用的處理器系統(tǒng),并能夠根據(jù)系統(tǒng)的需求添加NiosII處理器核的數(shù)量。使用NiosII軟件開發(fā)工具能夠為NiosII系統(tǒng)構建軟件,即一鍵式自動生成適用于系統(tǒng)硬件的專用C/C++運行環(huán)境。NiosII集成開發(fā)環(huán)境(IDE)提供了許多軟件模板,簡化了項目設置。此外,NiosII開發(fā)套件包括兩個第三方實時操作系統(tǒng)(RT0S)——MicroC/OS-II(Micrium),NucleusPlus(ATI/Mentor)以及供網(wǎng)絡應用使用的TCP/IP協(xié)議棧。采用這種S0PC技術實現(xiàn)的基于NI0S的嵌入式采集系統(tǒng),設計者可以根據(jù)系統(tǒng)需求的變化更改CPU,選擇滿足性能和成本的最佳方案,而不會影響已有的軟件投入。另外,本發(fā)明的特點和先進性還體現(xiàn)在以下幾個方面超大容量存儲新型的智能采集系統(tǒng)需要有長時間不間斷的采集能力,這就要求設備具有大容量的存儲空間,并且存儲的數(shù)據(jù)在掉電后也不丟失,以實現(xiàn)對歷史數(shù)據(jù)的重現(xiàn)。Nand-flash存儲器是flash內(nèi)存的-種,其內(nèi)部采用非線性宏單元模式,為固態(tài)大容量內(nèi)存的實現(xiàn)提供了廉價有效的解決方案。Nand-flash存儲器具有容量大,寫入速度快等優(yōu)點,適用于大量數(shù)據(jù)的存儲,因而在業(yè)界得到了越來越廣泛的應用,目前,已經(jīng)廣泛應用在諸如U盤、SD卡等產(chǎn)品中。我公司設計的基于NI0S的嵌入式采集系統(tǒng)采用Nand-flash作為存儲介質,其容量最大支持8GB,段數(shù)支持最多2048段,從單段的存儲容量和總段數(shù)等指標都大大超過其他同類產(chǎn)品。網(wǎng)絡化設計LAN是最常用的組網(wǎng)方式。以太網(wǎng)使用雙絞線作為傳輸媒介。在沒有中繼的情況下,最遠可以覆蓋200米的范圍。最普及的以太網(wǎng)類型數(shù)據(jù)傳輸速率為100Mb/S,更新的標準則支持1000Mb/S和10000Mb/S的速率。LAN的這些特性,使得其在連接速度、連接距離以及組網(wǎng)方式等方面都處于領先。本發(fā)明研制的新型智能采集系統(tǒng),在支持USB、RS232、RS485接口的同時,還支持LAN接口,使其不僅僅是一臺只能和PC近距離連接的采集設備,通過目前廣泛使用的以太網(wǎng),可以連接至網(wǎng)絡中的任意一臺PC終端。進而,通過INTERNET,可以在世界的任何一個地方對其進行有效的控制,真正的做到物聯(lián)世界。物聯(lián)網(wǎng)的提出,也使得支持LAN接口的新型智能采集系統(tǒng)在未來發(fā)展中,有著更廣闊的應用前景。圖1是本發(fā)明系統(tǒng)結構示意圖。具體實施例方式下面結合附圖并用最佳的實施例對本發(fā)明作詳細的說明。參閱圖1,基于NI0S的嵌入式采集系統(tǒng),通過以下步驟實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)的功能(一)基于S0C技術,利用FPGA的可編程特性,采用在FPGA中內(nèi)嵌一顆NI0S嵌入式處理器替代專用嵌入式處理器芯片;(二)在同一片F(xiàn)PGA中實現(xiàn)采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路的功能;(三)將NI0S嵌入式處理器與采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路整合到一起,成為一個獨立、專用的、可編程的嵌入式采集系統(tǒng)芯片,形成最終的S0PC系統(tǒng);(四)采用大容量非易失性存儲介質——NANDFLASH進行采集數(shù)據(jù)的存儲,實現(xiàn)快速數(shù)據(jù)訪問。在第(一)步驟所述的S0C技術,是在設計過程中,從整個系統(tǒng)的角度出發(fā),把處理機制、模型算法、芯片結構、各層次電路,直至器件的設計緊密結合起來,在單個或至少兩個芯片上完成整個系統(tǒng)的功能。在第(一)步驟中利用FPGA的可編程特性,構造成一個可編程的片上系統(tǒng),該系統(tǒng)是可編程系統(tǒng),具有靈活的設計方式,可裁減、可擴充、可升級、并具備軟硬件在系統(tǒng)可編程的功能。在第(二)步驟中數(shù)據(jù)存儲采用新型非易失性存儲器作為數(shù)據(jù)存儲介質,具備高速大容量數(shù)據(jù)存儲能力。本發(fā)明集成多種通信接口,滿足各種條件下主機連接的需求。QuartusII是進行S0PC系統(tǒng)設計的高效工具,使用它可以快速設計整個應用系統(tǒng)。它提供了利用PLD進行百萬門邏輯設計的能力,其中集成了用于在Altera器件上進行設計、綜合、編譯、驗證的所有工具。我們使用集成在QuartusII中的SOPCBuilder工具來配置生成“片上系統(tǒng)”。S0PCBuilder是一個功能強大的基于圖形界面的“片上”系統(tǒng)的定義和定制工具,它可以在短時間內(nèi)完成用戶定制的S0PC設計。我們根據(jù)應用的需要從SOPCBuilder庫中選擇IP模塊、memories、外圍接口和處理器,并且配置生成一個高集成度的S0PC系統(tǒng)。根據(jù)本發(fā)明的需要,我們選取以下一些模塊組成片上系統(tǒng)Nios32-bitCPU、EPCSCONTROLLER、LANINTERFACE、CommunicationUART、debuggingUART、DDR2C0NTR0LLER、Timer、ButtonPI0、UserPICKLEDPI0、DMA、SPI、AvalonTri-StateBridge。另外,還需要自行設計的IP核有AD采集控制模塊、NANDFLASH控制o同時SOPCBuilder自動產(chǎn)生一些必需的仲裁邏輯來協(xié)調系統(tǒng)中以上各個部件的工作,我們將系統(tǒng)的工作頻率設為80Mhz。定制完“片上”系統(tǒng)的硬件后,SOPCBuilder還為我們編寫操控這些“片上”硬件的軟件代碼提供了一個軟件開發(fā)環(huán)境——NIOSIDE,這個軟件環(huán)境包括語言頭文件、外圍接口的驅動以及實時操作系統(tǒng)的內(nèi)核。這一環(huán)境極大地方便了軟件的開發(fā)。每個NiosII程序包括一個應用工程,可選的庫工程和一個板支持包工程。將NiosII程序編譯成一個能在MosII處理上運行的可執(zhí)行和連接的格式(ExecutableAndLinkedFormatFile-.elf)的文件。NiosIIC/C++應用工程包括組成一個可執(zhí)行的.elf文件的源代碼的集合。一個典型的應用的特征是一個源文件包含main()——主函數(shù)。應用工程包括libraries和BSP中被調用的函數(shù)的源代碼。庫工程是一個庫文件(.a)中的源代碼的集合。庫文件中通常包含可重用的,通用的函數(shù),這些函數(shù)可被多個應用工程所共享。比如,數(shù)學函數(shù)庫。庫工程沒有main()函數(shù)。NiosIIBSP工程是包含特定系統(tǒng)支持代碼的特殊的庫。BSP為SOPCBuilder系統(tǒng)的處理器提供定制的軟件運行環(huán)境。NiosIIEDS提供相應的工具可以修改設置以控制BSP的行為。NiosIIIDE和NiosIIIDE開發(fā)流程文檔中使用〃systemlibrary"來指代BSP。BSP包括如下的組成部分硬件抽象層(HAL)、NewlibC標準庫、設備驅動、可選的軟件包、可選的實時操作系統(tǒng)(RT0S)。HAL提供一個非線程的,類UNIX的C/C++運行環(huán)境。HAL可以提供通用的1/0設備,允許用戶newlibC標準庫的函數(shù)編程來訪問硬件,如printf()。使用HAL可以最小化(或消除)通過直接訪問硬件的寄存器來控制外設和與外設通信。Newlib是為了嵌入式系統(tǒng)的應用,而對C的標準庫進行精簡的開源實現(xiàn)。包括一些常用的函數(shù)的集合,如printfO.mallocO和open()等。每個設備驅動管理一個硬件設備。HAL為S0PCBuilder系統(tǒng)中的每一個需要驅動程序的設備實例化一個驅動程序。在MosII軟件開發(fā)環(huán)境中,設備驅動具有如下的屬性一個設備驅動是和一個特定的S0PCBuilder設備相關聯(lián)的。驅動程序可能有一些設置可以影響驅動程序的編譯,這些設置包含在BSP的設置中。軟件包是用戶可以選擇加入到BSP工程中,提供附加的功能的源代碼。比如本發(fā)明中使用的NichStackTCP/IP協(xié)議棧。NiosIIIDE和NiosIIIDE設計流程文檔使用〃軟件組件〃來指代軟件包。在NiosII軟件開發(fā)環(huán)境中,軟件包和特定的硬件沒有關聯(lián)。軟件包有一些設置會影響它的編譯,這些設置.包含在BSP的設置中。在NiosII軟件開發(fā)環(huán)境中,軟件包和庫工程是不同的,軟件包是BSP工程的一部分,不是一個單獨的庫工程。NiosIIEDS包含第三方的uC/0S-II,基于HAL,實現(xiàn)了一個簡單的實時操作系統(tǒng),在本發(fā)明中,我們選擇加入到BSP中。如果需要其它的操作系統(tǒng),可從第三方的軟件廠商獲得。系統(tǒng)實現(xiàn)以下我們給出本系統(tǒng)的一些具體實現(xiàn)。我們將分成兩部分來分析和介紹,這兩部分分別是1.使用VHDL編寫的采集控制模塊,用于控制ADC的采集時序,同時,該模塊通過AVAL0N總線接口與NI0S嵌入式處理器通信。在采集過程中,通過DMA方式將采集數(shù)據(jù)直接傳輸?shù)絻?nèi)存,再寫入到NANDFLASH中。2.使用c語言編寫程序通過S0PCBuilder配置的SPI接口讀取E2PR0M中的參數(shù)。1.采集控制模塊使用VHDL編寫的采集控制模塊,用于產(chǎn)生ADC時序控制信號。同時,將獲取到的采集數(shù)據(jù)存入FIFO。通過模塊內(nèi)部的AVAL0N總線接口,嵌入式處理器可以讀取到FIFO中的采集數(shù)據(jù)。在實際采集過程中,為了降低NI0S的軟件開銷,提高數(shù)據(jù)傳輸速度,采用DMA方式將采集控制模塊FIFO中的采集數(shù)據(jù)直接發(fā)送到內(nèi)存,然后再轉存到NANDFLASH中。2.SPI接口的編程采集系統(tǒng)的各種參數(shù)均存放在外部的EEPR0M中,Nios通過SPI接口訪問EEPR0M。我們通過QuartusII中的S0PCBuilder為Nios核配置SPI接口。SPI是一種簡單、標準的總線接口,廣泛地應用于嵌入式系統(tǒng)中。通過SOPCBuilder配置SPI接口,我們可以將其設為主設備也可以設為從設備,在我們的應用中,將其設置為從設備。以上實施例是本發(fā)明較優(yōu)選具體實施方式的一種,本領域技術人員在本技術方案范圍內(nèi)進行的通常變化和替換應包含在本發(fā)明的保護范圍內(nèi)。權利要求基于NIOS的嵌入式采集系統(tǒng),其特征在于,通過以下步驟實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)的功能(一)基于SOC技術,利用FPGA的可編程特性,采用在FPGA中內(nèi)嵌一顆NIOS嵌入式處理器替代專用嵌入式處理器芯片;(二)在同一片F(xiàn)PGA中實現(xiàn)采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路的功能;(三)將NIOS嵌入式處理器與采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路整合到一起,成為一個獨立、專用的、可編程的嵌入式采集系統(tǒng)芯片,形成最終的SOPC系統(tǒng);(四)采用大容量非易失性存儲介質——NANDFLASH進行采集數(shù)據(jù)的存儲,實現(xiàn)快速數(shù)據(jù)訪問。2.如權利要求1所述的基于NIOS的嵌入式采集系統(tǒng),其特征在于,在第(一)步驟所述的SOC技術,是在設計過程中,從整個系統(tǒng)的角度出發(fā),把處理機制、模型算法、芯片結構、各層次電路,直至器件的設計緊密結合起來,在單個或至少兩個芯片上完成整個系統(tǒng)的功能。3.如權利要求1所述的基于NIOS的嵌入式采集系統(tǒng),其特征在于,在第(一)步驟中利用FPGA的可編程特性,構造成一個可編程的片上系統(tǒng)。4.如權利要求1所述的基于NIOS的嵌入式采集系統(tǒng),其特征在于,在第(二)步驟中數(shù)據(jù)存儲采用新型非易失性存儲器作為數(shù)據(jù)存儲介質。全文摘要基于NIOS的嵌入式采集系統(tǒng),涉及智能化采集系統(tǒng)。通過以下步驟實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)的功能(一)基于SOC技術,利用FPGA的可編程特性,采用在FPGA中內(nèi)嵌一顆NIOS嵌入式處理器替代專用嵌入式處理器芯片;(二)在同一片F(xiàn)PGA中實現(xiàn)采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路的功能;(三)將NIOS嵌入式處理器與采集控制、數(shù)據(jù)存儲、LAN/USB/RS232通信接口以及外圍控制電路整合到一起,形成最終的SOPC系統(tǒng);(四)采用大容量非易失性存儲介質——NANDFLASH進行采集數(shù)據(jù)的存儲,實現(xiàn)快速數(shù)據(jù)訪問。本發(fā)明是一種可以提高采集系統(tǒng)可靠性、降低功耗、節(jié)省成本的智能化儀器。文檔編號G06F1/16GK101976098SQ20101050237公開日2011年2月16日申請日期2010年10月11日優(yōu)先權日2010年10月11日發(fā)明者楊旻,葛承鑫申請人:四川拓普測控科技有限公司