《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于通用接口芯片CH365的財(cái)稅安全卡設(shè)計(jì)
基于通用接口芯片CH365的財(cái)稅安全卡設(shè)計(jì)
摘要: 目前中國(guó)國(guó)內(nèi)“金稅工程”經(jīng)過(guò)幾年的推廣實(shí)施,,在全國(guó)范圍內(nèi)己取得了巨大的經(jīng)濟(jì)效益和社會(huì)效益,,在金稅工程中,最重要的是對(duì)于開(kāi)票系統(tǒng)數(shù)據(jù)的保護(hù),,為了防止開(kāi)票系統(tǒng)受病毒感染或被人為地破壞,,絕大部分的單位都被要求專機(jī)專用,從而來(lái)確保系統(tǒng)的安全和穩(wěn)定,。
關(guān)鍵詞: 接口IC CH365 通用接口 PCI總線
Abstract:
Key words :

目前中國(guó)國(guó)內(nèi)“金稅工程”經(jīng)過(guò)幾年的推廣實(shí)施,,在全國(guó)范圍內(nèi)己取得了巨大的經(jīng)濟(jì)效益和社會(huì)效益,在金稅工程中,,最重要的是對(duì)于開(kāi)票系統(tǒng)數(shù)據(jù)的保護(hù),,為了防止開(kāi)票系統(tǒng)受病毒感染或被人為地破壞,絕大部分的單位都被要求專機(jī)專用,,從而來(lái)確保系統(tǒng)的安全和穩(wěn)定,。

     但隨著“金稅工程”的深入推廣,也暴露出了一些急待解決的問(wèn)題∶首先,,由于國(guó)稅局對(duì)于企業(yè)的防偽稅控開(kāi)票系統(tǒng)有“專機(jī)專用”的要求,,致使企業(yè)花費(fèi)一萬(wàn)多元購(gòu)買的防偽稅控設(shè)備及計(jì)算機(jī)只能用于開(kāi)具增值稅發(fā)票巨大的資源浪費(fèi),;其次,,隨著電子報(bào)稅、出口退稅等科技手段在企業(yè)中的應(yīng)用以及企業(yè)財(cái)務(wù)管理的電子化,,都必須依賴計(jì)算機(jī)處理,,這必然會(huì)造成企業(yè)還需再投資一臺(tái)電腦給財(cái)務(wù)人員來(lái)處理這方面的工作,這對(duì)企業(yè)來(lái)說(shuō),是一種重復(fù)的投資,;最后,,防偽稅控的系統(tǒng)和數(shù)據(jù),財(cái)務(wù)軟件和數(shù)據(jù)以及電子報(bào)稅系統(tǒng)和數(shù)據(jù)等都屬于企業(yè)的重要資料,,如何保證其安全性,,使其不會(huì)因?yàn)樨?cái)務(wù)人員的誤操作、病毒等因素造成系統(tǒng)的崩潰,,甚至重要數(shù)據(jù)資料的丟失,,而影響企業(yè)的正常工作。

財(cái)稅安全卡的硬件實(shí)現(xiàn)

     財(cái)稅安全卡的工作過(guò)程和工作原理是:利用PCI總線的擴(kuò)展ROM機(jī)制,,在安全卡上嵌入擴(kuò)展程序,,通過(guò)CH365的本地8位總線,接管并擴(kuò)展BIOS的INT13H中斷,,實(shí)時(shí)監(jiān)控系統(tǒng)的讀寫(xiě)操作,,根據(jù)設(shè)置進(jìn)行過(guò)濾,確保讀寫(xiě)操作的安全性,,實(shí)現(xiàn)硬盤隔離和一機(jī)多用,。相關(guān)硬盤系統(tǒng)引導(dǎo)分區(qū)等信息可以通過(guò)CH365的兩線串行主機(jī)接口保存在EEPROM上,達(dá)到動(dòng)態(tài)分隔硬盤空間的目的,,將一個(gè)硬盤分成相互隔離互不干擾的多個(gè)硬盤空間,。

 

圖1:財(cái)稅安全卡硬件電路圖。

 

     PCI總線協(xié)議比較復(fù)雜,,用戶可以根據(jù)具體實(shí)際需求選擇相應(yīng)的開(kāi)發(fā)方式,。一般,PCI總線開(kāi)發(fā)采用兩種方式:一是采用CPLD來(lái)設(shè)計(jì)控制接口,。它的最大好處是比較靈活,,用戶可以根據(jù)自己的需要開(kāi)發(fā)出適合于特定功能的芯片,而不必實(shí)現(xiàn)PCI的全部功能?,F(xiàn)在有許多生產(chǎn)可編程邏輯器件的廠商,,如Xilinx的LogiCore和Altera的AMPP都提供經(jīng)過(guò)嚴(yán)格測(cè)試的PCI接口功能模塊,用戶只要進(jìn)行組合設(shè)計(jì)即可,。由于PCI總線協(xié)議復(fù)雜,,設(shè)計(jì)PCI控制接口難度較大,對(duì)于產(chǎn)品不大又有時(shí)限的工程項(xiàng)目來(lái)說(shuō),,成本巨大,。

     二是采用通用PCI接口芯片,例如南京沁恒公司的CH365,、AMCC公司的AMCCS5920和AMCCS5933,,PLX公司的PLX9054和PLX9080等,。通過(guò)專用芯片可以實(shí)現(xiàn)完整的PCI主控模塊和目標(biāo)模塊的功能,將復(fù)雜的PCI總線接口轉(zhuǎn)換為相對(duì)簡(jiǎn)單的用戶接口,,用戶只要設(shè)計(jì)轉(zhuǎn)換后的總線接口即可,,它能實(shí)現(xiàn)PCI規(guī)范所要求的所有硬件接口信號(hào)和配置空間寄存器,專用接口芯片具有較低的成本和通用性,,能夠有效降低接口設(shè)計(jì)的難度,,縮短開(kāi)發(fā)時(shí)間,并能獲得較好的數(shù)據(jù)傳輸性能。

     第二種方法適合于小規(guī)模的情況,,能夠有效縮短開(kāi)發(fā)時(shí)間以及成本投入,,因此在設(shè)計(jì)財(cái)稅安全卡上選擇CH365 PCI接口芯片。CH365是一個(gè)連接PCI總線的通用接口芯片,,支持I/O端口映射,、存儲(chǔ)器映射、擴(kuò)展ROM以及中斷,。實(shí)現(xiàn)將基于32位PCI總線的從設(shè)備接口轉(zhuǎn)換為主動(dòng)并行接口:8位數(shù)據(jù),、16位地址、I/O讀和寫(xiě),、存儲(chǔ)器讀和寫(xiě),。支持低電平有效的本地中斷請(qǐng)求,支持中斷共享,。支持長(zhǎng)度達(dá)240字節(jié)的I/O端口,。支持本地硬件定址功能,自由選擇I/O地址,,并在指定地址實(shí)現(xiàn)I/O端口,。基于CH365的財(cái)稅安全卡硬件電路圖如圖1,。

     在本設(shè)計(jì)中,,所使用的存儲(chǔ)器是華邦公司的W27C512,64K容量,。存儲(chǔ)器容量根據(jù)安全卡擴(kuò)展程序的大小選擇更大的存儲(chǔ)器,,如128K等。EEPROM是Atmel公司的AT24C02,,支持寫(xiě)保護(hù)功能,,能夠有效防止信息被篡改。圖1的財(cái)稅安全卡的硬件電路核心器件是PCI接口芯片CH365,、W27C512和AT24C02,,CH365的部分引腳連線直接與金手指(電路板和插槽之間的連接點(diǎn))相連。

     CH365通過(guò)MEM_RD與ROM芯片U2(27C512)連接,。CH365支持EPROM和閃存,,容量為32KB或者64KB,如果將SYS_EX用于A16地址線,,則最大容量可達(dá)128KB,。一般情況下CH365直接支持32KB容量的擴(kuò)展ROM(即27C256芯片的容量),但可以在擴(kuò)展ROM的程序中通過(guò)控制A15地址線支持64KB容量的ROM芯片,??蛇x的下拉電阻R1用于CH365的工作模式設(shè)定,圖中的數(shù)據(jù)線D0被連接了下拉電阻,,所以系統(tǒng)復(fù)位后,,地址線A15為低電平,從而選擇U2的低32KB(偏移地址為0000H~7FFFH),,而在需要讀取U2的高32KB時(shí)(偏移地址為8000H~0FFFFH),,可以通過(guò)寫(xiě)芯片控制寄存器的位0重新設(shè)定A15地址線來(lái)訪問(wèn)ROM的高字節(jié)。

圖2:CH365的讀寫(xiě)時(shí)序,。

     另外,,PCI擴(kuò)展ROM的內(nèi)容通常被BIOS復(fù)制到RAM內(nèi)存中,所以需要設(shè)置CH365的擴(kuò)展ROM基址以重新映射U2到存儲(chǔ)器空間,。

     CH365通過(guò)SYS_EX與EPPROM芯片U3(型號(hào)是AT24C02)連接,,CH365的SCL信號(hào)線可以選用SYS_EX或者A15,系統(tǒng)復(fù)位后的默認(rèn)選擇是A15,,通常在A15用作地址線時(shí)選用SYS_EX,,否則選用A15。因?yàn)镾DA信號(hào)線同時(shí)是數(shù)據(jù)線D7,,為了防止在SCL高電平期間由于SDA變化而產(chǎn)生不必要的誤操作,,通常借助于工作模式設(shè)定使SCL信號(hào)線(SYS_EX或A15)在系統(tǒng)復(fù)位后保持低電平。CH365的兩線串行接口使用7位設(shè)備地址,,可以同時(shí)連接多個(gè)設(shè)備,。設(shè)備地址和命令寄存器的位7至位1為7位設(shè)備地址位,用以選擇從設(shè)備,;位0為命令位,,置0代表寫(xiě)操作,置1代表讀操作,。本設(shè)計(jì)中連接一個(gè)設(shè)備,,通過(guò)數(shù)據(jù)線D7保存相關(guān)的硬盤引導(dǎo)分區(qū)的信息,同時(shí)通過(guò)“LOCK”信號(hào)可以對(duì)設(shè)備進(jìn)行寫(xiě)保護(hù),,防止信息篡改等,。CH365的讀寫(xiě)時(shí)序如圖2。

財(cái)稅安全卡的擴(kuò)展程序設(shè)計(jì)

     PC機(jī)中的擴(kuò)展ROM相當(dāng)于一個(gè)電子盤,,如果在其中寫(xiě)入引導(dǎo)程序和應(yīng)用程序,,即使計(jì)算機(jī)沒(méi)有硬盤和操作系統(tǒng),,擴(kuò)展ROM中的引導(dǎo)程序和應(yīng)用程序也能夠控制計(jì)算機(jī)實(shí)現(xiàn)某些特定的功能。例如,,無(wú)硬盤PC機(jī)用于工業(yè)控制,,控制外部設(shè)備及作業(yè)流程等。

     財(cái)稅安全卡就是應(yīng)用到PCI總線的擴(kuò)展ROM,,通過(guò)特定的擴(kuò)展引導(dǎo)應(yīng)用程序,,在計(jì)算機(jī)啟動(dòng)進(jìn)入硬盤時(shí)有效地接管和控制硬盤引導(dǎo),以達(dá)到動(dòng)態(tài)分隔硬盤空間將一個(gè)硬盤分成相互隔離,,互不干擾的多個(gè)硬盤空間,,可以根據(jù)用戶需求引導(dǎo)進(jìn)入相應(yīng)的系統(tǒng)和使用相應(yīng)的空間。

     擴(kuò)展引導(dǎo)應(yīng)用程序主要包括PC引導(dǎo)控制權(quán)接管模塊,、動(dòng)態(tài)隔離硬盤空間模塊,,多系統(tǒng)引導(dǎo)模塊(其中包含I2C讀寫(xiě)模塊)。通過(guò)豐富擴(kuò)展引導(dǎo)引用程序,,可以實(shí)現(xiàn)基于BIOS級(jí)的系統(tǒng)分區(qū)備份,、系統(tǒng)數(shù)據(jù)備份、系統(tǒng)拷貝等功能,。

1. PC引導(dǎo)控制權(quán)接管的實(shí)現(xiàn)

     在PC的BIOS自檢中,,硬件設(shè)備檢測(cè)正常通過(guò)后,就開(kāi)始把系統(tǒng)引導(dǎo)控制權(quán)即根據(jù)用戶指定的啟動(dòng)順序遞交給軟盤,、硬盤或光驅(qū)啟動(dòng),。以從C盤啟動(dòng)為例,系統(tǒng)BIOS將讀取并執(zhí)行硬盤上的主引導(dǎo)記錄,,主引導(dǎo)記錄接著從分區(qū)表中找到第一個(gè)活動(dòng)分區(qū),,然后讀取并執(zhí)行這個(gè)活動(dòng)分區(qū)的分區(qū)引導(dǎo)記錄,而分區(qū)引導(dǎo)記錄將負(fù)責(zé)讀取并執(zhí)行IO.SYS,,這是DOS和Windows9x最基本的系統(tǒng)文件,。

     擴(kuò)展ROM程序首次獲得CPU控制權(quán),修改系統(tǒng)自舉中斷INT19以便在引導(dǎo)操作系統(tǒng)前被初始化,重新編寫(xiě)新INT19中斷服務(wù)程序,,使用INT7B中斷向量作為返回地址,。

BOOT_ROM_INIT: PUSH DX;保存寄存器

PUSH BX

MOV DH, 80H,;位7置1則自動(dòng)檢測(cè)主板的BIOS

MOV DL, 0FFH,;指定初始化方式,為0FFH則自動(dòng)檢測(cè)

MOV BX, OFFSET ROM_INT19;指定新INT19程序的偏移地址_ROM_INT19,

CALL INIT_ROM,;ROM初始化程序,,返回DL為實(shí)際使用的初始化方式

POP BX

POP DX

RETF;ROM初始化完成后返回,,必須是遠(yuǎn)程返回

2. 動(dòng)態(tài)隔離硬盤空間的實(shí)現(xiàn)

     可以利用硬盤特性“AddressOffsetMode”和“SetMax”來(lái)有效地縮小硬盤空間,,使得動(dòng)態(tài)隔離硬盤空間,,其中通過(guò)獲取硬盤I/O端口的基址來(lái)設(shè)置硬盤最大邏輯塊尋址(LBA)地址。傳統(tǒng)的縮小硬盤空間采用的是隱藏分區(qū),,通過(guò)修改系統(tǒng)分區(qū)表的系統(tǒng)標(biāo)志位達(dá)到隱藏分區(qū)效果,,此方法安全性低,不能有效地隔離硬盤,,在財(cái)稅安全方面達(dá)不到安全性能要求。

3. 多系統(tǒng)引導(dǎo)模塊的實(shí)現(xiàn)

     多系統(tǒng)引導(dǎo)根據(jù)用戶選擇啟動(dòng)相應(yīng)的系統(tǒng),,去選擇相應(yīng)的引導(dǎo)程序,,這里有別于計(jì)算機(jī)多重引導(dǎo)啟動(dòng)(邏輯隔離)原有的系統(tǒng)引導(dǎo)程序,它是簡(jiǎn)單的單分區(qū)單系統(tǒng)啟動(dòng)模式,,即固定讀入硬盤活動(dòng)分區(qū)引導(dǎo)記錄以實(shí)現(xiàn)對(duì)系統(tǒng)的引導(dǎo),,而活動(dòng)分區(qū)是相對(duì)固定的。重寫(xiě)的系統(tǒng)引導(dǎo)程序?qū)崿F(xiàn)了多分區(qū)多系統(tǒng)啟動(dòng)模式,,可以將硬盤任一分區(qū)視作活動(dòng)分區(qū),,讀入該分區(qū)引導(dǎo)記錄以引導(dǎo)系統(tǒng),本設(shè)計(jì)中采用的是通過(guò)加載多重引導(dǎo)信息扇區(qū),,檢驗(yàn)數(shù)據(jù)的有效性,,在加載過(guò)程中動(dòng)態(tài)設(shè)置硬盤分區(qū)信息。

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