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

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

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

增強FIFO模式下的奇偶校驗

OH9y_HAAWKING20 ? 來源:中科昊芯 ? 作者:中科昊芯 ? 2022-11-02 09:30 ? 次閱讀

自昊芯推出專題講解SCI串口通訊奇偶校驗,分為兩期講解,上期主要講解標(biāo)準(zhǔn)SCI模式下的奇偶校驗,本期主要講解增強FIFO模式下的奇偶校驗。

HX2000系列SCI模塊與中斷框圖如下,可通過SCICCR[PARITYENA]使能,啟動奇偶校驗;采用SCICCR[PARITY]選擇,使用奇或偶校驗,對每個字符增加一個額外的校驗位,以校驗收發(fā)數(shù)據(jù)的二進制碼中“1”的個數(shù),校驗收發(fā)數(shù)據(jù)的一致性;FIFO模式下校驗原理與標(biāo)準(zhǔn)模式一致,但收發(fā)數(shù)據(jù)校驗位不一致時,僅置位SCIRXBUF[SCIFFPE]輸出錯誤信號。

f4d51166-5a4c-11ed-a3b6-dac502259ad0.jpgf4efa5d0-5a4c-11ed-a3b6-dac502259ad0.jpg

由此設(shè)計SCI串口增強FIFO通信校驗實例:采用SCI與串口CH340,通過串口調(diào)試助手,向CPU發(fā)送任意一組四字節(jié)數(shù)據(jù),CPU接收所發(fā)送的數(shù)據(jù),通過按鍵控制,選擇奇或偶校驗,校驗收發(fā)數(shù)據(jù)的一致性,硬件連接如下圖所示:

f504f0ac-5a4c-11ed-a3b6-dac502259ad0.jpg

基于以上分析,在CDK上開發(fā)SCI串口增強FIFO通信校驗,代碼包括:SCI GPIO外設(shè)引腳配置,SCI增強FIFO功能與校驗配置程序,發(fā)送、接收與校驗程序,主程序調(diào)用執(zhí)行。主要代碼如下:

1.intmain(void)
2.{
3./*初始化系統(tǒng)控制*/
4.InitSysCtrl();
5./*初始化內(nèi)存控制寄存器,使能內(nèi)存流水線模式*/
6.InitFlash();
7./*初始化串口通信的GPIO口:GPIO28: SCIRXDA,GPIO29: SCITXDA*/
8.InitSciGpio();
9.
10./*初始化LED,用于指示奇偶與幀格式校驗錯誤*/
11.InitLED();
12./*初始化key按鍵,用于控制奇偶校驗?zāi)J竭x擇*/
13.InitKEY();
14.
15./*關(guān)閉PIE中斷*/
16.InitPieCtrl();
17./*清除中斷標(biāo)志位*/
18.IER=0x0000;
19.IFR=0x0000;
20./*初始化PIE中斷向量表*/
21.InitPieVectTable();
22.
23.EALLOW;
24./*中斷向量表入口地址SCIRXINTA,指向執(zhí)行接收中斷、校驗?zāi)J竭x擇與程序*/
25.PieVectTable.SCIRXINTA=&sci_rx_isr;
26.EDIS;
27.
28./*打開相應(yīng)的PIE中斷線*/
29.IER|=M_INT9;
30./*PIEGroup9,SCIRXINTA*/
31.PieCtrlRegs.PIEIER9.bit.INTx1=1;
32.
33./*SCI增強FIFO配置:含奇偶校驗*/
34.Scia_Config(9600);
35./*打開全局中斷*/
36.EINT;
37.for(;;)
38.{
39.}
40.return0;
41.}

CDK上開發(fā)SCI串口增強FIFO通信校驗程序,編譯結(jié)果為:

f5496a34-5a4c-11ed-a3b6-dac502259ad0.jpg

編譯通過后,就可開始調(diào)試了,調(diào)試后,可通過串口調(diào)試助手查看發(fā)送與接收到的數(shù)據(jù):

f576823a-5a4c-11ed-a3b6-dac502259ad0.jpg

收發(fā)數(shù)據(jù)校驗位不一致時,通過SciaRegs.SCIRXBUF.SCIFFPE置位輸出錯誤信號:

f5a0fb00-5a4c-11ed-a3b6-dac502259ad0.png

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

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210824
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6808

    瀏覽量

    88743
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    386

    瀏覽量

    43492
  • 串口通訊
    +關(guān)注

    關(guān)注

    1

    文章

    258

    瀏覽量

    24812

原文標(biāo)題:芯教程|平頭哥助力昊芯HX2000系列芯片專題SCI串口通訊奇偶校驗(二)SCI增強FIFO

文章出處:【微信號:HAAWKING2019,微信公眾號:中科昊芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    UART中有奇偶校驗位和無奇偶校驗位的數(shù)據(jù)傳輸是怎樣的?

    例如,我使用 8 位數(shù)據(jù)傳輸類型。奇偶校驗位共有 3 種類型無奇偶校驗校驗校驗----------------------偶校驗我假設(shè)
    發(fā)表于 12-08 07:24

    奇偶校驗

    奇偶校驗碼   奇偶校驗碼是一種開銷最小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯情況的編碼,常用于存儲器讀寫檢查,或ASCII字符、其它類
    發(fā)表于 10-13 16:42 ?5267次閱讀

    奇偶校驗器,奇偶校驗器是什么意思

    奇偶校驗器,奇偶校驗器是什么意思 奇偶校驗器定義 為了系統(tǒng)的可靠性,對于位數(shù)
    發(fā)表于 03-08 17:32 ?2186次閱讀

    奇偶校驗碼,奇偶校驗碼原理是什么?

    奇偶校驗碼,奇偶校驗碼原理是什么? 奇偶校驗碼是奇校驗碼和偶校驗碼的統(tǒng)稱,是一種最基本的檢錯碼。它是由n-1位信息元和1位
    發(fā)表于 03-17 17:39 ?6.3w次閱讀

    奇偶校驗器_奇偶校驗設(shè)計程序

    本內(nèi)容提供了奇偶校驗器_奇偶校驗設(shè)計的程序代碼,希望對大家有幫助
    發(fā)表于 11-11 10:04 ?5689次閱讀

    stm32串口奇偶校驗

    STM32串口通信使用奇偶校驗的時候應(yīng)該設(shè)置數(shù)據(jù)位長度9bit,奇偶校驗是硬件完成的,并且stm32用校驗位時,數(shù)據(jù)位要選9位,8位會出現(xiàn)故障可能。
    的頭像 發(fā)表于 07-23 09:26 ?1.1w次閱讀

    stm32 usart奇偶校驗如何配置

    stm32 usart奇偶校驗如何配置?或許你在stm32 usart奇偶校驗過程中會遇到如下一些坑,stm32 usart偶校驗錯誤標(biāo)志位以及出現(xiàn)偶校驗錯誤,
    的頭像 發(fā)表于 07-23 09:55 ?7398次閱讀
    stm32 usart<b class='flag-5'>奇偶校驗</b>如何配置

    STM32的UART奇偶校驗注意

    STM32的UART奇偶校驗注意STM32的UART在初始化時,我們通常用到最多的就是無校驗位,1停止位。但是我在項目中也遇到某些芯片通信用的需要奇校驗或者偶校驗,這里需要特別注意的是
    發(fā)表于 12-28 19:10 ?20次下載
    STM32的UART<b class='flag-5'>奇偶校驗</b>注意

    標(biāo)準(zhǔn)SCI模式奇偶校驗

    模塊有標(biāo)準(zhǔn)模式增強FIFO模式,這兩種模式均可通過奇偶校驗,
    的頭像 發(fā)表于 10-13 11:54 ?1600次閱讀

    FPGA奇偶校驗的基本原理及實現(xiàn)方法

    在數(shù)字電路中,數(shù)據(jù)的正確性非常重要。為了保證數(shù)據(jù)的正確性,在傳輸數(shù)據(jù)時需要添加一些冗余信息,以便在接收端進行校驗。其中一種常用的校驗方式是奇偶校驗(Parity Check)。本文將介紹奇偶校
    的頭像 發(fā)表于 05-14 14:59 ?2837次閱讀
    FPGA<b class='flag-5'>奇偶校驗</b>的基本原理及實現(xiàn)方法

    芯教程|平頭哥助力昊芯HX2000系列芯片專題SCI串口通訊奇偶校驗(二)SCI增強FIFO

    自昊芯推出專題講解SCI串口通訊奇偶校驗,分為兩期講解,上期主要講解標(biāo)準(zhǔn)SCI模式奇偶校驗,本期主要講解增強
    的頭像 發(fā)表于 11-08 10:08 ?711次閱讀
    芯教程|平頭哥助力昊芯HX2000系列芯片專題SCI串口通訊<b class='flag-5'>奇偶校驗</b>(二)SCI<b class='flag-5'>增強</b><b class='flag-5'>FIFO</b>

    什么是奇偶校驗 奇偶校驗的基本原理 奇偶校驗電路什么意思

    什么是奇偶校驗 奇偶校驗的基本原理 奇偶校驗電路什么意思? 奇偶校驗是一種用于檢測二進制數(shù)據(jù)中錯誤的方法。它的基本原理是在二進制數(shù)據(jù)的末尾添加一個額外的位,使得數(shù)據(jù)中二進制 1 的數(shù)量
    的頭像 發(fā)表于 10-17 16:16 ?3547次閱讀

    什么是奇偶校驗電路?奇偶校驗器是時序邏輯電路嗎?

    什么是奇偶校驗電路?奇偶校驗器是時序邏輯電路嗎? 奇偶校驗電路是一種數(shù)字電路,在數(shù)據(jù)傳輸過程中用于檢測數(shù)據(jù)是否發(fā)生錯誤。在每個數(shù)據(jù)字節(jié)(通常是8位)的最高位添加一位(偶校驗)或兩位(奇
    的頭像 發(fā)表于 10-17 16:16 ?3434次閱讀

    什么是奇校驗和偶校驗?常見的奇偶校驗方式有哪些?

    什么是奇校驗和偶校驗?常見的奇偶校驗方式有哪些? 1. 奇偶校驗是指在數(shù)字通信中采用一種技術(shù)對傳輸?shù)臄?shù)據(jù)進行校驗。由于數(shù)字信號傳輸容易受到干
    的頭像 發(fā)表于 10-17 16:28 ?1w次閱讀

    奇偶校驗和crc校驗的區(qū)別 CRC校驗奇偶校驗之間有什么關(guān)系?

    奇偶校驗和crc校驗的區(qū)別 CRC校驗奇偶校驗之間有什么關(guān)系? 奇偶校驗和 CRC(Cyclic Redundancy Check)
    的頭像 發(fā)表于 10-17 16:28 ?3208次閱讀