新闻  |   论坛  |   博客  |   在线研讨会
电子产品设计中的汉字解决方案
chen_yuangui | 2009-09-27 10:54:09    阅读:1028   发布文章

电子产品中不可避免的会涉及到嵌入式系统设计中的输入及输出。输入分为键值输入(例如上、下、左、右、确认、取消)和汉字及字符输入(小键盘进行ASCII和汉字输入)。在输出方面,随着目前LCD的成本下降,在消费类和部分工业电子产品上都尽可能嵌入操作简便的人机界面。而人机界面大多都是工程师和设计人员自行进行设计的,既然是界面就不可避免的需要汉字及字符。而电子产品中的汉字的解决方案又涉及汉字使用的编码、通讯协议、容量及标准,这方面正是大多电子工程师所烦恼的问题。对此,本文将着重以上问题予以阐述,若有疏漏之处还希望大家包涵。

  首先介绍一下我们大家常规的电子产品系统。常见的系统结构图见下图:
                             
汉1.jpg (12.69 K)
2009-8-11 15:38:36




  作为嵌入式系统的设计初衷,是以最小系统(成本)满足用户或产品的需要。一般消费类电子的最小系统都是由MCU、存储器和显示终端组成。基本器件组成构成如下图:

                     
                             
汉2.jpg (11.24 K)
2009-8-11 15:38:36




  为什么在谈产品的汉字解决方案时要提到系统和器件组成结构?因为汉字解决方案依赖于硬件的组成,而硬件的组成依赖于产品设计的合理性和产品设计成本。系统设计上,我们通常会将程序和数据分别放置在MCU和FLASH中。关于汉字解决的核心则是字库的选择与应用,大多电子工程师可能第一印象就是网络上搜索一下看看是否有字库可以下载,能下载就烧录到FLASH中,测试一下能显示就可以了。其实从设计产品的可靠性或稳定性上来说并不是这样。也许我们还需要考虑:

一、字体的大小和界面是否匹配,硬件资源是否充裕
产品的液晶上显示的一般为点阵字为主,点阵字根据字体大小有11X12点、15X16点、24X24点和32X32点,字体的大小我们可以根据屏幕的大小及分辨率进行选择。例如128X64的屏幕,可以选择32点阵的“大”字显示2行,也可以选择16点阵的字体显示4行。
  硬件资源方面需要关心的是MCU的I/O资源是否丰富,当I/O比较否紧张的时候,可以考虑使用串行总线连接存储器。



二、字库存储的排置是否符合显示或打印的需求
  字库字模的存储格式会根据不同应用分为:横置横排、竖置横排、竖置竖排。例如一般的STN液晶者是采用竖置横排的,而热敏打印机就是横置横排的。
以下图例将介绍汉字字模的存储方式与取模方式:

汉3.jpg (22.88 K)
2009-8-11 15:38:36
汉4.jpg (24.41 K)
2009-8-11 15:38:36
汉5.jpg (19.64 K)
2009-8-11 15:38:36






 


三、下载的字库中,有错别字或乱码字
  其实很多电子工程师不会对所使用的字库进行逐字测试,即使有问题也不能用自己的字库知识面来解决,等到最终用户发现问题后才予以修正。
  其实关于错别字问题,*屏蔽内容*有字符集标准GB2312(6,763汉字)、GB18030(27,533汉字)、GB13000和GBK(20,902汉字)。
相对于GB23126,763汉字)大字符集指的是GB18030-2000包含27,484.字,GB18030-2000基本涵盖日常生活所能遇到的罕用字。由于GB2312基本汉字集不能完全收入人名、地名等冷僻汉字,故越来越多的信息产品使用GB18030也已经有很多,如银行信息设备及二代证读卡器出于实名制储蓄的需要,均采用GB18030大字符集。
乱码问题经常是由于字库编码或字库出错而引起的。

四、汉字存储与传输的标准协议,使用什么字库能出口港澳台
  存储与传输有一定区域性,在港澳台地区我们一般使用BIG5码进行存储与传输的。但是随着国内标准(GB)的健全与国际码(Unicode)的发展,在通讯上也逐渐向Unicode偏移,例如手机、GPS等。如果需要同时兼容这些协议,我们也可以通过码间转换来实现。


五、Flash可靠性及其烧录问题
Flash有时会因为电压或运行环境的变化,数据会突发性丢失或部分擦写失败,同时烧录的可靠性需要生产及质检部门对品质进行跟踪;

  针对以上问题,我们可以将那些程序和基本数据存储在MCU中的客户,按照以下器件组成结构来设计。原因很简单,因为程序和数据都存储在MCU中,而汉字及ASCII字符等字库信息均需要存储在存储器中,我们可以把存储器简单的更换为专业字库,比如高通字库来解决汉字方面的问题,例如字库算法、编码体系、码间转换等,更重要的是成本还比使用普通的FLASH烧录来得低很多。这是也许是一种稳定、可靠、低价的最佳解决方案。


                       
汉6.jpg (12.27 K)
2009-8-11 15:38:36


  根据以上汉字解决方案,我们完全可以使用在以下图例中的应用:


                           

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
我们赖以生存的空间每时每刻都在变化着,正是它的非线性赋予了我们五彩缤纷的生活!
推荐文章
最近访客