0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ZC-CLS381RGB顏色識別+8x8點陣指示—配置顏色識別寄存器組(上)

FPGA創(chuàng)新中心 ? 來源:FPGA創(chuàng)新中心 ? 2023-11-03 17:40 ? 次閱讀

在現(xiàn)代工業(yè)生產(chǎn)中,顏色識別技術已經(jīng)成為了一個非常重要的技術。顏色識別可以用于產(chǎn)品質量檢測、物料分類、機器視覺等領域。本文將介紹如何使用FPGA結合ZC-CLS381RGB進行顏色識別。

教程通過對采集到的圖像信息中,R、G、B三個顏色分量的占比,來判斷識別到的顏色信息。本教程只實現(xiàn)對紅色、綠色、藍色的識別,如果各位讀者要想實現(xiàn)對其它色彩信息的識別,可根據(jù)三個色彩分量的占比來判斷。

ZC-CLS381RGB簡介

ZC-CLS381RGB是一款基于RGB三基色原理的顏色識別傳感器。它可以通過對物體反射光的RGB三基色分量進行測量,來判斷物體的顏色。該傳感器具有高精度、快速響應、穩(wěn)定性好等特點,廣泛應用于自動化生產(chǎn)線、機器人、智能家居等領域。

配置寄存器

ZC-CLS381RGB是一款RGB LED驅動芯片,需要通過配置寄存器來讓該模塊正常工作。下面就對顏色識別需要配置的寄存器進行介紹。

主控寄存器

01

MAIN_CTRL Register是主控寄存器,下圖是主控寄存器的配置介紹:

wKgZomVEwBiATzWqAAHFub6DzHU673.jpg

? bit7~bit5,bit3,bit0:保留位(Reserved),使用時將這幾位置0即可。

? bit4:軟件復位位(SW Reset),當該位被置1時,芯片會進行軟件復位,即將所有寄存器的值恢復為默認值。在使用ZC-CLS381RGB時,如果出現(xiàn)異常情況,例如芯片無法正常工作或者輸出異常,可以通過將SW Reset位置1來進行軟件復位,以恢復芯片的正常工作狀態(tài)。同時,在初始化芯片時,也可以通過將SW Reset位置1來確保芯片的寄存器值處于默認狀態(tài),以避免出現(xiàn)不可預期的問題。但是如果軟件復位位一直為高電平,模塊就無法正常采集顏色,一直處于復位狀態(tài),如果要關閉該位則還需要發(fā)送一次指令。因此在本設計初始化時,將該位置為0,不啟用軟件復位。

? bit2:顏色傳感器模式位(CS Mode),該位置為1時,表示所有的光傳感器通道都被激活,包括RGB(三原色)、IR(紅外光)和COMP(環(huán)境光)。這意味著該傳感器可以同時測量紅、綠、藍三種顏色的光線強度、紅外線的強度以及環(huán)境光的強度,并將這些數(shù)據(jù)傳輸?shù)郊拇嫫髦羞M行處理。初始化配置時,需將該位置為1。

? bit1:環(huán)境光傳感器/顏色傳感器使能位(ALS/CS Enable),當該位置1時,表示使能環(huán)境光傳感器和顏色傳感器。在本設計中,需要使用到這兩個傳感器,因此在初始化時需要將該位置為1。

檢測速率寄存器

02

ALS_CS_MEAS_RATE Register是環(huán)境光傳感器和顏色傳感器檢測速率寄存器,下圖是對該寄存器的配置介紹:

wKgZomVEwBiAAFq0AAFWbVH_lmM583.jpg

?bit7、bit3:保留位(Reserved),使用時這兩位需要置0。

? bit6,bit5,bit4:環(huán)境光傳感器和顏色傳感器速率位(ALS/CS Resolution),初始化時設置{bit6,bit5,bit4}=100,利用最快的時間對采集到的數(shù)據(jù)進行轉換。

?bit2,bit1,bit0:環(huán)境光傳感器和顏色傳感器測量速率位(ALS/CS Measurement Rate),初始化設置{bit2,bit1,bit0}=000,利用最快的采集速率采集數(shù)據(jù)。

增益寄存器

03

ALS_CS_MEAS_RATE Register是環(huán)境光傳感器和顏色傳感器增益寄存器,下圖是對該寄存器的配置介紹:

wKgaomVEwBiAIrQbAACoRhPz6ZY070.jpg

?bit7~bit3:保留位(Reserved),使用時這兩位需要置0。

? bit2~bit0:環(huán)境光傳感器和顏色傳感器增益率位(Reserved),初始化時設置{bit2,bit1,bit0}=100,將增益率調到最大,以此增強信號的強度,使得信號更容易被檢測到。

線上交流會

04

因為本教程采集的是紅色、綠色、藍色數(shù)據(jù),芯片手冊提供的寄存器組如下圖所示:

wKgaomVEwBiAbvmvAAJRs4L7CXg716.jpg

0x0D、0x0E、0x0F分別表示綠色信息的低8位、中8位、高8位數(shù)據(jù);0x10、0x11、0x12分別表示紅色信息的低8位、中8位、高8位數(shù)據(jù);0x13、0x14、0x15分別表示藍色信息的低8位、中8位、高8位數(shù)據(jù)。在使用中,直接讀取這些寄存器內的數(shù)據(jù),然后拼接起來,即可得到紅、綠、藍色數(shù)據(jù),再根據(jù)三個數(shù)據(jù)的占比,從而對采集到的物體顏色進行判斷。

狀態(tài)轉移圖和信號波形圖繪制

在正式開始使用器件時,需要等待一段時間讓器件穩(wěn)定下來,如圖所示:

wKgaomVEwBiAGwx_AAD6OXuJfHE547.jpg

待機喚醒時間最大為10ms,表示在測量的時候,兩次獲取數(shù)據(jù)的時間間隔最大為10ms。由于在數(shù)據(jù)手冊內,未說明上電后直到模塊穩(wěn)定需要等待的時間,在這里我們人為設置上電等待的時間為20ms,給模塊一個緩沖的時間,然后再對它進行配置。配置寄存器組信號波形圖如下圖所示:

wKgaomVEwBiAcMFkAAE5afKQjTo147.jpg

其中,i2c_start作為i2c控制模塊的開始信號,檢測到該開始信號后,就開始配置寄存器,向各個寄存器內寫入數(shù)據(jù)。綜上繪制的i2c控制模塊配置寄存器組的狀態(tài)轉移圖如下圖所示:

wKgZomVEwBiATRwUAABpcIwZsCQ498.jpg

為了設計方便,對于50MHZ的系統(tǒng)時鐘,將其分頻為1MHZ的i2c驅動時鐘用來驅動后續(xù)模塊,同時令一個SCL時鐘周期為4us,高電平持續(xù)時間為2us,低電平持續(xù)時間也為2us。這樣設計的好處是,滿足SCL高電平持續(xù)時間大于0.6us,SCL低電平持續(xù)時間大于1.3us。如下圖所示:

wKgZomVEwBiAcolqAAFEDM7ORQc829.jpg

綜上,繪制的分頻信號波形圖如下圖所示:

wKgZomVEwBiAFeCvAACFLwthymU309.jpg

結合狀態(tài)轉移圖,繪制的配置寄存器信號波形圖如下圖所示:

wKgaomVEwBiAQvNKAAKaX5w8NgQ907.jpg

wKgZomVEwBiAPqzGAAJzdeOXZco103.jpg

wKgaomVEwBiAFpz3AAKMFPC1sdk154.jpg

需要注意的是,配置寄存器組跳轉條件為skip_en_0,這里配置的寄存器是向寄存器里面寫入數(shù)據(jù),總共需要配置三個,三個寄存器配置完成后,才能讀出顏色數(shù)據(jù)。因此,step從0自增到1,必須要在cfg_num為3并且檢測到結束信號的情況下進行。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2541

    文章

    49945

    瀏覽量

    747458
  • FPGA
    +關注

    關注

    1620

    文章

    21510

    瀏覽量

    598884
  • 寄存器
    +關注

    關注

    31

    文章

    5250

    瀏覽量

    119195
  • RGB
    RGB
    +關注

    關注

    4

    文章

    785

    瀏覽量

    58203

原文標題:【知識分享】ZC-CLS381RGB顏色識別+8x8點陣指示——配置顏色識別寄存器組(上)

文章出處:【微信號:FPGA創(chuàng)新中心,微信公眾號:FPGA創(chuàng)新中心】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    求助。8x8點陣的接法

    這個是我們社區(qū)里的那個8x8點陣貪吃蛇的游戲,無聊想自己做一個,可是不確定器件清單,有做過的嗎,教教吧。
    發(fā)表于 05-11 13:36

    8x8點陣led顯示

    本帖最后由 eehome 于 2013-1-5 09:45 編輯 有8x8點陣作品
    發(fā)表于 05-19 11:19

    Protues16x16點陣庫文件(非4個8x8拼接而成)

    8x8點陣拼成一個16x16的點陣,但這樣組合過程中連線十分麻煩,而且屏幕整體感不強。此16x16點陣
    發(fā)表于 07-18 02:42

    8x8點陣仿真

    本帖最后由 gk320830 于 2015-3-4 12:53 編輯 基于2片595級聯(lián)驅動的8X8點陣仿真及0到9數(shù)字顯示程序
    發(fā)表于 08-19 20:07

    8x8點陣。。。。

    8x8點陣。。。。
    發(fā)表于 05-05 16:25

    51單片機學習記錄(8) “8X8點陣 精選資料推薦

    51單片機學習記錄(8) “8x8點陣8x8點陣就是由64個小led燈組成的矩陣,現(xiàn)在先讓我們看一下
    發(fā)表于 07-15 06:45

    8×8點陣顯示仿真

    8x8點陣顯示仿真,實現(xiàn)數(shù)字0-9的計數(shù)
    發(fā)表于 01-12 16:49 ?37次下載

    【實驗102】8X8點陣實驗

    HL配套C實驗例程8X8點陣實驗,配合開發(fā)板學習效果更好。
    發(fā)表于 04-11 17:14 ?17次下載

    8x8點陣貪吃蛇

    51單片機--8x8點陣貪吃蛇:源程序文件(含圖片、程序文本)
    發(fā)表于 12-26 17:21 ?45次下載

    8X8點陣LED顯示屏字模提取軟件(測試版)

    8X8點陣LED顯示屏字模提取軟件(測試版)
    發(fā)表于 12-28 10:16 ?0次下載

    8x8點陣取模軟件

    8x8點陣取模軟件
    發(fā)表于 01-08 15:32 ?50次下載

    如何使用51單片機實現(xiàn)8x8點陣顯示的程序免費下載

    本文檔的主要內容詳細介紹的是如何使用51單片機實現(xiàn)8x8點陣顯示的程序免費下載。
    發(fā)表于 06-28 17:42 ?23次下載
    如何使用51單片機實現(xiàn)<b class='flag-5'>8x8</b><b class='flag-5'>點陣</b>顯示的程序免費下載

    使用51單片機進行8x8點陣的詳細資料說明

    本文檔的主要內容詳細介紹的是使用51單片機進行8x8點陣的詳細資料說明。
    發(fā)表于 06-17 17:44 ?12次下載
    使用51單片機進行<b class='flag-5'>8x8</b><b class='flag-5'>點陣</b>的詳細資料說明

    8x8點陣字模提取軟件應用程序免費下載

    本文檔的主要內容詳細介紹的是8x8點陣字模提取軟件應用程序免費下載。
    發(fā)表于 04-28 16:24 ?71次下載
    <b class='flag-5'>8x8</b><b class='flag-5'>點陣</b>字模提取軟件應用程序免費下載

    8X8點陣應用演示的keil程序和電路圖免費下載

    本文檔的主要內容詳細介紹的是8X8點陣應用演示的keil程序和電路圖免費下載。
    發(fā)表于 05-22 14:18 ?33次下載
    <b class='flag-5'>8X8</b><b class='flag-5'>點陣</b>應用演示的keil程序和電路圖免費下載