二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的;在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個與二進(jìn)制相對應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動識讀以實(shí)現(xiàn)信息自動處理。二維碼由于自身設(shè)計(jì)特點(diǎn),可包含更多的信息量,編碼信息范圍更廣,并且由于二維碼具有一定的校驗(yàn)功能等。同時還具有對不同行的信息自動識別功能、以及處理圖形旋轉(zhuǎn)變化點(diǎn),二維碼譯碼更加準(zhǔn)確,其誤碼率為千萬分之一。下圖為QR二維碼構(gòu)造框圖。圖1. QR碼符號的結(jié)構(gòu)1) 位置探測圖形、位置探測圖形分隔符:用于對二維碼的定位,對每個QR碼來說,位置都是固定存在的,只是大小規(guī)格會有所差異;這些黑白間隔的矩形塊很容易進(jìn)行圖像處理的檢測。2) 定位圖形:這些小的黑白相間的格子就好像坐標(biāo)軸,在二維碼上定義了網(wǎng)格。3) 格式信息:表示該二維碼的糾錯級別,分為L、M、Q、H。4) 數(shù)據(jù)區(qū)域:使用黑白的二進(jìn)制網(wǎng)格編碼內(nèi)容。8個格子可以編碼一個字節(jié)。5) 版本信息:即二維碼的規(guī)格,QR碼符號共有40種規(guī)格的矩陣(一般為黑白色),從21x21(版本1),到177x177(版本40),每一版本符號比前一版本每邊增加4個模塊。6) 糾錯碼字:用于修正二維碼損壞帶來的錯誤。
二維碼解碼流程
了解了QR二維碼的構(gòu)造,下面我們來了解解碼流程,QR二維碼的解碼流程如下圖2所示。圖2. QR碼譯碼步驟1) 定位并獲取符號圖像。深色與淺色模塊識別為“0”與“1”的陣列。2) 識讀格式信息(如果需要,去除掩模圖形并完成對格式信息模塊的糾錯,識別糾錯等級與掩模圖形參考)。3) 識讀版本信息,確定符號的版本。4) 用掩模圖形參考,從格式信息中得出對編碼區(qū)的位圖進(jìn)行異或處理消除掩模。5) 根據(jù)模塊排列規(guī)則,識讀符號字符,恢復(fù)信息的數(shù)據(jù)與糾錯碼字。6) 用與糾錯級別信息相對應(yīng)的糾錯碼字檢測錯誤,如果發(fā)現(xiàn)錯誤,立即糾錯。7) 根據(jù)模式指示符和字符計(jì)數(shù)指示符將數(shù)據(jù)碼字劃分成多個部分。8) 最后,按照使用的模式譯碼得出數(shù)據(jù)字符并輸出結(jié)果。二維碼的解碼流程具體實(shí)現(xiàn)的步驟和方法是比較復(fù)雜,涉及到了QR二維碼的標(biāo)準(zhǔn)規(guī)則及相對應(yīng)的算法,知識點(diǎn)很多,網(wǎng)絡(luò)上相關(guān)資料充足,這里就不再贅述。
QR decode快速使用方法
硬件資源
1) USB2) LCD 93413) Sensor OV5640 or OV26404) Buzzer(PE3)5) USER Key6) AT32F435_DVP_EVB_V1.0實(shí)驗(yàn)板圖3. 硬件資源圖
硬件連接及數(shù)據(jù)流
本例程中主要使用到的外設(shè)包括:DVP、I2C、XMC、DMA和USB,其中DVP用于攝像頭數(shù)據(jù)接收,I2C用于初始化攝像頭,XMC用于發(fā)送LCD顯示數(shù)據(jù)至LCD設(shè)備,DMA用于DVP至buffer和buffer至XMC的數(shù)據(jù)傳輸,USB用于將數(shù)據(jù)發(fā)送至PC端。攝像頭數(shù)據(jù)會以Y8的格式用DVP進(jìn)行采集,通過DMA傳輸至內(nèi)存buffer,此buffer會用于LCD顯示和Zbar解碼。在LCD顯示部分,由于LCD無法直接顯示Y8格式數(shù)據(jù),所以首先會將Y8格式轉(zhuǎn)換為RGB格式,然后通過DMA將數(shù)據(jù)傳輸?shù)絏MC用于LCD顯示攝像頭畫面;在Zbar解碼部分,解碼成功后會將解析結(jié)果通過USB傳輸至PC端,并通過XMC將結(jié)果顯示到LCD上。硬件連接以及數(shù)據(jù)流如下圖所示:圖4. 硬件連接及數(shù)據(jù)流圖
QR decode demo使用
由于該demo運(yùn)行占用了256KB的SRAM,而AT32F435/437的SRAM大小是可配置的(SRAM默認(rèn)大小為384KB),為了方便使用,demo已經(jīng)在啟動文件中將SRAM修改為了默認(rèn)大小,亦可自行在extend_sram()函數(shù)中進(jìn)行SRAM大小的配置。圖5. 修改SRAM大小1) 連接USB線到PC,通過上位機(jī)可以識別到該設(shè)備:Artery Virtual COM Port,注意需要安裝USB驅(qū)動:Artery_VirtualCOM_DriverInstall.exe。2) 根據(jù)LCD顯示信息,查看攝像頭初始化是否成功,demo提供的初始化代碼可自動識別OV5640或OV2640兩種攝像頭,若想更換其他攝像頭請自行修改攝像頭初始化代碼。3) 初始化成功后,將攝像頭對準(zhǔn)二維碼,LCD顯示當(dāng)前抓取的攝像頭圖像,此時芯片一直在通過Zbar進(jìn)行二維碼解碼。4) 若芯片解析到數(shù)據(jù),蜂鳴器會進(jìn)行提示并將解析次數(shù)及解析結(jié)果顯示在LCD底部,如圖6所示。同時如果連接了USB至PC端并識別到了Artery Virtual COM Port,還會將解析到的數(shù)據(jù)通過USB傳輸?shù)絇C端,如圖7所示。當(dāng)解析到新的圖碼數(shù)據(jù)時會將解析次數(shù)清零,并更新解析結(jié)果。5) 若芯片未解析到圖碼數(shù)據(jù),LCD將無結(jié)果顯示,或保留上次解析的結(jié)果及次數(shù)。6) 蜂鳴器提示音可以通過USER Key進(jìn)行開關(guān)。7) 可通過以下宏定義來對攝像頭輸出數(shù)據(jù)大小進(jìn)行設(shè)置,為了兼顧成像效果和資源占用,建議輸出大小設(shè)置為160至240(pixel)之間:#define CAMERA_SIZE 2408) 可通過以下宏定義來選擇是否開啟LCD顯示:#define LCD_DISPLAY9) 應(yīng)用效果展示視頻鏈接如下:https://b23.tv/Y4nhMNR圖6. LCD顯示解析數(shù)據(jù)
圖7. USB傳到上位機(jī)數(shù)據(jù)
關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。
-
mcu
+關(guān)注
關(guān)注
146文章
17894瀏覽量
362009 -
雅特力
+關(guān)注
關(guān)注
0文章
179瀏覽量
8503 -
AT32
+關(guān)注
關(guān)注
1文章
121瀏覽量
2633
發(fā)布評論請先 登錄
首日速遞 | 雅特力閃耀2025慕尼黑上海電子展,全方位展現(xiàn)智能“芯”實(shí)力

雅特力AT32 OTGHS應(yīng)用筆記

喜訊!雅特力榮獲21ic“技術(shù)先鋒成就獎”

雅特力AT32 Workbench煥“芯”升級!引入Middleware助力開發(fā)高效提速

雅特力AT32F402/F405時鐘配置

雅特力林金海:創(chuàng)新技術(shù)突圍芯片內(nèi)卷,把握AI、汽車新動能

雅特力發(fā)布高性能電機(jī)控制專用MCU
雅特力發(fā)布AT32M412/M416電機(jī)控制專用MCU,180MHz主頻打造高效能電機(jī)應(yīng)用

AT32講堂088 | 雅特力AT32F402/F405時鐘配置

AT32講堂087 | 雅特力AT32 IDE快速入門指南

STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC輸出電壓
雅特力AT32 MCU的隨機(jī)數(shù)生成

AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準(zhǔn)

雅特力亮相2024慕尼黑上海電子展
雅特力攜多款AT32 MCU新品與應(yīng)用方案亮相2024慕尼黑上海電子展

評論