9
HT66FB576 多彩獨立光 USB 鍵盤應用範例 AN0463T V1.00 1/9 August 22, 2017 HT66FB576 多彩獨立光 USB 鍵盤應用範例 文件編碼:AN0463T 簡介 電玩產業對鍵盤需求越來越高,在鍵盤上每個按鍵皆有 RGB LED 可顯示不同顏色,並且可 產生不同圖形與明亮變化,使遊戲鍵盤更加多彩多姿。 HOLTEK 針對多顆多彩燈效產品領域,開發提供應用於多顆 RGB LED 的產品,HT66FB576 最多可應用在 128 RGB LED 的產品,本身又具 USB 介面,用於多彩獨立光鍵盤相當合 適,本文將介紹使用 HT66FB576 開發多彩獨立光鍵盤方案。 規格說明 本範例之多彩獨立光 USB 鍵盤規格如下: (1) USB Full Speed(2) 機械式按鍵軸,104 鍵全無衝功能。 (3) 高亮度 RGB LED 顯示,獨立背光按鍵。 (4) 具七彩燈、滿天星等 10 種燈光效果。 工作原理 HT66FB576 提供 USB 2.0 Full Speed interfaceDemo Board plug-in USB 後,將以 HID keyboard device 存在 Key Matrix 使用 GPIO 完成按鍵掃瞄的功能 LED Matrix 應用 HT66FB576 內建的 LED PWM 控制功能完成,LED PWM 使用方式,請 參考 PWM for RGB LED 章節

HT66FB576 多彩獨立光 USB鍵盤應用範例 - Holtek · 2017. 8. 23. · HT66FB576多彩獨立光USB鍵盤應用範例. AN0463T V1.00 3/9 August 22, 2017. HT66FB576. 多彩獨立光

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 1/9 August 22, 2017

    HT66FB576 多彩獨立光 USB 鍵盤應用範例

    文件編碼:AN0463T

    簡介

    電玩產業對鍵盤需求越來越高,在鍵盤上每個按鍵皆有 RGB LED 可顯示不同顏色,並且可

    產生不同圖形與明亮變化,使遊戲鍵盤更加多彩多姿。

    HOLTEK 針對多顆多彩燈效產品領域,開發提供應用於多顆 RGB LED 的產品,HT66FB576

    最多可應用在 128 顆 RGB LED 的產品,本身又具 USB 介面,用於多彩獨立光鍵盤相當合

    適,本文將介紹使用 HT66FB576 開發多彩獨立光鍵盤方案。

    規格說明

    本範例之多彩獨立光 USB 鍵盤規格如下:

    (1) USB Full Speed。

    (2) 機械式按鍵軸,104 鍵全無衝功能。

    (3) 高亮度 RGB LED 顯示,獨立背光按鍵。

    (4) 具七彩燈、滿天星等 10 種燈光效果。

    工作原理 HT66FB576 提供 USB 2.0 Full Speed interface,Demo Board plug-in USB 後,將以 HID 的

    keyboard device 存在

    Key Matrix 使用 GPIO 完成按鍵掃瞄的功能

    LED Matrix 應用 HT66FB576 內建的 LED PWM 控制功能完成,LED PWM 使用方式,請

    參考 PWM for RGB LED 章節

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 2/9 August 22, 2017

    硬體方塊圖

    HT66FB576 多彩獨立光 USB 鍵盤硬體方塊圖

    硬體電路圖

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 3/9 August 22, 2017

    HT66FB576 多彩獨立光 USB 鍵盤應用電路

    Key Matrix RGB LED

    Martix

    SEG

    0~2

    SEG

    3~5

    SEG

    6~8

    SEG

    9~11

    SEG

    12~14

    SEG

    15~17

    SEG

    18~20

    SEG

    21~23

    SEG

    24~26

    SEG

    27~29

    SEG

    30~32

    SEG

    33~35

    SEG

    36~38

    SEG

    39~41

    SEG

    42~44

    SEG

    45~47

    KeyMartix KEY_C0 KEY_C1 KEY_C2 KEY_C3 KEY_C4 KEY_C5 KEY_C6 KEY_C7 KEY_C8 KEY_C9 KEY_C10 KEY_C11 KEY_C12 KEY_C13 KEY_C14 KEY_C15

    COM0 KEY_R0 ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Print SCR Pause

    COM1 KEY_R1 `~ 1 2 3 4 5 6 7 8 9 0 - = BACKSPACE INS HOME

    COM2 KEY_R2 TAB Q W E R T Y U I O P [ ] \(K29) DEL END

    COM3 KEY_R3 CAP A S D F G H J K L ; " ENTER

    PGUP PGDN

    COM4 KEY_R4 SHIFT-L Z X C V B N M < > /? SHIFT_R

    Up_arrow R_arrow

    COM5 KEY_R5 CTRL-L WIN-L ALT_L

    SPACE

    ALT-R FN APP CTRL-R

    L_arrow Dn_arrow

    COM6 KEY_R6 NUM LOCK NUM7 NUM4 NUM1 NUM0 NUM/ NUM8 NUM5 NUM2 NUM* NUM9 NUM_6 NUM_3 NUM .

    COM7 KEY_R7 NUM- NUM+

    NUM_ENTER

    LED VCC

    LED COM7

    LED VCC

    LED COM6

    LED VCC

    LED COM5

    LED VCC

    LED COM4

    LED VCC

    LED COM3

    LED VCC

    LED COM2

    LED VCC

    LED COM1

    LED VCC

    LED COM0

    LED COM[0..7]

    LED B0LED R0LED G0

    LED B1LED R1LED G1

    LED B2LED R2LED G2

    LED B3LED R3LED G3

    LED B4LED R4LED G4

    LED B5LED R5LED G5

    LED B6LED R6LED G6

    LED B7LED R7LED G7

    LED B8LED R8LED G8

    LED B9LED R9LED G9

    LED B10LED R10LED G10

    LED B11LED R11LED G11

    LED B12LED R12LED G12

    LED B13LED R13LED G13

    LED B14LED R14LED G14

    LED B15LED R15LED G15

    LED VCC

    R

    G

    B

    LED1

    R

    G

    B

    LED17

    R

    G

    B

    LED33

    R

    G

    B

    LED49

    R

    G

    B

    LED65

    R

    G

    B

    LED81

    R

    G

    B

    LED97

    R

    G

    B

    LED113

    R

    G

    B

    LED2

    R

    G

    B

    LED18

    R

    G

    B

    LED34

    R

    G

    B

    LED50

    R

    G

    B

    LED66

    R

    G

    B

    LED82

    R

    G

    B

    LED98

    R

    G

    B

    LED114

    R

    G

    B

    LED3

    R

    G

    B

    LED19

    R

    G

    B

    LED35

    R

    G

    B

    LED51

    R

    G

    B

    LED67

    R

    G

    B

    LED83

    R

    G

    B

    LED99

    R

    G

    B

    LED115

    R

    G

    B

    LED4

    R

    G

    B

    LED20

    R

    G

    B

    LED36

    R

    G

    B

    LED52

    R

    G

    B

    LED68

    R

    G

    B

    LED84

    R

    G

    B

    LED100

    R

    G

    B

    LED116

    R

    G

    B

    LED5

    R

    G

    B

    LED21

    R

    G

    B

    LED37

    R

    G

    B

    LED53

    R

    G

    B

    LED69

    R

    G

    B

    LED85

    R

    G

    B

    LED101

    R

    G

    B

    LED117

    R

    G

    B

    LED6

    R

    G

    B

    LED22

    R

    G

    B

    LED38

    R

    G

    B

    LED54

    R

    G

    B

    LED70

    R

    G

    B

    LED86

    R

    G

    B

    LED102

    R

    G

    B

    LED118

    R

    G

    B

    LED7

    R

    G

    B

    LED23

    R

    G

    B

    LED39

    R

    G

    B

    LED55

    R

    G

    B

    LED71

    R

    G

    B

    LED87

    R

    G

    B

    LED103

    R

    G

    B

    LED119

    R

    G

    B

    LED8

    R

    G

    B

    LED24

    R

    G

    B

    LED40

    R

    G

    B

    LED56

    R

    G

    B

    LED72

    R

    G

    B

    LED88

    R

    G

    B

    LED104

    R

    G

    B

    LED120

    R

    G

    B

    LED9

    R

    G

    B

    LED25

    R

    G

    B

    LED41

    R

    G

    B

    LED57

    R

    G

    B

    LED73

    R

    G

    B

    LED89

    R

    G

    B

    LED105

    R

    G

    B

    LED121

    R

    G

    B

    LED10

    R

    G

    B

    LED26

    R

    G

    B

    LED42

    R

    G

    B

    LED58

    R

    G

    B

    LED74

    R

    G

    B

    LED90

    R

    G

    B

    LED106

    R

    G

    B

    LED122

    R

    G

    B

    LED11

    R

    G

    B

    LED27

    R

    G

    B

    LED43

    R

    G

    B

    LED59

    R

    G

    B

    LED75

    R

    G

    B

    LED91

    R

    G

    B

    LED107

    R

    G

    B

    LED123

    R

    G

    B

    LED12

    R

    G

    B

    LED28

    R

    G

    B

    LED44

    R

    G

    B

    LED60

    R

    G

    B

    LED76

    R

    G

    B

    LED92

    R

    G

    B

    LED108

    R

    G

    B

    LED124

    R

    G

    B

    LED13

    R

    G

    B

    LED29

    R

    G

    B

    LED45

    R

    G

    B

    LED61

    R

    G

    B

    LED77

    R

    G

    B

    LED93

    R

    G

    B

    LED109

    R

    G

    B

    LED125

    R

    G

    B

    LED14

    R

    G

    B

    LED30

    R

    G

    B

    LED46

    R

    G

    B

    LED62

    R

    G

    B

    LED78

    R

    G

    B

    LED94

    R

    G

    B

    LED110

    R

    G

    B

    LED126

    R

    G

    B

    LED15

    R

    G

    B

    LED31

    R

    G

    B

    LED47

    R

    G

    B

    LED63

    R

    G

    B

    LED79

    R

    G

    B

    LED95

    R

    G

    B

    LED111

    R

    G

    B

    LED127

    R

    G

    B

    LED16

    R

    G

    B

    LED32

    R

    G

    B

    LED48

    R

    G

    B

    LED64

    R

    G

    B

    LED80

    R

    G

    B

    LED96

    R

    G

    B

    LED112

    R

    G

    B

    LED128

    Q4PMOS

    Q3PMOS

    Q2PMOS

    Q1PMOS

    Q5PMOS

    Q6PMOS

    Q7PMOS

    Q8PMOS

    R310K

    R610K

    R910K

    R1210K

    R1510K

    R1810K

    R2110K

    R2410K

    R25 10KR41 10KR57 10K

    LED VCCR26 10KR42 10KR58 10K

    LED VCCR27 10KR43 10KR59 10K

    LED VCCR28 10KR44 10KR60 10K

    LED VCCR29 10KR45 10KR61 10K

    LED VCCR30 10KR46 10KR62 10K

    LED VCCR31 10KR47 10KR63 10K

    LED VCCR32 10KR48 10KR64 10K

    LED VCCR33 10KR49 10KR65 10K

    LED VCCR34 10KR50 10KR66 10K

    LED VCCR35 10KR51 10KR67 10K

    LED VCCR36 10KR52 10KR68 10K

    LED VCCR37 10KR53 10KR69 10K

    LED VCCR38 10KR54 10KR70 10K

    LED VCCR40 10KR56 10KR72 10K

    LED VCCR39 10KR55 10KR71 10K

    R88 0RR104 0RR120 0R

    R87 0RR103 0RR119 0R

    R86 0RR102 0RR118 0R

    R85 0RR101 0RR117 0R

    R84 0RR100 0RR116 0R

    R83 0RR99 0RR115 0R

    R82 0RR98 0RR114 0R

    R81 0RR97 0RR113 0R

    R80 0RR96 0RR112 0R

    R79 0RR95 0RR111 0R

    R78 0RR94 0RR110 0R

    R77 0RR93 0RR109 0R

    R76 0RR92 0RR108 0R

    R75 0RR91 0RR107 0R

    R74 0RR90 0RR106 0R

    R73 0RR89 0RR105 0R

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 4/9 August 22, 2017

    軟體說明

    主程式說明

    開始

    初始化

    是否休眠?Y

    進入休眠

    處於已配置狀態?

    N

    按鍵掃描及處理

    Y

    燈光效果展示

    N

    主程式流程圖

    1. 初始化:RAM 清除、I/O 初始化、USB 初始化配置、RGB PWM 設定。

    2. 判斷 USB 掛起旗標是否置高,如置高則需關閉 RGB PWM 模組,然後執行 HALT 指令

    進入睡眠模式,以滿足低於 0.5mA 的低功耗電流要求。

    3. 如 USB 掛起旗標為 0,則程式往下執行,否則回到第 2 步。

    4. USB 在配置狀態後,執行按鍵掃描及處理。

    5. 執行燈效動態展示,根據顯示的效果更改對應的 LED RAM 數據,RGB PWM 硬體模組

    根據 LED RAM 輸出 PWM。

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 5/9 August 22, 2017

    USB 中斷副程式說明

    USB中斷處理

    端點0中斷?

    N

    Y 處理端點0事務

    端點1中斷?

    N

    Y 處理端點1事務

    端點2中斷?

    N

    Y 處理端點2事務

    端點3中斷?

    N

    Y 處理端點3事務

    RETI

    USB 中斷副程式流程圖

    1. 判斷端點 0 中斷旗標,端點 0 中斷包括 setup 中斷、in 中斷和 out 中斷。setup 中斷負責

    解析 usb 命令;in 中斷返回設備描述符、配置描述符、報告描述符等給 host;out 中斷

    用於接收 host set report 命令的數據,比如 host 同步 led states (caps lock、num lock、scroll

    lock)。

    2. 判斷端點 1 中斷旗標,在 bios 介面要求以標準 8 key 格式上報按鍵數據給 host。

    3. 判斷端點 2 中斷旗標,如多媒體報表數據改動時上報數據給 host。

    4. 判斷端點 3 中斷旗標,進入 win 系統後,host 可以識別自訂報表,通過這個 key 報表

    實現 n key 全鍵無沖。

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 6/9 August 22, 2017

    七彩燈副程式說明

    七彩燈

    初始化LED RAM數據

    RET

    七彩燈副程式流程圖

    整個鍵盤的 RGB LED 分為四個區域顏色,只需要一次初始化 LED RAM 即可,硬體電路對

    LED RAM數據自動增減,經過一段時間後,上一個區域的顏色剛好會變為下一區域的顏色。

    整體呼吸副程式說明

    整體呼吸

    udf置高?

    Y

    uds為0?Nudf=0uds=0

    udf=0uds=1

    Y

    重新初始化LED RAM數據

    RET

    N

    整體呼吸副程式流程圖

    1. 需首次初始化 LED RAM 數據 (亮度 I 為 0x40,uds=1)。

    2. 判斷 udf 置高?

    3. 若 udf 置高,繼續判斷 uds 為 0,若為 0,則重新初始化 LED RAM 數據以更改顏色。

    4. 若 uds 為 1,則需改變呼吸方向為衰減。

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 7/9 August 22, 2017

    滿天星呼吸副程式說明

    滿天星

    20ms計時已到?

    Y

    重新初始化LED RAM數據

    RET

    N

    滿天星副程式流程圖

    1. 初始化 LED RAM 數據,RGB 數據隨機賦值 (bit6~7 為 10 或者 11)。

    2. 每間隔 20ms,就重新更新 LED RAM 數據。

    操作說明

    Demo Board 說明

    HT66FB576 多彩獨立光 USB 鍵盤 Demo Board

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 8/9 August 22, 2017

    操作方式

    此Demo Board的燈光變化可使用 Fn + Ins or Del模式切換,並且配合組合鍵對其功能做調節,

    操作功能整理如下表。

    模式名稱 組合鍵 功能 說明

    七彩燈 Fn + ← or → 速度調節 (8 階)

    Fn + PG_Up or PG_Down 顏色模式調節 (7 種)

    整體呼吸

    Fn + ← or → FRAM 調節 (8 階)

    Fn + ↑ or↓ I Offset 調節 (8 階)

    Fn + PG_Up or PG_Down 延時 T 調節(8 階) 最暗延時 T 再變亮

    滿天星

    Fn + ← or → FRAM 調節 (8 階)

    Fn + ↑ or↓ I Offset 調節 (8 階)

    Fn + PG_Up or PG_Down ABC Offset 調節 (8 階)

    按下亮 Fn + ← or → FRAM 調節 (8 階)

    Fn + ↑ or↓ I Offset 調節 (8 階)

    按下滅

    Fn + ← or → FRAM 調節 (8 階)

    Fn + ↑ or↓ I Offset 調節 (8 階)

    Fn + PG_Up or PG_Down 切換燈顏色

    漸變跑馬燈 Fn + ← or → 移動速度調節 (8 階)

    Fn + PG_Up or PG_Down 隨機顏色

    漣漪 Fn + ← or → 移動速度調節 (8 階)

    鐳射 Fn + ← or → 移動速度調節 (8 階)

    瀑布 1 Fn + ← or → 移動速度調節 (8 階)

    瀑布 2 暗湧動 Fn + ← or → 移動速度調節 (8 階)

    Fn + PG_Up or PG_Down 隨機顏色

    程式

    HT_RGB_KB_V2.6_20170223.zip

    結論

    HT66FB576 內建一個 LED PWM 定電流源控制電路,配合內建兩個 RGB LED PWM 專用

    RAM 以矩陣式掃瞄方式支援最多 128 顆 RGB LED (或 384 顆單色 LED),輕易的完成各種燈

    光效果,可省去外部 LED 驅動 IC 與大量的電晶體達到快速開發與降低成本雙重優勢。

    搭配 USB 2.0 Full Speed 介面,應用在多彩獨立光 USB 鍵盤是絕佳的解決方案。

  • HT66FB576多彩獨立光USB 鍵盤應用範例

    AN0463T V1.00 9/9 August 22, 2017

    版本及修改資訊

    Date 日期 Author 作者 Issue 發行、修訂說明

    2017.08.20 王冠中 First Version

    參考資料

    如需進一步瞭解,敬請瀏覽 Holtek 官方網站 http://www.holtek.com。

    HT66FB576 data sheet。

    HT66FB576_574_572RGB LED USB MCU PWM 功能應用須知。

    免責聲明

    本網頁所載的所有資料、商標、圖片、連結及其他資料等(以下簡稱「資料」),只供參

    考之用,盛群半導體股份有限公司(以下簡稱「本公司」)將會隨時更改資料,並由本公

    司決定而不作另行通知。雖然本公司已盡力確保本網頁的資料準確性,但本公司並不保證

    該等資料均為準確無誤。本公司不會對任何錯誤或遺漏承擔責任。

    本公司不會對任何人士使用本網頁而引致任何損害(包括但不限於電腦病毒、系統固障、

    資料損失)承擔任何賠償。本網頁可能會連結至其他機構所提供的網頁,但這些網頁並不

    是由本公司所控制。本公司不對這些網頁所顯示的內容作出任何保證或承擔任何責任。

    責任限制

    在任何情況下,本公司並不須就任何人由於直接或間接進入或使用本網站,並就此內容上

    或任何產品、資訊或服務,而招致的任何損失或損害負任何責任。

    管轄法律

    本免責聲明受中華民國法律約束,並接受中華民國法院的管轄。

    免責聲明更新

    本公司保留隨時更新本免責聲明的權利,任何更改於本網站發佈時,立即生效。

    http://www.holtek.com.tw/home

    簡介規格說明工作原理硬體方塊圖硬體電路圖Key Matrix軟體說明操作說明程式結論版本及修改資訊參考資料免責聲明

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /CreateJDFFile false /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice