針對目前電子計價(jià)秤軟件作弊導致計量難、監管難的問(wèn)題,設計一種八CS — 30電子計價(jià)秤輸出截獲系統,可 應用于電子計價(jià)秤作弊檢測系統,實(shí)現電子計價(jià)秤作弊自動(dòng)檢測。該ACS — 30電子計價(jià)秤輸出截獲系統以八tmel SAM3X8E為控制核心,基于電子計價(jià)秤常用顯示輸出設備LCD顯示屏、LED顯示屏的驅動(dòng)原理,對顯示屏引腳進(jìn)行 信號讀取,經(jīng)分析、處理后得到顯示屏顯示數值。實(shí)驗結果表明,模擬載荷值為2. 0kg和10. 0kg時(shí),該系統對帶LED 顯示屏的電子計價(jià)秤的輸出截取錯誤率分別為0%、0. 2%,對帶LCD顯示屏的電子計價(jià)秤的輸出截取錯誤率分別為 0%、0. 1%,再結合上位機進(jìn)行二次校驗,錯誤率低于百萬(wàn)分之一。該系統工作穩定,適用性強,可配合檢測系統實(shí)現 對電子計價(jià)秤的自動(dòng)化作弊檢測。
0.引言
電子計價(jià)秤作為一種常用的計量器具,具 有稱(chēng)量方便、計算快捷、顯示直觀(guān)的優(yōu)點(diǎn),廣泛應用 于超市、市場(chǎng)等交易場(chǎng)所的稱(chēng)重測量。然而,不法分子利用各種手段人為地修改稱(chēng)重結果,通過(guò)這些電子 秤作弊手法欺騙消費者的不法行為時(shí)有發(fā)生,嚴重影 響貿易結算的公平性。在各種電子秤作弊的實(shí)現方 式中,軟件作弊由于其無(wú)需硬件改動(dòng)和易恢復等特 點(diǎn),使執法人員往往對其束手無(wú)策,出現了計量難、監 管難的問(wèn)題3。對于電子計價(jià)秤軟件作弊,由于幾乎 不能獲取源代碼進(jìn)行白盒分析,所以其檢測方法通常 為窮舉法。面對眾多的密碼組合方式,須采用自動(dòng) 化檢測方法,其中,自動(dòng)截獲電子計價(jià)秤重量顯示器端的輸出結果是實(shí)現自動(dòng)化檢測的重要環(huán)節。
針對上述電子計價(jià)秤軟件作弊導致計量難、監管 難的問(wèn)題,本文設計用于電子計價(jià)秤作弊檢測的電子 計價(jià)秤輸出截獲系統,在分析LED和LCD顯示屏顯 示原理和特點(diǎn)的基礎上,分別設計、實(shí)現基于 SAM3X8E的LED顯示屏輸出截取模塊和LCD顯示 屏輸出截取模塊,結合上位機實(shí)現電子稱(chēng)軟件作弊檢 測,具有很好的應用前景。
1.電子計價(jià)秤作弊檢測系統
圖1是電子計價(jià)秤作弊自動(dòng)檢測裝置原理圖。 為達到自動(dòng)化測試要求,要求電子計價(jià)秤作弊檢測系 統的硬件可以實(shí)現以下功能:1)鍵盤(pán)模擬,通過(guò)軟件 對電子計價(jià)秤鍵盤(pán)輸入進(jìn)行模擬;)輸出截獲,截獲 電子計價(jià)秤稱(chēng)重顯示器端輸出結果并傳輸給自動(dòng)化 測試控制軟件;3)模擬目標電子稱(chēng)的載荷信號。
圖1電子計價(jià)秤作弊自動(dòng)檢測裝置原理圖 考慮上述硬件需求,本電子計價(jià)秤作弊檢測系統 檢測部分采用C/S構架,分為數據庫服務(wù)器端、測試 機端和單片機采集端。其中,服務(wù)器端運行SQL SERVER數據庫,作為系統的存儲數據庫;測試機端 運行上位機程序,作為作弊檢測系統的控制部分; ARM單片機采集端用于獲取電子秤屏幕顯示信息、 執行電子秤按鍵閉合、模擬電子秤傳感器輸出數據 等。
上位機程序根據作弊碼規則自動(dòng)生成作弊碼序 列,將該序列傳送至單片機,單片機控制電子開(kāi)關(guān)執 行鍵盤(pán)按鈕閉合操作模擬物理按鍵按下,并給出模擬 的重量傳感器信號,再由電子秤顯示信息;此時(shí),輸出 截獲模塊抓取電子秤顯示屏數據進(jìn)行比較,以此判斷 電子秤是否作弊,循環(huán)執行以下流程即可實(shí)現窮舉測 試:)清零、去皮操作;2)給定模擬載荷,獲取該載荷 下重量屏幕顯示值,并記為W0;3)輸入待測按鍵序 列;4)獲取當前屏幕顯示值W1,并與W0作比較,判 斷該按鍵序列是否為作弊碼。
2.電子計價(jià)秤輸出截獲系統
ACS — 30電子計價(jià)秤的顯示一般分為“質(zhì)量” “單價(jià)” “總價(jià)” 3個(gè)顯示屏,常見(jiàn)的顯示輸出設備為LED數碼管或LCD液晶屏。
顯示屏輸出截獲可通過(guò)以下途徑實(shí)現:)截獲主 控芯片發(fā)送給驅動(dòng)芯片的命令進(jìn)行破譯;2)直接捕捉 顯示屏管腳信息進(jìn)行破譯。方法1)僅需少量接線(xiàn)便 可捕捉3個(gè)顯示屏的信息,方便快捷,但需針對不同 驅動(dòng)芯片進(jìn)行編程適配;方法2)需較多的接線(xiàn),但可 直接根據顯示原理獲取顯示屏信息,無(wú)需針對不同驅 動(dòng)芯片進(jìn)行編程適配,通用性強。綜合實(shí)際情況,本 文采用方法2)策略進(jìn)行顯示屏信息截獲。下面分別 介紹LED數碼管顯示屏、LCD液晶屏的輸出截獲系 統設計。
2. 1 LED顯示屏輸出截獲技術(shù)
2.1.1LED顯示屏輸出截獲原理
LED數碼管是由多個(gè)發(fā)光二極管封裝成“8”字 型器件,引線(xiàn)已在內部連接,只需引出各筆劃段引腳 及公共電極。各筆畫(huà)段及公共電極分別由字母A、B、 C、D、E、F、G和DP來(lái)表示,如圖2所示。
LED數碼管按照結構分為共陰極、共陽(yáng)極。共 陰極即COM端接低電平、相應各筆畫(huà)段電極引腳接 高電平,即可點(diǎn)亮該段;共陽(yáng)極即COM端接高電、相 應各筆畫(huà)段電極引腳接低電平,即可點(diǎn)亮該段。
由于質(zhì)量顯示屏由多位數字組成(通常為5位), 為節省主控芯片的I/O 口,其驅動(dòng)方式一般為動(dòng)態(tài)掃 描驅動(dòng),即通過(guò)專(zhuān)用LED數碼管驅動(dòng)芯片,分時(shí)輪流 控制各LED數碼管的COM端,使各數碼管輪流受控 顯示,每位元數碼管的點(diǎn)亮時(shí)間約為1ms或更短。由 于人類(lèi)視覺(jué)暫留現象及發(fā)光二極體的余輝效應,各數 碼管輪流顯示方式給人的印象就如一組不存在閃爍 感的數字。
質(zhì)量顯示屏中驅動(dòng)LED接線(xiàn)方式為各位數碼管 相同段電極引腳相互連接,然后連接至驅動(dòng)芯片,各 COM引腳單獨連接至驅動(dòng)芯片,常見(jiàn)的LED驅動(dòng)芯片有!A6932、BL1616s 等[6一。
通過(guò)邏輯分析儀捕捉LED數碼管管腳電平可直 觀(guān)看出其驅動(dòng)原理,如圖3所示。圖中MyBus0[0]連 接電子計價(jià)秤重量顯示屏中最左側十位顯示位的 COM引腳,其后分別連接該位數碼管的G、F、A、B、 E、D引腳??煽闯?,當十位的COM端置零時(shí),G、F、A、B、E、D引腳對應電平序列為“101111”,根據圖2 可推斷該位顯示數字為“2”(對于純數字顯示,C引腳 電平不影響區分0?9數字顯示);從圖3還可看出該 顯示屏各個(gè)位數碼管點(diǎn)亮時(shí)間約為0. 2ms,完成一輪 掃描的時(shí)間約為 4ms。
LED數碼管驅動(dòng)芯片的COM引腳為開(kāi)漏輸出, 故選定該位時(shí)COM引腳為低電平,未選中該位時(shí) COM引腳為高阻態(tài)。
通過(guò)上述分析,可得出LED數碼管顯示屏輸出 截取方法,以共陰極為例,掃描各位數碼管的COM 端,若該位COM端為低電平,讀取各段引腳電平,根 據圖2所示各段位置即可得出該位顯示數值。此時(shí), 完成所有位的COM引腳掃描即可得出重量顯示屏 的輸出數值。
2.1.2LED顯示屏輸出截獲技術(shù)
基于上述LED數碼管顯示屏輸出截取方法,設 計LED數碼管顯示屏輸出截取模塊,采用Atmel SAM3 X8E作為主控芯片,設置內部上拉模式(用于 區分高阻態(tài)與低電平)逐位讀取各COM引腳電平, 當該位COM引腳為低電平時(shí),讀取各筆畫(huà)段引腳電 平模擬值;通過(guò)閾值函數,讀取該筆畫(huà)段引腳模擬信 號值,模擬信號值超過(guò)設定閾值時(shí)返回1,否則返回 0。讀取該位完畢后,返回的數值組成一個(gè)8位的字 節,并與0?9數字的目標字節進(jìn)行匹配,便可得到該 位的顯示數值。若返回字節與0?9數字的目標字節 不匹配,則返回Error。掃描完該顯示屏所有COM引 腳,即可得到顯示屏的顯示值。圖4是LED數碼管 顯示屏輸出截取模塊程序流程圖。
該模塊接受上位機的命令后執行上述截取程序, 獲得顯示屏的顯示值后,控制板通過(guò)串口將該顯示值 信息傳送至上位機進(jìn)行處理。
圖4 LED數碼管顯示屏輸出截取模塊程序流程圖
2.2LED顯示屏輸出截獲
2.2.1 LCD 顯示屏輸出截獲 段式LCD液晶屏管腳分為段電極(SEG)和背電 極(COM),與LED數碼管驅動(dòng)方式不同,LCD液晶 屏須采用交流電壓驅動(dòng),以保持其穩定顯示。背電極 (COM)電平一直處于交流變換狀態(tài),當某個(gè)背電極 (COM)和某個(gè)段電極(SEG)之間加上足夠的交流電 壓后,便將對應段點(diǎn)亮。常見(jiàn)的臺式電子秤LCD驅 動(dòng)芯片有HT1621、TM7711等。
圖5所示為電子計價(jià)秤通常采用的LCD顯示屏 引腳圖,1?4管腳分別為COM1?COM4管腳,5?14 管腳分別為SEG1?SEG10管腳。若要使某一段顯 示,需在對應的段電極(SEG)和背電極(COM)之間加 上足夠的交流電壓,即相應背電極(COM)為最高電 壓值和對應段電極(SEG)為最低電壓值,或背電極(COM)為最低電壓值和對應段電極(SEG)為最高電 壓值。結合表1所示五位段式LCD顯示屏引腳功 能對照表,便可得到各個(gè)數字點(diǎn)亮的規則。
通過(guò)示波器分析LCD顯示屏背電極(COM)管 腳,分析結果如圖6所示,從上至下分別為COM1、 COM2、COM3、COM4的電平波形,COM1 口電平呈 周期變化,共有4種電平(電平個(gè)數取決于偏置設置 bias):最高、最低、次高和次低,每種電平持續時(shí)間約 2ms,最高電平比最低電平約高S 3V,COM1?COM4 按順序逐個(gè)掃描。
圖6 LCD背電極(COM1?COM4)電平示意圖 通過(guò)上述分析,可得出LCD顯示屏信息截取方 法:依次掃描4個(gè)背電極(COM1?COM4),電壓最低 時(shí),判斷各段電極(SEG)是否為最高電平,若是最高 電平,則對應表1中的段點(diǎn)亮;若不是最高電平,則該 段不顯示。掃描完所有位,再結合圖6和表1的對應 規則則可獲得顯示屏的顯示信息。
2.2.2 LCD顯示屏輸出截獲技術(shù)
基于上述LCD顯示屏信息截取算法,設計LCD 顯示屏輸出截取模塊:采用八tmel SAM3X8E單片機 作為主控芯片,采集LCD顯示屏各管腳模擬值信息, 按照上述LCD顯示屏信息截取方法分析、處理后獲 得顯示屏信息,再通過(guò)串口傳送至上位機進(jìn)行處理。
編程實(shí)現LCD顯示屏輸出截獲功能時(shí),按照逐 位捕捉的方式,分別得到每位數字,然后組合成質(zhì)量 顯示數值。每位顯示值均需2位段電極(SEG)和全 部4個(gè)背電極(COM)共同確定,故每一位顯示值對應 的段電極分別為:左起第1位對應SEG1、SEG2,第2 位對應SEG3、SEG4,第3位對應SEG5、SEG6,第4 位對應SEG7、SEG8,第5位對應SEG9、SEG10。以 第5位捕捉為例,圖7是其輸出截取程序流程圖,捕 捉其他位顯示值程序流程與之類(lèi)似。
圖7 LCD第5位數字輸出截取程序流程圖 讀取段電極(SEG)模擬值時(shí),設置閾值函數,讀 取段電極模擬信號值,模擬信號值超過(guò)閾值設定值時(shí) 返回1,否則返回0。讀取該位完畢后,返回的數值組 成一個(gè)8位的字節,與0?9數字的目標字節進(jìn)行匹 配,便可獲得該位的顯示數值;若返回字節與0?9數 字的目標字節不匹配則返回 Error。
整個(gè)LCD顯示信息獲取需讀完所有位,其程序 流程圖與LED輸出截取模塊相同,如圖4所示。
3.系統實(shí)現和驗證
通常電子計價(jià)秤輸出截獲的上位機程序采用 C#. net開(kāi)發(fā),通過(guò)串口與ARM單片機控制板通信, 并控制單片機控制板對電子計價(jià)秤進(jìn)行模擬鍵盤(pán)輸 入、輸出截獲、模擬載荷等操作。電子計價(jià)秤輸出截 獲系統集成5大模塊:樣品管理模塊、按鍵序列生成
模塊、作弊檢測模塊、鍵盤(pán)適配模塊、歷史作弊碼模 塊。電子計價(jià)秤輸出截獲系統能快速檢測5位以?xún)?/span> 位數的作弊碼。圖8是電子計價(jià)秤輸出截獲系統運 行界面。
下面對電子計價(jià)秤輸出截獲系統的輸出截獲效
果進(jìn)行實(shí)驗驗證。給定電子計價(jià)秤一個(gè)特定并穩定 的載荷信號,調用電子計價(jià)秤輸出截獲系統的輸出截 取模塊,每隔2s讀取1次輸出顯示值,分別測試1000 次。表2和表3分別該系統對帶LED顯示屏的電子 計價(jià)秤、帶LCD顯示屏電子計價(jià)秤的實(shí)驗結果。
從表2和表3可以看出,未加校驗的輸出截獲存 在一定的錯誤率,所以需在上位機上對數據進(jìn)行2次 校驗:即若兩次截取值不同則重新截取,直至出現相 同值;并且在測試結束后,若判定電子計價(jià)秤存在作 弊,還需對判定的作弊密碼進(jìn)行復測。經(jīng)校驗后的錯 誤率低于百萬(wàn)分之一,則滿(mǎn)足相關(guān)測試標準的要 求。
4.結束語(yǔ)
本文設計的電子計價(jià)秤輸出截獲系統通過(guò)直 接捕捉LED與LCD顯示屏引腳信息實(shí)現顯示屏輸 出截取功能,與截取主控芯片發(fā)送給驅動(dòng)芯片命令的 方式相比,具有更好的通用性。
電子計價(jià)秤輸出截獲系統分別對帶LED顯 示屏的電子計價(jià)秤和對帶LCD顯示屏的電子計價(jià)秤的輸出截取錯誤率為0%、0. 2% (模擬載荷值為 2 0kg和1Q 0kg)和0%、0. 1%(模擬載荷值為2 0kg 和10. 0kg),再通過(guò)上位機進(jìn)行2次校驗,錯誤率低于 百萬(wàn)分之一。
3)電子計價(jià)秤輸出截獲系統穩定性較高,通過(guò) 上位機校驗后,準確性滿(mǎn)足相關(guān)測試標準的要求,可 應用于八CS — 30臺式電子計價(jià)秤等電子計價(jià)秤的作 弊測試,實(shí)用性強。