<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM+FPGA的食用花生油質量快速 檢測儀的設計

          基于ARM+FPGA的食用花生油質量快速 檢測儀的設計

          作者: 時間:2011-11-22 來源:網絡 收藏

          油種類有很多種,各類油的檢測方法不盡相同。以檢測為例,由的特殊物理性質可知,在0~5℃時開始結晶[1,2],其他種類的油都不是在這個溫度下結晶,利用這一特殊物理性質,在花生油結晶狀態(tài)條件下對其進行吸光度測量,花生油在不同溫度的結晶度信息是不一樣的,所以需要一個恒定的溫度環(huán)境來確保測量精度。本文給出了一種+的便攜式免化學試劑且環(huán)境友好型花生油方案。
          1儀器工作原理與方案
          食用油現場是利用信號采集模塊檢測樣品油的吸光度,因為吸光度與樣品油的物質成分有關,通過吸光度可以了解樣品油的純度。
          1.1工作原理
          通過處理器模糊PID計算,調整產生占空比可調的脈寬調制信號PWM,驅動熱電制冷器實現恒溫控制,儀器工作原理如圖1所示。信號采集模塊由單色LED光源和光頻轉換器TSL230B組成,TSL230B根據透射光強的不同,輸出頻率不同的脈沖信號(或方波信號)。因為透射光強與吸光度有關,讀取信號采集模塊輸入不同的脈沖信號的頻率,獲得吸光度的信息,FPGA再把吸光度的信息傳送給控制器數據處理,計算出花生油樣品純度信息并在顯示器上顯示。

          本文引用地址:http://www.ex-cimer.com/article/150037.htm

          1.2 方案
          ARM控制器具有信息處理能力強和高集成度的特點,現在很多智能儀器都是以ARM為核心的控制系統(tǒng),但隨著檢測技術的發(fā)展,智能儀器的功能越來越多,控制過程設計的信息也越來越多,以ARM為核心的控制系統(tǒng)已經不能完全滿足要求。而FPGA包含有大量實現組合邏輯的資源,可以完成較大規(guī)模的組合邏輯電路設計。與此同時,它還包含有相當數量的觸發(fā)器,借助這些觸發(fā)器,FPGA又能完成復雜的時序邏輯功能[11]。ARM與FPGA 的綜合設計主要有以下優(yōu)點:
           (1)可以大幅減少外部器件的使用量。
           (2)可以應用于各種場合,例如過程控制。
           (3)控制對象比較多,使用一片ARM芯片與一片FPGA芯片使系統(tǒng)結構簡潔、靈活。
           (4)可以使整個系統(tǒng)設計變得功能分明、結構緊湊、時序容易控制等。
           根據系統(tǒng)需要的功能,設計了結構的總體框架圖,如圖2所示。通過鍵盤按鍵發(fā)送控制信息,檢測需要在溫度恒定的情況下完成,所以需要一個恒溫設備(熱電制冷器和溫度傳感器DS18B20組成)提供穩(wěn)定的檢測環(huán)境,光源用的是紅光LED燈,紅光照射到盛裝食用油的比色皿上,在光的透射方向上放一個光電檢測模塊(光頻轉換器TSL230B),把光電檢測模塊的數據傳送到CPU(ARM芯片+FPGA芯片組成),經過數據處理后送到LCD顯示。

          2 系統(tǒng)功能模塊劃分
          在ARM與FPGA 的綜合設計中,需要系統(tǒng)、合理地劃分其功能,劃分的原則是面向任務。本系統(tǒng)設計中,ARM作為核心器件,采用16 bit數據通信,FPGA作為ARM的擴展外設備和協處理器。
          由系統(tǒng)的工作原理可知,根據系統(tǒng)任務需求,整個系統(tǒng)的功能劃分如圖3所示。

          ARM功能模塊功能如下:
          (1)UART0:接RS232串行接口,與計算機上的專用測控軟件連接,相互進行數據通信。
          (2)通信模塊0: 與FPGA進行串行數據通信,給FPGA發(fā)送控制指令和數據,并接收FPGA發(fā)送的數據。
          (3)I/O:連接LCD顯示器,顯示輸出信息;連接鍵盤按鍵,對系統(tǒng)發(fā)送控制信號;連接外部數字信號,本系統(tǒng)讀取的是溫度傳感器DS18B20的數據。
          FPGA功能模塊功能如下:
          (1)通信模塊2:與ARM進行串行數據通信,接收ARM發(fā)送的控制指令和數據,并向ARM發(fā)送數據。
          (2)通用邏輯:實現存儲器控制功能。
          (3)PWM:實現占空比可調的PWM輸出。
          (4)計數器:對外部脈沖量頻率或方波頻率檢測。
          (5)通信模塊1:接RS232串行通信接口,與一些外部設備連接,進行數據通信。
          (6)其他擴展:用于一些備用功能的擴展,當需要增加一些功能時,不需要改變硬件就可以實現。
          3 電路設計
          3.1主控核心電路設計

          ARM芯片S3C44B0X和FPGA芯片EP2C5T114C8是系統(tǒng)的核心器件,由于時鐘頻率不同,所以它們之間采用異步串行數據通信。
          3.2電源電路設計
          在整個系統(tǒng)設計中,系統(tǒng)各個部分對電源要求不一樣,電源設計非常重要,涉及到電源分配方案選擇、電源管理與監(jiān)控及電源功耗三個方面的內容。在整個系統(tǒng)中,ARM和FPGA電壓配置如表1所示。系統(tǒng)需要轉換成的電壓有5 V、3.3 V、2.5 V和1.2 V。
           所用電壓轉化芯片分別為AMS1117-5、AMS1117-3.3、AMS1117-2.5和AMS1117-1.2。
           在本系統(tǒng)中,首先用電壓轉換芯片AMS1117-5把外部直流電源的9 V電壓轉換成5 V直流電壓,電壓轉換電路如圖4(a)所示,再用電壓轉換芯片AMS1117-3.3、AMS1117-2.5和AMS1117-1.2把5 V直流電壓轉換成3.3 V、2.5 V 和1.2 V直流電壓,轉換電路如圖4(b)所示。

          3.3下載配置電路設計
            S3C44B0X下載配置支持的JTAG接口是4線:TMS、TCK、TDI、TDO。其中TCK為測試時鐘輸入;TDI為測試數據輸入,數據通過TDI引腳輸入JTAG接口;TDO為測試數據輸出,數據通過TDO引腳從JTAG接口輸出;TMS為測試模式選擇,用于設置JTAG接口處于某種特定的測試模式;nTRST為測試復位,輸入引腳低電平有效[4] ,如圖5(a)所示。

          EP2C5T144C8支持JTAG接口和主動串行ASP接口下載配置,在具體設計中,可先用JTAG方式調試程序,當程序調試無誤后,再使用主動串行ASP方式把程序固化到配置芯片。如圖5(b)所示,JTAG為下載插座;E1為配置芯片EPCSISI8;ASP為主動串行ASP下載插座,供固化程序到配置芯片使用。
          3.4 存儲系統(tǒng)電路設計
           S3C44B0X的存儲系統(tǒng)具有以下主要特性:ARM體系結構所支持的最大尋址空間為4 GB(232 B),ARM體系結構將存儲器看作是從零地址開始的字節(jié)的線性組合,從零字節(jié)到第3字節(jié)放置第1個存儲的字數據,從第4個字節(jié)到第7個字節(jié)放置第2個存儲的字數據,依次排列;有8個存儲體,訪問大小均可進行改變(8 bit/16 bit/32 bit),每個存儲體可達32 MB,總共可達256 MB,Bank0~Bank5可支持ROM、SRAM存儲器,Bank6~Bank7可支持ROM、SRAM和FP/ED0/SDRAM存儲器;有小端格式和大端格式兩種方式存儲字數據,可以通過外部引腳選擇存儲方式,在小端存儲格式中,低地址中存放字數據的低字節(jié),高地址存放字數據的高字節(jié),大端格式低地址中存放字數據的高字節(jié),高地址存放字數據的低字節(jié)[4],Flash和SDRAM存儲器電路如圖6所示。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();