基于IP的智能傳感器SOC設(shè)計
引 言
本文引用地址:http://2s4d.com/article/201706/349090.htm智能傳感器技術(shù)是一門正在蓬勃發(fā)展的現(xiàn)代傳感器技術(shù),是涉及微機械和微電子技術(shù)、計算機技術(shù)、網(wǎng)絡(luò)與通信技術(shù)、信號處理技術(shù)、電路與系統(tǒng)、傳感技術(shù)、神經(jīng)網(wǎng)絡(luò)技術(shù)、信息融合技術(shù)、小波變換理論、遺傳理論、模糊理論等多種學(xué)科的綜合技術(shù)。
智能傳感器中智能功能如:數(shù)字信號輸出、信息存儲與記憶、邏輯判斷、決策、自檢、自校、自補償都是以微處理器為基礎(chǔ)的。基于微處理器的傳感器從簡單的數(shù)字化與信息處理已發(fā)展到了目前具有網(wǎng)絡(luò)通信功能、神經(jīng)網(wǎng)絡(luò)、模糊理論、遺傳理論、小波變換理論、多傳感器信息融合等新理論新技術(shù)逐步完善的現(xiàn)代智能傳感器。其微處理器硬件也經(jīng)歷了從單CPU結(jié)構(gòu)到多CPU甚至DSP、ASIC與MCU相混合的結(jié)構(gòu)。然而微處理器在可靠性、功耗、功能復(fù)用等多方面存在著與生俱來的一些不可克服的缺點與不足,阻礙了智能傳感器的進一步發(fā)展。由系統(tǒng)IC向SOC(System on ChIP)轉(zhuǎn)變已成為歷史發(fā)展的必然趨勢。SOC用硬件實現(xiàn)了以往軟件實現(xiàn)的功能。與一般MCU 相比,它具有可靠性高、價格低、速度快、體積小、功能復(fù)用、保密性好等一系列優(yōu)點。傳統(tǒng)的S OC設(shè)計是以超深亞微米IC設(shè)計技術(shù)為基礎(chǔ)的,具有集成電路ASIC設(shè)計的復(fù)雜程度。隨著SOC平臺和EDA 技術(shù)發(fā)展以及IP新經(jīng)濟模式的推動,在SOC應(yīng)用設(shè)計上越來越多的從傳統(tǒng)的硅片設(shè)計轉(zhuǎn)到利用大規(guī)??删幊痰腇PGA 芯片設(shè)計。基于FPGA 的SOC設(shè)計其開發(fā)周期短、開發(fā)工具及語言標準化、設(shè)計和器件無關(guān)等特點,使得它與使用單片機一樣容易。大量的FPGA 成功應(yīng)用的報道都是在圖像處理、電力系統(tǒng)等領(lǐng)域。在傳感器智能化領(lǐng)域上的應(yīng)用仍處于開發(fā)研究階段。傳感器方面的少量應(yīng)用也僅限于用它作為一個或幾個獨立功能模塊,如:通信模塊、自補償模塊等都不具有系統(tǒng)的作用與功能,不能真正地成為片上系統(tǒng)(SOC)。本文將提出集采集系統(tǒng)、補償校正、數(shù)據(jù)處理、數(shù)據(jù)通信、任務(wù)調(diào)度、人機界面、IP功能復(fù)用等功能模塊于一體的智能傳感器SOC/IP設(shè)計及基于FPGA與ARM7微處理器芯片的實現(xiàn)方法。
SOC/IP概念與智能傳感器SOC設(shè)計方法
SOC: System on Chip指建立在單芯片上的系統(tǒng)。IP: Intellectual Property 自主知識產(chǎn)權(quán)。傳統(tǒng)的智能傳感器設(shè)計方法是以功能設(shè)計為基礎(chǔ)的。而SOC設(shè)計方法以功能復(fù)用與搭建為基礎(chǔ),在芯片上用若干個宏模塊來構(gòu)建復(fù)雜系統(tǒng)。這些已經(jīng)開發(fā)的宏模塊就是通用的IP核。IP核的重用可以降低產(chǎn)品設(shè)計的復(fù)雜度,減少產(chǎn)品上市時間。
利用SOC/IP芯片能組成完整的智能傳感器系統(tǒng)。智能傳感器傳感參數(shù)可能是多種多樣的。但從功能模塊組成來講,它主要包括數(shù)據(jù)采集模塊、補償與校正模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)網(wǎng)絡(luò)通信模塊、人機界面和任務(wù)管理與調(diào)度模塊等功能單元。從而基于IP的智能傳感器SOC設(shè)計過程為:首先正確建立智能傳感器的通用模塊模型;然后合理劃分各摸塊功能規(guī)范,制定各模塊之間的接口協(xié)議與標準;再設(shè)計出一系列通用的IP核;最后把所需的通用IP核搭建整合在一起構(gòu)成完整的智能傳感器系統(tǒng)。
智能傳感器IP核設(shè)計與SOC構(gòu)建
智能傳感器涉及到數(shù)據(jù)采集、信號處理(程控放大、線性化、信號濾波、信號補償、人工神經(jīng)網(wǎng)絡(luò)、遺傳理論、多傳感器融合、模糊理論等) 、數(shù)據(jù)通信、人機界面及任務(wù)調(diào)度等各種功能。在IP核設(shè)計與SOC構(gòu)建中,為了簡化工作,降低復(fù)雜度,我們選用基于FPGA的IP核及基于 ARM7TDMI-SCPU 的IP核兩種SOC設(shè)計方式,其中FPGA的IP核主要完成數(shù)據(jù)采集與信號處理模塊,基于ARM7 的IP核完成數(shù)據(jù)通信、人機界面及任務(wù)調(diào)度工作。
數(shù)據(jù)采集
傳統(tǒng)的傳感器信號數(shù)字化大多采用的是VFC、串行A/D、并行A/D 等方案。每一方案都可設(shè)計成相應(yīng)的IP核。雖然已經(jīng)有人用FPGA完成數(shù)據(jù)采集,但都是以特定應(yīng)用的方式,而不是以通用的IP核方式設(shè)計的。我們介紹采用 MAX125完成的并行A/D接口IP核設(shè)計。MAX125 8通道14bit的并行A/D芯片。在FPGA A/D IP核設(shè)計中,提供給MAX125信號有啟動轉(zhuǎn)換及轉(zhuǎn)換結(jié)束后的時序信號,讀取轉(zhuǎn)換結(jié)果并存儲到FPGA 芯片內(nèi)部RAM中的數(shù)據(jù)信號。該A/D IP核我們已經(jīng)開發(fā)成功,并獲得了很好的使用。
信號處理
信號處理是智能傳感器的主要內(nèi)容之一。通常包含線性化、濾波、各類補償、人工神經(jīng)網(wǎng)絡(luò)、模糊理論、遺傳算法、多傳感器融合等工作。在濾波中,除了常規(guī)的 FFT、DFT之外,近幾年還出現(xiàn)了小波變換。由于芯片速度上的優(yōu)勢,如何實現(xiàn)各信號處理IP核通用化設(shè)計,已成為相關(guān)信號處理算法IP核設(shè)計的關(guān)鍵。
如在線性化處理設(shè)計中,我們把各類傳感器的線性化算法都設(shè)計到一個通用的線性化IP核中。在任務(wù)調(diào)用時再根據(jù)不同類型傳感器線性化算法要求,組態(tài)選擇出相應(yīng)的算法IP核,供實際需要使用。
數(shù)據(jù)通信
設(shè)置數(shù)據(jù)通信接口主要是考慮芯片還可以同外部CPU或網(wǎng)絡(luò)構(gòu)成更加復(fù)雜的測控系統(tǒng)。為了方便芯片的設(shè)計,節(jié)省芯片資源,我們選用基于ARM7的 philIPs LPC2106 芯片進行通信IP核設(shè)計。它可以將一系列不同的通信接口(如: CAN、以太網(wǎng)、TCP/IP、RS232/485、I2C、SPI) 以及不同的通信規(guī)程用一個通用的微處理器實現(xiàn)。通過與上位機與各類網(wǎng)絡(luò)的聯(lián)接,實現(xiàn)遠程遙測、網(wǎng)絡(luò)遠程智能測量節(jié)點等功能。通信IP核設(shè)計主要任務(wù)是通信規(guī)約算法設(shè)計。而大多數(shù)接口因為基于ARM7的微處理器都能提供,所以就不需要做太多的工作。
人機界面與任務(wù)調(diào)度
人機界面與任務(wù)調(diào)度IP核也用ARM7微處理器設(shè)計。人機界面主要設(shè)計鍵盤接口及LCD/LED/CRT等顯示接口。利用ARM7強大的GPIO功能是不難加以實現(xiàn)的。
任務(wù)調(diào)度IP主要包括數(shù)據(jù)采集調(diào)度、信號處理調(diào)度、數(shù)據(jù)通信調(diào)度及人機界面調(diào)度等工作。我們采用以源碼公開的嵌入式操作系統(tǒng)μC/OS-Ⅱ2.52版為基礎(chǔ),將它移植到LPC2106 ARM微處理器中。在μC/OS-Ⅱ嵌入式操作系統(tǒng)基礎(chǔ)上開發(fā)各種應(yīng)用軟件,完成智能傳感器所需要的各類任務(wù)調(diào)度與組態(tài)工作。
應(yīng)用舉例
有了基本的IP內(nèi)核,我們就可以根據(jù)需要通過對IP核的組態(tài)(在嵌入式操作系統(tǒng)μC/OS-Ⅱ的調(diào)度下)構(gòu)成各類所需的智能傳感器系統(tǒng)。圖1 所示是用于熱電偶溫度測溫的智能傳感器的SOC設(shè)計實例。所有算法IP模塊都加載到ALTERA公司的APEX20K的多芯片F(xiàn)PGA 上,完成溫度信號采集、A/D變換、低端補償、線性化、程控放大等功能。芯片的總體外部引腳包括A/D接口的數(shù)據(jù)線和控制線、微處理器接口的數(shù)據(jù)線和控制線、程控放大的控制線等。微處理器選用具有ARM IP核的Philips公司的LPC2106芯片。它完成通信功能、實時時鐘功能、人機接口功能及任務(wù)調(diào)度功能。通信IP包括I2C總線、 RS232/RS485總線、CAN總線、TCP/IP協(xié)議、以態(tài)網(wǎng)等。
圖1 基于IP的智能傳感器的SOC設(shè)計
圖2 是基于以上系統(tǒng)芯片構(gòu)成的熱電偶智能傳感器的組成框圖。其核心是兩片SOC,其中FPGA SOC選用的是APEX20K,MCU SOC選用的是具有ARM IP核的ARM7 TDMI-S 微處理器。該智能傳感器的樣機已經(jīng)完成。FPGA 的片上芯片經(jīng)硬件仿真測試,其A/D采樣、線性化算法、冷端溫度補償、多傳感器融合等功能與算法都已通過實驗驗證。MCU的SOC在48MHz 系統(tǒng)時鐘的運行下,通過了通信、人機界面、實時日歷時鐘、任務(wù)調(diào)度管理等功能的實驗,驗證了該設(shè)計的可行性。
圖2 基于SOC芯片構(gòu)成的熱電偶智能傳感器的組成框圖
結(jié)束語
本文通過實例介紹了智能傳感器IP/SOC設(shè)計的方法。在設(shè)計通用智能傳感器IP核的基礎(chǔ)上,通過IP復(fù)用,只需改變或重新設(shè)置數(shù)據(jù)與任務(wù)調(diào)用模塊就能設(shè)計出應(yīng)用于其他各類智能傳感器的SOC系統(tǒng)。
由于SOC開發(fā)及EDA設(shè)計工具的限制,以FPGA與MCU為基礎(chǔ),以實際系統(tǒng)應(yīng)用為切入點,進行智能傳感器的SOC/IP設(shè)計是符合當前SOC設(shè)計和我國實際情況的研究方式。為了提高智能傳感器SOC/IP的設(shè)計能力,必須特別注意以下幾個方面的總結(jié)工作: ①EDA工具:包括開發(fā)工具、設(shè)計工具、分析工具以及驗證工具。②HDL語言工具:要充分利用HDL 語言結(jié)構(gòu)好的特點,采用自頂向下的模塊化設(shè)計,強調(diào)詳細的配置和接口標準化。③IP資源,一方面指充分利用現(xiàn)有通用IP的資源及資源標準,如接口、規(guī)范、可測試性等,以及世界上市場份額占有率最大的ARM公司的IP核資源。另外一方面指智能傳感器本身IP核的總結(jié)與提高。
FPGA 的可現(xiàn)場編程特點使基于SOC/IP的智能傳感器設(shè)計更加靈活,各IP模塊并行處理的特點使以往用單一CPU無法實現(xiàn)的,如需要高速數(shù)據(jù)處理的傳感器校正算法、補償算法、神經(jīng)網(wǎng)絡(luò)傳感算法、模糊傳感算法、多傳感器融合等復(fù)雜算法得以實現(xiàn)??蛇M一步提高測量精度、測量范圍與測量內(nèi)容。同時,用硬件實現(xiàn)以往軟件的功能,能解決干擾引起的程序死機問題,極大地提高了智能傳感器系統(tǒng)的可靠性。
評論