基于EP9312的銀稅類嵌入式系統(tǒng)硬件設計方案
1 嵌入式系統(tǒng)的概念與特點
嵌入式系統(tǒng)結合微處理器或微控制器的系統(tǒng)電路與其專屬軟件,達到系統(tǒng)操作效率的最高比,這里把嵌入式系統(tǒng)定義為一個體積較小的計算機系統(tǒng)(與pc機相比),由于其體積較小,因此軟硬件結構和應用范圍與pc機相比有較大的不同,其特性可歸納為下列四項:
(1)通常執(zhí)行特定功能;
(2)以微電腦與外圍構成核心;
(3)嚴格的時序與穩(wěn)定性要求;
(4)全自動操作循環(huán)。
嵌入式系統(tǒng)具有目的性或針對性,其開發(fā)是圍繞著產品和產品的特定功能來進行的。它必須最大限度的在硬件和軟件上"量身訂作"以提高效率[1],本文設計的嵌入式系統(tǒng)主要用于金融和稅務類產品。
2 總體設計
2.1 cpu的選擇
本文采用的是cirrus logic公司的嵌入式處理器ep9312[1]。
ep9312是一款arm9系列的處理器,arm9系列是高性能和低功耗特性方面最佳的硬宏單元,它具有五級流水線,并提供1.1mi/s/mhz的哈佛結構,而其前代產品arm7系列處理器則具有嵌入式ice-rt邏輯,功耗非常低,并提供0.9mi/s/mhz的三級流水線和馮.諾依曼結構。因為本主要用于開發(fā)先進的計算機終端,機頂盒、高端打印機等產品,所以需要較快的運算速度,而arm7主要用于對價位和功耗敏感的消費類產品,并且其運算速度相對較慢,所以本設計系統(tǒng)選擇arm9系列[2],在arm9系列cpu中還有ep9307和ep9315。ep9307與ep9312的功能構造基本相同,只少了1個ide接口,但多了圖形加速的功能,由于金融稅務類產品大多需要較多的gpio,而與ep9307相比,ep9312可以很容易地設計出較多的gpio。ep9315在ep9312擁有的功能上再增加了pcmcia接口和圖形加速功能,但這并不是金融稅務類產品所必需的功能,綜合考慮之后,本系統(tǒng)選擇了ep9312。
2.2 技術指標
經過系統(tǒng)調研并基于產品成本考慮,嵌入式系統(tǒng)的技術指標如下所述:
cirrus logic公司的ep9312作為主處理器;
32mb flash使用nor flash;
64mb sdram;
顯示格式:西文:24×12點陣,中文:24×24點陣,26行,80列,或者西文:16×8點陣,中文:16×16點陣,26行,80列;
800×600×16bpp、1024×768×16bpp多種tft顯示模式,支持單掃描或雙掃描;
1個并口;
5個串口;
2個ps/2端口;
1個1/10/100mb/s為的以太網接口,支持tcp/ip協議;
1個usb host和1個usb slave接口。
2.3 系統(tǒng)組成
ep9312已經集成了嵌入式系統(tǒng)所需的許多功能,為了使本設計滿足金融稅務類產品的要求,還增加了如下硬件:super i/o器件(包含2個uart、1個并口、2個ps/2產品控制器),網絡phy接口器件、接口電平轉換器、flash、sdram等,pcb板采用4層板,表層為信號層,其中的電源線路層和地線層深埋在主板的內層,不易受到電源雜波的干擾,尤其是高頻電路,可以獲得較好的抗干擾能力,系統(tǒng)的基本結構如圖1所示[2]。

3.1 cpu
ep9312的內核是arm920t,其主頻為200mhz,100mhz內部總線,有16kb的指令cache和16kb的數據cache,內部集成了很多功能模塊,其中主要包括:lcd控制器,3個usb
host控制器,3個串口控制器,ethernet mac、eide、ac97接口等,ep9312內含mmu,支持tcp/ip協議,也為開發(fā)各種字符圖形功能提供了快捷的方法[3]。本設計充分利用了這些內部集成功能,減少了外圍器件。
3.2 reset模塊
系統(tǒng)的reset模塊為系統(tǒng)提供啟動及復位信號,是系統(tǒng)運行的開端。
本系統(tǒng)采用max708csa作為復位器件,設計成用戶重啟的按鈕控制。發(fā)出reset信號送給cpu的rston引腳、flash模塊、jatg模塊等。另采用一片max708csa作為系統(tǒng)上電的按鈕控制,發(fā)出por信號發(fā)給cpu的prstn引腳,如圖2所示。

系統(tǒng)時鐘模塊的作用是產生20個獨立的時鐘頻率來滿足ep9312不同獨立邏輯部分的要求,所以這些時鐘頻率都來源于外部的一個低頻晶體振蕩器。這樣處理器速率、總線速率、視頻速率就可以不同而且互不影響。
ep9312提供兩個接口外接晶體振蕩器,其頻率分別為32khz(實時時鐘)和14.7456mhz。
為了獲得足夠高的時鐘頻率,ep9312同時提供兩個pll,將32khz和14.7456mhz頻率提升到足夠高(14.756mhz,最大頻率可為400mhz)。
3.4 調試端口(jatg)模塊
ep9312提供了jtag調試接口,它有6條測試掃描鏈,這個接口通過5個外部控制信號實現調試功能;
tdo-測試數據輸出,tdi-測試數據輸入,tms-測試模式選擇,tck-測試時鐘,ntrst-測試復位。
由于ep9312集成了這些jtag信號,因此引出這些信號線在板上擴展出jtag口,即可與jtag測試器進行通信。
3.5 存儲器
ep9312內含sdram控制器,它提供了一個高速存儲接口給多種存儲裝置,包括sdram,synchronous flash和synchronous rom等。
cpu中已有sdram控制器,因此系統(tǒng)不需要外加sdram控制器,只要采用合適的sdram存儲器,與ep9312的專用sdram信號線相連接即可。
本系統(tǒng)采用2片is4216400b的16位數據總線sdram器件組合構成了一個32位數據總線的16mb存儲系統(tǒng)。今后如有需要,只需要16mb器件代替8mb的器件,即可方便地擴容至32mb sdram的系統(tǒng)。
本系統(tǒng)所用的flash器件是intel公司的te28f320j3d-75,該器件采用56引腳tsop封裝,32mb的存儲空間由32個128kb的擦除塊組成,該flash采用25根地址線和16位數據線,可以通過byte信號來選擇是8位還是16位方式訪問。本系統(tǒng)采用16位方式訪問,因此該信號線接高電平,同時ao地址線接地,oe/we是讀寫信號,由ep9312的讀寫控制線直接控制,系統(tǒng)中將flash的片選信號ce2、ce1信號接地,ceo由ep9312的兩根片選信號cs0和cs6通過跳線來控制,如圖3所示。

3.6 ps/2、串口和并口
通過super-i/o進行擴展,如圖1所示,super-i/o選擇winbond公司的w83977atf。該器件提供兩個串口、一個并口、ps/2鍵盤鼠標接口和23個gpio,通過ep9312的waitn延時等待信號來匹配isa總線與存儲總線的速度問題[3]。連同cpu提供的3個串口控制器,系統(tǒng)總共具有5個串口。
3.7 網絡
ep9312內部含有一個ethernet的mac,只需要一個phy并通過vt6103l即可實現。
3.8 顯示電路
要根據不同的顯示屏來決定顯示電路設計,本系統(tǒng)設計成共支持五種屏幕,包括tft、cstn、dstn、lvds、vga。ep9312輸出的是數字信號,分別為1位數據、場頻、行頻、時鐘、亮度控制幾類信號。對于tft、cstn、可以直接與ep9312的內置接口相連,但要注意cstn在初始化彩色查找表時,將r.b色碼互換,接tft屏要加電平轉換器,對于dstn來說,本系統(tǒng)選用的屏幕為夏普公司的lm121vb1t02,該屏為單色屏,上下每時鐘周期4個象素,每個信號對應一個象素點,查閱ep9312的輸出象素轉換表后發(fā)現,雙掃描每時鐘周期4個象素的模式并不適用于該屏,所以本系統(tǒng)在設計中選用了雙掃描每時鐘周期8個象素的模式,并從中挑選出適合的信號來驅動該屏,同時也要加電平轉換器,在目前的市場上,tft接口的屏并不是主流,相對來說lvds接口的屏使用更廣,對lvds接口的設計,本系統(tǒng)采用ds90c383mtd轉換器來構建,對于彩色crt要加三個d/a轉換器和電平轉換器,單色crt只要一個d/a轉換器和電平轉換器,接vga屏要加專用器件,如adv7123[4],顯示電路模塊圖如圖4所示。

ep9312需要4個不同的電源:rvdd(3.3v)、cvdd(1.8v)、vdd_pll(1.8v)和vdd_adc(3.3v)。板上其他元件除了3.3v供電的以外,還有5v供電的,整個系統(tǒng)的輸入電壓為12v,通過變壓器件變成5v,再通過lt176et-3.3轉換器件把+5v轉變?yōu)?.3v的系統(tǒng)電壓,通過lt176et-1.8轉換器件把+3.3v轉變?yōu)?.8v的ep9312內核電壓。
3.10 gpio分配
ep9312有16個具有中斷能力的增強型通用i/o,由于金融稅務類嵌入式系統(tǒng)的產品通常不需要ide接口,因此ide接口的i/o設計成gpio,連同其他一些設計,總共增加了49個可選通用i/o。
3.11 bootloader
bootloader是系統(tǒng)加電啟動運行的第一段軟件代碼,整個系統(tǒng)的加載啟動任務就完全由bootloader來完成。簡單的說,bootloader就是在操作內核或用戶應用程序運行之前運行的一段小程序,通過這段小程序,可以初始化硬件設備,建立內存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調用操作系統(tǒng)內核或用戶應用程序準備好正確的環(huán)境[5],ep9312提供了20種bootloader的方式,分別經過eeclk、eedat、lbooti、lbooto、asdo、csn[7:6]的跳線組合來選擇。
本系統(tǒng)在調試和生產時,采用16-bit serial boot的啟動方式,對應的eeclk、eedat、lbooti、lbooto、asdo、csn[7:6]選擇方式分為為:1、1、0、x、0、1。此時,cpu通過片內已經固化的4kb程序進行啟動,初始化cpu和串口,并通過串口把用戶程序下載到flash中,當系統(tǒng)正常工作時,則直接通過flash啟動,直接在flash中讀取程序代碼運行[6]。
本設計利用前者把操作系統(tǒng)和應用程序寫入flash中,用后者進行嵌入式系統(tǒng)的正常工作開啟。
4 結束語
本文介紹了一種基于ep9312的銀稅類嵌入式系統(tǒng)的硬件設計方案,經過測試,系統(tǒng)各部分都能正常工作,實現了預定的功能。
與以前的嵌入式系統(tǒng)平臺相比,本系統(tǒng)集成度高、主板面積小、外圍接口多、成本低、運行速度快、是一款性價比很高的產品,能為嵌入式產品的開發(fā)提供一個良好的平臺,主要面向計算機終端、存折打印機、補登機、pos機等嵌入式產品。
評論