GT21L16S2W用戶手冊V35_第1頁
GT21L16S2W用戶手冊V35_第2頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、gt21l16s2w用戶手冊v35 介紹高通漢字庫芯片的操作時序,官方版本 gt21l16s2w 標準漢字字庫芯片 用戶手冊 datasheet 字型:11x12點陣、15x16點陣 字符集:gb2312 兼容unicode內碼 輸入法碼本:gt快捷拼音輸入法 排置方式:橫置橫排 總線接口:spi串行總線 芯片形式:so8封裝 ver 3.5 2021-q3 介紹高通漢字庫芯片的操作時序,官方版本 版本修訂記錄 版本號 v35 修改內容 1. 15*16點漢字算法部分 2. 8x16點國標擴展字符 3. 8x16點國標擴展字符起始地址 4. 6x12點國標擴展字符 5. 6x12點國標擴展字符

2、起始地址 日期 備注 介紹高通漢字庫芯片的操作時序,官方版本 目 錄 第一部分:硬件部分 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 指令參數(shù).8 3.2 read data bytes(一般讀取).8 3.3 read data bytes at higher speed(快速讀取點陣數(shù)據(jù)).9 4 電氣特性.10 4.1 肯定最大額定值.10 4.2 dc特性.10 4.3 ac特性.10 5 封裝尺寸.12 其次部分:軟件部

3、分 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區(qū) (376字符).24 7.2 816點國標擴展字符(126字符).25 介紹高通漢字庫芯片的操作時序,官方版本 1 概述 gt21l16s2w是一款內含11x12點陣和15x16點陣的漢字庫芯片,支持gb2312國標簡體漢字(含有國家信標委合法授權)、ascii字符及gb2312與unicode編碼互轉表。

4、排列格式為橫置橫排。用戶通過字符內碼,利用本手冊供應的方法計算出該字符點陣在芯片中的地址,可從該地址連續(xù)讀出字符點陣信息。 本字庫芯片內含gt快捷拼音輸入法碼本,另外協(xié)作本公司的輸入法程序,可實現(xiàn)數(shù)字小鍵盤it產(chǎn)品的漢字快捷輸入。 1.1 芯片特點 數(shù)據(jù)總線:spi串行總線接口 點陣排列方式:字節(jié)橫置橫排 時鐘頻率:30mhz(max.) 3.3v 工作電壓:2.7v3.6v 電流: 工作電流:12ma 待機電流:10ua 封裝:sop8 尺寸(sop8):4.90mmx3.90mm(193milx154mil) 工作溫度:-2085 cs#soncgnd vcchold#sclksi 1.2

5、 芯片內容 分類 字庫內容 編碼體系(字符集) 字符數(shù) 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快捷拼音輸入法碼表 介紹高通漢字庫芯片的操作時序,官方版本 字型樣張 11x

6、12點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) 串行數(shù)據(jù)輸出 (serial data output) 懸空 地(ground) 串行數(shù)據(jù)輸入 (serial data input) 串行時

7、鐘輸入(serial clock input) 總線掛起(hold, to pause the device without)電源(+ 3.3v power supply) 串行數(shù)據(jù)輸出(so):該信號用來把數(shù)據(jù)從芯片串行輸出,數(shù)據(jù)在時鐘的下降沿移出。 串行數(shù)據(jù)輸入(si):該信號用來把數(shù)據(jù)從串行輸入芯片,數(shù)據(jù)在時鐘的上升沿移入。 串行時鐘輸入(sclk):數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。 片選輸入(cs#):全部串行數(shù)據(jù)傳輸開頭于cs#下降沿,cs#在傳輸期間必需保持為低電平,在兩條 指令之間保持為高電平。 介紹高通漢字庫芯片的操作時序,官方版本 總線掛起輸入(hold#): 該信號用于

8、片選信號有效期間暫停數(shù)據(jù)傳輸,在總線掛起期間,串行數(shù)據(jù)輸出信號處于高阻態(tài),芯片不對串行數(shù)據(jù)輸入信號和串行時鐘信號進行響應。 當hold#信號變?yōu)榈筒⑶掖袝r鐘信號(sclk)處于低電平常,進入總線掛起狀態(tài)。 當hold#信號變?yōu)楦卟r串行時鐘信號(sclk)處于低電平常,結束總線掛起狀態(tài)。 2.3 host cpu主機spi接口電路示意圖 spi與主機接口電路連接可以參考下圖(#hold管腳建議接2k電阻3.3v拉高)。 gt21 host cpu主機spi接口電路示意圖 介紹高通漢字庫芯片的操作時序,官方版本 3 操作指令 3.1 指令參數(shù) instruction set read fast

9、_read 全部對本芯片的操作只有2個,那就是read data bytes (read “一般讀取”)和read data bytes at higher speed (fast_read “快速讀取點陣數(shù)據(jù)”)。 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 dat

10、a bytes需要用指令碼來執(zhí)行每一次操作。read指令的時序如下(圖): 首先把片選信號(cs#)變?yōu)榈停o跟著的是1個字節(jié)的命令字(03 h)和3個字節(jié)的地址和通 過串行數(shù)據(jù)輸入引腳(si)移位輸入,每一位在串行時鐘(sclk)上升沿被鎖存。 然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(so)移位輸出,每一位在串行時鐘(sclk)下 降沿被移出。 讀取字節(jié)數(shù)據(jù)后,則把片選信號(cs#)變?yōu)楦撸Y束本次操作。 假如片選信號(cs#)連續(xù)保持為底,則下一個地址的字節(jié)數(shù)據(jù)連續(xù)通過串行數(shù)據(jù)輸出引腳(so)移位輸出。 圖:read data bytes (read) instruction seque

11、nce and data-out sequence: 介紹高通漢字庫芯片的操作時序,官方版本 3.3 read data bytes at higher speed(快速讀取點陣數(shù)據(jù)) read data bytes at higher speed 需要用指令碼來執(zhí)行操作。read_fast指令的時序如下(圖): 首先把片選信號(cs#)變?yōu)榈?,緊跟著的是1個字節(jié)的命令字(0b h)和3個字節(jié)的地址以及 一個字節(jié) dummy byte通過串行數(shù)據(jù)輸入引腳(si)移位輸入,每一位在串行時鐘(sclk)上升沿被鎖存。 然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(so)移位輸出,每一位在串行時鐘(sc

12、lk)下 降沿被移出。 假如片選信號(cs#)連續(xù)保持為底,則下一個地址的字節(jié)數(shù)據(jù)連續(xù)通過串行數(shù)據(jù)輸出引腳(so) 移位輸出。例:讀取一個15x16點陣漢字需要32byte,則連續(xù)32個字節(jié)讀取后結束一個漢字的點陣數(shù)據(jù)讀取操作。 假如不需要連續(xù)讀取數(shù)據(jù),則把片選信號(cs#)變?yōu)楦?,結束本次操作。 圖:read data bytes at higher speed (read_fast) instruction sequence and data-out sequence: 介紹高通漢字庫芯片的操作時序,官方版本 4 電氣特性 4.1 肯定最大額定值 min. max. unit condit

13、ion 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 u

14、a v v v vcc=2.73.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特性 集通數(shù)碼科技 - 10 - 介紹高通漢字庫芯片的操作時序,官方版本 gt21l16s2w標準點陣漢字字庫芯片用戶手冊 集通數(shù)碼科技

15、 - 11 - 介紹高通漢字庫芯片的操作時序,官方版本 5 封裝尺寸 sop8 package unit :mm 介紹高通漢字庫芯片的操作時序,官方版本 6 字庫調用方法 6.1 漢字點陣排列格式 每個漢字在芯片中是以漢字點陣字模的形式存儲的,每個點用一個二進制位表示,存1的點,當顯示時可以在屏幕上顯示亮點,存0的點,則在屏幕上不顯示。點陣排列格式為橫置橫排:即一個字節(jié)的高位表示左面的點,低位表示右面的點,排滿一行的點后再排下一行。這樣把點陣信息用來直接在顯示器上按上述規(guī)章顯示,則將消失對應的漢字。 6.1.1 11x12點漢字排列格式 11x12點漢字的信息需要24個字節(jié)(byte 0 by

16、te 23)來表示。該11x12點漢字的點陣數(shù)據(jù)是橫置橫排的,其詳細排列結構如下圖: 12 行 6.1.2 15x16點漢字排列格式 15x16點漢字的信息需要32個字節(jié)(byte 0 byte 31)來表示。該15x16點漢字的點陣數(shù)據(jù)是橫置橫排的,其詳細排列結構如下圖: 15位 16 行 介紹高通漢字庫芯片的操作時序,官方版本 6.1.3 5x7點ascii字符排列格式 5x7點ascii的信息需要8個字節(jié)(byte 0 byte7)來表示。該ascii點陣數(shù)據(jù)是橫置橫排的,其詳細排列結構如下圖: 5位 空白 7行8行 6.1.4 7x8點ascii字符排列格式 7x8點ascii的信息需

17、要8個字節(jié)(byte 0 byte7)來表示。該ascii點陣數(shù)據(jù)是橫置橫排的, 其詳細排列結構如下圖: 7位 空白 8行 6.1.5 6x12點字符排列格式 適用于此種排列格式的字體有: 6x12點ascii字符 6x12點國標擴展字符 6x12點ascii的信息需要12個字節(jié)(byte 0 byte11)來表示。該ascii點陣數(shù)據(jù)是橫置橫排的,其詳細排列結構如下圖: 介紹高通漢字庫芯片的操作時序,官方版本 8 位6位 2位空白 12 行 6.1.6 8x16點字符排列格式 適用于此種排列格式的字體有: 8x16點ascii字符 8x16點國標擴展字符 8x16點字符信息需要16個字節(jié)(b

18、yte 0 byte15)來表示。該點陣數(shù)據(jù)是橫置橫排的,其詳細排列結構如下圖: 8 位 byte 0 byte 1 . . . 16 行 byte 14 byte 15 6.1.7 12點陣不等寬ascii方頭(arial)字符排列格式 12點陣不等寬字符的信息需要26個字節(jié)(byte 0 byte25)來表示。 由于字符是不等寬的,因此在存儲格式中byte0 byte1存放點陣寬度數(shù)據(jù),byte2-25存放橫置橫排點陣數(shù)據(jù)。 不等寬字符的點陣存儲寬度是以byte為單位取整的,依據(jù)不同字符寬度會消失相應的空白區(qū)。根 介紹高通漢字庫芯片的操作時序,官方版本 byte0 byte1所存放點陣的實

19、際寬度數(shù)據(jù),可以對還原下一個字的顯示或排版留作參考。 點陣寬度 空白 12行 6.1.8 16點陣不等寬ascii方頭(arial)字符排列格式 16點陣不等寬字符的信息需要34個字節(jié)(byte 0 byte33)來表示。 存儲格式 由于字符是不等寬的,因此在存儲格式中byte0 byte1存放點陣寬度數(shù)據(jù),byte2-33存放橫置 橫排點陣數(shù)據(jù)。詳細格式見下圖: 點陣寬度數(shù)據(jù) byte 2 ascii點陣數(shù)據(jù) . byte 33 存儲結構 不等寬字符的點陣存儲寬度是以byte為單位取整的,依據(jù)不同字符寬度會消失相應的空白區(qū)。根byte0 byte1所存放點陣的實際寬度數(shù)據(jù),可以對還原下一個字

20、的顯示或排版留作參考。 點陣寬度 空白 16行 介紹高通漢字庫芯片的操作時序,官方版本 例如:ascii方頭字符b 0-33byte的點陣數(shù)據(jù)是: 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的點陣寬度數(shù)據(jù),即:12位寬度。字符后面有4位空白區(qū),可以在排版下一個字時考慮到這一點,將下一個字的起始位置前移。 byte2-33: 00 00 00 00 00 00 7f 8

21、0 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的點陣數(shù)據(jù)。 6.2 漢字點陣字庫地址表 字庫內容 編碼體系 碼位范圍 字符數(shù) 起始 地址 結束 地址 參考 算法 點gb2312標準點陣字庫6763+376到unicode內碼轉換表3 4 7x8點ascii字符 8x16點國標擴展字符 ascii gb2312 aaa1-abc05 8x16點ascii字符 ascii 6 5x7點ascii字符7 16點陣不等寬ascii方頭(arial)字符207f 96 6.3.2.

22、6 8 11x12點gb2312標準點陣字庫6763+3769 6x12點國標擴展字符aaa1-abc010 6x12點ascii字符11 12點陣不等寬ascii方頭(arial)字符207f 96 6.3.2.5 12 保留區(qū) 67d00 67d6f 13 unicode到gb2312內碼轉換表 快捷拼音輸入法碼表 15 保留區(qū) 7fa33 7ffff 介紹高通漢字庫芯片的操作時序,官方版本 6.3 字符在芯片中的地址計算方法 用戶只要知道字符的內碼,就可以計算出該字符點陣在芯片中的地址,然后就可從該地址連續(xù)讀出點陣信息用于顯示。 6.3.1 漢字字符的地址計算 6.3.1.1 11x12

23、點gb2312標準點陣字庫 參數(shù)說明: gbcode表示漢字內碼。 msb 表示漢字內碼gbcode 的高8bits。 lsb 表示漢字內碼gbcode 的低8bits。 address 表示漢字或ascii字符點陣在芯片中的字節(jié)地址。 baseadd:說明點陣數(shù)據(jù)在字庫芯片中的起始地址。 計算方法: baseadd=0x3cf80; if(msb =0xa1 msb = 0xa3 lsb =0xa1) address =( (msb - 0xa1) * 94 + (lsb - 0xa1)*24+ baseadd; else if(msb = 0xa9 lsb =0xa1) address =

24、( (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標準點陣字庫 參數(shù)說明: gbcode表示漢字內碼。 msb 表示漢字內碼gbcode 的高8bits。 lsb 表示漢字內碼gbcode 的低8bits。 address 表示漢字或ascii字符點陣在芯片中的字節(jié)地址。 baseadd:說明點陣數(shù)據(jù)在字庫芯片中的起始地址。 計算方法

25、: 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點國標擴展字符

26、 說明: baseadd:說明本套字庫在字庫芯片中的起始字節(jié)地址。 fontcode:表示字符內碼(16bits) byteaddress:表示字符點陣在芯片中的字節(jié)地址。 介紹高通漢字庫芯片的操作時序,官方版本 baseadd=0x66d4c if (fontcode= 0xaaa1) and (fontcode=0xaafe ) then byteaddress = (fontcode0xaaa1 ) * 12+baseadd else if(fontcode= 0xaba1) and (fontcode=0xabc0 ) then byteaddress = (fontcode0xaba

27、1 + 95) * 12+baseadd 6.3.1.4 8x16點國標擴展字符 說明: baseadd:說明本套字庫在字庫芯片中的起始字節(jié)地址。 fontcode:表示字符內碼(16bits) byteaddress:表示字符點陣在芯片中的字節(jié)地址。 計算方法: baseadd=0x3b7d0 if (fontcode= 0xaaa1) and (fontcode=0xaafe ) then byteaddress = (fontcode0xaaa1 ) * 16+baseadd else if(fontcode= 0xaba1) and (fontcode=0xabc0 ) then by

28、teaddress = (fontcode0xaba1 + 95) * 16+baseadd 6.3.2 ascii字符的地址計算 6.3.2.1 5x7 點ascii 字符 參數(shù)說明: asciicode:表示 ascii碼(8bits) baseadd:說明該套字庫在芯片中的起始地址。 address:ascii字符點陣在芯片中的字節(jié)地址。 計算方法: baseadd=0x3bfc0 if (asciicode = 0x20) and (asciicode = 0x7e) then address = (asciicode 0x20 ) * 8+baseadd 6.3.2.2 7x8 點a

29、scii 字符 參數(shù)說明: asciicode:表示 ascii碼(8bits) baseadd:說明該套字庫在芯片中的起始地址。 address:ascii字符點陣在芯片中的字節(jié)地址。 計算方法: 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字符點

30、陣在芯片中的字節(jié)地址。 計算方法: 介紹高通漢字庫芯片的操作時序,官方版本 if (asciicode = 0x20) and (asciicode = 0x7e) then address = (asciicode 0x20 ) * 12+baseadd 6.3.2.4 8x16點 ascii 字符 說明: asciicode:表示 ascii碼(8bits) baseadd:說明該套字庫在芯片中的起始地址。 address:ascii字符點陣在芯片中的字節(jié)地址。 計算方法: baseadd=0x3b7c0 if (asciicode = 0x20) and (asciicode = 0x7

31、e) then address = (asciicode 0x20 ) * 16+baseadd 6.3.2.5 12點陣不等寬ascii方頭(arial)字符 說明: asciicode:表示 ascii碼(8bits) baseadd:說明該套字庫在芯片中的起始地址。 address:ascii字符點陣在芯片中的字節(jié)地址。 計算方法: baseadd=0x67340 if (asciicode = 0x20) and (asciicode = 0x7e) then address = (asciicode 0x20 ) * 26 + baseadd 6.3.2.6 16點陣不等寬ascii

32、方頭(arial)字符 說明: asciicode:表示 ascii碼(8bits) baseadd:說明該套字庫在芯片中的起始地址。 address:ascii字符點陣在芯片中的字節(jié)地址。 計算方法: baseadd=0x3c2c0 if (asciicode = 0x20) and (asciicode = 0x7e) then address = (asciicode 0x20 ) * 34 + baseadd 6.4 unicode到gb2312內碼轉換程序 功能: 把unicode內碼轉換為gb2312內碼 參數(shù): 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 = (code8) + *srccode; if(code0xa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論