xwjzc.cn-人妻在线日韩免费视频,久久久精品人妻一区二区三区蜜桃,丰满老熟好大BBB,日韩无码专区

您當前的位置:首頁>>新聞中心>>行業動態

電子秤作弊黑盒測試中顯示信息獲取的方法與實現

時間:2017-05-25 05:23:55   點擊數:

本文就臺式電子秤軟件作弊檢測問題介紹了一種臺式電子秤作弊黑盒檢測系統,針對該系統中的重要實現模塊——顯示信息獲取模塊,基于硬件分析給出相應的實現方法并應用于實際檢測中。

1.電子秤作弊黑盒檢測系統介紹

電子秤作弊黑盒檢測系統設計的出發點是能夠使該系統取代人工重復執行窮舉測試。

系統檢測部分基于 C/S 構架,分為數據庫服務器端、測試機端和單片機采集端。服務器端運行 SQL SERVER 數據庫,作為系統的存儲數據庫;測試機端運行上位機程序,進行作弊檢測系統的控制部分;單片機采集端用來獲取電子秤屏幕顯示信息、執行電子秤按鍵閉合、模擬電子秤傳感器輸出數據等。

上位機程序根據作弊碼規則自動生成作弊碼序列,將該序列傳入單片機,單片機控制電子開關執行鍵盤按鈕閉合操作模擬物理按鍵按下,并給出模擬重量傳感器信號,再由電子秤顯示信息獲取模塊抓取電子秤屏幕數據進行比較來判斷電子秤是否作弊,循環執行以下流程即可實現窮舉測試。

系統執行流程:

1)清零、去皮操作;(2)給定模擬載荷,獲取該載荷下重量屏幕顯示值,并記做 W0;(3)輸入待測按鍵序列;(4)獲取當前屏幕顯示值 W1,并與 W0 作比較,判斷該按鍵序列是否為作弊碼。

2.屏幕顯示信息獲取模塊

臺式電子秤的顯示一般分為重量單價總價三個顯示屏。常見的臺式電子秤為 LED 數碼管或 LCD 液晶屏,其中 LED 數碼管驅動原理較為簡單,本文主要對 LCD 液晶屏的顯示信息獲取進行討論。

顯示信息的獲取可以通過:1,通過抓取主控芯片發送給驅動芯片的命令進行破譯;2,直接抓取 LCD 液晶屏管腳信息進行破譯實現。第一種方法僅需少量接線便可以抓取三個屏幕的信息,方便快捷,但需針對不同驅動芯片進行編程適配;第二種方法需要較多的接線,但是直接根據 LCD 顯示原理進行獲取,無需針對不同驅動芯片做適配,通用性強。綜合實際情況,本文采用第二種獲取方法。

2.1 模塊原理

ACS-30 型臺式電子秤 LCD 液晶屏一般采用段式 LCD 顯示屏,通常有六塊顯示屏:重量單價總價各兩塊,其中重量單價顯示屏為 5 LCD總價顯示屏為 6 LCD,其外觀如圖 1 所示。

臺式1.jpg

段式 LCD 液晶屏管腳分為段電極(SEG)與背電極(COM),不同于 LED 數碼管驅動,LCD 液晶屏的驅動必須使用交流電壓驅動才能保持穩定的顯示。背電極(COM)電平一直處于交流變換狀態,當某個背電極(COM)和 某個段電極(SEG)之間加了足夠的交流電壓之后,就會將對應的段點亮。常見的臺式電子秤 LCD 驅動芯片有 HT1621TM7711 等。

LCD 顯示屏引腳如圖 2 所示:1~4 管腳分別為 COM1~COM4 管腳 ,5~14 管腳分別為 SEG1~SEG10 管腳。若要使某一段顯示時,需要在對應的段電極(SEG)和背電極(COM)之間加上足夠的交流電壓,即:相應背電極(COM)為最高電壓值同時對應段電極(SEG)為最低電壓值;或背電極(COM)為最低電壓值同時對應段電極(SEG)為最高電壓值。結合表 1,便可以得到各個數字點亮的規則。

臺式2.jpg

用示波器對 LCD 顯示屏背電極(COM)管腳進行分析,如圖 3 所示:COM1 口電平周期變化,共有 4 種電平(電平的個數取決于偏置設置:bias):最高,最低,次高,次低,每種電平持續時間 2ms 左右,最高電平對最低電平約 3.3vCOM1~COM4 按順序逐個掃描。

臺式3.jpg

通過上述分析可以得出 LCD 顯示屏信息獲取算法:依次掃描 4 個背電極(COM)為最低電壓時,判斷各段電極(SEG)是否為最高電平,若是,則對應表 1 中的段點亮;若否,則該段不顯示。掃描完所有的位,再結合圖 2 與表 1 的對應規則就可獲得顯示屏的顯示信息。

2.2 模塊實現

基于上述 LCD 顯示屏信息獲取算法,可設計顯示信息采集模塊:采用 ARM 單片機作為主控芯片,采集 LCD 顯示屏各管腳模擬值信息,按上述算法分析處理后得到顯示屏信息,再通過串口傳給上位機進行處理。

具體編程實施抓取時按照逐位抓取的方式進行,分別得到每一位的數字,然后再組合成重量顯示示數:每一位顯示值均需2位段電極(SEG)和全部4個背電極(COM)共同確定,故每一位顯示值對應的段電極分別為:左起第一位對應 SEG1SEG2,第二位對應 SEG3SEG4,第三位對應 SEG5SEG6,第四位對應 SEG7SEG8,第五位對應 SEG9SEG10。設定在每個背電極為最低電壓時,讀取對應位的 2 個段電極(SEG)的模擬值,設置閾值函數,讀取段電極模擬信號值超過該閾值時返回 1,否則返回 0。讀取該位完畢后,返回的數值組成一個8位的字節,和 0~9 數字的目標字節進行匹配,便可得到該位的顯示數值,若返回字節不能和 0~9 數字的目標字節匹配則返回 Error

整個 LCD 顯示信息獲取需要讀完所有位,其程序流程圖如圖 4 所示。

臺式4.jpg

測試時,將該模塊連接線鉤掛在 LCD 顯示屏的引腳上,并統一好接地,便可以方便的讀取 LCD 屏幕顯示信息。

3.系統運行

屏幕顯示信息獲取模塊通過串口與上位機連接,集成到系統中,接受上位機的抓取命令后執行抓取程序并返回屏幕顯示值給上位機處理。該模塊直接根據 LCD 液晶屏的特性進行抓取,與驅動芯片無關,無需根據驅動芯片做額外適配,通過上位機做校驗后,抓取正確率滿足測試要求。