-
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