#申请原创#[url=home.php?mod=space&uid=760190]@21小跑堂 [/url]
本文档用于新手快速入门,简单使用GALT61120芯片,共分3部分:
1)GALT61120芯片简介
2)GALT61120学习思路
3)GALT61120上手调试注意事项
一、GALT61120芯片简介
GALT61120是一款适用于控制高亮度LED矩阵的管理芯片。下面是它的一些基本特性:
1)输入电压范围:4.5V~60V
2)PWM输出:12个集成旁路开关,10位PWM可编程调光
3)诊断保护:具有LED开短路检测和保护
4)数模转换:具有两路输入的8位ADC
二、GALT61120学习思路
要想快速上手使用GALT61120芯片,有几个芯片基本信息是必须了解的:芯片样貌、基本电路、通信配置、读写指令、PWM调光、诊断功能。
1、芯片样貌
芯片照片
芯片标识的左下角有一圆圈标记,为pin1,pin序号为逆时针计数。
芯片引脚功能分区
引脚的具体说明请看参考手册。
2、基本电路
1)芯片灯组:GALT61120共有4组独立LED串,每组LED串配有一个电荷泵,需要恒流源接入使用。
2)电荷泵连接:可用4个恒流源分别接入电荷泵使用,也可用1个恒流源串联4组LED使用。
3)级联使用:可以单颗芯片使用,也可级联使用。级联使用时,各芯片的SYNC、RX、TX、CLK信号线可连接在一起,减少串口的占用。
3、通信配置
通信引脚
GALT61120配有2组通信引脚,在芯片内部短接。芯片通信端RX和TX为5V信号,请注意通信电平匹配。
通信时钟
时钟频率由2个寄存器配置,时钟源经过PTBASE寄存器和PTCNT寄存器2次分频后作为PWM的频率。
配置案例
例如时钟源设为8MHz晶振,想要配置PWM的频率为500KHz,PTBASE寄存器和PTCNT寄存器可配置如下:
PTBASE寄存器[1:0]=0,DIV1=1
PTCNT寄存器[5:0]=12,DIV2=16
PWM_CLK=CLK/DIV1/DIV2=8MHz/1/16=500KHz,通信波特率要与之一致。
4、读写指令
通信指令可分为广播式读写和单一设备读写。下面以单一设备为例:
INIT:初始化字节。确认读/写几个字节。
DEVID:设备通信地址。
REGADDR:要操作寄存器的起始地址
DATA:通信数据(读指令没有数据)
CRCL:CRC校验码
CRCH:CRC校验码
INIT:初始化字节
DEVID:设备通信地址
GALT61120配有3个地址输入端,硬件物理地址000b~111b。外部与芯片通信时,需使用通信地址码进行通信。硬件物理地址对应的通信地址码如下表(带有奇偶校验)。
也可使用ADC输入端,扩展到31个地址,暂且按下不表。
CRC校验工具
,CRC校验软件可百度下载。
指令案例
目标芯片:物理地址000b,通过上表查询通信地址码为0x20
要操作的寄存器:读写驱动配置寄存器(85h)
数据格式:十六进制(h)
需要校验的数据:读数据指令4B2085,写配置06指令87208506
软件使用如下:点击Calculate,生成CRCL码和CRCH码
因此读指令和写指令如下:
串口回复我们也是会带有CRC校验码,例如下面我们先发送读指令4B2085A875,串口回复寄存器数值为00,后面紧跟CRC校验码0000h。
5、PWM调光
1)功能概述
每个单独的LED提供10位相位移位的PWM调光。
每个LED的相移和脉宽分别通过PHASEx和WIDTHx寄存器(其中x=1至12)进行编程。PHASEx到达预设计数值后,WIDTH开始计数。
2)占空比
占空比=WIDTH / tPWM
为了达到0%的占空比(LED关闭),寄存器WIDTHx必须设置为0。
为了达到100%的占空比(LED全开),寄存器WIDTHx必须被设置为1023。
3)寄存器说明
PSON:移相LED开启
0 : LED相位转移适用于LED关断时间。
1 : LED相位转移适用于LED开启时间。
例如上图的PHASEx和WIDTHx寄存器运行,就是PSON=1的情况。PSON只需要基础了解,灯亮时间由WIDTHx固定控制。
PHASE:移相寄存器
12个LED,每个LED都是10位编程。
WIDTH:脉宽寄存器
12个LED,每个LED都是10位编程。
4)测试指令
测试需求:配置物理地址000b,通信地址码0x20芯片,PWM1~PWM9占空比100%
测试指令:332010FFFFFF3FFFFFFF3FFFFFFF3FFFFFFF3F1C7A
33:写16个字节
20:通信地址码,对应物理地址000b
10:寄存器地址WIDTH
FFFFFF3F:地址10h~13h数据全写1
FFFFFF3F:地址14h~17h数据全写1
FFFFFF3F:地址18h~1Bh数据全写1
FFFFFF3F:地址1Ch~1Fh数据全写1
1C7A:CRC校验码
其它常用控灯指令:
测试内容
| 测试指令
| 芯片1所有灯亮度100%
| 332010FFFFFF3FFFFFFF3FFFFFFF3FFFFFFF3F1C7A
| 芯片1所有灯亮度75%
| 332010FFFFFF2AFFFFFF2AFFFFFF2AFFFFFF2A1073
| 芯片1所有灯亮度50%
| 3320100000002A0000002A0000002A0000002A155D
| 芯片1所有灯亮度25%
| 332010000000150000001500000015000000150146
| 梯度亮度
| 332010FFFFFF3FFFFFFF2A0000002A000000157726
| 关闭芯片1所有LED
| 332010000000000000000000000000000000000D4F
| 配置芯片1 LED1 亮度100%
| 332010FF000003000000000000000000000000093C
| 配置芯片1 LED1-2 亮度100%
| 332010FFFF000F000000000000000000000000A7B0
| 配置芯片1 LED1-3 亮度100%
| 332010FFFFFF3F00000000000000000000000019BF
| 配置芯片1 LED1-4 亮度100%
| 332010FFFFFF3FFF00000300000000000000005A5A
| 配置芯片1 LED1-5 亮度100%
| 332010FFFFFF3FFFFF000F00000000000000003C4D
| 配置芯片1 LED1-6 亮度100%
| 332010FFFFFF3FFFFFFF3F00000000000000005DBF
| 配置芯片1 LED1-7 亮度100%
| 332010FFFFFF3FFFFFFF3FFF0000030000000056BB
| 配置芯片1 LED1-8 亮度100%
| 332010FFFFFF3FFFFFFF3FFFFF000F0000000049B5
| 配置芯片1 LED1-9亮度100%
| 332010FFFFFF3FFFFFFF3FFFFFFF3F000000001DBE
| 配置芯片1 LED1-10 亮度100%
| 332010FFFFFF3FFFFFFF3FFFFFFF3FFF0000036DAB
| 配置芯片1 LED1-11 亮度100%
| 332010FFFFFF3FFFFFFF3FFFFFFF3FFFFF000F5D9E
| 配置芯片1 LED1-12 亮度100%
| 332010FFFFFF3FFFFFFF3FFFFFFF3FFFFFFF3F1C7A
|
6、诊断功能
诊断寄存器保存着各种故障的结果和系统的状态标志。
测试指令:
读寄存器状态——D220B0B84D
清除错误——9920B00000163B
FAULT(12:1):故障寄存器
FAULT(x) = 0 :LEDx上没有发生LED故障
FAULT(x) = 1 :LEDx上发生了LED故障
在相应的旁路开关关闭之前,LED开路和短路故障检测电路会进行采样。如果在这个采样时间存在故障,1就会被锁在相关的FAULT Register位上。如果在下一个PWM周期LED故障条件仍然存在,相应的FAULT Register位将立即被设置为1。将FAULT Register位写为1没有效果。
CERRCNT[7:0]:CRC错误计数寄存器。每次收到CRC错误时,这个 Register的值都会被递增。
这个 Register可以被MCU读取,然后写回0以清除计数。
CERRCNT的值在FFh时达到饱和,当它达到FFh时不会被包回为0。
当收到通信复位时,CERRCNT Register不会被自动清除。注意 CERRCNT Register可以被写成任意 8 位的值。
三、GALT61120上手调试注意事项
关于芯片调试,有4点需要注意。
1、输入电压
芯片的输入电压范围:4.5V~60V,请不要超电压使用,确保供电正常。
2、通信波特率
芯片上电后PMW频率默认为500KHz,通信波特率请选择500KHz。
如果PWM频率修改,注意调整通信波特率。
3、通信电压
芯片通信端RX和TX为5V信号,请注意通信电平匹配。
4、通信工具
支持串口助手调试,也支持使用图莫斯CAN工具调试。
|