日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]RNG主要特性RNG 處理器是一個(gè)以連續(xù)模擬噪聲為基礎(chǔ)的隨機(jī)數(shù)發(fā)生器,在主機(jī)讀數(shù)時(shí)提供一個(gè) 32 位的 隨機(jī)數(shù)。RNG的主要特性● 提供由模擬量發(fā)生器產(chǎn)生的 32 位隨機(jī)數(shù)● 兩個(gè)連續(xù)隨機(jī)數(shù)的間隔為 40 個(gè) PLL48CLK 時(shí)鐘信號(hào)

RNG主要特性
RNG 處理器是一個(gè)以連續(xù)模擬噪聲為基礎(chǔ)的隨機(jī)數(shù)發(fā)生器,在主機(jī)讀數(shù)時(shí)提供一個(gè) 32 位的 隨機(jī)數(shù)。

RNG的主要特性
● 提供由模擬量發(fā)生器產(chǎn)生的 32 位隨機(jī)數(shù)
● 兩個(gè)連續(xù)隨機(jī)數(shù)的間隔為 40 個(gè) PLL48CLK 時(shí)鐘信號(hào)周期
● 通過監(jiān)視 RNG 熵來標(biāo)識(shí)異常行為(產(chǎn)生穩(wěn)定值,或產(chǎn)生穩(wěn)定的值序列)
● 可被禁止以降低功耗

RNG功能描述

隨機(jī)數(shù)發(fā)生器采用模擬電路實(shí)現(xiàn)。此電路產(chǎn)生饋入線性反饋移位寄存器 (RNG_LFSR) 的種子, 用于生成 32 位隨機(jī)數(shù)。
該模擬電路由幾個(gè)環(huán)形振蕩器組成,振蕩器的輸出進(jìn)行異或運(yùn)算以產(chǎn)生種子。RNG_LFSR 由 專用時(shí)鐘 (PLL48CLK) 按恒定頻率提供時(shí)鐘信息,因此隨機(jī)數(shù)質(zhì)量與 HCLK 頻率無關(guān)。當(dāng)將 大量種子引入 RNG_LFSR 后,RNG_LFSR 的內(nèi)容會(huì)傳入數(shù)據(jù)寄存器 (RNG_DR)。
同時(shí),系統(tǒng)會(huì)監(jiān)視模擬種子和專用時(shí)鐘 PLL48CLK。狀態(tài)位(RNG_SR 寄存器中)指示何時(shí) 在種子上出現(xiàn)異常序列,或指示何時(shí) PLL48CLK 時(shí)鐘頻率過低。檢測(cè)到錯(cuò)誤時(shí)生成中斷。

操作
要運(yùn)行 RNG,請(qǐng)按以下步驟操作:
1.如果需要,使能中斷(為此,將 RNG_CR 寄存器中的 IE 位置 1)。準(zhǔn)備好隨機(jī)數(shù)時(shí)或 出現(xiàn)錯(cuò)誤時(shí)生成中斷。
2. 通過將 RNG_CR 寄存器中的 RNGEN 位置 1 使能隨機(jī)數(shù)產(chǎn)生。這會(huì)激活模擬部分、RNG_LFSR 和錯(cuò)誤檢測(cè)器。
3. 每次中斷時(shí),檢查確認(rèn)未出現(xiàn)錯(cuò)誤(RNG_SR 寄存器中的 SEIS 和 CEIS 位應(yīng)為 0), 并且隨機(jī)數(shù)已準(zhǔn)備就緒(RNG_SR 寄存器中的 DRDY 位為 1)。然后即可讀取 RNG_DR 寄存器中的內(nèi)容。
按照 FIPS PUB(聯(lián)邦信息處理標(biāo)準(zhǔn)出版物)140-2 的要求,將 RNGEN 位置 1 后產(chǎn)生的第 一個(gè)隨機(jī)數(shù)不應(yīng)使用,但應(yīng)保存起來,與產(chǎn)生的下一個(gè)隨機(jī)數(shù)進(jìn)行比較。隨后產(chǎn)生的每個(gè)隨機(jī)數(shù)都需要與產(chǎn)生的上一個(gè)隨機(jī)數(shù)進(jìn)行比較。如果任何一對(duì)進(jìn)行比較的數(shù)字相等,則測(cè)試失?。ㄟB續(xù)隨機(jī)數(shù)發(fā)生器測(cè)試)

錯(cuò)誤管理
如果 CEIS 位的值為 1(時(shí)鐘錯(cuò)誤)
出現(xiàn)時(shí)鐘錯(cuò)誤時(shí),RNG 無法再產(chǎn)生隨機(jī)數(shù),因?yàn)?PLL48CLK 時(shí)鐘不正確。檢查時(shí)鐘控制器是 否正確配置,是否可提供 RNG 時(shí)鐘,然后將 CEIS 位清零。當(dāng) CECS 位為 0 時(shí),RNG 可正 常工作。時(shí)鐘錯(cuò)誤對(duì)產(chǎn)生的上一個(gè)隨機(jī)數(shù)沒有影響,因此 RNG_DR 寄存器內(nèi)容可以使用。
如果 SEIS 位的值為 1(種子錯(cuò)誤)
出現(xiàn)種子錯(cuò)誤時(shí),只要 SECS 位為 1,就會(huì)中斷隨機(jī)數(shù)產(chǎn)生。如果 RNG_DR 寄存器中有可 用隨機(jī)數(shù),不能使用該隨機(jī)數(shù),因?yàn)樗赡軟]有足夠的熵。
應(yīng)執(zhí)行以下操作:將 SEIS 位清零,然后將 RNGEN 位清零并置 1,以便重新初始化和重新 啟動(dòng) RNG。

STM32F4的RNG庫
如何使用RNG驅(qū)動(dòng)
1.通過函數(shù)RCC_AHB2PeriphClockCmd(RCC_AHB2Perph_RNG,ENABLE)使能RNG控制器時(shí)鐘。
2.通過函數(shù)RNG_Cmd()使能RNG。
3.等待直到隨機(jī)數(shù)發(fā)生器產(chǎn)生有效的隨機(jī)數(shù)(中斷或查詢模式)。
4.通過函數(shù)RNG_GetRandomNumber()得到隨機(jī)數(shù)。
從上面第三步開始繼續(xù)得到后面的隨機(jī)數(shù)。

初始化和配置函數(shù)
這部分函數(shù)主要提供以下功能
· 初始化RNG外設(shè)
· 使能或禁止RNG外設(shè)。
void RNG_DeInit()功能:從新初始化RNG外設(shè)寄存器數(shù)據(jù)到復(fù)位值。
void RNG_Cmd(FunctionanState NewState)功能:使能或禁止RNG

得到32位隨機(jī)數(shù)函數(shù)
uint32_t RNG_GetRandomNumber(void)
函數(shù)功能:返回32位隨機(jī)數(shù)
調(diào)用此函數(shù)之前需要等待直到DRDY標(biāo)志置位,調(diào)用函數(shù)RNG_GetFlagStatus(RNG_FLAG_DRDY)進(jìn)行等待標(biāo)志位。每次在的調(diào)用RNG_GetrandomNumber(void)后RNG_FLAG_DRDY標(biāo)志自動(dòng)清除。
在seed錯(cuò)誤的情況下只要SECS位是1,隨機(jī)數(shù)產(chǎn)生將被中斷。如果RNG_DR寄存器中有數(shù)據(jù)可用,但是請(qǐng)不要使用,應(yīng)為沒有足夠的entopy。這種情況下推薦用戶通過函數(shù)RNG_ClearFlag(RNG_FLAG_SECS)清除SEIS標(biāo)志,然后禁止并重新使能RNG外設(shè)(通過函數(shù)RNG_Cmd())來從新初始化和啟動(dòng)RNG。
在時(shí)鐘錯(cuò)誤的情況下,應(yīng)為PLL48CLK時(shí)鐘的不準(zhǔn)確,RNG將無法產(chǎn)生隨機(jī)數(shù)。檢查是否正確配置時(shí)鐘控制器RNG時(shí)鐘,同時(shí)清除CEIS(通過函數(shù)RNG——ClearFlag(RNG_FLAG_CECS))位。當(dāng)CECS位是0的時(shí)候RNG次啊能正常工作。時(shí)鐘錯(cuò)誤對(duì)先前殘生的隨機(jī)數(shù)沒有影響,RNG_DR寄存器中的數(shù)據(jù)仍然可以使用。

中斷標(biāo)志管理
· 標(biāo)志
RNG_FLAG_DRDY:RNG_DR寄存器有有效隨機(jī)數(shù)時(shí),通過讀此寄存器來清除標(biāo)志(可通過函數(shù)RNG_GetRandomNumber()實(shí)現(xiàn))。
RNG_FLAG_CECS:seed檢測(cè)錯(cuò)誤
RNG_FLAG_SECS:時(shí)鐘檢測(cè)錯(cuò)誤
· 中斷
如果是能了RNG中斷,下面三種情況僵尸的RNG中斷會(huì)被掛起。
RNG_DR寄存器含有有效的隨機(jī)數(shù),只有通過讀RNG_DR寄存器才能清除中斷源,也就是清除中斷掛起標(biāo)志。
發(fā)生seed錯(cuò)誤,檢測(cè)到下面的錯(cuò)誤序列之一:
64個(gè)以上的的連續(xù)位都是0或者1
32個(gè)以上出現(xiàn)連續(xù)的01.
通過函數(shù)RNG_ClearITPendingBit(RNG_IT_SEI)清除此中斷源。
發(fā)生時(shí)鐘錯(cuò)誤,PLL48CLK不能被正確的檢測(cè)到


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

基于ARM? Cortex?-M4的STM32F4 MCU系列采用了意法半導(dǎo)體的NVM工藝和ART Accelerator?,在高達(dá)180 MHz的工作頻率下通過閃存執(zhí)行時(shí)其處理性能達(dá)到225 DMIPS/608 Cor...

關(guān)鍵字: stm32f4 ARM

stm32f4和f1都有哪些區(qū)別?除了需要的頭文件不一樣,管腳配置什么的有區(qū)別么?

關(guān)鍵字: stm32f4 f1 比較

STM32F407VET6引腳圖及中文資料

關(guān)鍵字: stm32f4 引腳圖

隨機(jī)數(shù)是以現(xiàn)代密碼學(xué)為基礎(chǔ)的信息安全系統(tǒng)的基石。在現(xiàn)代信息安全系統(tǒng)中,密碼體制和算法本身可以被公開,訪問策略可以公布,密碼設(shè)備可能丟失,而系統(tǒng)的安全性要求不受影響。整個(gè)系統(tǒng)的安全性完全依賴于隨機(jī)

關(guān)鍵字: 控制器 隨機(jī)數(shù)發(fā)生器 偽隨機(jī)數(shù) 測(cè)試

10月9日消息 今日凌晨,英雄聯(lián)盟S9全球總決賽入圍賽淘汰賽階段結(jié)束,小組賽最終抽簽結(jié)果出爐。今日中午,英雄聯(lián)盟官方公布了S9小組賽完整賽程。 小組賽首日(10月12日)第一場(chǎng)比賽在SKT與FNC之間

關(guān)鍵字: ig rng 英雄聯(lián)盟 fpx

LPL夏季賽小組賽已經(jīng)進(jìn)入了最后的階段,萬眾矚目的iG vs RNG的比賽也將在8月10日到來,兩支頗有爭(zhēng)議有話題的隊(duì)伍終于要正面交鋒了。 今日,WWE選手Cesaro和Austin Creed在推

關(guān)鍵字: ig lpl vs 英雄聯(lián)盟 rng

比較F1的片子對(duì)于F4的RTC來說有很大提升,F(xiàn)4的RTC提供了日歷時(shí)鐘和兩個(gè)可編程鬧鐘中斷,一個(gè)周期性可編程喚醒標(biāo)志。這樣很方便設(shè)置系統(tǒng)時(shí)間,并不會(huì)像F1的RTC那樣要自己計(jì)算年月日時(shí)分秒。F4的RTC是一個(gè)獨(dú)立的BC...

關(guān)鍵字: rtc stm32f4

【實(shí)驗(yàn)?zāi)康摹枯敵?路占空比不同的PWM信號(hào)是各個(gè)版本ST庫必備的例子。本實(shí)驗(yàn)的主要目的不是表現(xiàn)ST芯片PWM功能的強(qiáng)大,而是要完成輸出的精確計(jì)算?!緦?shí)驗(yàn)內(nèi)容】輸出7路PWM信號(hào),并用示波器測(cè)量輸出?!緦?shí)驗(yàn)原理】1、時(shí)

關(guān)鍵字: pwm stm32f4 tim1 信號(hào)輸出

STM32F4的隨機(jī)數(shù)發(fā)生器RNG,以環(huán)境噪聲為種子,產(chǎn)生32位隨機(jī)數(shù)供主機(jī)使用?!局饕匦浴?、產(chǎn)生32位隨機(jī)數(shù) 2、兩次轉(zhuǎn)換時(shí)間間隔40PLL48CLK 3、隨機(jī)數(shù)熵檢測(cè)以發(fā)現(xiàn)不正常位,以產(chǎn)生穩(wěn)定序列 3、可被關(guān)閉以...

關(guān)鍵字: stm32f4 隨機(jī)數(shù)發(fā)生器

書接上文,開始折騰ADC的DMA傳輸。因?yàn)榇蠹叶荚谡fDMA,就連ST的例子里邊也是使用DMA的。 ADC采集到的數(shù)據(jù)都存儲(chǔ)在一個(gè)固定的寄存器中。當(dāng)常規(guī)采樣方式采樣多個(gè)通道時(shí)候,使用DMA可以較好地避免將采集到的數(shù)據(jù)...

關(guān)鍵字: adc dma stm32f4 數(shù)據(jù)傳輸 采集數(shù)據(jù)
關(guān)閉