基于EP9312的銀稅類(lèi)嵌入式系統(tǒng)硬件設(shè)計(jì)方案
1 嵌入式系統(tǒng)的概念與特點(diǎn)
嵌入式系統(tǒng)結(jié)合微處理器或微控制器的系統(tǒng)電路與其專(zhuān)屬軟件,達(dá)到系統(tǒng)操作效率的最高比,這里把嵌入式系統(tǒng)定義為一個(gè)體積較小的計(jì)算機(jī)系統(tǒng)(與pc機(jī)相比),由于其體積較小,因此軟硬件結(jié)構(gòu)和應(yīng)用范圍與pc機(jī)相比有較大的不同,其特性可歸納為下列四項(xiàng):
(1)通常執(zhí)行特定功能;
(2)以微電腦與外圍構(gòu)成核心;
(3)嚴(yán)格的時(shí)序與穩(wěn)定性要求;
(4)全自動(dòng)操作循環(huán)。
嵌入式系統(tǒng)具有目的性或針對(duì)性,其開(kāi)發(fā)是圍繞著產(chǎn)品和產(chǎn)品的特定功能來(lái)進(jìn)行的。它必須最大限度的在硬件和軟件上"量身訂作"以提高效率[1],本文設(shè)計(jì)的嵌入式系統(tǒng)主要用于金融和稅務(wù)類(lèi)產(chǎn)品。
2 總體設(shè)計(jì)
2.1 cpu的選擇
本文采用的是cirrus logic公司的嵌入式處理器ep9312[1]。
ep9312是一款arm9系列的處理器,arm9系列是高性能和低功耗特性方面最佳的硬宏單元,它具有五級(jí)流水線,并提供1.1mi/s/mhz的哈佛結(jié)構(gòu),而其前代產(chǎn)品arm7系列處理器則具有嵌入式ice-rt邏輯,功耗非常低,并提供0.9mi/s/mhz的三級(jí)流水線和馮.諾依曼結(jié)構(gòu)。因?yàn)楸局饕糜陂_(kāi)發(fā)先進(jìn)的計(jì)算機(jī)終端,機(jī)頂盒、高端打印機(jī)等產(chǎn)品,所以需要較快的運(yùn)算速度,而arm7主要用于對(duì)價(jià)位和功耗敏感的消費(fèi)類(lèi)產(chǎn)品,并且其運(yùn)算速度相對(duì)較慢,所以本設(shè)計(jì)系統(tǒng)選擇arm9系列[2],在arm9系列cpu中還有ep9307和ep9315。ep9307與ep9312的功能構(gòu)造基本相同,只少了1個(gè)ide接口,但多了圖形加速的功能,由于金融稅務(wù)類(lèi)產(chǎn)品大多需要較多的gpio,而與ep9307相比,ep9312可以很容易地設(shè)計(jì)出較多的gpio。ep9315在ep9312擁有的功能上再增加了pcmcia接口和圖形加速功能,但這并不是金融稅務(wù)類(lèi)產(chǎn)品所必需的功能,綜合考慮之后,本系統(tǒng)選擇了ep9312。
2.2 技術(shù)指標(biāo)
經(jīng)過(guò)系統(tǒng)調(diào)研并基于產(chǎn)品成本考慮,嵌入式系統(tǒng)的技術(shù)指標(biāo)如下所述:
cirrus logic公司的ep9312作為主處理器;
32mb flash使用nor flash;
64mb sdram;
顯示格式:西文:24×12點(diǎn)陣,中文:24×24點(diǎn)陣,26行,80列,或者西文:16×8點(diǎn)陣,中文:16×16點(diǎn)陣,26行,80列;
800×600×16bpp、1024×768×16bpp多種tft顯示模式,支持單掃描或雙掃描;
1個(gè)并口;
5個(gè)串口;
2個(gè)ps/2端口;
1個(gè)1/10/100mb/s為的以太網(wǎng)接口,支持tcp/ip協(xié)議;
1個(gè)usb host和1個(gè)usb slave接口。
2.3 系統(tǒng)組成
ep9312已經(jīng)集成了嵌入式系統(tǒng)所需的許多功能,為了使本設(shè)計(jì)滿足金融稅務(wù)類(lèi)產(chǎn)品的要求,還增加了如下硬件:super i/o器件(包含2個(gè)uart、1個(gè)并口、2個(gè)ps/2產(chǎn)品控制器),網(wǎng)絡(luò)phy接口器件、接口電平轉(zhuǎn)換器、flash、sdram等,pcb板采用4層板,表層為信號(hào)層,其中的電源線路層和地線層深埋在主板的內(nèi)層,不易受到電源雜波的干擾,尤其是高頻電路,可以獲得較好的抗干擾能力,系統(tǒng)的基本結(jié)構(gòu)如圖1所示[2]。
3.1 cpu
ep9312的內(nèi)核是arm920t,其主頻為200mhz,100mhz內(nèi)部總線,有16kb的指令cache和16kb的數(shù)據(jù)cache,內(nèi)部集成了很多功能模塊,其中主要包括:lcd控制器,3個(gè)usb
host控制器,3個(gè)串口控制器,ethernet mac、eide、ac97接口等,ep9312內(nèi)含mmu,支持tcp/ip協(xié)議,也為開(kāi)發(fā)各種字符圖形功能提供了快捷的方法[3]。本設(shè)計(jì)充分利用了這些內(nèi)部集成功能,減少了外圍器件。
3.2 reset模塊
系統(tǒng)的reset模塊為系統(tǒng)提供啟動(dòng)及復(fù)位信號(hào),是系統(tǒng)運(yùn)行的開(kāi)端。
本系統(tǒng)采用max708csa作為復(fù)位器件,設(shè)計(jì)成用戶重啟的按鈕控制。發(fā)出reset信號(hào)送給cpu的rston引腳、flash模塊、jatg模塊等。另采用一片max708csa作為系統(tǒng)上電的按鈕控制,發(fā)出por信號(hào)發(fā)給cpu的prstn引腳,如圖2所示。
系統(tǒng)時(shí)鐘模塊的作用是產(chǎn)生20個(gè)獨(dú)立的時(shí)鐘頻率來(lái)滿足ep9312不同獨(dú)立邏輯部分的要求,所以這些時(shí)鐘頻率都來(lái)源于外部的一個(gè)低頻晶體振蕩器。這樣處理器速率、總線速率、視頻速率就可以不同而且互不影響。
ep9312提供兩個(gè)接口外接晶體振蕩器,其頻率分別為32khz(實(shí)時(shí)時(shí)鐘)和14.7456mhz。
為了獲得足夠高的時(shí)鐘頻率,ep9312同時(shí)提供兩個(gè)pll,將32khz和14.7456mhz頻率提升到足夠高(14.756mhz,最大頻率可為400mhz)。
3.4 調(diào)試端口(jatg)模塊
ep9312提供了jtag調(diào)試接口,它有6條測(cè)試掃描鏈,這個(gè)接口通過(guò)5個(gè)外部控制信號(hào)實(shí)現(xiàn)調(diào)試功能;
tdo-測(cè)試數(shù)據(jù)輸出,tdi-測(cè)試數(shù)據(jù)輸入,tms-測(cè)試模式選擇,tck-測(cè)試時(shí)鐘,ntrst-測(cè)試復(fù)位。
由于ep9312集成了這些jtag信號(hào),因此引出這些信號(hào)線在板上擴(kuò)展出jtag口,即可與jtag測(cè)試器進(jìn)行通信。
3.5 存儲(chǔ)器
ep9312內(nèi)含sdram控制器,它提供了一個(gè)高速存儲(chǔ)接口給多種存儲(chǔ)裝置,包括sdram,synchronous flash和synchronous rom等。
cpu中已有sdram控制器,因此系統(tǒng)不需要外加sdram控制器,只要采用合適的sdram存儲(chǔ)器,與ep9312的專(zhuān)用sdram信號(hào)線相連接即可。
本系統(tǒng)采用2片is4216400b的16位數(shù)據(jù)總線sdram器件組合構(gòu)成了一個(gè)32位數(shù)據(jù)總線的16mb存儲(chǔ)系統(tǒng)。今后如有需要,只需要16mb器件代替8mb的器件,即可方便地?cái)U(kuò)容至32mb sdram的系統(tǒng)。
本系統(tǒng)所用的flash器件是intel公司的te28f320j3d-75,該器件采用56引腳tsop封裝,32mb的存儲(chǔ)空間由32個(gè)128kb的擦除塊組成,該flash采用25根地址線和16位數(shù)據(jù)線,可以通過(guò)byte信號(hào)來(lái)選擇是8位還是16位方式訪問(wèn)。本系統(tǒng)采用16位方式訪問(wèn),因此該信號(hào)線接高電平,同時(shí)ao地址線接地,oe/we是讀寫(xiě)信號(hào),由ep9312的讀寫(xiě)控制線直接控制,系統(tǒng)中將flash的片選信號(hào)ce2、ce1信號(hào)接地,ceo由ep9312的兩根片選信號(hào)cs0和cs6通過(guò)跳線來(lái)控制,如圖3所示。
本系統(tǒng)的flash需要設(shè)計(jì)成2mb、4mb、8mb均支持的電路,只需要焊接不同容量的器件即可,這樣做可以滿足不同用戶的需求,如:使用cf卡的用戶只要2mb flash即可,此時(shí),需要對(duì)flash和sdram的型號(hào)進(jìn)行細(xì)致的選擇,并對(duì)地址總線和數(shù)據(jù)總線進(jìn)行相應(yīng)的設(shè)計(jì)。
3.6 ps/2、串口和并口
通過(guò)super-i/o進(jìn)行擴(kuò)展,如圖1所示,super-i/o選擇winbond公司的w83977atf。該器件提供兩個(gè)串口、一個(gè)并口、ps/2鍵盤(pán)鼠標(biāo)接口和23個(gè)gpio,通過(guò)ep9312的waitn延時(shí)等待信號(hào)來(lái)匹配isa總線與存儲(chǔ)總線的速度問(wèn)題[3]。連同cpu提供的3個(gè)串口控制器,系統(tǒng)總共具有5個(gè)串口。
3.7 網(wǎng)絡(luò)
ep9312內(nèi)部含有一個(gè)ethernet的mac,只需要一個(gè)phy并通過(guò)vt6103l即可實(shí)現(xiàn)。
3.8 顯示電路
要根據(jù)不同的顯示屏來(lái)決定顯示電路設(shè)計(jì),本系統(tǒng)設(shè)計(jì)成共支持五種屏幕,包括tft、cstn、dstn、lvds、vga。ep9312輸出的是數(shù)字信號(hào),分別為1位數(shù)據(jù)、場(chǎng)頻、行頻、時(shí)鐘、亮度控制幾類(lèi)信號(hào)。對(duì)于tft、cstn、可以直接與ep9312的內(nèi)置接口相連,但要注意cstn在初始化彩色查找表時(shí),將r.b色碼互換,接tft屏要加電平轉(zhuǎn)換器,對(duì)于dstn來(lái)說(shuō),本系統(tǒng)選用的屏幕為夏普公司的lm121vb1t02,該屏為單色屏,上下每時(shí)鐘周期4個(gè)象素,每個(gè)信號(hào)對(duì)應(yīng)一個(gè)象素點(diǎn),查閱ep9312的輸出象素轉(zhuǎn)換表后發(fā)現(xiàn),雙掃描每時(shí)鐘周期4個(gè)象素的模式并不適用于該屏,所以本系統(tǒng)在設(shè)計(jì)中選用了雙掃描每時(shí)鐘周期8個(gè)象素的模式,并從中挑選出適合的信號(hào)來(lái)驅(qū)動(dòng)該屏,同時(shí)也要加電平轉(zhuǎn)換器,在目前的市場(chǎng)上,tft接口的屏并不是主流,相對(duì)來(lái)說(shuō)lvds接口的屏使用更廣,對(duì)lvds接口的設(shè)計(jì),本系統(tǒng)采用ds90c383mtd轉(zhuǎn)換器來(lái)構(gòu)建,對(duì)于彩色crt要加三個(gè)d/a轉(zhuǎn)換器和電平轉(zhuǎn)換器,單色crt只要一個(gè)d/a轉(zhuǎn)換器和電平轉(zhuǎn)換器,接vga屏要加專(zhuān)用器件,如adv7123[4],顯示電路模塊圖如圖4所示。
3.9 電源
ep9312需要4個(gè)不同的電源:rvdd(3.3v)、cvdd(1.8v)、vdd_pll(1.8v)和vdd_adc(3.3v)。板上其他元件除了3.3v供電的以外,還有5v供電的,整個(gè)系統(tǒng)的輸入電壓為12v,通過(guò)變壓器件變成5v,再通過(guò)lt176et-3.3轉(zhuǎn)換器件把+5v轉(zhuǎn)變?yōu)?.3v的系統(tǒng)電壓,通過(guò)lt176et-1.8轉(zhuǎn)換器件把+3.3v轉(zhuǎn)變?yōu)?.8v的ep9312內(nèi)核電壓。
3.10 gpio分配
ep9312有16個(gè)具有中斷能力的增強(qiáng)型通用i/o,由于金融稅務(wù)類(lèi)嵌入式系統(tǒng)的產(chǎn)品通常不需要ide接口,因此ide接口的i/o設(shè)計(jì)成gpio,連同其他一些設(shè)計(jì),總共增加了49個(gè)可選通用i/o。
3.11 bootloader
bootloader是系統(tǒng)加電啟動(dòng)運(yùn)行的第一段軟件代碼,整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由bootloader來(lái)完成。簡(jiǎn)單的說(shuō),bootloader就是在操作內(nèi)核或用戶應(yīng)用程序運(yùn)行之前運(yùn)行的一段小程序,通過(guò)這段小程序,可以初始化硬件設(shè)備,建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核或用戶應(yīng)用程序準(zhǔn)備好正確的環(huán)境[5],ep9312提供了20種bootloader的方式,分別經(jīng)過(guò)eeclk、eedat、lbooti、lbooto、asdo、csn[7:6]的跳線組合來(lái)選擇。
本系統(tǒng)在調(diào)試和生產(chǎn)時(shí),采用16-bit serial boot的啟動(dòng)方式,對(duì)應(yīng)的eeclk、eedat、lbooti、lbooto、asdo、csn[7:6]選擇方式分為為:1、1、0、x、0、1。此時(shí),cpu通過(guò)片內(nèi)已經(jīng)固化的4kb程序進(jìn)行啟動(dòng),初始化cpu和串口,并通過(guò)串口把用戶程序下載到flash中,當(dāng)系統(tǒng)正常工作時(shí),則直接通過(guò)flash啟動(dòng),直接在flash中讀取程序代碼運(yùn)行[6]。
本設(shè)計(jì)利用前者把操作系統(tǒng)和應(yīng)用程序?qū)懭雈lash中,用后者進(jìn)行嵌入式系統(tǒng)的正常工作開(kāi)啟。
4 結(jié)束語(yǔ)
本文介紹了一種基于ep9312的銀稅類(lèi)嵌入式系統(tǒng)的硬件設(shè)計(jì)方案,經(jīng)過(guò)測(cè)試,系統(tǒng)各部分都能正常工作,實(shí)現(xiàn)了預(yù)定的功能。
與以前的嵌入式系統(tǒng)平臺(tái)相比,本系統(tǒng)集成度高、主板面積小、外圍接口多、成本低、運(yùn)行速度快、是一款性?xún)r(jià)比很高的產(chǎn)品,能為嵌入式產(chǎn)品的開(kāi)發(fā)提供一個(gè)良好的平臺(tái),主要面向計(jì)算機(jī)終端、存折打印機(jī)、補(bǔ)登機(jī)、pos機(jī)等嵌入式產(chǎn)品。
評(píng)論