GT21L16S2W用户手册V35

更新时间:2023-05-22 14:33:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

介绍高通汉字库芯片的操作时序,官方版本

GT21L16S2W

标准汉字字库芯片

用户手册 DATASHEET

字型:11X12点阵、15X16点阵 字符集:GB2312 兼容Unicode内码

输入法码本:GT快捷拼音输入法 排置方式:横置横排 总线接口:SPI串行总线 芯片形式:SO8封装

VER 3.5

2010-Q3

介绍高通汉字库芯片的操作时序,官方版本

版本修订记录

版本号

V35

修改内容

1. 15*16点汉字算法部分 2. 8X16点国标扩展字符

3. 8X16点国标扩展字符起始地址 4. 6X12点国标扩展字符

5. 6X12点国标扩展字符起始地址

日期 备注

介绍高通汉字库芯片的操作时序,官方版本

目 录

第一部分:硬件部分

1 概述.......................................................................................................................................................................4

1.1 芯片特点..........................................................................................................................................................................................4 1.2 芯片内容..........................................................................................................................................................................................4

2 引脚描述与接口连接...........................................................................................................................................6

2.1 引脚配置..........................................................................................................................................................................................6 2.2 引脚描述..........................................................................................................................................................................................6 2.3 HOST CPU主机SPI接口电路示意图............................................................................................................................................7

3 操作指令...............................................................................................................................................................8

3.1 指令参数..........................................................................................................................................................................................8 3.2 Read Data Bytes(一般读取).........................................................................................................................................................8 3.3 Read Data Bytes at Higher Speed(快速读取点阵数据)..............................................................................................................9

4 电气特性.............................................................................................................................................................10

4.1 绝对最大额定值............................................................................................................................................................................10 4.2 DC特性..........................................................................................................................................................................................10 4.3 AC特性...........................................................................................................................................................................................10

5 封装尺寸.............................................................................................................................................................12

第二部分:软件部分

6 字库调用方法.....................................................................................................................................................13

6.1 汉字点阵排列格式........................................................................................................................................................................13 6.2 汉字点阵字库地址表....................................................................................................................................................................17 6.3 字符在芯片中的地址计算方法....................................................................................................................................................18 6.4 Unicode到GB2312内码转换程序...............................................................................................................................................20 6.5 GB2312到Unicode内码转换程序...............................................................................................................................................22

7 附录.....................................................................................................................................................................24

7.1 GB2312 1区 (376字符)................................................................................................................................................................24 7.2 8×16点国标扩展字符(126字符).............................................................................................................................................25

介绍高通汉字库芯片的操作时序,官方版本

1 概述

GT21L16S2W是一款内含11X12点阵和15X16点阵的汉字库芯片,支持GB2312国标简体汉字(含有国家信标委合法授权)、ASCII字符及GB2312与Unicode编码互转表。排列格式为横置横排。用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息。

本字库芯片内含GT快捷拼音输入法码本,另外配合本公司的输入法程序,可实现数字小键盘IT产品的汉字快捷输入。

1.1 芯片特点

● ● ● ● ●

● ● ●

数据总线:SPI串行总线接口 点阵排列方式:字节横置横排 时钟频率:30MHz(max.) @3.3V 工作电压:2.7V~3.6V 电流:

工作电流:12mA 待机电流:10uA 封装:SOP8 尺寸(SOP8):4.90mmX3.90mm(193milX154mil) 工作温度:-20℃~85℃

CS#SONCGND

VCCHOLD#SCLKSI

1.2 芯片内容

分类

字库内容 编码体系(字符集) 字符数

11X12点GB2312标准点阵字库

15X16点GB2312标准点阵字库

汉字及字符

126 6X12点国标扩展字符126 8X16点国标扩展字符5X7点ASCII字符

7X8点ASCII字符

6X12点ASCII字符

ASCII字符

8X16点ASCII字符

12点阵不等宽ASCII方头(Arial)字符

16点阵不等宽ASCII方头(Arial)字符

Unicode到GB2312内码转换表

内码转换表

GB2312到Unicode内码转换表

输入法码表 GT快捷拼音输入法码表

介绍高通汉字库芯片的操作时序,官方版本

字型样张

11X12点GB2312汉字 15X16点GB2312汉字

5x7

点ASCII字符

7x8点ASCII字符

6x12点ASCII字符

8x16点ASCII

字符

12点阵不等宽ASCII方头 16点阵不等宽ASCII方头

介绍高通汉字库芯片的操作时序,官方版本

2 引脚描述与接口连接

2.1 引脚配置

CS#SONCGND

SOP8

VCCHOLD#SCLKSI

2.2 引脚描述

名称 描述 SOP8 I/O

片选输入(Chip enable input) 串行数据输出 (Serial data output) 悬空 地(Ground) 串行数据输入 (Serial data input) 串行时钟输入(Serial clock input) 总线挂起(Hold, to pause the device without)电源(+ 3.3V Power Supply)

串行数据输出(SO):该信号用来把数据从芯片串行输出,数据在时钟的下降沿移出。

串行数据输入(SI):该信号用来把数据从串行输入芯片,数据在时钟的上升沿移入。 串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出。 片选输入(CS#):所有串行数据传输开始于CS#下降沿,CS#在传输期间必须保持为低电平,在两条

指令之间保持为高电平。

介绍高通汉字库芯片的操作时序,官方版本

总线挂起输入(HOLD#):

该信号用于片选信号有效期间暂停数据传输,在总线挂起期间,串行数据输出信号处于高阻态,芯片不对串行数据输入信号和串行时钟信号进行响应。

当HOLD#信号变为低并且串行时钟信号(SCLK)处于低电平时,进入总线挂起状态。 当HOLD#信号变为高并时串行时钟信号(SCLK)处于低电平时,结束总线挂起状态。

2.3 HOST CPU主机SPI接口电路示意图

SPI与主机接口电路连接可以参考下图(#HOLD管脚建议接2K电阻3.3V拉高)。

GT21

HOST CPU主机SPI接口电路示意图

介绍高通汉字库芯片的操作时序,官方版本

3 操作指令

3.1 指令参数

Instruction Set

READ FAST_READ

所有对本芯片的操作只有2个,那就是Read Data Bytes (READ “一般读取”)和Read Data Bytes at Higher Speed (FAST_READ “快速读取点阵数据”)。

Read Data Bytes Read Data Bytes at Higher Speed

Instruction Code(One-Byte)

03 h 0B h

Address Dummy Bytes Bytes

3 3

— 1

Data

Bytes 1 to ∞ 1 to ∞

0000 00110000 1011

3.2 Read Data Bytes(一般读取)

Read Data Bytes需要用指令码来执行每一次操作。READ指令的时序如下(图):

首先把片选信号(CS#)变为低,紧跟着的是1个字节的命令字(03 h)和3个字节的地址和通

过串行数据输入引脚(SI)移位输入,每一位在串行时钟(SCLK)上升沿被锁存。

然后该地址的字节数据通过串行数据输出引脚(SO)移位输出,每一位在串行时钟(SCLK)下

降沿被移出。

读取字节数据后,则把片选信号(CS#)变为高,结束本次操作。

如果片选信号(CS#)继续保持为底,则下一个地址的字节数据继续通过串行数据输出引脚(SO)移位输出。

图:Read Data Bytes (READ) Instruction Sequence and Data-out sequence:

介绍高通汉字库芯片的操作时序,官方版本

3.3 Read Data Bytes at Higher Speed(快速读取点阵数据)

Read Data Bytes at Higher Speed 需要用指令码来执行操作。READ_FAST指令的时序如下(图): 首先把片选信号(CS#)变为低,紧跟着的是1个字节的命令字(0B h)和3个字节的地址以及

一个字节 Dummy Byte通过串行数据输入引脚(SI)移位输入,每一位在串行时钟(SCLK)上升沿被锁存。

然后该地址的字节数据通过串行数据输出引脚(SO)移位输出,每一位在串行时钟(SCLK)下

降沿被移出。 如果片选信号(CS#)继续保持为底,则下一个地址的字节数据继续通过串行数据输出引脚(SO)

移位输出。例:读取一个15x16点阵汉字需要32Byte,则连续32个字节读取后结束一个汉字的点阵数据读取操作。

如果不需要继续读取数据,则把片选信号(CS#)变为高,结束本次操作。

图:Read Data Bytes at Higher Speed (READ_FAST) Instruction Sequence and Data-out

sequence:

介绍高通汉字库芯片的操作时序,官方版本

4 电气特性

4.1 绝对最大额定值

Min. Max. Unit Condition T85 ℃ TSTGTemperature 150 ℃ Voltage 3.6 V VINVoltage Ground 0.3 V

4.2 DC特性

Condition:TOP =-20℃ to 85℃,GND=0V IDD VCC Supply Current(active) I VCC Standby Current V Input LOW Voltage V Input HIGH Voltage VOL

Output LOW Voltage

Min.

-0.3 0.7VCC

Max. 12 10

0.3VCC VCC+0.4 0.4

(I=1.6mA)

Unit Condition mA uA V V V

VCC=2.7~3.6V

0.8VCC

VOH Output HIGH Voltage (I=-100uA)

I Input Leakage Current 0 2 uA ILO Output Leakage Current 0 2 uA Note:IIL:Input LOW Current,IIH:Input HIGH Current,

IOL:Output LOW Current,IOH:Output HIGH Current,

4.3 AC特性

集通数码科技 - 10 -

介绍高通汉字库芯片的操作时序,官方版本

GT21L16S2W标准点阵汉字字库芯片用户手册

集通数码科技

- 11 -

介绍高通汉字库芯片的操作时序,官方版本

5 封装尺寸

SOP8 Package Unit

:mm

介绍高通汉字库芯片的操作时序,官方版本

6 字库调用方法

6.1 汉字点阵排列格式

每个汉字在芯片中是以汉字点阵字模的形式存储的,每个点用一个二进制位表示,存1的点,当显示时可以在屏幕上显示亮点,存0的点,则在屏幕上不显示。点阵排列格式为横置横排:即一个字节的高位表示左面的点,低位表示右面的点,排满一行的点后再排下一行。这样把点阵信息用来直接在显示器上按上述规则显示,则将出现对应的汉字。

6.1.1 11X12点汉字排列格式

11X12点汉字的信息需要24个字节(BYTE 0 – BYTE 23)来表示。该11X12点汉字的点阵数据是横置横排的,其具体排列结构如下图:

12 行

6.1.2 15X16点汉字排列格式

15X16点汉字的信息需要32个字节(BYTE 0 – BYTE 31)来表示。该15X16点汉字的点阵数据是横置横排的,其具体排列结构如下图:

15位

16 行

介绍高通汉字库芯片的操作时序,官方版本

6.1.3 5X7点ASCII字符排列格式

5X7点ASCII的信息需要8个字节(BYTE 0 – BYTE7)来表示。该ASCII点阵数据是横置横排的,其具体排列结构如下图:

5位

空白

7行8行

6.1.4 7X8点ASCII字符排列格式

7X8点ASCII的信息需要8个字节(BYTE 0 – BYTE7)来表示。该ASCII点阵数据是横置横排的,

其具体排列结构如下图:

7位

空白

8行

6.1.5 6X12点字符排列格式

适用于此种排列格式的字体有: 6X12点ASCII字符 6X12点国标扩展字符

6X12点ASCII的信息需要12个字节(BYTE 0 – BYTE11)来表示。该ASCII点阵数据是横置横排的,其具体排列结构如下图:

介绍高通汉字库芯片的操作时序,官方版本

8 位6位

2位空白

12 行

6.1.6 8X16点字符排列格式

适用于此种排列格式的字体有: 8X16点ASCII字符 8X16点国标扩展字符

8X16点字符信息需要16个字节(BYTE 0 – BYTE15)来表示。该点阵数据是横置横排的,其具体排列结构如下图:

8 位

BYTE 0

BYTE 1

..........

..........

..........

16 行

BYTE 14

BYTE 15

6.1.7 12点阵不等宽ASCII方头(Arial)字符排列格式

12点阵不等宽字符的信息需要26个字节(BYTE 0 – BYTE25)来表示。

由于字符是不等宽的,因此在存储格式中BYTE0~ BYTE1存放点阵宽度数据,BYTE2-25存放横置横排点阵数据。

不等宽字符的点阵存储宽度是以BYTE为单位取整的,根据不同字符宽度会出现相应的空白区。根

介绍高通汉字库芯片的操作时序,官方版本

BYTE0~ BYTE1所存放点阵的实际宽度数据,可以对还原下一个字的显示或排版留作参考。

点阵宽度

空白

12行

6.1.8 16点阵不等宽ASCII方头(Arial)字符排列格式

16点阵不等宽字符的信息需要34个字节(BYTE 0 – BYTE33)来表示。

存储格式

由于字符是不等宽的,因此在存储格式中BYTE0~ BYTE1存放点阵宽度数据,BYTE2-33存放横置

横排点阵数据。具体格式见下图:

点阵宽度数据

BYTE 2

ASCII点阵数据 ..........

BYTE 33

存储结构

不等宽字符的点阵存储宽度是以BYTE为单位取整的,根据不同字符宽度会出现相应的空白区。根BYTE0~ BYTE1所存放点阵的实际宽度数据,可以对还原下一个字的显示或排版留作参考。

点阵宽度

空白

16行

介绍高通汉字库芯片的操作时序,官方版本

例如:ASCII方头字符B

0-33BYTE的点阵数据是: 00 0C 00 00 00 00 00 00 7F 80 7F C0 60 C0 60 C0 60 C0 7F 80 7F C0

60 E0 60 60 60 60 7F C0 7F 80 00 00

其中: BYTE0~ BYTE1: 00 0C 为ASCII方头字符B的点阵宽度数据,即:12位宽度。字符后面有4位空白区,可以在排版下一个字时考虑到这一点,将下一个字的起始位置前移。

BYTE2-33: 00 00 00 00 00 00 7F 80 7F C0 60 C0 60 C0 60 C0 7F 80 7F C0 60 E0 60 60 60 60

7F C0 7F 80 00 00 为ASCII方头字符B的点阵数据。

6.2 汉字点阵字库地址表

字库内容

编码体系

码位范围

字符数

起始

地址

结束 地址

参考 算法

点GB2312标准点阵字库6763+376到Unicode内码转换表3 4

7X8点ASCII字符 8X16点国标扩展字符

ASCII GB2312

AAA1-ABC05 8X16点ASCII字符 ASCII

6 5X7点ASCII字符7 16点阵不等宽ASCII方头(Arial)字符20~7F 96 6.3.2.6 8 11X12点GB2312标准点阵字库6763+3769 6X12点国标扩展字符AAA1-ABC010 6X12点ASCII字符11 12点阵不等宽ASCII方头(Arial)字符20~7F 96 6.3.2.5 12 保留区 67D00 67D6F 13 Unicode到GB2312内码转换表

快捷拼音输入法码表

15 保留区 7FA33 7FFFF

介绍高通汉字库芯片的操作时序,官方版本

6.3 字符在芯片中的地址计算方法

用户只要知道字符的内码,就可以计算出该字符点阵在芯片中的地址,然后就可从该地址连续读出点阵信息用于显示。

6.3.1 汉字字符的地址计算

6.3.1.1 11X12点GB2312标准点阵字库 参数说明:

GBCode表示汉字内码。

MSB 表示汉字内码GBCode 的高8bits。 LSB 表示汉字内码GBCode 的低8bits。

Address 表示汉字或ASCII字符点阵在芯片中的字节地址。 BaseAdd:说明点阵数据在字库芯片中的起始地址。 计算方法:

BaseAdd=0x3cf80;

if(MSB >=0xA1 && MSB <= 0Xa3 && LSB >=0xA1)

Address =( (MSB - 0xA1) * 94 + (LSB - 0xA1))*24+ BaseAdd; else if(MSB == 0Xa9 && LSB >=0xA1)

Address =( (282 + (LSB - 0xA1))*24+ BaseAdd;

else if(MSB >=0xB0 && MSB <= 0xF7 && LSB >=0xA1)

Address = ((MSB - 0xB0) * 94 + (LSB - 0xA1)+ 376)*24+ BaseAdd;

6.3.1.2 15X16点GB2312标准点阵字库 参数说明:

GBCode表示汉字内码。

MSB 表示汉字内码GBCode 的高8bits。 LSB 表示汉字内码GBCode 的低8bits。

Address 表示汉字或ASCII字符点阵在芯片中的字节地址。 BaseAdd:说明点阵数据在字库芯片中的起始地址。 计算方法: BaseAdd=0;

if(MSB == 0xA9 && LSB >=0xA1)

Address =( (282 + (LSB - 0xA1))*32+ BaseAdd; else if(MSB >=0xA1 && MSB <= 0xA3 && LSB >=0xA1)

Address =( (MSB - 0xA1) * 94 + (LSB - 0xA1))*32+ BaseAdd; else if(MSB >=0xB0 && MSB <= 0xF7 && LSB >=0xA1)

Address = ((MSB - 0xB0) * 94 + (LSB - 0xA1)+ 846)*32+ BaseAdd;

6.3.1.3 6X12点国标扩展字符 说明:

BaseAdd:说明本套字库在字库芯片中的起始字节地址。 FontCode:表示字符内码(16bits)

ByteAddress:表示字符点阵在芯片中的字节地址。

介绍高通汉字库芯片的操作时序,官方版本

BaseAdd=0x66d4c

if (FontCode>= 0xAAA1) and (FontCode<=0xAAFE ) then

ByteAddress = (FontCode–0xAAA1 ) * 12+BaseAdd

Else if(FontCode>= 0xABA1) and (FontCode<=0xABC0 ) then

ByteAddress = (FontCode–0xABA1 + 95) * 12+BaseAdd

6.3.1.4 8X16点国标扩展字符 说明:

BaseAdd:说明本套字库在字库芯片中的起始字节地址。 FontCode:表示字符内码(16bits)

ByteAddress:表示字符点阵在芯片中的字节地址。 计算方法:

BaseAdd=0x3b7d0

if (FontCode>= 0xAAA1) and (FontCode<=0xAAFE ) then

ByteAddress = (FontCode–0xAAA1 ) * 16+BaseAdd

Else if(FontCode>= 0xABA1) and (FontCode<=0xABC0 ) then

ByteAddress = (FontCode–0xABA1 + 95) * 16+BaseAdd

6.3.2 ASCII字符的地址计算

6.3.2.1 5X7 点ASCII 字符 参数说明:

ASCIICode:表示 ASCII码(8bits)

BaseAdd:说明该套字库在芯片中的起始地址。 Address:ASCII字符点阵在芯片中的字节地址。 计算方法:

BaseAdd=0x3bfc0

if (ASCIICode >= 0x20) and (ASCIICode <= 0x7E) then

Address = (ASCIICode –0x20 ) * 8+BaseAdd 6.3.2.2 7X8 点ASCII 字符 参数说明:

ASCIICode:表示 ASCII码(8bits)

BaseAdd:说明该套字库在芯片中的起始地址。 Address:ASCII字符点阵在芯片中的字节地址。 计算方法:

BaseAdd=0x66c0

if (ASCIICode >= 0x20) and (ASCIICode <= 0x7E) then

Address = (ASCIICode –0x20 ) * 8+BaseAdd 6.3.2.3 6X12点 ASCII 字符 说明:

ASCIICode:表示 ASCII码(8bits)

BaseAdd:说明该套字库在芯片中的起始地址。 Address:ASCII字符点阵在芯片中的字节地址。 计算方法:

介绍高通汉字库芯片的操作时序,官方版本

if (ASCIICode >= 0x20) and (ASCIICode <= 0x7E) then

Address = (ASCIICode –0x20 ) * 12+BaseAdd 6.3.2.4 8X16点 ASCII 字符 说明:

ASCIICode:表示 ASCII码(8bits)

BaseAdd:说明该套字库在芯片中的起始地址。 Address:ASCII字符点阵在芯片中的字节地址。 计算方法:

BaseAdd=0x3b7c0

if (ASCIICode >= 0x20) and (ASCIICode <= 0x7E) then Address = (ASCIICode –0x20 ) * 16+BaseAdd

6.3.2.5 12点阵不等宽ASCII方头(Arial)字符 说明:

ASCIICode:表示 ASCII码(8bits)

BaseAdd:说明该套字库在芯片中的起始地址。 Address:ASCII字符点阵在芯片中的字节地址。 计算方法:

BaseAdd=0x67340

if (ASCIICode >= 0x20) and (ASCIICode <= 0x7E) then Address = (ASCIICode –0x20 ) * 26 + BaseAdd

6.3.2.6 16点阵不等宽ASCII方头(Arial)字符 说明:

ASCIICode:表示 ASCII码(8bits)

BaseAdd:说明该套字库在芯片中的起始地址。 Address:ASCII字符点阵在芯片中的字节地址。 计算方法:

BaseAdd=0x3c2c0

if (ASCIICode >= 0x20) and (ASCIICode <= 0x7E) then Address = (ASCIICode –0x20 ) * 34 + BaseAdd

6.4 Unicode到GB2312内码转换程序

功能: 把Unicode内码转换为GB2312内码 参数: srcCode:输入Unicode内码串。

destCode:转换后得到的GB2312内码串。

BYTE * UToGb2312Buff =0x67d70; // UToGb2312Buff为Unicode到GB2312内码转换表在ROM中的起始地址

BYTE UnicodeToGB2312(BYTE *srcCode,BYTE *destCode) {

BYTE *ptr,result0; int h; WORD code;

介绍高通汉字库芯片的操作时序,官方版本

= code = *srcCode++;

code = (code<<8) + *srcCode;

if(code<0xa0) result1; else if(code<=0xf7) h=code-160; else if(code<0x2c7) result=1; else if(code<=0x2c9) h=code-160-463;

=

else if(code<0x2010) result=1; else if(code<=0x2312) h=code-160-463-7494; else if(code<0x2460) result=1; else if(code<=0x2642) h=code-160-463-7494-333; else if(code<0x3000) result=1; else if(code<=0x3017) h=code-160-463-7494-333-2493; else if(code<0x3220) result=1; else if(code<=0x3229) h=code-160-463-7494-333-2493-520; else if(code<0x4e00) result=1; else if(code<=0x9b54) h=code-160-463-7494-333-2493-520-7126;

= else if(code<0x9c7c) result=1;

else if(code<0x9ce2) h=code-160-463-7494-333-2493-520-7126-295; else if(code<0x9e1f) result=1; else if(code<=0x9fa0) h=code-160-463-7494-333-2493-520-7126-295-316; else if(code<0xe76c) result=1; else if(code<=0xe774) h=code-160-463-7494-333-2493-520-7126-295-316-18379; else if(code<0xff00) result=1; else if(code<=0xff5f) h=code-160-463-7494-333-2493-520-7126-295-316-18379-6027; else if(code<0xffe0) result=1; else if(code<=0xffe5) h=code-160-463-7494-333-2493-520-7126-295-316-18379-6027-128; else result1;

if(result0) { ptr = UToGb2312Buff + (h<<1);

本文来源:https://www.bwwdw.com/article/ffi4.html

Top