孫傳恒,楊信廷,李文勇,周 超,李道亮
(1.中國農(nóng)業(yè)大學(xué) 信息與電氣工程學(xué)院,北京100083;2.國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京100097)
農(nóng)產(chǎn)品流通追溯是實現(xiàn)農(nóng)產(chǎn)品全程追溯的關(guān)鍵和難點[1]。農(nóng)產(chǎn)品流通追溯直接影響農(nóng)產(chǎn)品的生產(chǎn)過程[2],通過流通階段建立 “倒逼”機(jī)制,可有效引導(dǎo)農(nóng)業(yè)標(biāo)準(zhǔn)化生產(chǎn),提高流通主體的安全責(zé)任意識,增強(qiáng)政府對農(nóng)產(chǎn)品監(jiān)管和服務(wù)水平,促進(jìn)現(xiàn)代流通體系的完善,從而促進(jìn)全程質(zhì)量追溯系統(tǒng)的實施[3-4]。但目前農(nóng)產(chǎn)品生產(chǎn)和流通的組織化程度較低,包裝化程度不高,大部分采用傳統(tǒng)的人工結(jié)算交易,各流通節(jié)點信息不能有效交換[5-7]。因此,農(nóng)產(chǎn)品流通階段追溯系統(tǒng)在設(shè)計上需采集、記錄、傳輸每個流通節(jié)點的信息,將各經(jīng)營節(jié)點的信息相關(guān)聯(lián),形成完整的流通信息鏈條和責(zé)任鏈條[8]。
在流通階段實行電子結(jié)算可有效保證追溯流程的完整性,但現(xiàn)階段使用的交易設(shè)備,只有稱重功能,交易記錄不能存儲,無法進(jìn)行稱量過程的跟蹤,而且大多是獨立使用的,不能與上位機(jī)進(jìn)行通訊或采用串口方式與上位機(jī)進(jìn)行通訊[9-10],無法實現(xiàn)對農(nóng)產(chǎn)品流通的分布式追溯。面向農(nóng)產(chǎn)品流通追溯的需求,針對不同包裝程度、流通模式及經(jīng)營者信息化管理水平,基于嵌入式LPC1766處理器,集成RFID射頻識別技術(shù)、條碼技術(shù),設(shè)計開發(fā)了農(nóng)產(chǎn)品流通追溯系統(tǒng)的軟硬件方案[11]。系統(tǒng)硬件在設(shè)計上盡可能簡化,只保留必要的硬件電路,如A/D轉(zhuǎn)換電路、串口電路、鍵盤電路、顯示電路等,其它以接口電路形式實現(xiàn)。軟件基于硬件平臺直接開發(fā),實現(xiàn)了重量采集任務(wù)、RFID身份識別任務(wù)、標(biāo)簽打印任務(wù)和網(wǎng)絡(luò)數(shù)據(jù)交互任務(wù)等算法,具有占用硬件資源較少,實時性強(qiáng)、處理速度快的特點。
流通追溯系統(tǒng)主要實現(xiàn)農(nóng)產(chǎn)品交易過程的重量感知、交易主體身份識別、交易客體的標(biāo)識和交易過程信息的采集與上傳等功能,具體如下:
(1)產(chǎn)品稱重:重量傳感器信號經(jīng)A/D轉(zhuǎn)換生成重量信息,用戶通過PLU預(yù)置商品信息關(guān)聯(lián)產(chǎn)品單價,并自動計算商品總價,完成產(chǎn)品稱重計價。
(2)身份驗證:用于流通階段責(zé)任主體身份的驗證,通過集成RFID讀寫模塊實現(xiàn)用戶身分合法性的驗證,通過驗證后設(shè)備啟動并進(jìn)入稱重狀態(tài)。
(3)標(biāo)簽打印:農(nóng)產(chǎn)品生產(chǎn)日期、保質(zhì)日期、生產(chǎn)單位、重量等信息通過文字、數(shù)字、一維碼、二維碼等形式打印到標(biāo)簽上,方便客戶對農(nóng)產(chǎn)品信息的追溯。一維碼支持EAN-13、EAN-128等碼制,二維碼支持QR碼、漢信碼、DataMatrix等碼制。
(4)數(shù)據(jù)上傳:交易完成后,在打印產(chǎn)品交易標(biāo)簽時,同時把標(biāo)簽內(nèi)容數(shù)據(jù)進(jìn)行二值化并以UDP數(shù)據(jù)包格式通過指定端口發(fā)送到數(shù)據(jù)庫服務(wù)器,實現(xiàn)交易數(shù)據(jù)的上傳。
系統(tǒng)整體硬件結(jié)構(gòu)如圖1所示。LPC1766處理器的內(nèi)核是 Cortex-M3,F(xiàn)lash容量為256KB,SRAM 為64KB,包括UART接口5個、SSP接口3個、SPI接口1個、I2C接口3個,封裝方式為LQFP100,該芯片具有資源豐富、功耗低的特點[12]。接口模塊包括RFID身份識別模塊、顯示模塊、鍵盤模塊、打印模塊和無線通訊模塊。重量傳感器將重量轉(zhuǎn)換為電壓信號,經(jīng)過信號濾波和放大后,信號被送入A/D轉(zhuǎn)換器,由A/D轉(zhuǎn)換器實現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)化,并經(jīng)LPC1766處理后發(fā)送到數(shù)碼管;RFID身份識別模塊通過識別用戶電子標(biāo)簽ID,經(jīng)串口發(fā)送到LPC1766處理認(rèn)證;鍵盤模塊通過GPIO與中斷的行列掃描實現(xiàn)與LPC1766的通訊;打印模塊通過UART接口與LPC1799通訊,并執(zhí)行控制模塊指令;無線通訊模塊通過以太網(wǎng)接口與LPC1766通訊,通過UDP協(xié)議發(fā)送到后臺服務(wù)器,實現(xiàn)對交易數(shù)據(jù)的管理[13-14]。
圖1 農(nóng)產(chǎn)品流通追溯設(shè)備的硬件結(jié)構(gòu)
系統(tǒng)電源電路如圖2所示。根據(jù)系統(tǒng)設(shè)計要求,外部220V交流電經(jīng)開關(guān)電源轉(zhuǎn)換為12V以后接入主板,主板電源電路先將12V穩(wěn)壓為5V,然后再將5V穩(wěn)壓為3.3V。12V向5V轉(zhuǎn)換用的是ST公司三端穩(wěn)壓集成電路L7805,L7805為線性DC-DC轉(zhuǎn)換芯片,輸出電源波紋小,可以滿足AD部分對電源較高的要求。5V向3.3V的轉(zhuǎn)換是用LDO穩(wěn)壓芯片1117,1117具有輸出電流大,輸出電壓精度高等特點,此外還具有電流保護(hù)和熱保護(hù)的特點。
圖2 系統(tǒng)電源電路
重量采集是追溯設(shè)備主要功能之一,因此設(shè)備的精度至關(guān)重要。精度主要取決于模數(shù)轉(zhuǎn)換器的分辨率[15]。A/D轉(zhuǎn)換國產(chǎn)芯片采用HX711,它是一款專為高精度設(shè)備轉(zhuǎn)換設(shè)計的24位的A/D轉(zhuǎn)換芯片,內(nèi)部集成了電源處理穩(wěn)壓模塊和時鐘發(fā)生器等外圍電路。穩(wěn)壓模塊可以為傳感器和A/D轉(zhuǎn)換部分提供能量。它有2個A/D轉(zhuǎn)換通道可以供選擇,通道A為主通道,增益分別為128或者64,用于采集信號變化范圍分別為±20mV或±40mV的模擬信號。通道B的放大倍數(shù)為64,用于檢測系統(tǒng)運行時候的參數(shù)如電池電壓。A/D轉(zhuǎn)換電路原理圖如圖3所示。
圖3 A/D轉(zhuǎn)換電路原理
以太網(wǎng)電路如圖4所示。LPC1766內(nèi)部已經(jīng)集成了以太網(wǎng)控制器,因此用戶在芯片外部只需接一個以太網(wǎng)PHY(物理層)接口芯片和相關(guān)電路即可。在設(shè)計時由于LPC1766只支持RMII接口,故只能選擇支持RMII接口的PHY芯片,本設(shè)計中采用DP83848I實現(xiàn)和LPC1766的連接,DP83848I的RMII數(shù)據(jù)接口包括發(fā)送數(shù)據(jù)管腳TXD0、TXD1,發(fā)送使能管腳 TXEN,接收數(shù)據(jù)管腳RXD0、RXD1,接收數(shù)據(jù)時鐘管腳RXCLK,接收使能管腳RXEN和載波偵測管腳CRS。DP83848I的28管腳上拉和18管腳下拉將KSZ8041NL配置成RMII接口模式;15管腳同地之間的4.87K歐姆的電阻用于調(diào)整DP83848I的輸出電流。另外,26和28管腳也用于控制LED,表示當(dāng)前的網(wǎng)絡(luò)狀態(tài)。時鐘輸入頻率是50MHz。
圖4 以太網(wǎng)電路原理
RFID接口電路如圖5所示。RFID模塊采用SLRC400射頻芯片,執(zhí)行從LPC1766發(fā)過來的各種動作指令,實現(xiàn)射頻芯片與電子標(biāo)簽的通信控制和通訊數(shù)據(jù)的加密和解碼。其中,RFID模塊與LPC1766通過串口通信,電路中J9-1為控制信號輸出,J9-2接蜂鳴器,J9-3為自動尋卡中斷輸出,低電平有效,可以根據(jù)需要配置。
圖5 RFID接口電路原理
其它外圍電路主要包括打印接口電路、按鍵輸入電路和顯示電路。打印模塊通過MAX3232與LPC1766的串口1連接;按鍵輸入電路通過GPIO與中斷行列掃描與控制電路相連,每行加一10K的上拉電阻,組成8*8的矩陣鍵盤,實現(xiàn)按鍵輸入中斷;顯示電路通過SPI接口與MB15026芯片相連,驅(qū)動8段*16位的LED數(shù)碼管。
軟件開發(fā)采用C語言作為開發(fā)語言,以keilμVision3 IDE作為開發(fā)平臺,基于模塊化的開發(fā)思想來實現(xiàn)軟件系統(tǒng),整個軟件系統(tǒng)控制流程如圖6所示。
圖6 系統(tǒng)開發(fā)流程
軟件系統(tǒng)由標(biāo)定子程序和應(yīng)用子程序兩部分組成,在應(yīng)用子程序中,包括重量采集任務(wù)、RFID身份識別任務(wù)、LED顯示任務(wù)、鍵盤鍵值掃描任務(wù)、網(wǎng)絡(luò)數(shù)據(jù)交互任務(wù)和數(shù)據(jù)打印任務(wù)。各個任務(wù)之間采用順序和事件驅(qū)動的方式完成,CPU開始實時探測是否有射頻RFID信號,檢測到信號且通過身份識別后,系統(tǒng)進(jìn)入稱重狀態(tài),同時實時監(jiān)測網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)、鍵盤鍵值的掃描、LED數(shù)碼管的顯示以及根據(jù)鍵值進(jìn)行任務(wù)的跳轉(zhuǎn)。
圖7是系統(tǒng)標(biāo)定子程序流程圖,當(dāng)RFID卡身份信息驗證成功后,當(dāng)標(biāo)定開關(guān)按下時,系統(tǒng)進(jìn)入標(biāo)定子程序,首先按分度值的設(shè)定、滿量程量設(shè)置、過載量設(shè)置、加載量設(shè)置步驟進(jìn)行參數(shù)的設(shè)置,然后進(jìn)入零位狀態(tài),此時一定要確保秤臺上為空載,按確定鍵后,進(jìn)入加載狀態(tài),放上與加載量相等的砝碼。最后待穩(wěn)定指示燈點亮?xí)r,按 “確認(rèn)”鍵退出完成標(biāo)定操作。
圖8是系統(tǒng)應(yīng)用子程序流程圖,當(dāng)RFID卡身份信息驗證成功后,當(dāng)不進(jìn)行標(biāo)定時,系統(tǒng)進(jìn)入應(yīng)用子程序。首先進(jìn)行網(wǎng)絡(luò)地址進(jìn)行初始化,為后面的數(shù)據(jù)上傳提供網(wǎng)絡(luò)支持,然后從Flash存儲器中讀取標(biāo)定參數(shù),并進(jìn)行開機(jī)秤臺清零處理,最后進(jìn)入稱重顯示狀態(tài)。根據(jù)用戶按鍵命令進(jìn)行條碼編碼算法后,進(jìn)行重量采集、條碼打印和數(shù)據(jù)上傳等服務(wù)。
3.3.1 RFID身份識別任務(wù)設(shè)計
RFID身份識別任務(wù),主要負(fù)責(zé)RFID射頻信號的探測以及用戶身份ID號的獲取,當(dāng)有RFID卡靠近時,系統(tǒng)感應(yīng)射頻信號,讀取卡內(nèi)用戶信息,并進(jìn)行存儲,隨后系統(tǒng)進(jìn)入正常工作模式,主要算法如下:
Void TASK_ListenCard(void)
{監(jiān)聽RFID信號;
讀取卡內(nèi)用戶信息;
存儲用戶信息;
進(jìn)入稱重工作模式;}
3.3.2 重量采集任務(wù)設(shè)計
重量數(shù)據(jù)采集任務(wù),主要負(fù)責(zé)讀取AD轉(zhuǎn)換器的AD值,利用滑動平均濾波數(shù)據(jù)處理算法進(jìn)行數(shù)據(jù)處理,最后根據(jù)標(biāo)定參數(shù),計算得出實際的重量數(shù)據(jù)值,主要算法如下:
Void TASK_WeightAcquisit(void)
{循環(huán)讀取AD值;
平滑濾波處理;
重量數(shù)據(jù)計算;}
3.3.3 標(biāo)簽打印任務(wù)設(shè)計
標(biāo)簽打印任務(wù)主要負(fù)責(zé)一維條碼、二維條碼生成,定制條碼標(biāo)簽格式等。其中,一維條碼采用EAN-128碼制實現(xiàn),編碼主要包括市場編號、經(jīng)營主體號碼、產(chǎn)品編號和銷售日期編號等,二維條碼采用漢信碼實現(xiàn),內(nèi)容包括市場信息、經(jīng)營主體信息和產(chǎn)品信息,并經(jīng)DES算法加密后存儲在漢信碼中,實現(xiàn)信息的安全存儲。具體算法如下:
Void TASK_LabelPrint(void)
{調(diào)用一維條碼生成算法,生成一維條碼信息;
調(diào)用二維條碼生成算法,生成二維條碼信息;
標(biāo)簽格式定制;
調(diào)用數(shù)據(jù)上傳函數(shù),完成打??;}
3.3.4 網(wǎng)絡(luò)數(shù)據(jù)交互任務(wù)設(shè)計
網(wǎng)絡(luò)數(shù)據(jù)交互任務(wù)設(shè)計,主要負(fù)責(zé)系統(tǒng)與上位機(jī)之間的數(shù)據(jù)交互,包括數(shù)據(jù)的接收與發(fā)送,主要算法如下:
Void TASK_NetDataExchange(void)
{監(jiān)聽上位機(jī)端口數(shù)據(jù);
有數(shù)據(jù),接收并進(jìn)行串行Flash存儲;}
根據(jù)國家標(biāo)準(zhǔn) 《非自動秤通用檢定規(guī)程JJG555-1996》的要求,利用F1級的檢定砝碼(包裝標(biāo)稱值為20Kg、10Kg、1Kg、10g和1g的標(biāo)準(zhǔn)砝碼若干),對設(shè)備的準(zhǔn)確度誤差進(jìn)行了檢定,試驗結(jié)果見表1。從結(jié)果可以看出,設(shè)備的指標(biāo)優(yōu)于國家規(guī)定的三級秤標(biāo)準(zhǔn)。
表1 設(shè)備準(zhǔn)確度測度誤差
研發(fā)的農(nóng)產(chǎn)品流通追溯設(shè)備樣機(jī),成功實現(xiàn)了在北京某批發(fā)市場的測試應(yīng)用。通過發(fā)行采購商卡,實現(xiàn)對產(chǎn)品來源的跟蹤,并通過網(wǎng)絡(luò)傳輸軟件實現(xiàn)數(shù)據(jù)的上傳和混合條碼標(biāo)簽的打印。消費者可以通過產(chǎn)品條碼實現(xiàn)對產(chǎn)品來源、銷售信息、檢測信息、商戶信息的追溯。農(nóng)產(chǎn)品流通追溯系統(tǒng)如圖9所示。
圖9 農(nóng)產(chǎn)品流通追溯系統(tǒng)
本文給出一種農(nóng)產(chǎn)品安全流通追溯系統(tǒng)硬件電路和軟件設(shè)計與實現(xiàn)過程,基于LPC1766處理器完成了電源、A/D轉(zhuǎn)化、晶振、復(fù)位、以太網(wǎng)通信和RFID模塊、條碼打印模塊的電路設(shè)計,實現(xiàn)了硬件設(shè)計的簡化;基于模塊化的思想進(jìn)行開發(fā),實現(xiàn)了重量采集、條碼打印、RFID識讀、數(shù)據(jù)上傳等任務(wù)算法,達(dá)到了配置方便,使用靈活,滿足不同層次不同需求的批發(fā)市場的目的;經(jīng)重量準(zhǔn)確度測試,系統(tǒng)準(zhǔn)確度誤差在0.5%以內(nèi),優(yōu)于國家三級秤的標(biāo)準(zhǔn),完全可以滿足農(nóng)產(chǎn)品交易的需求,并能實現(xiàn)農(nóng)產(chǎn)品流通過程的質(zhì)量追溯,對于提高流通階段的農(nóng)產(chǎn)品質(zhì)量安全監(jiān)控水平具有重要促進(jìn)作用。
[1]YANG Xinting,QIAN Jianping,SUN Chuanheng,et al.Design and application of safe production and quality traceability system for vegetable [J].Transactions of the Chinese Society of Agricultural Engineering,2008,24(3):162-166(in Chinese).[楊信廷,錢建平,孫傳恒,等.蔬菜安全生產(chǎn)管理及質(zhì)量追溯系統(tǒng)設(shè)計與實現(xiàn) [J].農(nóng)業(yè)工程學(xué)報,2008,24(3):162-166.]
[2]LI Ming,QIAN Jianping,YANG Xinting,et al.A PDA-based record-keeping and decision support system for traceability in cucumber production [J].Computers and Electronics in Agriculture,2010,70(1):69-77.
[3]SUN Chuanheng,LIU Xuexin,DING Yongjun,et al.Design and realization of agricultural products circulation traceability system based on Linux embedded technology [J].Transactions of the CSAE,2010,26(4):208-214(in Chinese).[孫傳恒,劉學(xué)馨,丁永軍,等.基于嵌入式Linux技術(shù)的農(nóng)產(chǎn)品流通追溯系統(tǒng)設(shè)計與實現(xiàn) [J].農(nóng)業(yè)工程學(xué)報,2010,26(4):208-214.]
[4]SUI Yuwei.Agricultural products wholesale markets electronic trading research and realization [D].Shanghai:Tongji University,2007(in Chinese).[隋育偉.農(nóng)產(chǎn)品批發(fā)市場電子交易研究與實現(xiàn) [D].上海:同濟(jì)大學(xué),2007.]
[5]LOU Haowen,ZENG Zhikang,HUANG Kairen,et al.Preliminary study on the pesticides credible circulation management and service application [J].Agriculture Network Information,2008,23(10):119-122(in Chinese).[駱浩文,曾志康,黃楷仁,等.農(nóng)藥可信流通管理與服務(wù)應(yīng)用研究初探 [J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008,23(10):119-122.]
[6]LIU Xuexin,MA Li,SUN Chuanheng,et al.Design and realization of fishery products circulation quality traceability system[J].Agriculture Network Information,2008,23(12):22-24(in Chinese).[劉學(xué)馨,馬莉,孫傳恒,等.流通環(huán)節(jié)水產(chǎn)養(yǎng)殖產(chǎn)品質(zhì)量追溯系統(tǒng)設(shè)計與實現(xiàn) [J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008,23(12):22-24.]
[7]WANG Zhaohong.Discussion on agricultural product circulation pattern based on information technology [J].Journal of Agricultural Mechanization Research,2007,29(8):208-210(in Chinese).[王兆紅.基于信息技術(shù)的農(nóng)產(chǎn)品流通模式探討[J].農(nóng)機(jī)化研究,2007,29(8):208-210.]
[8]QI Lin,ZHANG Jian,XU Mark,et al.Recent advances in simulation and mathematical modeling of wireless networks[J].Mathematical and Computer Modelling,2011,53(11-12):2162-2172.
[9]CHEN Dezeng,ZHANG Min.The design and using of a multifunctional weighing and burden instrument [J].Chinese Journal of Science Instrument,2005,26(8):164-165(in Chinese).[陳德增,張民.多功能稱重配料儀表設(shè)計與應(yīng)用 [J].儀器儀表學(xué)報,2005,26(8):164-165.]
[10]LUO Jihong.DSP-based design of high precision electronic scale [J].Computer Measurement &Control,2010,18(8):1955-1958(in Chinese).[羅及紅.一種高精度的電子秤設(shè)計[J].計算機(jī)測量與控制,2010,18(8):1955-1958.]
[11]YANG Jiuhong,WANG Xiaozeng.Lost children automatic location system based on GPRS and GPS [J].Computer Engineering and Design,2010,31(15):3399-3403(in Chinese).[楊久紅,王小增.基于GPRS和GPS的特殊人群自動定位系統(tǒng) [J].計算機(jī)工程與設(shè)計,2010,31(15):3399-3403.]
[12]TANG Yifeng,CHEN Xinhua,F(xiàn)ENG Hui1,et al.Design of wireless sensor network node for environmental monitoring in greenhouse [J].Hunan Agricultural Sciences,2010,49(19):146-148(in Chinese).[唐義鋒,陳新華,馮輝,等.溫室環(huán)境監(jiān)控?zé)o線傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計 [J].湖南農(nóng)業(yè)科學(xué),2010,49(19):146-148.]
[13]YANG Xu,MA Guangsheng,DU Zhongping.Design and research of embedded automatic measurement system based on FPGA [J].Computer Engineering and Design,2008,29(4):869-872(in Chinese).[楊旭,馬光勝,杜中平.基于FPGA的嵌入式自動計量系統(tǒng)研究與設(shè)計 [J].計算機(jī)工程與設(shè)計,2008,29(4):869-872.]
[14]ZHANG Houwu,YAO Kaixue.System of coal revenue tax based on GPRS and RF IC card [J].Computer Engineering and Design,2007,28(24):5997-5999(in Chinese).[張厚武,姚凱學(xué).基于GPRS和射頻IC卡的煤炭稅費征收系統(tǒng)[J].計算機(jī)工程與設(shè)計,2007,28(24):5997-5999.]
[15]PU Fanghua,TIAN Zuohua.A high-precision electronic weight meter based on W77E516 [J].Measurement & Control Technology,2007,26(6):12-14(in Chinese).[浦 方華,田作華.一種基于 W77E516的高精度電子稱重儀 [J].測控技術(shù),2007,26(6):12-14.]