基于USB總線的隨機(jī)信源設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2007/8/15 0:00:00 訪問(wèn)次數(shù):1377
摘 要:本文詳細(xì)介紹了一種基于USB總線的隨機(jī)信源設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)。內(nèi)容包括隨機(jī)信源噪聲的產(chǎn)生與采集、USB控制芯片AN2131SC的特點(diǎn)及其應(yīng)用以及USB驅(qū)動(dòng)、固件和客戶(hù)應(yīng)用軟件的編寫(xiě)等。
關(guān)鍵詞:USB;AN2131SC;固件;AD9281
引言
密碼技術(shù)是信息安全的核心技術(shù)之一,數(shù)據(jù)加密的安全性依賴(lài)于密鑰。密碼學(xué)意義上好的密鑰是指利用隨機(jī)現(xiàn)象產(chǎn)生隨機(jī)信號(hào),再通過(guò)對(duì)其編碼而生成的隨機(jī)序列,它具有等概率、獨(dú)立、平穩(wěn)等特性。隨機(jī)信源產(chǎn)生模擬的電子噪聲,利用ADC將其數(shù)字化,并最終提供真正隨機(jī)的數(shù)字序列,來(lái)產(chǎn)生不同格式的密鑰,從而滿(mǎn)足各種實(shí)際的應(yīng)用需求。因此隨機(jī)信源及其研究是信息安全領(lǐng)域不可或缺的部分。本文介紹了一種基于USB接口的隨機(jī)信源的設(shè)計(jì)方案和實(shí)現(xiàn)。
硬件設(shè)計(jì)
硬件設(shè)計(jì)包括:信源噪聲產(chǎn)生電路、A/D轉(zhuǎn)換電路和USB硬件模塊。圖1是該隨機(jī)信源的原理框圖。
信源噪聲產(chǎn)生
信源噪聲產(chǎn)生原理是利用具有雪崩效應(yīng)的齊納二極管產(chǎn)生噪聲,然后再將其經(jīng)寬帶放大器進(jìn)行放大。在具體設(shè)計(jì)中,最好選用10V左右的齊納二極管,此時(shí)按圖2的接法,通過(guò)微調(diào)可調(diào)電阻來(lái)改變流過(guò)齊納二極管的電流值,就能從耦合電容得到較平坦的頻譜?梢赃m當(dāng)調(diào)整電流值,以尋找噪聲頻譜既平坦、噪聲電平又盡可能高的最佳點(diǎn)。雪崩噪聲的主要成分是散彈噪聲,屬于高斯白噪聲。
由于實(shí)際的寬帶放大器都不具有理想的濾波特性,這種高斯白噪聲通過(guò)寬帶放大電路后,一般就不再是白噪聲了。因此在設(shè)計(jì)寬帶放大器時(shí),需要增加校正網(wǎng)絡(luò),使輸出的噪聲在一定的帶寬范圍內(nèi)接近高斯白噪聲。
除了考慮足夠的信號(hào)強(qiáng)度和頻帶寬度外,還要采取增益控制、阻抗匹配、電源去耦、信號(hào)屏蔽等措施,防止電路出現(xiàn)自激振蕩,提高隨機(jī)信源電路的工作穩(wěn)定性。圖3是通過(guò)頻譜分析儀實(shí)測(cè)的信源噪聲的功率譜密度圖,其中3dB噪聲帶寬約為65MHz;等效噪聲帶寬約為200MHz。
A/D轉(zhuǎn)換
A/D轉(zhuǎn)換就是將寬帶放大器輸出的模擬電子噪聲轉(zhuǎn)化為數(shù)字噪聲的過(guò)程。在噪聲采集電路中,使用了AD9281芯片。該芯片內(nèi)部結(jié)合了兩個(gè)8bit、28MSPS的ADC,兩個(gè)輸入緩沖放大器,一個(gè)內(nèi)部參考電壓,多路復(fù)用數(shù)字輸出緩沖器。采用單電源供電,工作電壓范圍:2.7V~5.5V,功耗低,溫度適用范圍寬。
AD9281有四種信號(hào)輸入方式:?jiǎn)味溯斎敕绞、差?dòng)輸入方式、交流耦合輸入方式和變壓器耦合輸入方式。由于輸入信號(hào)是寬帶放大器經(jīng)電容耦合進(jìn)來(lái)的,沒(méi)有直流成分,本方案采用交流耦合輸入方式。
AD9281有五種工作模式:1V模式、2V模式、外部設(shè)置模式、外部參考電壓模式和參考緩沖模式。本方案采用的是外部設(shè)置模式,如圖4所示。使用內(nèi)部參考電壓,通過(guò)外部的電阻分壓來(lái)調(diào)整參考電壓:VREF=1+(Ra/Rb),其中Ra和Rb分別是可調(diào)電阻兩部分的阻值,這種模式可滿(mǎn)足輸入信號(hào)電壓峰-峰值從0.7V到2.5V的變化范圍,避免了直接調(diào)整信號(hào)幅度所引起的負(fù)面影響。
USB硬件
USB接口控制使用的是Cypress公司的AN2131SC芯片。該芯片是一種全速USB控制器,遵循USB協(xié)議1.1版, 44個(gè)引腳,使用3.3V電源。
在整個(gè)噪聲采集過(guò)程中,AN2131SC的主要作用是:利用其USB內(nèi)核與主機(jī)通信并傳輸數(shù)據(jù)。利用其片上增強(qiáng)型8051作為控制器,使AD9281正常工作。具體工作過(guò)程為:AN2131SC上電復(fù)位后,芯片按照USB規(guī)范應(yīng)答,提供設(shè)備標(biāo)識(shí),然后再次枚舉,加載對(duì)應(yīng)驅(qū)動(dòng)程序,并將控制權(quán)轉(zhuǎn)交給8051,8051對(duì)AD9281發(fā)采集指令,進(jìn)行噪聲采集,將所得的噪聲數(shù)據(jù)存儲(chǔ)到內(nèi)部FIFO,當(dāng)一定字節(jié)的數(shù)據(jù)采集完后,再將它們通過(guò)USB總線傳至主機(jī)。噪聲采集工作原理可參看圖4。需要說(shuō)明的是,AN2131SC實(shí)際同步傳輸帶寬由8051能在同步端點(diǎn)FIFO內(nèi)、輸入和輸出的數(shù)據(jù)速度來(lái)決定。AN2131SC 8051的時(shí)鐘是24MHz(42ns),其指令周期需4個(gè)時(shí)鐘:42 ns×4=168ns,將外部一個(gè)字節(jié)數(shù)據(jù)移到IN端點(diǎn)FIFO的典型傳送循環(huán)需要9個(gè)指令周期:168ns×9≈1.5ms,環(huán)內(nèi)每ms傳送到IN FIFO的字節(jié)數(shù)為:1ms/1.5ms≈660字節(jié)。如果需要更快的速度,需對(duì)環(huán)內(nèi)循環(huán)代碼展開(kāi),但這樣會(huì)增加程序代碼的數(shù)量,較好的方法是對(duì)環(huán)內(nèi)循環(huán)代碼作部分展開(kāi)。因?yàn)锳N2131SC同步傳輸帶寬決定AD9281的采樣頻率,根據(jù)以上分析,采樣頻率最好不要超過(guò)660KHz。本文實(shí)際的采樣頻率約為500 KHz。此時(shí)模擬噪聲的帶寬遠(yuǎn)大于實(shí)際的采樣頻率,采樣時(shí)噪聲的頻譜會(huì)產(chǎn)生重疊。由于本文不考慮噪聲的還原,這種影響是可以忽略的。
軟件設(shè)計(jì)
系統(tǒng)軟件包括USB總線設(shè)備驅(qū)動(dòng)程序、設(shè)備固件程序和主機(jī)應(yīng)用程序三部分。
USB總線設(shè)備驅(qū)動(dòng)程序
為了節(jié)省開(kāi)發(fā)時(shí)間,本文在設(shè)計(jì)中直接使用了EZ-USB的通用驅(qū)動(dòng)程序(GPD):ezusb.sys。 EZ-USB GPD支持符合USB1.1規(guī)范的IOCTL。主機(jī)應(yīng)用程序通過(guò)I/O控制來(lái)訪問(wèn)GPD,即先通過(guò)調(diào)用一個(gè)Win32函數(shù)CreateFile()來(lái)獲得設(shè)備驅(qū)動(dòng)程序的句柄,然后用函數(shù)DeviceIoControl()來(lái)提交I/O控制代碼和相關(guān)的輸入/輸出。
設(shè)備固件程序
設(shè)備固件程序主要為AN2131SC控制器接收和傳送噪聲數(shù)據(jù)提供所有的操作。首先固件代碼要
摘 要:本文詳細(xì)介紹了一種基于USB總線的隨機(jī)信源設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)。內(nèi)容包括隨機(jī)信源噪聲的產(chǎn)生與采集、USB控制芯片AN2131SC的特點(diǎn)及其應(yīng)用以及USB驅(qū)動(dòng)、固件和客戶(hù)應(yīng)用軟件的編寫(xiě)等。
關(guān)鍵詞:USB;AN2131SC;固件;AD9281
引言
密碼技術(shù)是信息安全的核心技術(shù)之一,數(shù)據(jù)加密的安全性依賴(lài)于密鑰。密碼學(xué)意義上好的密鑰是指利用隨機(jī)現(xiàn)象產(chǎn)生隨機(jī)信號(hào),再通過(guò)對(duì)其編碼而生成的隨機(jī)序列,它具有等概率、獨(dú)立、平穩(wěn)等特性。隨機(jī)信源產(chǎn)生模擬的電子噪聲,利用ADC將其數(shù)字化,并最終提供真正隨機(jī)的數(shù)字序列,來(lái)產(chǎn)生不同格式的密鑰,從而滿(mǎn)足各種實(shí)際的應(yīng)用需求。因此隨機(jī)信源及其研究是信息安全領(lǐng)域不可或缺的部分。本文介紹了一種基于USB接口的隨機(jī)信源的設(shè)計(jì)方案和實(shí)現(xiàn)。
硬件設(shè)計(jì)
硬件設(shè)計(jì)包括:信源噪聲產(chǎn)生電路、A/D轉(zhuǎn)換電路和USB硬件模塊。圖1是該隨機(jī)信源的原理框圖。
信源噪聲產(chǎn)生
信源噪聲產(chǎn)生原理是利用具有雪崩效應(yīng)的齊納二極管產(chǎn)生噪聲,然后再將其經(jīng)寬帶放大器進(jìn)行放大。在具體設(shè)計(jì)中,最好選用10V左右的齊納二極管,此時(shí)按圖2的接法,通過(guò)微調(diào)可調(diào)電阻來(lái)改變流過(guò)齊納二極管的電流值,就能從耦合電容得到較平坦的頻譜?梢赃m當(dāng)調(diào)整電流值,以尋找噪聲頻譜既平坦、噪聲電平又盡可能高的最佳點(diǎn)。雪崩噪聲的主要成分是散彈噪聲,屬于高斯白噪聲。
由于實(shí)際的寬帶放大器都不具有理想的濾波特性,這種高斯白噪聲通過(guò)寬帶放大電路后,一般就不再是白噪聲了。因此在設(shè)計(jì)寬帶放大器時(shí),需要增加校正網(wǎng)絡(luò),使輸出的噪聲在一定的帶寬范圍內(nèi)接近高斯白噪聲。
除了考慮足夠的信號(hào)強(qiáng)度和頻帶寬度外,還要采取增益控制、阻抗匹配、電源去耦、信號(hào)屏蔽等措施,防止電路出現(xiàn)自激振蕩,提高隨機(jī)信源電路的工作穩(wěn)定性。圖3是通過(guò)頻譜分析儀實(shí)測(cè)的信源噪聲的功率譜密度圖,其中3dB噪聲帶寬約為65MHz;等效噪聲帶寬約為200MHz。
A/D轉(zhuǎn)換
A/D轉(zhuǎn)換就是將寬帶放大器輸出的模擬電子噪聲轉(zhuǎn)化為數(shù)字噪聲的過(guò)程。在噪聲采集電路中,使用了AD9281芯片。該芯片內(nèi)部結(jié)合了兩個(gè)8bit、28MSPS的ADC,兩個(gè)輸入緩沖放大器,一個(gè)內(nèi)部參考電壓,多路復(fù)用數(shù)字輸出緩沖器。采用單電源供電,工作電壓范圍:2.7V~5.5V,功耗低,溫度適用范圍寬。
AD9281有四種信號(hào)輸入方式:?jiǎn)味溯斎敕绞、差?dòng)輸入方式、交流耦合輸入方式和變壓器耦合輸入方式。由于輸入信號(hào)是寬帶放大器經(jīng)電容耦合進(jìn)來(lái)的,沒(méi)有直流成分,本方案采用交流耦合輸入方式。
AD9281有五種工作模式:1V模式、2V模式、外部設(shè)置模式、外部參考電壓模式和參考緩沖模式。本方案采用的是外部設(shè)置模式,如圖4所示。使用內(nèi)部參考電壓,通過(guò)外部的電阻分壓來(lái)調(diào)整參考電壓:VREF=1+(Ra/Rb),其中Ra和Rb分別是可調(diào)電阻兩部分的阻值,這種模式可滿(mǎn)足輸入信號(hào)電壓峰-峰值從0.7V到2.5V的變化范圍,避免了直接調(diào)整信號(hào)幅度所引起的負(fù)面影響。
USB硬件
USB接口控制使用的是Cypress公司的AN2131SC芯片。該芯片是一種全速USB控制器,遵循USB協(xié)議1.1版, 44個(gè)引腳,使用3.3V電源。
在整個(gè)噪聲采集過(guò)程中,AN2131SC的主要作用是:利用其USB內(nèi)核與主機(jī)通信并傳輸數(shù)據(jù)。利用其片上增強(qiáng)型8051作為控制器,使AD9281正常工作。具體工作過(guò)程為:AN2131SC上電復(fù)位后,芯片按照USB規(guī)范應(yīng)答,提供設(shè)備標(biāo)識(shí),然后再次枚舉,加載對(duì)應(yīng)驅(qū)動(dòng)程序,并將控制權(quán)轉(zhuǎn)交給8051,8051對(duì)AD9281發(fā)采集指令,進(jìn)行噪聲采集,將所得的噪聲數(shù)據(jù)存儲(chǔ)到內(nèi)部FIFO,當(dāng)一定字節(jié)的數(shù)據(jù)采集完后,再將它們通過(guò)USB總線傳至主機(jī)。噪聲采集工作原理可參看圖4。需要說(shuō)明的是,AN2131SC實(shí)際同步傳輸帶寬由8051能在同步端點(diǎn)FIFO內(nèi)、輸入和輸出的數(shù)據(jù)速度來(lái)決定。AN2131SC 8051的時(shí)鐘是24MHz(42ns),其指令周期需4個(gè)時(shí)鐘:42 ns×4=168ns,將外部一個(gè)字節(jié)數(shù)據(jù)移到IN端點(diǎn)FIFO的典型傳送循環(huán)需要9個(gè)指令周期:168ns×9≈1.5ms,環(huán)內(nèi)每ms傳送到IN FIFO的字節(jié)數(shù)為:1ms/1.5ms≈660字節(jié)。如果需要更快的速度,需對(duì)環(huán)內(nèi)循環(huán)代碼展開(kāi),但這樣會(huì)增加程序代碼的數(shù)量,較好的方法是對(duì)環(huán)內(nèi)循環(huán)代碼作部分展開(kāi)。因?yàn)锳N2131SC同步傳輸帶寬決定AD9281的采樣頻率,根據(jù)以上分析,采樣頻率最好不要超過(guò)660KHz。本文實(shí)際的采樣頻率約為500 KHz。此時(shí)模擬噪聲的帶寬遠(yuǎn)大于實(shí)際的采樣頻率,采樣時(shí)噪聲的頻譜會(huì)產(chǎn)生重疊。由于本文不考慮噪聲的還原,這種影響是可以忽略的。
軟件設(shè)計(jì)
系統(tǒng)軟件包括USB總線設(shè)備驅(qū)動(dòng)程序、設(shè)備固件程序和主機(jī)應(yīng)用程序三部分。
USB總線設(shè)備驅(qū)動(dòng)程序
為了節(jié)省開(kāi)發(fā)時(shí)間,本文在設(shè)計(jì)中直接使用了EZ-USB的通用驅(qū)動(dòng)程序(GPD):ezusb.sys。 EZ-USB GPD支持符合USB1.1規(guī)范的IOCTL。主機(jī)應(yīng)用程序通過(guò)I/O控制來(lái)訪問(wèn)GPD,即先通過(guò)調(diào)用一個(gè)Win32函數(shù)CreateFile()來(lái)獲得設(shè)備驅(qū)動(dòng)程序的句柄,然后用函數(shù)DeviceIoControl()來(lái)提交I/O控制代碼和相關(guān)的輸入/輸出。
設(shè)備固件程序
設(shè)備固件程序主要為AN2131SC控制器接收和傳送噪聲數(shù)據(jù)提供所有的操作。首先固件代碼要
上一篇:硬盤(pán)故障處理技巧4則
上一篇:巨磁阻效應(yīng)器件
熱門(mén)點(diǎn)擊
- Mac(物理、硬件)地址詳解
- 電腦經(jīng)常死機(jī),緣起三大件過(guò)熱
- HRT硬盤(pán)維修工具
- 常見(jiàn)硬盤(pán)自舉失敗的分析
- 智能型LED鍵盤(pán)顯示技術(shù)及其在儀器儀表中的應(yīng)
- 打印機(jī)故障檢測(cè)以及故障問(wèn)題解決
- 基于USB總線的隨機(jī)信源設(shè)計(jì)與實(shí)現(xiàn)
- 讓計(jì)算機(jī)啟動(dòng)更快的八招
- PC三大戰(zhàn)役:價(jià)格戰(zhàn)、概念戰(zhàn)、服務(wù)戰(zhàn)
- scsi硬盤(pán)安裝
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門(mén)信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究