91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

瑞薩RA MCU中CRC模塊的使用方法

瑞薩嵌入式小百科 ? 來源:瑞薩MCU小百科 ? 作者:瑞薩MCU小百科 ? 2023-12-07 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CRC(Cyclic Redundancy Check),即循環(huán)冗余校驗碼。CRC是數(shù)據(jù)通信領(lǐng)域中最常用的一種查錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯功能,對數(shù)據(jù)進(jìn)行多項式計算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。

常用CRC有以下多種:

7e68c2d2-949f-11ee-939d-92fbcf53809c.jpg

點擊查看大圖

網(wǎng)絡(luò)上關(guān)于CRC基礎(chǔ)原理的內(nèi)容比較多,可以搜索關(guān)鍵詞“循環(huán)冗余校驗”進(jìn)行查詢。

瑞薩RA MCU中有硬件CRC計算單元,采用固定的多項式發(fā)生器來計算8位或者32位數(shù)據(jù)的CRC校驗值,對數(shù)據(jù)傳輸或數(shù)據(jù)存儲的一致性、完整性進(jìn)行驗證。這篇文章重點介紹RA MCU中的CRC模塊和使用方法。

RA MCU中的CRC 計算單元規(guī)格如下:

7e84d8f0-949f-11ee-939d-92fbcf53809c.jpg

點擊查看大圖

注1. 該函數(shù)不能劃分CRC計算中使用的數(shù)據(jù)。以8位或32位為單位寫入數(shù)據(jù)。

CRC 計算單元框圖如下:

7e979d50-949f-11ee-939d-92fbcf53809c.png

那么接下來就是如何使用了,打開工程中的configuration.xlm文件,在Stacks窗口中,可以通過“New Stack → Monitoring → CRC (r_crc)”添加該模塊。該模塊的屬性窗口如下:

7ea4f504-949f-11ee-939d-92fbcf53809c.jpg

點擊查看大圖

在應(yīng)用程序中使用CRC模塊的基本例程如下:

void crc_example ()
{
uint32_t length;
uint32_t uint8_calculated_value;
length = sizeof(g_data_8bit) / sizeof(g_data_8bit[0]);
crc_input_t example_input =
{
.p_input_buffer = g_data_8bit,
.num_bytes = length,
.crc_seed = 0,
};
/* Open CRC module with 8 bit polynomial */
R_CRC_Open(&crc_ctrl, &g_crc_test_cfg);
/* 8-bit CRC calculation */
R_CRC_Calculate(&crc_ctrl, &example_input, &uint8_calculated_value);
}

● CRC監(jiān)聽功能注

另外CRC單元還具有監(jiān)聽功能 ,可以監(jiān)視指定 I/O 寄存器地址的讀取和寫入,并自動對寄存器地址讀取和寫入的數(shù)據(jù)進(jìn)行CRC計算。不是對數(shù)據(jù)塊調(diào)用 R_CRC_Calculate,而是調(diào)用 R_CRC_SnoopEnable 來開始監(jiān)視讀/寫,并使用 R_CRC_CalculatedValueGet 來獲取當(dāng)前CRC。

請注意,監(jiān)聽模式僅適用于SCI上的發(fā)送/接收操作。

注:并非所有RA MCU的CRC單元都有監(jiān)聽功能,RA2A1、RA2L1、RA2E1、RA2E2、RA4M1

、RA4W1、RA6M1、RA6M2、RA6M3、RA6T1、RA6T2的CRC單元有監(jiān)聽功能,而RA4M2、RA4M3、RA4T1、RA4E1、RA4E2、RA6M4、RA6M5、RA6T3、RA6E1、RA6E2的CRC單元沒有監(jiān)聽功能,具體請參考各MCU的硬件手冊。

以下參考代碼展示了CRC監(jiān)聽操作:

void crc_snoop_example ()
{
/* Open CRC module with 8 bit polynomial */
R_CRC_Open(&crc_ctrl, &g_crc_test_cfg);
/* Open SCI Driver */
/* Configure Snoop address and enable snoop mode */
R_CRC_SnoopEnable(&crc_ctrl, 0);
/* Perfrom SCI read/Write operation depending on the SCI snoop address configure */
/* Read CRC value */
R_CRC_CalculatedValueGet(&crc_ctrl, &g_crc_buff);
}

在使用CRC32多項式函數(shù)時,CRC模塊會產(chǎn)生與流行的在線CRC32計算器相同的結(jié)果,但請務(wù)必記住一些要點:

● 在線CRC32計算器允許輸入任意數(shù)量的字節(jié)。而FSP CRC32 API函數(shù)使用32位。這意味著在線計算時必須“填充”為32位。

● 在線CRC32計算器通常會先對輸出取反,然后再將其呈現(xiàn)為結(jié)果。如果需要,由應(yīng)用程序決定是否包含此步驟。

● 在線CRC32計算器和R_CRC模塊API(CRC32 多項式)都需要使用種子值 0xFFFFFFFF。

● 確保R_CRC CRC32的位方向設(shè)置為LSB,并且選擇了CRC32而不是CRC32C。

● 一些在線CRC工具將最終結(jié)果與0xFFFFFFFF進(jìn)行異或。

瑞薩RA MCU全系列產(chǎn)品都具有CRC外設(shè)(注意,是全系列都有), 對CRC的計算提供硬件支持,為應(yīng)用程序節(jié)省了代碼空間。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18924

    瀏覽量

    398033
  • 瑞薩
    +關(guān)注

    關(guān)注

    37

    文章

    22481

    瀏覽量

    90860
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    205

    瀏覽量

    30833
  • 數(shù)據(jù)通信
    +關(guān)注

    關(guān)注

    2

    文章

    526

    瀏覽量

    35090
  • 循環(huán)冗余校驗
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    6766
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于RA2E1 MCU的LCR數(shù)字電橋項目介紹

    但這也是他第一次系統(tǒng)性地接觸到MCU在模擬測量的應(yīng)用,以此為起點,他在2025年基于RA2E1 M
    的頭像 發(fā)表于 02-10 09:22 ?1042次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>2E1 <b class='flag-5'>MCU</b>的LCR數(shù)字電橋項目介紹

    七城共啟 | 電子RA8 MCU硬核巡演開放報名

    RA生態(tài)工作室關(guān)注我們RA8系列是RA家族的超高性能M
    的頭像 發(fā)表于 02-06 18:01 ?700次閱讀
    七城共啟 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>8 <b class='flag-5'>MCU</b>硬核巡演開放報名

    FPB-RA0E2開發(fā)板的批量加載例程

    RA MCU眾測寶典”環(huán)境搭建專題再添實用干貨!上一篇我們搞定了【FPB-RA0E2】開發(fā)板的基礎(chǔ)環(huán)境配置,這次將解鎖“批量加載官方例
    的頭像 發(fā)表于 01-29 17:52 ?6832次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>FPB-<b class='flag-5'>RA</b>0E2開發(fā)板的批量加載例程

    電子RA系列MCU 2025年新品回顧

    2025年RA系列推出10個新產(chǎn)品,覆蓋了從入門級低功耗(RA0E2)、端低功耗(RA4C
    的頭像 發(fā)表于 01-27 09:57 ?1239次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>系列<b class='flag-5'>MCU</b> 2025年新品回顧

    如何搭建RA VS code開發(fā)環(huán)境

    在上一篇文章“當(dāng)RA MCU遇見Zephyr,打通嵌入式開發(fā)任督二脈!”,我們介紹了Zephyr極具前景的發(fā)展趨勢以及開發(fā)板對Zeph
    的頭像 發(fā)表于 11-05 14:41 ?4446次閱讀
    如何搭建<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b> VS code開發(fā)環(huán)境

    【直播預(yù)告】RT-Thread帶你首發(fā)體驗:基于RA8P1 MCU的Titan Board | 問學(xué)直播

    AI加速MCU的神秘面紗,探索RT-Thread與RA8P1如何協(xié)同賦能嵌入式AI!實時觀看直播還可以與專家互動,現(xiàn)場答疑,參與直播的抽獎,有機(jī)會獲得
    的頭像 發(fā)表于 10-30 11:54 ?772次閱讀
    【直播預(yù)告】RT-Thread帶你首發(fā)體驗:基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8P1 <b class='flag-5'>MCU</b>的Titan Board | 問學(xué)直播

    RA家族RA4C1低功耗MCU發(fā)布

    RA家族在2025年8月推出RA4C1低功耗MCU,基于Arm Cortex-M33(CM33)內(nèi)核,提供低功耗/低電壓操作、LCD段碼
    的頭像 發(fā)表于 08-22 15:00 ?2326次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>家族<b class='flag-5'>RA</b>4C1低功耗<b class='flag-5'>MCU</b>發(fā)布

    RA8系列教程 | RA8 開發(fā)環(huán)境搭建,并點亮一個LED

    今天就給大家講講基于Cortex-M85內(nèi)核RA8單片機(jī)快速上手指南。
    的頭像 發(fā)表于 06-04 17:32 ?1761次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8系列教程 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b> <b class='flag-5'>RA</b>8 開發(fā)環(huán)境搭建,并點亮一個LED

    基于電子RA8D1 MCU的USB和I2S數(shù)字音頻應(yīng)用解決方案

    今天給大家介紹一下上海覺鑫智能科技有限公司基于電子RA8D1 MCU的USB&I2S數(shù)字音頻應(yīng)用解決方案。
    的頭像 發(fā)表于 04-30 14:47 ?2759次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>8D1 <b class='flag-5'>MCU</b>的USB和I2S數(shù)字音頻應(yīng)用解決方案

    RA-Eco-RA4M2開發(fā)板評測】初學(xué)-使用flash programmer燒錄程序

    了解到有專門的燒錄工具-flash programmer,這個軟件的功能還是十分便捷的,起碼對于已有的項目而言,將其燒錄到MCU
    發(fā)表于 04-29 17:28

    RA8D1單片機(jī)IO中斷配置實現(xiàn)方法

    本文為結(jié)合e2 studio工具,以及CPKCOR_RA8D1B評估板,給大家講述RA8
    的頭像 發(fā)表于 04-09 15:05 ?1838次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8D1單片機(jī)IO中斷配置實現(xiàn)<b class='flag-5'>方法</b>

    低功耗32位MCU電子RA4L1系列微控制器硬件手冊開發(fā)文檔詳情

    低功耗32位MCU電子RA4L1系列微控制器硬件手冊開發(fā)文檔詳情
    的頭像 發(fā)表于 04-02 18:12 ?1236次閱讀
    低功耗32位<b class='flag-5'>MCU</b><b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>4L1系列微控制器硬件手冊開發(fā)文檔詳情

    RA系列MCU的命名方法與選型

    對初學(xué)者來說,要理解RA產(chǎn)品家族產(chǎn)品型號的不同數(shù)字和字母并不容易。我們首先以RA系列MCU的其中一個型號R7FA6M5BH2CBG為例,
    的頭像 發(fā)表于 03-27 14:32 ?2922次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>系列<b class='flag-5'>MCU</b>的命名<b class='flag-5'>方法</b>與選型

    RA2L1入門學(xué)習(xí)】RA2L1開發(fā)環(huán)境搭建

    輕松應(yīng)對多任務(wù)和聯(lián)網(wǎng)需求。 5. 結(jié)論 e2 studio + FSP 是 RA MCU 官方推薦的開發(fā)環(huán)境,集成了 代碼生成、調(diào)試支持、RTOS 適配 等多種功能,適合快速開發(fā)
    發(fā)表于 03-07 11:33

    RA2L1入門學(xué)習(xí)】00. 開箱 + 點燈

    常用到的。 【點燈】 開發(fā)MCU是要用到E2 Studio的(簡稱e2s)來開發(fā)以及編譯程序。通過Renesas Flash Programme下載程序。這些工具在官網(wǎng)都可以獲取最新的資源。
    發(fā)表于 03-07 11:07