亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于國產(chǎn)SOC的數(shù)據(jù)加密存儲系統(tǒng)設(shè)計(jì)

        2015-02-20 12:00:56王善明嚴(yán)迎建郭朋飛馬征宇
        電子技術(shù)應(yīng)用 2015年11期
        關(guān)鍵詞:嵌入式設(shè)計(jì)

        王善明,嚴(yán)迎建,郭朋飛,馬征宇

        (解放軍信息工程大學(xué),河南 鄭州 450001)

        基于國產(chǎn)SOC的數(shù)據(jù)加密存儲系統(tǒng)設(shè)計(jì)

        王善明,嚴(yán)迎建,郭朋飛,馬征宇

        (解放軍信息工程大學(xué),河南 鄭州 450001)

        針對數(shù)據(jù)信息面臨的越來越嚴(yán)重的安全問題,提出了基于本單位自主研發(fā)的專用 SOC芯片 HX6801,以SD卡作為存儲器,由 DS3231提供實(shí)時(shí)時(shí)鐘,采用 FatFs作為文件系統(tǒng)的數(shù)據(jù)加密存儲系統(tǒng)設(shè)計(jì)方案,通過對 HX6801內(nèi)部集成的密碼協(xié)處理器和國產(chǎn)嵌入式CPU的編程實(shí)現(xiàn)數(shù)據(jù)的加密和存儲。該系統(tǒng)充分利用了HX6801的密碼處理能力及外圍擴(kuò)展能力,系統(tǒng)整體結(jié)構(gòu)簡單,效率比較高。

        國產(chǎn)SOC;SD卡;FatFs;DS3231;加/解密

        0 引言

        現(xiàn)在市面上有很多的數(shù)據(jù)加密產(chǎn)品,按照加密方式主要分為軟件加密和硬件加密。軟件加密的特點(diǎn)是:成本低、效率低、安全性低。硬件加密的特點(diǎn)是:成本高、效率高、安全性高。但是很多硬件加密產(chǎn)品的可擴(kuò)展性比較差、沒有豐富的外圍接口。另外,如果要將數(shù)據(jù)加密產(chǎn)品應(yīng)用于軍事、政府等敏感部門,國外的產(chǎn)品不可信,而國內(nèi)產(chǎn)品可選擇范圍又比較小。

        由于經(jīng)濟(jì)和政治等多方面數(shù)據(jù)安全的重要性,最近幾年國家大力支持國產(chǎn)IC的研發(fā)與推廣。在此背景下,本單位研發(fā)了一款具有自主知識產(chǎn)權(quán)的密碼 SOC(System On Chip)芯片HX680。該芯片最主要的特點(diǎn)是內(nèi)部集成了一個(gè)具有完全自主知識產(chǎn)權(quán)的協(xié)處理器,具有對稱和非對稱密碼服務(wù)功能。該芯片還有相對比較豐富的外圍接口,可以進(jìn)行擴(kuò)展和外部通信。

        SD卡作為存儲設(shè)備,具備很多其他存儲設(shè)備沒有的特點(diǎn),如體積小、功耗低、容量大等[1],其應(yīng)用范圍日益擴(kuò)展,因此在本設(shè)計(jì)中使用SD卡作為存儲設(shè)備。FatFs是一個(gè)為小型嵌入式系統(tǒng)設(shè)計(jì)的通用FAT系統(tǒng)模塊,具有開源、不依賴于平臺、易于移植、代碼和工作空間非常小等特點(diǎn),作為本設(shè)計(jì)的文件系統(tǒng)是一個(gè)很好的選擇[2]。

        主控芯片內(nèi)部沒有集成實(shí)時(shí)時(shí)鐘(Real-Time Clock,RTL),需通過外掛時(shí)鐘芯片DS3231來解決文件系統(tǒng)獲取時(shí)間信息的問題。主控芯片沒有時(shí)鐘芯片DS3231需要的I2C通信接口,需通過GPIO口的模擬來實(shí)現(xiàn)。

        1 系統(tǒng)硬件設(shè)計(jì)

        HX6801具有完全的自主知識產(chǎn)權(quán),集成了國產(chǎn)32位RISC結(jié)構(gòu)嵌入式處理器CK520[3],具有專用軟件集成開發(fā)環(huán)境和可擴(kuò)展指令。協(xié)處理器具有硬件資源可配置、功能單元可重構(gòu)、高性能、二次開發(fā)簡便靈活等特點(diǎn),HX6801適用于數(shù)字簽名與身份認(rèn)證、存儲保護(hù)、數(shù)據(jù)傳輸、嵌入式控制等多種領(lǐng)域。系統(tǒng)采用 HX6801作為主控芯片,SD作為存儲設(shè)備,由 DS3231提供文件系統(tǒng)需要的時(shí)間信息。HX6801芯片總體架構(gòu)如圖1所示。

        圖1 HX6801總體架構(gòu)

        1.1 DS3231接口電路

        DS3231是一款高精度I2C RTC器件,具有集成的溫度補(bǔ)償晶體振蕩器(TCXO)。該器件包含電池輸入端,斷開主電源時(shí)仍可保持精確計(jì)時(shí)。集成的晶體振蕩器可提高器件的長期精確度。DS3231的寄存器能保存秒、分、時(shí)、星期、日期、月、年和鬧鐘設(shè)置等信息。少于 31天的月份,可自動(dòng)調(diào)整月末日期,包括閏年補(bǔ)償。時(shí)鐘的工作格式為24小時(shí)或帶AM/PM指示的12小時(shí)格式。DS3231與主控芯片通過 I2C雙向串行總線傳輸?shù)刂放c數(shù)據(jù)。DS3231的年誤差小于 1分鐘[4]。

        主控芯片HX6801沒有I2C接口,所以使用GPIO口模擬I2C的時(shí)序,DS3231接口電路如圖 2所示,圖中工作電壓VCC的工作范圍是2.3 V~5.5 V,典型的工作電壓為 3.3 V,TR表示信號 SDA和 SCL的上升時(shí)間,CB表示總線負(fù)載電容。

        圖2DS3231接口電路

        1.2 SD卡接口電路

        SD卡支持SD模式和SPI模式兩種通信模式。在綜合考慮速度和設(shè)計(jì)復(fù)雜度的基礎(chǔ)上,本設(shè)計(jì)選用SPI通信模式。SPI通信模式只需要將片選引腳、數(shù)據(jù)輸入引腳、數(shù)據(jù)輸出引腳、時(shí)鐘引腳與主控芯片上對應(yīng)的引腳連接即可[5]。

        2 軟件設(shè)計(jì)

        軟件部分采用了分層設(shè)計(jì)。主要包括4個(gè)部分:應(yīng)用層、加/解密層、文件系統(tǒng)層、硬件驅(qū)動(dòng)層(包括DS3231驅(qū)動(dòng)程序和SD卡驅(qū)動(dòng)程序)。應(yīng)用層用來產(chǎn)生需要加密及解密的數(shù)據(jù);加/解密層主要依據(jù)密碼算法編程手冊及編程工具,采用專用的密碼指令編寫相應(yīng)的密碼算法并配置協(xié)處理器;文件系統(tǒng)層主要實(shí)現(xiàn)FatFs文件系統(tǒng)的移植;硬件驅(qū)動(dòng)層主要實(shí)現(xiàn)對最底層硬件的控制。層次結(jié)構(gòu)如圖3所示。

        圖3 軟件系統(tǒng)層次圖

        2.1 加解密層

        可重構(gòu)安全算法協(xié)處理器遵循了超長指令字的計(jì)算機(jī)體系結(jié)構(gòu),針對密碼運(yùn)算,提取了密碼算法共性邏輯,提出并設(shè)計(jì)具有指令級可重構(gòu)能力的專用指令系統(tǒng)和具有指令級并行處理能力的協(xié)處理器體系結(jié)構(gòu)。該協(xié)處理器具有對稱和非對稱密碼服務(wù)功能;具有專用密碼處理指令,支持密碼算法軟件編程,能夠靈活實(shí)現(xiàn)分組密碼、序列密碼與對稱密碼算法;可動(dòng)態(tài)加載算法程序、參數(shù),實(shí)現(xiàn)密碼算法的重構(gòu)與更換。下面以高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)算法為例,介紹完整的算法處理流程,如圖4所示。

        圖4 AES算法處理流程

        2.2 文件系統(tǒng)層

        FatFs是一個(gè)專門為小型嵌入式系統(tǒng)而設(shè)計(jì)的 Fat文件系統(tǒng),完全兼容ANSIC,而且不依賴于任何的平臺。 FatFs的設(shè)計(jì)像很多軟件一樣采用了分層設(shè)計(jì)[6],最頂層的應(yīng)用層為用戶提供了操作底層硬件的API接口函數(shù);中間層實(shí)現(xiàn) FatFs文件系統(tǒng)的協(xié)議;最底層是和具體的硬件相關(guān)的模塊,需要用戶編寫代碼。

        FatFs移植包括 SD卡 disk I/O編寫,RTC時(shí)鐘函數(shù)編寫,interger.h文件中數(shù)據(jù)類型和工程中數(shù)據(jù)類型的匹配,ff.h中條件編譯的配置[6]。

        FatFs支持Fat12、Fat16、Fat32文件系統(tǒng)。Fat32文件系統(tǒng)將SD卡劃分為4個(gè)連續(xù)的邏輯結(jié)構(gòu):主引導(dǎo)記錄、磁盤操作系統(tǒng)引導(dǎo)記錄、文件分配表、數(shù)據(jù)區(qū)。

        主引導(dǎo)記錄(Master Boot Record,MBR)讓硬盤具備可以引導(dǎo)的功能。

        分區(qū)表(Disk Partition Table,DPT)用來表示磁盤可以分多少個(gè)分區(qū)。DPT部分共有64 B,DPT1~DPT4代表4個(gè)分區(qū),每個(gè)分區(qū)16 B。

        磁盤操作系統(tǒng)引導(dǎo)記錄(DOS Boot Record,DBR)包含了文件系統(tǒng)相關(guān)的詳細(xì)信息。

        磁盤分區(qū)的數(shù)據(jù)區(qū)空間是以簇為單位尋址的。簇的大小一般是 2N個(gè)扇區(qū)(本設(shè)計(jì)中 N=3),一個(gè)文件可以占用多個(gè)簇,有可能同一個(gè)文件占用的簇是不連續(xù)的,這就體現(xiàn)了FAT的價(jià)值。FAT就是用于存儲文件占用的所有簇的序號。Fat32和Fat12、Fat16的一個(gè)重要區(qū)別就是根目錄(File Directory Fable,F(xiàn)DT)是數(shù)據(jù)區(qū)的一個(gè)子集,被當(dāng)成文件對待[7]。

        DPT、DBR、FAT及數(shù)據(jù)區(qū)四個(gè)區(qū)域首地址之間存在一定的邏輯關(guān)系,如圖5所示。邏輯推導(dǎo)過程如下:

        圖5 各邏輯塊首地址之間的關(guān)系

        數(shù)據(jù)區(qū)第3簇首地址

        DATA_CLUSTER_ADDR=DATA_ADDR+(3-2)*8sector/ cluster*512byte/sector=0x3c2e00byte

        文件、文件分配表、文件目錄、數(shù)據(jù)區(qū)的簇之間的關(guān)系決定了文件的存儲方式。如圖6所示,兩個(gè)文件對應(yīng)FAT表中兩個(gè)鏈表0x00000004-0x00000007-0x00000001-0xFFFFFFFF(file1)和0x00000005-0x00000003-0x00000008-0xFFFFFFFF(file2)。

        圖6 Fat32文件索引

        2.3 DS3231驅(qū)動(dòng)

        DS3231芯片采用I2C作為通信接口,設(shè)計(jì)中用GPIO口模擬I2C時(shí)序。I2C總線上傳輸?shù)牡刂穾L度為9位,它包括7個(gè)地址位、1個(gè)R/W位和1個(gè)應(yīng)答位。如果R/W為1,則執(zhí)行讀操作,如果R/W為 0,則執(zhí)行寫操作。I2C總線上傳輸?shù)臄?shù)據(jù)幀長度為9位,它包括8個(gè)數(shù)據(jù)位,1個(gè)應(yīng)答位。

        DS3231寄存器地址為00H~12H,數(shù)據(jù)在寄存器中的存儲格式為 BCD碼,每個(gè)存儲單元大小為 1 B。DS3231的寄存器00H~06H存儲時(shí)間信息[8],存儲格式如表 1所示。DS3231的操作主要包括時(shí)間的讀和寫如圖7所示。

        表1 DS3231 00H~06H單元時(shí)間存儲格式

        圖7 DS3231讀寫數(shù)據(jù)格式

        表2 FatFs時(shí)間存儲格式

        FatFs系統(tǒng)中時(shí)間對應(yīng)的數(shù)據(jù)結(jié)構(gòu)存儲在一個(gè)32位的無符號整數(shù)當(dāng)中,數(shù)據(jù)存儲格式如表2。時(shí)間信息從DS3231存儲格式到 FatFs存儲格式要經(jīng)過從 BCD碼到十進(jìn)制數(shù)的轉(zhuǎn)換。

        2.4 SD卡驅(qū)動(dòng)

        SD卡經(jīng)過多年的發(fā)展,經(jīng)歷了好幾次升級,如果驅(qū)動(dòng)程序要兼容各個(gè)版本,就要考慮到各個(gè)版本的特殊性,從初始化流程圖可以看出版本1.x和2.0在初始化階段的不同點(diǎn)。SD卡根據(jù)容量的大小可分為不同的等級,2 GB以內(nèi)(包括2 GB)稱為標(biāo)準(zhǔn)卡,大于2 GB小于等于32 GB稱為大容量卡,不同等級的卡操作細(xì)節(jié)也不盡相同。SD卡在初始化階段會判斷是否支持大容量卡[4]。

        SD卡的驅(qū)動(dòng)主要包括SD卡的初始化及數(shù)據(jù)塊的讀寫等幾個(gè)部分。SD卡的SPI模式初始化流程如圖8所示。

        圖8 SPI模式初始化流程圖

        從流程圖可以看出,該設(shè)計(jì)對SD卡2.0版本向上兼容,同時(shí)支持大容量SD卡。SD卡上電的時(shí)候默認(rèn)的是SD模式,當(dāng)主控芯片發(fā)送復(fù)位命令(CMD0)的時(shí)候,保持片選信號足夠的時(shí)鐘周期(74個(gè)以上),SD卡可以進(jìn)入SPI模式。CMD8命令向SD卡發(fā)送接口狀態(tài)(主控芯片提供的電壓是否滿足 SD卡的需求),ACMD41向SD卡發(fā)送主控芯片支持的SD卡容量并獲取相應(yīng)的回復(fù)。CMD58命令獲取 SD卡操作狀態(tài)寄存器(Operating Condition Register,OCR)的值并讀取 CCS位(Card Capacity Status)判斷是否支持大容量的SD卡。

        SPI模式支持塊讀(CMD17)和多塊讀(CMD18)操作。SD卡接受到有效的讀取命令后,要回復(fù)一個(gè)應(yīng)答信號和相應(yīng)的數(shù)據(jù)。需要注意的是,標(biāo)準(zhǔn)容量的卡讀取的數(shù)據(jù)長度可以通過CMD16來設(shè)定 (大小為1 B到512 B之間),大容量卡的數(shù)據(jù)長度固定為512 B。SPI模式同樣支持塊寫(CMD24)和多塊寫(CMD25)操作,數(shù)據(jù)長度要求同讀要求相同。每個(gè)數(shù)據(jù)塊開始都應(yīng)該有1個(gè)塊起始位(大小為1位)。其中讀操作采用的是命令(主機(jī))-應(yīng)答(SD卡)-數(shù)據(jù)(SD卡)的模式讀取數(shù)據(jù)。寫操作采用的是命令(主機(jī))-應(yīng)答(SD卡)-數(shù)據(jù)(主機(jī))-應(yīng)答(SD卡)的模式。

        3 測試結(jié)果

        協(xié)處理器的性能及接口的速度是影響本設(shè)計(jì)的關(guān)鍵,鑒于各種密碼算法自身的特點(diǎn),處理器表現(xiàn)的性能有所差別,經(jīng)測試以下幾種算法性能如表3所示。

        表3 不同算法性能表現(xiàn)

        在將主控芯片的外設(shè)總線(Advanced Peripheral Bus,APB)設(shè)為 40 M的情況下,加密并存儲 10 MB的數(shù)據(jù)需要的時(shí)間為 3.4 s,讀取并解密 10 MB的數(shù)據(jù)需要的時(shí)間為3.9 s。

        4 結(jié)論

        經(jīng)過多方面的理論分析和實(shí)驗(yàn)驗(yàn)證,本設(shè)計(jì)可以很好的實(shí)現(xiàn)數(shù)據(jù)的加/解密及數(shù)據(jù)的存儲。在試驗(yàn)中可注意到,系統(tǒng)在處理大批量數(shù)據(jù)的時(shí)候效率不是太理想。所以為了進(jìn)一步優(yōu)化性能,下一步將研究如何優(yōu)化加密算法,在SD卡及主控芯片允許頻率范圍內(nèi),盡可能提高APB時(shí)鐘頻率。

        [1]蘇義鑫,程敏,何力.基于 AT89C52單片機(jī)的SD卡讀寫設(shè)計(jì)[J].世界電子元器件,2008(5):65-68.

        [2]陳祖爵,蔣仕俊.智能遙控器SD卡文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(10):4716-4718.

        [3]陽曄.面向嵌入式處理器的代碼壓縮研究[D].杭州:浙江大學(xué),2007.

        [4]DS3231 Extremely Accurate I2C-IntegratedRTC/TCXO/ Crystal.[DB/OL].http://www.Maximintegrated.com/cn/products/digital/real-time-clocks/DS3231.html#popuppdf.

        [5]葛建,董浩斌,鄭海兵.嵌入式 SD卡存儲器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2010(5):139-142.

        [6]程小燕.嵌入式 STM32F107VCT6微處理器接口模塊開發(fā)及應(yīng)用研究[D].合肥:合肥工業(yè)大學(xué),2012.

        [7]劉思伽.基于 SD卡的數(shù)據(jù)恢復(fù)技術(shù)研究[D].成都:電子科技大學(xué),2010.

        [8]Secure digital card product manual revision 1.7 9/2003. [DB/OL].http://wenku.baidu.com/view/9d1fb307cc17552-7072208e7.html.

        Design of data encryption and storage system based on domestic SOC

        Wang Shanming,Yan Yingjian,Guo Pengfei,Ma Zhengyu
        (PLA Information Engineering University,Zhengzhou 450001,China)

        Refering to more and more serious security problems of data and information,this paper proposes a file encryption system as follows:the SOC chip HX6801 developed by our unit as core;the SD card as storage;the DS3231 chip as RTC provider;the FatFs as file system.Achieving data encryption and storage by programming integrated cryptographic coprocessors and domestic embedded CPU.The system takes full advantage of HX6801 cryptographic processing capability and peripheral expansion capability, this system architecture is simple and efficiency.

        domestic SOC;SD card;FafFs;DS3231;encryption/decryption

        TP311

        A

        10.16157/j.issn.0258-7998.2015.11.009

        王善明,嚴(yán)迎建,郭朋飛,等.基于國產(chǎn) SOC的數(shù)據(jù)加密存儲系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2015,41(11):34-37.

        英文引用格式:Wang Shanming,Yan Yingjian,Guo Pengfei,et al.Design of data encryption and storage system based on domestic SOC[J].Application of Electronic Technique,2015,41(11):34-37.

        2015-07-02)

        王善明(1989-),通信作者,男,碩士研究生,主要研究方向:嵌入式系統(tǒng)設(shè)計(jì)與開發(fā),E-mail:1193317786@qq. com。

        嚴(yán)迎建(1973-),男,博士,教授,主要研究方向:性能安全防護(hù)、嵌入式系統(tǒng)設(shè)計(jì)。

        郭朋飛(1987-),男,碩士,講師,主要研究方向:集成電路測試。

        猜你喜歡
        嵌入式設(shè)計(jì)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        瞞天過海——仿生設(shè)計(jì)萌到家
        搭建基于Qt的嵌入式開發(fā)平臺
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        国产一区二区三区视频在线观看 | 成人国产一区二区三区av| 国产日产精品_国产精品毛片| 狠狠色丁香婷婷久久综合| 蜜桃日本免费看mv免费版| 内射后入在线观看一区| 99免费视频精品| 亚洲精品大全中文字幕| 国产精品免费看久久久无码| 朝鲜女子内射杂交bbw| 黑人性受xxxx黑人xyx性爽| 妇女自拍偷自拍亚洲精品| 女同三级伦理在线观看| 成人毛片av免费| 爽妇网国产精品| 熟女丝袜美腿亚洲一区二区三区 | sm免费人成虐漫画网站| 亚州国产av一区二区三区伊在| 午夜无码伦费影视在线观看| 亚洲国产一区二区三区网| 亚洲xx视频| 久久久亚洲av成人乱码| 国模雨珍浓密毛大尺度150p| 另类内射国产在线| 久久免费国产精品| 久久久久久岛国免费网站| 国产啪啪视频在线观看| 一本之道日本熟妇人妻| 无码专区一ⅴa亚洲v天堂| 三级特黄60分钟在线观看| 妞干网中文字幕| 中文字幕亚洲日本va| 日本精品视频一区二区三区四区| 99精品国产一区二区三区不卡| 国产精品原创巨作AV女教师| 日韩精品极品视频在线观看蜜桃| 久久精品免费视频亚洲| 国产成人a级毛片| 中文字幕熟妇人妻在线视频| 国产美女a做受大片免费| 亚洲中文字幕九色日本|