新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 循環冗余校驗碼的單片機及CPLD實現

        循環冗余校驗碼的單片機及CPLD實現

        作者: 時間:2012-03-20 來源:網絡 收藏

        4 冗余碼的

        冗余碼的硬件,其速度更快,性能更好,而且只占用極少的內的資源。本人用Xilinx公司的XCV9536芯片,基于以下VHDL 代碼,了8位CRC碼生成電路。代碼下VHDL代碼,實現了8位CRC碼生成電路。代碼中,s_in為輸入串行數據,q為輸出CRC碼,d_new為當前CRC碼。
        Library IEEE;
        use IEEE.std_logic_1164.all;
        entity crc is
        port(clk,s_in,reset:in STD_LOGIC,q:out STD_LOGIC_VECTOR (7 downto 0));
        end crc;
        architecture crc_arch of crc is
        signal t1,t2,t3:std_logic;
        signal d_new:std_logic_vector(7 downto 0);
        begin
        t1=d_new(0)xor s_in; --t1為最低位與輸入異或值
        t2=d_new(4)xor '1';
        t3=d_new(3)xor'1';
        process(clk,reset)
        begin
        if clk event and clk='1'then
        if reset='1'then
        d_new=x0; --復位時,CRC碼置零
        elsif t1='1'then
        d_new=t1d_new(7 downto 5)t2t3td_new(2 downto 1);--t1為1時的新CRC碼
        elsif t1='0'then
        d_new=t1d_new(7 downto 1); --t1為0時的新CRC碼
        end if;
        end if;
        end process;
        q=d_new;--輸出CRC碼
        end crc_arch;

        5 總結

        基于以上介紹的8位冗余碼的軟件及硬件實現方法,可以設計各種類型的循環冗余校檢方法。由上述例程可以看出,循環冗余碼校驗是一種可靠性高、易于實現的校驗方法。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 恭城| 南川市| 清水河县| 桐柏县| 商丘市| 朝阳区| 潼关县| 梓潼县| 清水河县| 莎车县| 英吉沙县| 清丰县| 潜江市| 九台市| 修水县| 溧阳市| 丰县| 深泽县| 宕昌县| 同德县| 贡觉县| 阳西县| 蛟河市| 马公市| 平昌县| 昆山市| 平利县| 玉山县| 中西区| 乐清市| 贵南县| 金溪县| 台东县| 肇州县| 普定县| 都兰县| 金平| 道真| 景宁| 张家川| 黔南|