高通字库芯片GT23H32S4W的应用
2013-09-25冯月芹汤小龙
冯月芹,汤小龙
(1.南京工程学院,南京211167;2.重庆邮电大学)
引 言
随着电子产品需求与覆盖面的急剧扩张,信息传输(输入输出)所涉及的中外文字库信息解决方案也变得更加重要,一个有多种字库的显示/打印电子产品比只具备单一的ASCII码的产品有更强的竞争力。在现在字库应用解决方案中,电子设备商、方案商一般会有这样几种方案:
①一部分的IC厂商会集成一小部分的字库信息在IC上;
②设备商、方案商会自己购买存储芯片(Flash等),自己独立编写点阵信息烧录;
③采购标准的专业字库IC,例如上海高通半导体有限公司生产的专业字库芯片。
1 GT23H32S4W芯片的原理及特点[2]
1.1 GT23H32S4W的引脚图
GT23H32S4W是一款内含11×12点阵、15×16点阵、24×24点阵、32×32点阵的汉字库芯片,支持GB2312国标汉字及ASCII字符。排列格式为横置横排。图1为芯片的引脚图。字库芯片与CPU的硬件连接可以是并行方式,也可以是SPI方式。笔者在使用过程中发现,并行连接不能正确读取汉字的字模,所以这里仅介绍SPI方式。
图1 GT23H32S4W引脚图
1.2 GT23H32S4W电路连接图[1]
单片机P89C52X2FN与字库芯片的连接采用SPI总线的方式,SPI接口引脚描述如下:
①串行数据输出(SO):该信号用来把数据从芯片串行数据输入引脚输出,数据在时钟的下降沿移出。
②串行数据输入(SI):该信号用来把数据从串行数据输入引脚输入芯片,数据在时钟的上升沿移入。
③串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出。
④片选输入(CS#):所有串行数据传输开始于CS#下降沿,CS#在传输期间必须保持为低电平,在两条指令之间保持为高电平。硬件电路连接图如图2所示。
图2 单片机与GT23H32S4W的电路连接图
1.3 芯片工作的时序图
字库芯片的操作分为一般读取和快速读取。这里采用快速读取(READ_FAST)方式,具体操作步骤如下:
①首先把片选信号(CS#)变为低电平,紧跟着的是1个字节的命令字(0Bh)和3个字节的地址以及一个字节Dummy Byte通过串行数据输入引脚(SI)移位输入,每一位在串行时钟(SCLK)上升沿被锁存;Dummy Byte代表无意义的内容,是什么值都可以,主要起到填充、隔离数据的作用。
②然后该地址的字节数据通过串行数据输出引脚(SO)移位输出,每一位在串行时钟(SCLK)下降沿被移出。
③如果片选信号(CS#)继续保持为低电平,则下一个地址的字节数据继续通过串行数据输出引脚(SO)移位输出。例如读取一个15×16点阵汉字需要32字节,则连续32个字节读取后结束一个汉字的点阵数据读取操作。如果不需要继续读取数据,则把片选信号(CS#)变为高电平,结束本次操作。图3是快速读取点阵的时序图。
2 C语言编程软件设计[2-4]
2.1 汉字字模地址的计算
字库芯片GT23H32S4W有多种字型:11×12、15×16、24×24、32×32点阵。这里使用15×16点阵。在GT23H32S4W里,15×16点阵的GB2312标准点阵字库的地址计算如下。其中,GBCode表示汉字内码;MSB表示汉字内码GBCode的高8位;LSB表示汉字内码GBCode的低8位;Address表示汉字或ASCII字符点阵在芯片中的字节地址;BaseAdd说明点阵数据在字库芯片中的起始地址。
计算代码如下:
图3 快速读取点阵芯片GT23H32S4W的时序图
这里的变量Address、MSB、LSB定义数据类型时要注意,定义成长整型,以避免计算结果溢出,造成地址计算错误。
2.2 连续读一个汉字的字模子程序
根据芯片的工作时序图以及字模在GT23H32S4W芯片里的地址,可以实现一个汉字的字模的读取。代码如下:
结 语[5]
该字库芯片应用到基于GSM的图文显示系统,即通过手机发送短信,GSM模块接收,然后单片机控制GSM模块解析短信的内容,得到汉字的GB码。由汉字的GB码,计算汉字在字库芯片GT23H32S4W中的地址,再由所计算的地址,读取汉字的字模,送LED屏显示。图4为字库芯片的应用系统框图;图5为实验结果。
图4 字库芯片的应用系统框图
图5 实验结果
实验结果表明,汉字字模正确,显示内容清晰,可以显示字符、多种汉字的字型。
[1] 倪晓军,章韵.单片机原理与接口技术[M] .北京:清华大学出版社,2009.
[2] GT23H32S4W标准点阵字库芯片应用手册V3.7,2011.
[3] 靳桅,邬芝权,李骐,等.基于51系列单片机的LED显示屏开发技术[M] .北京:北京航空航天大学出版社,2009.
[4] 马忠梅.单片机的C语言应用程序设计[M] .北京:北京航空航天大学出版社,2003.
[5] 冯月芹.基于P89V51RD2单片机LED点阵显示屏的实现[J] .电子设计工程,2012(6).