在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CKS32F4xx系列RNG功能設置

中科芯MCU ? 來源:中科芯MCU ? 2023-09-08 10:01 ? 次閱讀

MCU微課堂

CKS32F4xx列RNG功能

隨機數發生器簡介

CKS32F4xx系列自帶了硬件隨機數發生器(RNG),RNG處理器是一個以連續模擬噪聲為基礎的隨機數發生器,在主機讀數時提供一個32位的隨機數。

CKS32F4xx系列的隨機數發生器框圖如圖1所示:

b924921e-4d7a-11ee-a25d-92fbcf53809c.jpg

圖1.RNG框圖

CKS32F4xx系列的隨機數發生器(RNG)采用模擬電路實現。此電路產生饋入線性反饋移位寄存器(RNG_LFSR)的種子,用于生成32位隨機數。

該模擬電路由幾個環形振蕩器組成,振蕩器的輸出進行異或運算以產生種子。RNG_LFSR由專用時鐘(PLL48CLK)按恒定頻率提供時鐘信息,因此隨機數質量與HCLK頻率無關。當將大量種子引入RNG_LFSR后,RNG_LFSR的內容會傳入數據寄存器(RNG_DR)。

同時,系統會監視模擬種子和專用時鐘PLL48CLK,當種子上出現異常序列,或PLL48CLK時鐘頻率過低時,可以由RNG_SR寄存器的對應位讀取到,如果設置了中斷,則在檢測到錯誤時,還可以產生中斷。

RNG寄存器

我們介紹下CKS32F4xx系列隨機數發生器(RNG)的幾個寄存器。

b9d4d84a-4d7a-11ee-a25d-92fbcf53809c.png

圖2.RNG控制寄存器

圖2為RNG的CR寄存器,其只有bit2和bit3有效,用于使能隨機數發生器和中斷。我們一般不用中斷,所以只需要設置bit2為1,使能隨機數發生器即可。

ba01b96e-4d7a-11ee-a25d-92fbcf53809c.jpg

圖3.RNG狀態寄存器

圖3為RNG狀態寄存器:RNG_SR。該寄存器我們僅關心最低位(DRDY位),該位用于表示RNG_DR寄存器包含的隨機數數據是否有效,如果該位為1,則說明RNG_DR的數據是有效的,可以讀取出來了。讀RNG_DR后,該位自動清零。

ba14fc68-4d7a-11ee-a25d-92fbcf53809c.jpg

圖4.RNG數據寄存器

圖4為RNG數據寄存器:RNG_DR。在RNG_SR的DRDY位置位后,我們就可以讀取該寄存器獲得32位隨機數值。此寄存器在最多40個PLL48CK時鐘周期后,又可以提供新的隨機數值。

至此,隨機數發生器的寄存器,我們就介紹完了。接下來,我們看看要使用庫函數操作隨機數發生器,應該如何設置。

配置隨機數發生器

1.使能隨機數發生器時鐘

要使用隨機數發生器,必須先使能其時鐘。隨機數發生器時鐘來自PLL48CK,通過AHB2ENR寄存器使能。所以我們調用使能AHB2總線外設時鐘的函數使能RNG時鐘即可:

RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE);

2.使能隨機數發生器

這個就是通過RNG_CR寄存器的最低位設置為1,使能隨機數發生器。當然,如果需要用到中斷,你快還可以使能RNG中斷。本章我們不用中斷。庫函數中使能隨機數發生器的方法為:

RNG_Cmd(ENABLE);

3.判斷DRDY位,讀取隨機數值

經過前面兩個步驟,我們就可以讀取隨機數值了,不過每次讀取之前,必須先判斷 RNG_SR寄存器的DRDY位,如果該位為1,則可以讀取RNG_DR得到隨機數值,如果不為1,則需要等待。

獲取隨機數發生器狀態的函數為:

FlagStatus RNG_GetFlagStatus(uint8_t RNG_FLAG);

判斷數據是否有效的入口參數為 RNG_FLAG_DRDY,所以等待就緒的方法為:

while(RNG_GetFlagStatus(RNG_FLAG_DRDY)==RESET);

判斷數據有效后,然后我們讀取隨機數發生器產生的隨機數即可,調用函數為:

uint32_t RNG_GetRandomNumber(void);

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5358

    瀏覽量

    120773
  • 發生器
    +關注

    關注

    4

    文章

    1368

    瀏覽量

    61758
  • 硬件
    +關注

    關注

    11

    文章

    3352

    瀏覽量

    66328
  • 函數
    +關注

    關注

    3

    文章

    4340

    瀏覽量

    62791

原文標題:MCU微課堂|CKS32F4xx系列RNG功能

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MCU微課堂|CKS32F4xx系列產品時鐘配置

    作為MCU運行的基礎,時鐘是單片機各個模塊工作時序的最小時間單位,推動單片機的各指令執行,是MCU選型的一個重要指標。CKS32F4xx系列產品具有眾多的外設,但并非所有的外設均需要系統時鐘的高頻率
    發表于 12-12 10:17 ?864次閱讀

    CKS32F4xx系列ETH通信詳解

    CKS32F4xx系列芯片自帶以太網模塊,該模塊包括帶專用DMA控制器的MAC 802.3(介質訪問控制)控制器
    的頭像 發表于 11-10 11:13 ?1039次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信詳解

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內核,支持浮點運算單元(FPU),同時還支持DSP指令以及存儲保護(MPU)用來加強應用的安全性。
    的頭像 發表于 03-04 13:43 ?1589次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP<b class='flag-5'>功能</b>介紹

    CKS32F4xx系列產品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節我們對CKS32F4xx系列的DMA進行介紹,同時利用DMA對串口數據進行傳輸。
    的頭像 發表于 04-10 11:18 ?1075次閱讀

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發表于 11-06 16:56 ?874次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC<b class='flag-5'>功能</b>

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發表于 11-06 16:53 ?1124次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發表于 11-06 16:54 ?1007次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ADC單通道電壓采集

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發表于 11-06 16:57 ?495次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發表于 11-06 16:59 ?696次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發表于 11-06 17:08 ?640次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出
    的頭像 發表于 11-09 17:39 ?884次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-定時操作

    CKS32F4xx系列產品Timer的基本使用方法-定時操作
    的頭像 發表于 11-09 17:41 ?645次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-定時操作

    MCU微課堂 | CKS32F4xx系列產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品SPI通信
    的頭像 發表于 10-24 17:12 ?734次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置
    的頭像 發表于 10-24 15:14 ?819次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品GPIO口配置

    CKS32F4xx系列FSMC功能簡介

    本課講為大家講解CKS32F4xx系列產品的FSMC應用實例,FSMC全稱是Flexible Static Memory Controller,讀作靈活的靜態存儲控制器,顧名思義,MCU可以通過FSMC擴展靜態內存
    的頭像 發表于 04-14 15:06 ?993次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC<b class='flag-5'>功能</b>簡介
    主站蜘蛛池模板: 日本wwwwwwwww| 九九热九九| 美女网色| 欧美精品首页| 激情综合色综合久久综合| 亚洲qingse中文久久网| 黄床大片| 天天爽夜夜爽视频| 成人久久伊人精品伊人| 爱逼综合| 五月婷婷丁香色| www.亚洲.com| 久久青草国产精品一区| 黄色小视频日本| www.xxxx欧美| 天天操天天舔天天干| 一区二区精品| 日日干干| 三级黄网| ccc36色影| 小草影院亚洲私人影院| 在线亚洲一区| 亚洲伊人久久大香线蕉结合| 免费二级c片观看| 中文字幕天天躁夜夜狠狠综合| 轻点灬大ji巴太粗太长了h| 成人黄色免费看| 九九热九九| 亚洲一区二区三区四区五区六区| 成人午夜免费视频| 狠狠干成人| 在线看片一区| 日本免费一区二区在线观看| h视频免费在线| 5252a我爱haose01亚洲| 91在线操| 亚洲伊人电影| 嫩草黄色影院| 亚洲欲色| 奇米福利视频| 久草cm|