《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 電子記帳控稅終端機(jī)設(shè)計(jì)的SoC芯片研究
電子記帳控稅終端機(jī)設(shè)計(jì)的SoC芯片研究
電子發(fā)燒友
摘要: 本SoC芯片是面向電子記帳終端設(shè)備而設(shè)計(jì)的符合國(guó)家電子記帳終端設(shè)備標(biāo)準(zhǔn)的高性能嵌入式的系統(tǒng)芯片,,其中以32位的SPARC V8架構(gòu)的處理器為內(nèi)核,,集成了符合ISO7816標(biāo)準(zhǔn)的智能卡控制器和符合ISO7811/2標(biāo)準(zhǔn)的磁卡控制器接口等外圍設(shè)備。他的應(yīng)用既降低了電子記帳終端設(shè)備的成本,,又大大提高了系統(tǒng)的可靠性,。
Abstract:
Key words :

1 引 言

電子記帳控稅終端機(jī)屬于高度安全和可靠的產(chǎn)品,,關(guān)系到信息安全和金融安全,長(zhǎng)期使用國(guó)外的核心器件將給國(guó)家安全帶來(lái)嚴(yán)重隱患,。擁有自主知識(shí)產(chǎn)權(quán)的嵌入式處理器,、專(zhuān)用芯片及其嵌入式操作系統(tǒng)已成為振興我國(guó)電子行業(yè)的當(dāng)務(wù)之急。

目前國(guó)家正在大力發(fā)展金稅工程,,本文作者參與了針對(duì)電子記帳控稅終端機(jī)設(shè)計(jì)的片上系統(tǒng)(System on Chip,,SOC)芯片的研究。

2 總體方案

SoC芯片是面向電子記帳終端設(shè)備而設(shè)計(jì)的符合國(guó)家電子記帳終端設(shè)備標(biāo)準(zhǔn)的高性能嵌入式的系統(tǒng)芯片,其中以32位的SPARC V8架構(gòu)的處理器為內(nèi)核,,集成了符合ISO7816標(biāo)準(zhǔn)的智能卡控制器和符合ISO7811/2標(biāo)準(zhǔn)的磁卡控制器接口等外圍設(shè)備,。他的應(yīng)用既降低了電子記帳終端設(shè)備的成本,又大大提高了系統(tǒng)的可靠性,。

2.1 SoC的結(jié)構(gòu)

本SoC芯片內(nèi)部采用可裁減的總線(xiàn)式結(jié)構(gòu),,選用ARM公司的AMBA總線(xiàn)作為SoC內(nèi)部總線(xiàn),總線(xiàn)上各個(gè)模塊采用統(tǒng)一的接口方式和總線(xiàn)連接,,從而實(shí)現(xiàn)了模塊開(kāi)發(fā)的標(biāo)準(zhǔn)化,,降低了開(kāi)發(fā)的工作量。本SoC芯片的結(jié)構(gòu)如圖1所示,。
 

SoC的結(jié)構(gòu) 來(lái)源:電子發(fā)燒友網(wǎng)


本SoC采用"Harvard"結(jié)構(gòu),地址總線(xiàn)和數(shù)據(jù)總線(xiàn)分開(kāi),,分別連接到獨(dú)立的"cache"控制器上,。指令cache和數(shù)據(jù)cache均為直接映射cache,配置各為4 kB,;各部分的功能簡(jiǎn)述如下:

(1)32位整型數(shù)處理單元(Integer Unit,,IU)支持SPARC V8指令集。IU的主要功能是執(zhí)行整數(shù)運(yùn)算,、計(jì)算要訪問(wèn)的存儲(chǔ)器的地址,,另外他也支持指令計(jì)數(shù)器和控制指令的執(zhí)行。IU具有以下特點(diǎn):

①5級(jí)單一指令流水,;

②單獨(dú)的指令cache和數(shù)據(jù)cache,;

③標(biāo)準(zhǔn)的8個(gè)寄存器窗口;

④硬件乘法,、除法器,;

⑤帶40位累加器的16×16位MAC。

(2)浮點(diǎn)運(yùn)算單元(Floating Point Unit,,F(xiàn)PU)提供遵循SPARC V8標(biāo)準(zhǔn)的全部浮點(diǎn)指令,,其浮點(diǎn)數(shù)據(jù)的格式和浮點(diǎn)指令遵循ANSI/IEEE 754-1985標(biāo)準(zhǔn),F(xiàn)PU連接在IU上,。FPU有32個(gè)32 b的浮點(diǎn)寄存器,。芯片使用標(biāo)準(zhǔn)的LD/ST指令在FPU和存儲(chǔ)器之間移動(dòng)數(shù)據(jù)。存儲(chǔ)器地址由IU計(jì)算,,浮點(diǎn)操作指令完成浮點(diǎn)算術(shù)運(yùn)算,。

內(nèi)部的AMBA總線(xiàn)包括2種總線(xiàn):AHB和APB。APB總線(xiàn)用來(lái)訪問(wèn)片內(nèi)外設(shè)的寄存器,;AHB總線(xiàn)用作高速數(shù)據(jù)傳輸,。AHB總線(xiàn)連接處理器cache控制器和其他的高速單元,IU是總線(xiàn)上惟一的主控單元,。AHB總線(xiàn)從屬單元有:存儲(chǔ)器控制器,、AHB/APB轉(zhuǎn)換橋等,。AHB/APB轉(zhuǎn)換橋作為一個(gè)從屬設(shè)備連接在AHB總線(xiàn)上,是APB總線(xiàn)惟一的主控單元,,處理器通過(guò)AHB/APB橋訪問(wèn)大部分片內(nèi)外設(shè),。

(3)SOC的片上外設(shè),智能卡控制器(Smartcard controller):符合ISO7816標(biāo)準(zhǔn):

磁條卡控制(magnetic stripe card Controller):符合ISO7811/2標(biāo)準(zhǔn),;

通用輸入輸出接口(GPIO):共80個(gè)GPIO端口,;

通用異步串口(UART):一個(gè)16550UART和3個(gè)普通UART;

中斷控制器(Interrupt Controller):支持16個(gè)一級(jí)中斷源,,32個(gè)二級(jí)中斷源,;

定時(shí)器(Timer):5個(gè)24位的通用目的定時(shí)器;

看門(mén)狗(Watch Dog):24位看門(mén)狗定時(shí)器,;

實(shí)時(shí)時(shí)鐘(RTC):計(jì)算秒,、分、小時(shí),、天,、月、年,,具有潤(rùn)月補(bǔ)償功能,,計(jì)時(shí)可至2100年,通過(guò)后備電源使實(shí)時(shí)時(shí)鐘工作在低功率模式,;

PS/2控制器(PS/2 I/F):符合PS/2標(biāo)準(zhǔn),,支持第一套和第二套掃描碼集;

I2C控制器(I2C I/F):兼容Phillips公司的I2C標(biāo)準(zhǔn),;

SPI控制器(SPI I/F):兼容SPI和Microwire/Plus兩個(gè)企業(yè)標(biāo)準(zhǔn),。

2.2 SoC芯片的設(shè)計(jì)要點(diǎn)

在SoC的體系架構(gòu)、邏輯設(shè)計(jì)和電路設(shè)計(jì)中采用正向設(shè)計(jì)方法:

建立深亞微米自頂向下設(shè)計(jì)流程,,實(shí)現(xiàn)硬/軟件協(xié)同仿真,、設(shè)計(jì)、驗(yàn)證技術(shù),,建立芯片正向設(shè)計(jì)平臺(tái),;

低功耗設(shè)計(jì)技術(shù),包括對(duì)RTC及SRAM的低功耗優(yōu)化設(shè)計(jì),;

采用深亞微米(0.18μm)必須解決的設(shè)計(jì)問(wèn)題,,包括。EMI,,CrOSS talk,,天線(xiàn)效應(yīng)和熱電子效應(yīng)等;

采用現(xiàn)代SoC設(shè)計(jì)技術(shù),實(shí)現(xiàn)片上外設(shè)包括IC卡,、磁卡,、I2C、SPI,、PS/2等功能接口的高度集成設(shè)計(jì)和測(cè)試,;

高可靠、實(shí)時(shí)多任務(wù)處理平臺(tái)技術(shù),,支持嵌入式操作系統(tǒng)及其任務(wù)調(diào)度管理,;

支持ANSIC的標(biāo)準(zhǔn)應(yīng)用,實(shí)現(xiàn)底層驅(qū)動(dòng)軟件的模塊化,、標(biāo)準(zhǔn)化設(shè)計(jì),。

同時(shí),針對(duì)以上技術(shù)挑戰(zhàn)必須實(shí)現(xiàn)如下技術(shù)創(chuàng)新:

該項(xiàng)目為自主知識(shí)產(chǎn)權(quán)的內(nèi)嵌32位RISC處理器以及大量功能接口模塊的SoC設(shè)計(jì),,突破嵌入式SoC的高度集成,、高可靠、低功耗,、實(shí)時(shí)多任務(wù)處理等關(guān)鍵技術(shù);

建立自頂向下的深亞微米設(shè)計(jì)流程,,實(shí)現(xiàn)硬,、軟件協(xié)同設(shè)計(jì)、仿真,、綜合,、驗(yàn)證技術(shù);采用大容量FPGA和嵌入式操作系的統(tǒng)功能驗(yàn)證平臺(tái),;應(yīng)用樣機(jī)對(duì)SoC進(jìn)行全面驗(yàn)證,,確保了該項(xiàng)目的技術(shù)路線(xiàn)實(shí)施及產(chǎn)品的實(shí)際應(yīng)用;

支持多任務(wù)實(shí)時(shí)嵌入式操作系統(tǒng),。

3 功能驗(yàn)證

在集成電路的設(shè)計(jì)過(guò)程中,,需要進(jìn)行大量的驗(yàn)證工作,SoC功能驗(yàn)證采用專(zhuān)門(mén)的開(kāi)發(fā)軟件把設(shè)計(jì)模型轉(zhuǎn)換成相應(yīng)的配置文件,,下載到硬件平臺(tái)的FPGA或CPLD芯片中,,在實(shí)際的應(yīng)用系統(tǒng)中來(lái)驗(yàn)證SoC功能的正確性。

在對(duì)本SoC進(jìn)行硬件平臺(tái)驗(yàn)證過(guò)程中,,采用的FPGA綜合工具是Synplicity公司的Synplify Pro 7.7,,F(xiàn)PGA布線(xiàn)工具選用的是Xilinx公司的ISE 5.0,硬件平臺(tái)的核心FPGA芯片選用的是Xilinx公司的Virtex II系列的XC2V2000,。驗(yàn)證流程如圖2所示[1-3],。

 


3.1 驗(yàn)證平臺(tái)的設(shè)計(jì)

本SOC芯片內(nèi)部采用AMBA總線(xiàn),內(nèi)嵌32 b整數(shù)處理單元,優(yōu)化的32/64 b浮點(diǎn)數(shù)處理單元,,并且內(nèi)嵌了大量的外設(shè),,主要包括:80位GPIO口、4路UART控制器,、5個(gè)24 b定時(shí)器,、看門(mén)狗、.PS/2控制器,、I2C總線(xiàn)控制器,、SPI總線(xiàn)控制器、1個(gè)三磁道磁卡控制器,,3個(gè)智能卡控制器等,。為了完整地測(cè)試本SoC的所有功能,硬件測(cè)試平臺(tái)如圖3所示,,包含下列基本組成部分:

 

SOC硬件測(cè)試平臺(tái) 來(lái)源:電子發(fā)燒友網(wǎng)


FPGA芯片,;配置PROM;程序BPROM,;SRAM,;串口轉(zhuǎn)換芯片;I2C總線(xiàn)設(shè)備,;SPI總線(xiàn)設(shè)備,;磁卡讀卡器接口;智能卡及卡座,;GPIO測(cè)試點(diǎn),;PS/2設(shè)備;系統(tǒng)時(shí)鐘發(fā)生設(shè)備,;上電復(fù)位電路,;電源。

3.2 FPGA平臺(tái)驗(yàn)證結(jié)果

將由SoC的RTL模型產(chǎn)生的FPGA下載文件(*.bit文件)下載到FPGA中,,在Unix環(huán)境下,,用SPARC-GCC編譯器編譯測(cè)試程序(標(biāo)準(zhǔn)C程序),然后觀察程序運(yùn)行結(jié)果,,就可以驗(yàn)證整個(gè)SoC系統(tǒng)或某一模塊功能的正 確性,。

下面以獲取智能卡復(fù)位應(yīng)答(Answer To Reset,ATR)字節(jié)為例,,闡述此過(guò)程,。

事先知道待測(cè)智能卡的ATR字節(jié)為:3b,7a,,18,,0,,0,21,,8,,11,12,,13,,14,15,,16,,17,18,。

測(cè)試結(jié)果為:

Smartcard controller testing…
ATR over,,and ATR characters:
3b,7a,,18,,0,0,,21,,8,11,,12,,13,14,,15,16,,17,,18

以上結(jié)果說(shuō)明,智能卡控制器可以接收到卡的復(fù)位應(yīng)答字節(jié),,SoC的此功能正確,。采用同樣的方法及過(guò)程可以驗(yàn)證其他功能的正確性。

4結(jié) 語(yǔ)

該SoC芯片如今已經(jīng)成功應(yīng)用到了多種電子記帳終端設(shè)備中,,為國(guó)內(nèi)外的電子記帳終端設(shè)備制造商們提供了一種高性?xún)r(jià)比的選擇,,為"中國(guó)芯"家族又增添了一位新成員。所以,,可以認(rèn)為該SoC芯片的設(shè)計(jì)還是非常成功的,。

設(shè)計(jì)中存在的主要問(wèn)題就是內(nèi)置的RAM空間還不夠大,對(duì)于高端的電子記帳終端設(shè)備,,必須外擴(kuò)一定容量的RAM存儲(chǔ)器,,希望在下一款同類(lèi)芯片設(shè)計(jì)中加以改進(jìn),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。