張志鵬 黃世震 林夢(mèng)如 陸清茹 林 彥 陳睿祺3
(1.東南大學(xué)成賢學(xué)院電子與計(jì)算機(jī)工程學(xué)院,江蘇 南京 210088;2.福州大學(xué)福建省微電子集成電路重點(diǎn)實(shí)驗(yàn)室,福建 福州 350116;3.南京仁面集成電路技術(shù)有限公司Verimake創(chuàng)新實(shí)驗(yàn)室,江蘇 南京 210000)
“地溝油”對(duì)人體健康有著極大的傷害,通常執(zhí)法部門對(duì)于“地溝油”的檢測(cè)以采樣后通過實(shí)驗(yàn)室相應(yīng)化學(xué)檢測(cè)予以完成,例如質(zhì)譜法[1]、熒光衍生法[2]、光譜法[3-4]、核磁共振法[5]等,檢測(cè)時(shí)間長(zhǎng),成本高。便攜式地溝油檢測(cè)裝置通常是基于電導(dǎo)率[6]、折光率[7]、pH值、過氧化值[8]對(duì)待測(cè)油樣進(jìn)行定性判斷,若油樣存在摻雜,其準(zhǔn)確率會(huì)極大降低[9],且此類便攜式檢測(cè)裝置通常使用以Cortex-M3(簡(jiǎn)稱M3)為代表的微控制器作為主控制系統(tǒng)來進(jìn)行數(shù)據(jù)處理[10],其處理速度和精確性受微控制器性能的限制[11]。文章擬以現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,FPGA)作為開發(fā)平臺(tái),利用多特征神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)現(xiàn)場(chǎng)地溝油快速檢測(cè)儀,旨在為提升便攜式地溝檢測(cè)設(shè)備的準(zhǔn)確率和檢測(cè)速度提供依據(jù)。
1.1.1 數(shù)據(jù)準(zhǔn)備 系統(tǒng)共劃分7種標(biāo)簽,包含6種不同類別的油(菜籽油、大豆油、花生油、橄欖油、煎炸老油及地溝油)及其他。分別采集不同品牌相同種類的原始油樣共18種。通過摻雜不同的調(diào)料物(醬油、醋、鹽等),每種類別的油可以分別獲得360種摻雜組合;而“其他”標(biāo)簽則采用3種非油液體(純凈水、牛奶和豆?jié){)進(jìn)行相同比例摻雜,獲得360種組合。綜上,共獲得2 541種待測(cè)樣品組合。分別對(duì)待測(cè)樣品進(jìn)行水浴加熱至目標(biāo)溫度,記錄相應(yīng)的電導(dǎo)率,電導(dǎo)率差值和過氧化值共2 541組數(shù)據(jù)。對(duì)待測(cè)樣品進(jìn)行水浴加熱,但分別與目標(biāo)溫度有±5 ℃ 的偏差,記錄相應(yīng)的電導(dǎo)率,電導(dǎo)率差值和過氧化值共5 082組數(shù)據(jù),作為添加“噪聲”的擴(kuò)充數(shù)據(jù)。最終將7 623組數(shù)據(jù)作為此次設(shè)計(jì)的數(shù)據(jù)集。
1.1.2 特征選取 將電導(dǎo)率和過氧化值[12]作為特征進(jìn)行采集。
(1) 電導(dǎo)率:使用雷磁公司的DJS-1C型電導(dǎo)率傳感器,參照文獻(xiàn)[13]對(duì)不同溫度下電導(dǎo)率值進(jìn)行多次采集并取平均值。
(2) 過氧化值:使用愛拓公司的DOM-24型傳感器,參照文獻(xiàn)[13]分別多次采集25 ℃初始室溫下和水浴溫度60 ℃下的電導(dǎo)率,并取平均值。
系統(tǒng)模型圖如圖1所示,其工作步驟為:① 室溫下(默認(rèn)25 ℃)通過傳感器采集油樣的過氧化值,獲取第一個(gè)特征;② 向少量油樣中加入正己烷和去離子水,通過加熱管加熱器皿,以提供恒溫水浴環(huán)境;③ 通過控制加熱棒實(shí)現(xiàn)水浴溫度的升高,直至目標(biāo)溫度,不同溫度節(jié)點(diǎn)處通過傳感器采集電導(dǎo)率值并存儲(chǔ);④ 控制步進(jìn)電機(jī)實(shí)現(xiàn)器皿的振蕩,以達(dá)到傳統(tǒng)試驗(yàn)中的試劑振蕩充分反應(yīng)的效果;⑤ 基于液體密度不同分層原理使用連通器實(shí)現(xiàn)油和水相的分離,并對(duì)水相進(jìn)行最后的電導(dǎo)率值測(cè)量。由于去離子水的增加,分離出更多更清澈的水相使檢測(cè)時(shí)水相能將電極完全淹沒,減小了由于電極不能完全淹沒在水中而產(chǎn)生的誤差;升高振蕩時(shí)的水浴溫度,振蕩后不用靜止就能馬上分離出清澈的水相,縮短了試驗(yàn)時(shí)間,水相清澈減小了由于水相中含有油珠而對(duì)電導(dǎo)率檢測(cè)產(chǎn)生的影響[14],而且升高振蕩時(shí)的水浴溫度使油脂中的雜質(zhì)或離子能盡可能地全部溶解到水中,更準(zhǔn)確地反映油脂中含雜質(zhì)或離子情況;升高檢測(cè)時(shí)的水相溫度使合格油與“地溝油”間的電導(dǎo)率差距變大。采集此時(shí)的電導(dǎo)率值即所需的4個(gè)特征數(shù)據(jù)。多特征數(shù)據(jù)下進(jìn)行多分類問題的分析難度較大,而神經(jīng)網(wǎng)絡(luò)能夠有效地完成多特征維度下的數(shù)據(jù)分類判別[15],因此提出引入神經(jīng)網(wǎng)絡(luò)以實(shí)現(xiàn)油質(zhì)的分類判別。
1.旋轉(zhuǎn)盤 2.步進(jìn)電機(jī) 3.傳動(dòng)桿 4.測(cè)溫傳感器 5.連通管 6.試劑反應(yīng)管 7.電導(dǎo)電極傳感器 8.加熱管 9.壓力閥門 10.耐高溫容器 11.容器支架圖1 便攜地溝油檢測(cè)儀水浴系統(tǒng)模型圖Figure 1 Model of portable gutter oil detector for water bath
系統(tǒng)總體設(shè)計(jì)如圖2所示。使用FPGA完成M0內(nèi)核的移植用于水浴系統(tǒng)的控制以及傳感器的數(shù)據(jù)采集。M0軟核所對(duì)應(yīng)的GPIO和PWM模塊完成水浴系統(tǒng)的控制,傳感器的驅(qū)動(dòng)和數(shù)據(jù)的采集。傳感器采集到的數(shù)據(jù)通過AMBA總線協(xié)議交付至FPGA中的硬件加速模塊完成校正和神經(jīng)網(wǎng)絡(luò)的運(yùn)算,最終將結(jié)果交付至M0輸出判定結(jié)果并將數(shù)據(jù)及判定結(jié)果通過ESP8266模塊發(fā)送至云端數(shù)據(jù)庫(kù)。
圖2 系統(tǒng)總體結(jié)構(gòu)框圖Figure 2 Schematic diagram of system
1.3.1 硬件設(shè)計(jì) 硬件設(shè)計(jì)主要為水浴系統(tǒng),如圖1所示,包括還原水浴檢測(cè)所需的耐高溫容器、試管、加熱棒、溫度傳感器等。通過儀器儀表的自動(dòng)化設(shè)計(jì),使用步進(jìn)電機(jī)、傳動(dòng)桿、舵機(jī)等設(shè)備可以實(shí)現(xiàn)水浴系統(tǒng)的振蕩,待測(cè)試劑的分層連通檢測(cè)等操作。水浴系統(tǒng)的外形支架均由3D打印完成制作。
1.3.2 軟件設(shè)計(jì) 軟件整體流程如圖3所示。系統(tǒng)運(yùn)行后,包括GPIO、UART、定時(shí)器等相關(guān)初始化。先設(shè)定水浴溫度,再驅(qū)動(dòng)電熱棒對(duì)水浴進(jìn)行加熱。通過18B20溫度傳感器對(duì)水浴溫度進(jìn)行監(jiān)測(cè),當(dāng)溫度到達(dá)25 ℃時(shí),記錄電導(dǎo)值。后續(xù)記錄30,45,60 ℃時(shí)的電導(dǎo)值,將3組電導(dǎo)值一次性進(jìn)行參數(shù)校準(zhǔn)。當(dāng)溫度到達(dá)預(yù)設(shè)值后,GPIO驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)以帶動(dòng)水浴裝置振蕩,由此獲得相對(duì)清澈的水相。振蕩10 min后,GPIO驅(qū)動(dòng)舵機(jī)打開連通器,傳感器對(duì)分離出的水相進(jìn)行測(cè)量。測(cè)量數(shù)據(jù)由FPGA對(duì)應(yīng)設(shè)計(jì)的加速模塊完成,最終輸出結(jié)果,并通過UART通信方式驅(qū)動(dòng)ESP8266模塊發(fā)送數(shù)據(jù)至數(shù)據(jù)庫(kù)。
圖3 軟件整體流程圖Figure 3 Software flow chart
多層感知器的神經(jīng)網(wǎng)絡(luò)架構(gòu)非常適合分類任務(wù),同時(shí)也滿足低功耗便攜設(shè)備的開發(fā)需求[16-17]。在7 623組數(shù)據(jù)中,劃分70%的數(shù)據(jù)用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,15%的數(shù)據(jù)用于驗(yàn)證,15%的數(shù)據(jù)用于測(cè)試。基于此數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)和神經(jīng)元個(gè)數(shù)的差異對(duì)準(zhǔn)確性影響的探究,確定神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù)。針對(duì)所有神經(jīng)元,選用線性整流函數(shù)作為激活函數(shù)。針對(duì)不同的隱藏層數(shù)和神經(jīng)元個(gè)數(shù)的組合進(jìn)行訓(xùn)練與測(cè)試,每種組合反復(fù)進(jìn)行20次,最終統(tǒng)計(jì)并記錄不同組合對(duì)應(yīng)的準(zhǔn)確率平均值。
試驗(yàn)采用的SparkRoad FPGA開發(fā)板是VeriMake創(chuàng)新實(shí)驗(yàn)室基于上海安路信息科技股份有限公司自主研發(fā)的EG4S20BG256 FPGA為核心設(shè)計(jì)。EG4系列FPGA片上資源豐富,擁有19 600查找表(LUT),156 Kbits分布存儲(chǔ)器,片內(nèi)集成64 Mbits SDRAM。SparkRoad開發(fā)板相應(yīng)外設(shè)及拓展接口豐富,包括撥碼開關(guān)、按鍵、數(shù)碼管、LED燈、USB轉(zhuǎn)UART、DVP接口、樹莓派接口和Arduino接口等。
FPGA設(shè)計(jì)的數(shù)據(jù)加速處理模塊主要針對(duì)參數(shù)自校準(zhǔn)及參數(shù)判別運(yùn)算兩部分進(jìn)行設(shè)計(jì),加速模塊總體架構(gòu)如圖4所示。加速模塊通過AHB總線接口獲取參數(shù)校準(zhǔn)輸入數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)的輸入。神經(jīng)網(wǎng)絡(luò)計(jì)算所需的模型參數(shù)緩存至單獨(dú)開辟的BRAM中,在網(wǎng)絡(luò)運(yùn)算時(shí)進(jìn)行數(shù)據(jù)交互。加速器的運(yùn)算結(jié)果通過AHB總線返回至M0中。
圖4 加速模塊總體架構(gòu)圖Figure 4 Architecture diagram of accelerator
3.1.1 參數(shù)自校準(zhǔn)加速器 參數(shù)自校準(zhǔn)加速即為多次取回硬件電路中不同水浴溫度下的電導(dǎo)率值,與最初的眾多常見溶液的參考值同時(shí)進(jìn)行并行比較,取電導(dǎo)率最為接近的值作為最終測(cè)定結(jié)果。此過程通常稱作電導(dǎo)率的溫度補(bǔ)償,依據(jù)式(1)實(shí)現(xiàn)[18]。最終溫度補(bǔ)償是將不同溫度下的電導(dǎo)率換算為25 ℃下的電導(dǎo)率值。
kn=k0[1+α(T0-T)]=k0(1+α△T),
(1)
式中:
T0——初始溫度,通常取25 ℃;
T——目標(biāo)溫度,℃;
△T——溫度差,℃;
k0——對(duì)應(yīng)25 ℃下的電導(dǎo)率值,μS/cm;
kn——補(bǔ)償后的電導(dǎo)率值,μS/cm;
α——溫度系數(shù),通常取0.02。
由式(1)可知,整個(gè)運(yùn)算包含兩次乘法,而在EG4系列FPGA中擁有29個(gè)硬件乘法器,充分滿足設(shè)計(jì)需求,因此基于FPGA的并行運(yùn)算優(yōu)勢(shì),可以同時(shí)進(jìn)行3組溫度補(bǔ)償。
3.1.2 神經(jīng)網(wǎng)絡(luò)加速器 基于神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)計(jì),一次性完成所有的運(yùn)算會(huì)消耗大量的硬件資源。因此,出于資源和功耗考慮,在并行化和流水線之間進(jìn)行權(quán)衡,在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)運(yùn)算順序上進(jìn)行改進(jìn),完成串并同行設(shè)計(jì),并通過Verilog對(duì)以上流程進(jìn)行硬件語(yǔ)言描述。整個(gè)神經(jīng)網(wǎng)絡(luò)加速器僅消耗6個(gè)硬件乘法器,故可以對(duì)參數(shù)自校準(zhǔn)模塊中的乘法器進(jìn)行復(fù)用,并充分利用片上資源。如圖5所示,整個(gè)架構(gòu)采用6個(gè)乘法器來構(gòu)成相關(guān)的通用算術(shù)邏輯單元(ALU)。使用寄存器對(duì)輸入特征數(shù)據(jù)進(jìn)行緩存(分別記作F0~F3),第1個(gè)隱藏層中,第1個(gè)時(shí)鐘周期對(duì)F0同時(shí)進(jìn)行所有神經(jīng)元的乘法運(yùn)算,并進(jìn)行緩存。后續(xù)3個(gè)時(shí)鐘周期依次完成F1~F3的神經(jīng)元中的乘法運(yùn)算。第5個(gè)時(shí)鐘周期完成神經(jīng)元中的累加和激活運(yùn)算,激活函數(shù)ReLU通過組合邏輯選擇器實(shí)現(xiàn)相關(guān)的運(yùn)算。第2個(gè)隱藏層,由于在第5個(gè)時(shí)鐘周期僅運(yùn)行累加和激活運(yùn)算,因此同時(shí)還可以進(jìn)行第2層的第1個(gè)神經(jīng)元的乘法運(yùn)算。第6個(gè)時(shí)鐘周期完成第1個(gè)神經(jīng)元的累加和激活運(yùn)算,同時(shí)完成第2個(gè)神經(jīng)元的乘法運(yùn)算。依次類推,第10個(gè)時(shí)鐘周期時(shí),完成第6個(gè)神經(jīng)元的乘法運(yùn)算。第11個(gè)時(shí)鐘周期時(shí),完成累加和激活運(yùn)算以及輸出層的乘法運(yùn)算。最終共11個(gè)時(shí)鐘周期,便可將運(yùn)算結(jié)果通過AHB總線返回至M0。
圖5 神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)序流圖Figure 5 The sequence timing diagram of neural network operation
Cortex-M0于2015年開發(fā),采用Verilog完成編碼,保留了完整的AMBA總線接口協(xié)議。Cortex-M0是32位哈佛結(jié)構(gòu)的處理器,包括32個(gè)中斷和雙16位IO接口[19]。
本著“即裁即用”的設(shè)計(jì)思想,SoC的設(shè)計(jì)僅保留了基本的總線和所需外設(shè),其總體架構(gòu)如圖6所示。在高速總線AHB上只保留了FPGA數(shù)據(jù)加速處理模塊接口,F(xiàn)PGA內(nèi)部的BRAM資源作為M0的RAM,外接SPI Flash作為M0的ROM。APB總線上只保留了定時(shí)器、串口、GPIO以及PWM。
圖6 SoC總體架構(gòu)圖Figure 6 Architecture diagram of system on chip
AHB總線上外設(shè)RAM可在工程文件的頂層文件cmsdk_mcu.v中修改cmsdk_ahb_ram模塊對(duì)應(yīng)的例化參數(shù).MEM_TYPE為2,并將cmsdk_fpga_sram.v接入對(duì)應(yīng)接口,調(diào)用FPGA中的BRAM資源[20]。同理,將cmsdk_ahb_rom模塊對(duì)應(yīng)的例化參數(shù).MEM_TYPE修改為3,即可調(diào)用對(duì)應(yīng)的32位Flash接口模塊,再設(shè)計(jì)對(duì)應(yīng)的SPI Flash控制器即可完成ROM的設(shè)計(jì)[21]。對(duì)應(yīng)的APB總線上外設(shè),官方工程文件中均有完整的可綜合文件,只需基于APB總線時(shí)序要求將外設(shè)分別對(duì)應(yīng)接入即可。
4.1.1 電導(dǎo)率 由圖7可知,相較于食用油而言,地溝油的電導(dǎo)率及其變化率普遍偏高,且隨著溫度的上升,二者差距不斷增加。當(dāng)加熱至60 ℃后,電導(dǎo)率變化放緩,這是由于油脂中的雜質(zhì)或離子是有限的??紤]到水浴加熱耗時(shí),且不同溫度下的電導(dǎo)率變化與油質(zhì)優(yōu)劣存在隱藏關(guān)系[22-23],因此選定60 ℃下的電導(dǎo)率,60 ℃和30 ℃下的電導(dǎo)率差值,60 ℃和45 ℃下的電導(dǎo)率差值作為分類判別特征。
圖7 各種油樣在不同溫度下的電導(dǎo)率Figure 7 The electrical conductivity of various kinds of oil at different temperature
4.1.2 過氧化值 由圖8可知,地溝油的過氧化值偏高,當(dāng)加熱至60 ℃后,各類油的過氧化值均上升,且相互間數(shù)值差距減小,如果存在混合的情況,60 ℃下的過氧化值將難以作為特征進(jìn)行判斷。因此選定25 ℃下的過氧化值作為分類判別特征。
圖8 各種油樣在25 ℃和60 ℃下的過氧化值Figure 8 The peroxide value of various kinds of oil at 25 ℃ and 60 ℃
綜上,選擇60 ℃下的電導(dǎo)率、60 ℃和30 ℃下的電導(dǎo)率差值、60 ℃和45 ℃下的電導(dǎo)率差值、25 ℃下的過氧化值4個(gè)參數(shù)作為神經(jīng)網(wǎng)絡(luò)的輸入特征。
由表1可知,當(dāng)使用更多的隱藏層和神經(jīng)元時(shí),最終的準(zhǔn)確性會(huì)略有提高。結(jié)合FPGA的硬件資源及整體功耗性能綜合考慮,最終確定神經(jīng)網(wǎng)絡(luò)參數(shù)為2層隱藏層,每層神經(jīng)元個(gè)數(shù)為6。
表1 不同神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)準(zhǔn)確率對(duì)比Table 1 Average classification accuracy for different neural network architecture %
基于上述輸入特征、網(wǎng)絡(luò)參數(shù)和數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試,最終模型訓(xùn)練集的準(zhǔn)確率為97.11%,測(cè)試集準(zhǔn)確率為96.50%,其學(xué)習(xí)曲線如圖9所示。
圖9 模型學(xué)習(xí)曲線圖Figure 9 Learning curves
基于Sparkroad開發(fā)板在TD軟件上完成系統(tǒng)中FPGA加速器和軟核移植的設(shè)計(jì),設(shè)計(jì)使用的邏輯資源情況如表2所示。由表2可知,加速器占用的邏輯資源比例最高,這是因?yàn)樵O(shè)計(jì)中將大量的比較器與加法器用于校準(zhǔn)和神經(jīng)網(wǎng)絡(luò)的并行運(yùn)算。
表2 FPGA各模塊資源使用情況Table 2 FPGAresource consumption
實(shí)際測(cè)試時(shí),對(duì)2 541種油樣進(jìn)行多次測(cè)試,測(cè)試分為判斷是否為地溝油的定性測(cè)試,以及對(duì)待測(cè)油樣進(jìn)行分類測(cè)試。每次隨機(jī)抽取100種油樣,統(tǒng)計(jì)平均正確率如表3所示。由表3可知,相較于傳統(tǒng)的閾值法,多特征輸入神經(jīng)網(wǎng)絡(luò)更能應(yīng)對(duì)現(xiàn)實(shí)場(chǎng)景中的多種摻雜情況。分類測(cè)試的準(zhǔn)確率與模型測(cè)試集準(zhǔn)確率相當(dāng),均≥95%,而傳統(tǒng)的閾值法基于單一特征很難實(shí)現(xiàn)油樣的分類。說明試驗(yàn)系統(tǒng)可以準(zhǔn)確地完成地溝油的分類檢測(cè)。
表3 現(xiàn)有地溝油檢測(cè)準(zhǔn)確率對(duì)比Table 3 The accuracyof gutter oil detection system comparison
FPGA設(shè)計(jì)了相應(yīng)的計(jì)數(shù)器,系統(tǒng)開始工作的同時(shí)計(jì)數(shù)器計(jì)數(shù)(計(jì)數(shù)器頻率為50 MHz),當(dāng)M0輸出判別結(jié)果后停止計(jì)數(shù)。經(jīng)40次測(cè)試,結(jié)果如表4所示,當(dāng)前試驗(yàn)系統(tǒng)的耗時(shí)主要來自于水浴加熱,加熱耗時(shí)過久是因?yàn)閮H使用了1支電加熱棒,后期可以通過優(yōu)化加熱系統(tǒng)進(jìn)一步提高速度。
表4 現(xiàn)有便攜式地溝油平臺(tái)耗時(shí)對(duì)比Table 4 Comparison of portable gutter oil detection system time consumption
試驗(yàn)系統(tǒng)相較于過往研究大幅縮短了計(jì)算耗時(shí)和系統(tǒng)總耗時(shí),其完全得益于引入了運(yùn)算加速模塊。而加速模塊中的神經(jīng)網(wǎng)絡(luò)模塊更是直接決定了處理結(jié)果,因此對(duì)加速模塊中的神經(jīng)網(wǎng)絡(luò)加速模塊進(jìn)行分析與測(cè)試。為了更好地評(píng)估神經(jīng)網(wǎng)絡(luò)加速器的性能,選擇多個(gè)平臺(tái)進(jìn)行測(cè)試。在不同的硬件和軟件平臺(tái)上,搭建相同參數(shù)的神經(jīng)網(wǎng)絡(luò),并使用C語(yǔ)言實(shí)現(xiàn)正向推斷分類運(yùn)算[25]。在權(quán)重完全一致的情況下,分別在Intel 9750HQ、Rockchip RK3399 Pro、Raspberry Pi 3B+、IMX6-CB200和STM32F407平臺(tái)上通過輸入多組測(cè)試集數(shù)據(jù),記錄其運(yùn)算耗時(shí)并取平均值,結(jié)果如表5所示。
表5 神經(jīng)網(wǎng)絡(luò)加速器性能對(duì)比?Table 5 Neural network accelerator performance comparison
由表5可知,試驗(yàn)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)加速器性能超出通用物聯(lián)網(wǎng)終端MCU M4近25倍,超出嵌入式級(jí)SoC Cortex-A9 兩倍,與多核Cortex-A53相當(dāng)。結(jié)合表2,考慮試驗(yàn)提出的應(yīng)用場(chǎng)景是便攜式終端,在系統(tǒng)總體資源消耗與M3軟核系統(tǒng)(15 162 LUTs)接近的情況下,其算力明顯提升。
以安路公司EG4系列FPGA為設(shè)計(jì)載體,利用SoPC技術(shù)和電化學(xué)分析原理,完成了Cortex-M0內(nèi)核的FPGA移植,輔以相應(yīng)FPGA資源設(shè)計(jì)的加速模塊完成了地溝油檢測(cè)儀的設(shè)計(jì)。結(jié)果表明,試驗(yàn)系統(tǒng)采用國(guó)產(chǎn)芯片完成設(shè)計(jì),檢測(cè)耗時(shí)相較傳統(tǒng)同類便攜儀器縮短了89%,系統(tǒng)可拓展性更強(qiáng),運(yùn)算性能是同類便攜式儀器主控的25倍,可實(shí)現(xiàn)地溝油的快速定性判斷和一定種類的劃分。