1.一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是包括如下操作步驟:
步驟1:利用圖像處理的理念和方法生成圓形、橢圓形的電子印章圖模;
步驟2:利用MCU改變印章的內(nèi)容;
步驟3:利用FPGA高速流水化的處理能力,把待顯示數(shù)據(jù)和電子印章數(shù)據(jù)疊加在一起,并顯示到LCD屏幕上;
步驟4:利用國標(biāo)碼方便的在MCU和FPGA的系統(tǒng)上做任意漢字或字符的檢索,并對字庫點陣做縮放和旋轉(zhuǎn)處理。
2.根據(jù)權(quán)利要求1所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述步驟1包括通過觸摸鍵盤輸入配置印章的大小、樣式和內(nèi)容若干印章的參數(shù)。
3.根據(jù)權(quán)利要求2所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述步驟2中MCU接收到步驟1中設(shè)置的印章的參數(shù)后通過FPGA調(diào)取字庫存儲器的漢字、字符或中心圖案點陣數(shù)據(jù),并對這些點陣數(shù)據(jù)做縮放和旋轉(zhuǎn)處理,最后形成印章圖模,通過FPGA暫存到高速緩存中,最后按照LCD的驅(qū)動時序要求,讀出印章圖模數(shù)據(jù)和待顯示數(shù)據(jù),疊加后送到LCD的數(shù)據(jù)線上,顯示出帶有電子印章圖案的圖像。
4.根據(jù)權(quán)利要求3所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述觸摸鍵盤選用實體的鍵盤或者觸摸屏結(jié)合軟件的系統(tǒng),其中印章的參數(shù)包括印章字體、印章正文、印章寬度、印章高度、印章厚度、正文環(huán)繞、夾角、字符寬度、字符高度、中心圖案、圖案大小、印章顏色、附文內(nèi)容、附文高度、符文寬度、附文環(huán)繞、附文夾角和附文形狀。
5.根據(jù)權(quán)利要求4所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述MCU根據(jù)印章內(nèi)容、印章字體、附文內(nèi)容和中心圖案的設(shè)置,通過FPGA讀取相應(yīng)漢字、字符或中心圖案的點陣數(shù)據(jù),送到FPGA和MCU之間的RAM區(qū),該RAM采用FPGA內(nèi)部的異步雙端口RAM資源實現(xiàn),以方便解決FPGA和MCU之間的接口同步,所有的漢字或者字符采用標(biāo)準(zhǔn)的國標(biāo)碼,以方便漢字字庫的管理。
6.根據(jù)權(quán)利要求5所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述MCU讀取MCU和FPGA之間的異步雙口RAM中的點陣數(shù)據(jù),根據(jù)用戶的設(shè)置和計算出的旋轉(zhuǎn)角度對字庫、字符或中心圖案點陣做縮放和旋轉(zhuǎn)操作,把計算完的數(shù)據(jù)通過FPGA寫到高速緩存中,最后形成印章圖模。
7.根據(jù)權(quán)利要求6所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述FPGA根據(jù)LCD的顯示時序要求,讀出高速緩存中的待顯示數(shù)據(jù)和印章圖模數(shù)據(jù),把兩個數(shù)據(jù)疊加在一起形成帶有印章圖模的顯示圖像,在LCD顯示屏上顯示出來。
8.根據(jù)權(quán)利要求7所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述印章字體包括仿宋、黑體、楷體和幼圓,印章字體能夠擴(kuò)展;印章正文根據(jù)客戶名稱的不同而改變;印章寬度和印章高度決定印章大小,當(dāng)寬度和高度相同時印章呈現(xiàn)圓形,當(dāng)不同時就是橢圓形;正文環(huán)繞即是印章內(nèi)容和印章外圓之間距離參數(shù);夾角即是印章正文中首字符和末字符之間的夾角;算法中根據(jù)字符寬度和字符高度和原字庫點陣的大小計算縮放系數(shù)對字庫點陣進(jìn)行縮放處理,然后根據(jù)該字符的角度對縮放后的字庫點陣進(jìn)行旋轉(zhuǎn)操作;中心圖案選用五角星、黨徽或者國徽,該中心圖案同樣和字庫點陣同時存儲在字庫存儲器,同樣根據(jù)中心圖案的大小設(shè)置對源點陣進(jìn)行縮放處理;印章顏色選用紅色或者藍(lán)色;附文形狀選用直線形或者圓弧形。
9.根據(jù)權(quán)利要求8所述的一種基于MCU和FPGA芯片的電子印章生成顯示方法,其特征是所述LCD顯示屏采用RGB24或者RGB16位真彩色顯示屏,30MHz的像素時鐘可以達(dá)到60幀每秒的屏幕刷新率;高速緩存采用SDRAM,該芯片可以達(dá)到100M Hzx16bits的讀寫速度;字庫點陣存儲器采用大容量的NAND芯片;MCU采用ARM系列中的Cortex-M3處理器內(nèi)核芯片;觸摸鍵盤輸入采用觸摸屏加相關(guān)軟件的配合;FPGA采用LATTICE公司的MachXO2系列芯片,用SD卡向NAND存儲器內(nèi)導(dǎo)入所需要的字庫數(shù)據(jù),和其他需要導(dǎo)入的數(shù)據(jù);
首先用計算機(jī)通過一個字庫軟件生成幾種類型的按照國標(biāo)碼排列的字庫點陣,寫入SD卡內(nèi),然后把該SD卡插到MCU的SD卡接口插槽中,給系統(tǒng)加電,MCU把字庫寫入到NAND中,然后用查表法檢索NAND中的漢字點陣,MCU按照順序一個個讀入需要的字庫點陣,計算每一個漢字的角度,對字庫進(jìn)行縮放和旋轉(zhuǎn)處理,經(jīng)過二值化后寫入到SDRAM中;
對于字庫點陣的縮放和旋轉(zhuǎn)操作,同時兼顧MCU的計算能力,采用雙線性插值算法,雙線性插值算法的公式如下:
該算法是處理效果和計算量之間的一個折中,在實際操作中把其分解成兩個一維的插值運算。