基于USB總線的隨機信源設(shè)計與實現(xiàn)
摘 要:本文詳細介紹了一種基于USB總線的隨機信源設(shè)備的設(shè)計與實現(xiàn)。內(nèi)容包括隨機信源噪聲的產(chǎn)生與采集、USB控制芯片AN2131SC的特點及其應(yīng)用以及USB驅(qū)動、固件和客戶應(yīng)用軟件的編寫等。
關(guān)鍵詞:USB;AN2131SC;固件;AD9281
引言
密碼技術(shù)是信息安全的核心技術(shù)之一,數(shù)據(jù)加密的安全性依賴于密鑰。密碼學(xué)意義上好的密鑰是指利用隨機現(xiàn)象產(chǎn)生隨機信號,再通過對其編碼而生成的隨機序列,它具有等概率、獨立、平穩(wěn)等特性。隨機信源產(chǎn)生模擬的電子噪聲,利用ADC將其數(shù)字化,并最終提供真正隨機的數(shù)字序列,來產(chǎn)生不同格式的密鑰,從而滿足各種實際的應(yīng)用需求。因此隨機信源及其研究是信息安全領(lǐng)域不可或缺的部分。本文介紹了一種基于USB接口的隨機信源的設(shè)計方案和實現(xiàn)。
硬件設(shè)計
硬件設(shè)計包括:信源噪聲產(chǎn)生電路、A/D轉(zhuǎn)換電路和USB硬件模塊。圖1是該隨機信源的原理框圖。
信源噪聲產(chǎn)生
信源噪聲產(chǎn)生原理是利用具有雪崩效應(yīng)的齊納二極管產(chǎn)生噪聲,然后再將其經(jīng)寬帶放大器進行放大。在具體設(shè)計中,最好選用10V左右的齊納二極管,此時按圖2的接法,通過微調(diào)可調(diào)電阻來改變流過齊納二極管的電流值,就能從耦合電容得到較平坦的頻譜。可以適當(dāng)調(diào)整電流值,以尋找噪聲頻譜既平坦、噪聲電平又盡可能高的最佳點。雪崩噪聲的主要成分是散彈噪聲,屬于高斯白噪聲。
由于實際的寬帶放大器都不具有理想的濾波特性,這種高斯白噪聲通過寬帶放大電路后,一般就不再是白噪聲了。因此在設(shè)計寬帶放大器時,需要增加校正網(wǎng)絡(luò),使輸出的噪聲在一定的帶寬范圍內(nèi)接近高斯白噪聲。
除了考慮足夠的信號強度和頻帶寬度外,還要采取增益控制、阻抗匹配、電源去耦、信號屏蔽等措施,防止電路出現(xiàn)自激振蕩,提高隨機信源電路的工作穩(wěn)定性。圖3是通過頻譜分析儀實測的信源噪聲的功率譜密度圖,其中3dB噪聲帶寬約為65MHz;等效噪聲帶寬約為200MHz。
A/D轉(zhuǎn)換
A/D轉(zhuǎn)換就是將寬帶放大器輸出的模擬電子噪聲轉(zhuǎn)化為數(shù)字噪聲的過程。在噪聲采集電路中,使用了AD9281芯片。該芯片內(nèi)部結(jié)合了兩個8bit、28MSPS的ADC,兩個輸入緩沖放大器,一個內(nèi)部參考電壓,多路復(fù)用數(shù)字輸出緩沖器。采用單電源供電,工作電壓范圍:2.7V~5.5V,功耗低,溫度適用范圍寬。
AD9281有四種信號輸入方式:單端輸入方式、差動輸入方式、交流耦合輸入方式和變壓器耦合輸入方式。由于輸入信號是寬帶放大器經(jīng)電容耦合進來的,沒有直流成分,本方案采用交流耦合輸入方式。
AD9281有五種工作模式:1V模式、2V模式、外部設(shè)置模式、外部參考電壓模式和參考緩沖模式。本方案采用的是外部設(shè)置模式,如圖4所示。使用內(nèi)部參考電壓,通過外部的電阻分壓來調(diào)整參考電壓:VREF=1+(Ra/Rb),其中Ra和Rb分別是可調(diào)電阻兩部分的阻值,這種模式可滿足輸入信號電壓峰-峰值從0.7V到2.5V的變化范圍,避免了直接調(diào)整信號幅度所引起的負面影響。
USB硬件
USB接口控制使用的是Cypress公司的AN2131SC芯片。該芯片是一種全速USB控制器,遵循USB協(xié)議1.1版, 44個引腳,使用3.3V電源。
在整個噪聲采集過程中,AN2131SC的主要作用是:利用其USB內(nèi)核與主機通信并傳輸數(shù)據(jù)。利用其片上增強型8051作為控制器,使AD9281正常工作。具體工作過程為:AN2131SC上電復(fù)位后,芯片按照USB規(guī)范應(yīng)答,提供設(shè)備標(biāo)識,然后再次枚舉,加載對應(yīng)驅(qū)動程序,并將控制權(quán)轉(zhuǎn)交給8051,8051對AD9281發(fā)采集指令,進行噪聲采集,將所得的噪聲數(shù)據(jù)存儲到內(nèi)部FIFO,當(dāng)一定字節(jié)的數(shù)據(jù)采集完后,再將它們通過USB總線傳至主機。噪聲采集工作原理可參看圖4。需要說明的是,AN2131SC實際同步傳輸帶寬由8051能在同步端點FIFO內(nèi)、輸入和輸出的數(shù)據(jù)速度來決定。AN2131SC 8051的時鐘是24MHz(42ns),其指令周期需4個時鐘:42 ns
評論