新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA與單片機實現數據RS232串口通信的設計

        FPGA與單片機實現數據RS232串口通信的設計

        作者: 時間:2010-08-31 來源:網絡 收藏

        begin
        if reset='1' then
        txcnt_r=(others=>'0');
        sout1='1';
        state=start1;
        cou=0;
        elsif txclk'event and txclk='1' then
        case state is
        when start1=>
        if start='1' then
        if cou=3 then
        len=thr;
        end if;
        tsr:=thr(7 downto 0);
        oddb1:=thr(7 downto 0);
        sout1='0'; --起始位
        txcnt_r=(others=>'0');
        state=shift1;
        else
        state=start1;
        end if;
        when shift1=>
        oddb=oddb1(7) xor oddb1(6) xor oddb1(5) xor oddb1(4) xor oddb1(3) xor oddb1(2) xor oddb1(1) xor oddb1(0);
        sout1=tsr(0); --數據位
        tsr(6 downto 0):=tsr(7 downto 1);
        tsr(7):='0';
        txcnt_r=txcnt_r 1;
        if (txcnt_r=7) then
        state=odd1;cou=cou 1;
        end if;
        when odd1=> --奇校驗位
        if oddb='1' then
        sout1='0';state=stop1;
        else
        sout1='1';state=stop1;
        end if;
        when stop1=>
        sout1='1'; --停止位
        if cou4 then
        state=start1;
        else
        state=start2;
        end if;
        when start2=>
        tsr1:=thr(15 downto 8);
        oddb2:=thr(15 downto 8);
        sout1='0'; --起始位
        txcnt_r=(others=>'0');
        state=shift2;
        when shift2=>
        oddb=oddb2(7) xor oddb2(6) xor oddb2(5) xor oddb2(4) xor oddb2(3) xor oddb2(2) xor oddb2(1) xor oddb2(0);
        sout1=tsr1(0);--數據位
        tsr1(6 downto 0):=tsr1(7 downto 1);
        tsr1(7):='0';
        txcnt_r=txcnt_r 1;
        if (txcnt_r=7) then
        state=odd2;
        end if;
        when odd2=> --奇校驗位
        if oddb='1' then
        sout1='0';state=stop2;
        else
        sout1='1';state=stop2;
        end if;
        when stop2=>
        sout1='1'; --停止位
        if len=0000000000000000 then
        state=stop2;
        else
        state=start1;
        len=len-1;
        end if;
        end case;
        end if;
        end process;
        sout=sout1;
        end behav;


        關鍵詞: EDA FPGA 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江孜县| 尼玛县| 黑山县| 和顺县| 金寨县| 蒙山县| 马关县| 大方县| 连州市| 五指山市| 延安市| 刚察县| 台南县| 白河县| 天柱县| 广水市| 宁城县| 香河县| 乐都县| 高密市| 军事| 东平县| 湘西| 舟山市| 壶关县| 建阳市| 福贡县| 天长市| 东兰县| 湄潭县| 玛沁县| 凉城县| 额济纳旗| 博爱县| 屯昌县| 通山县| 新昌县| 泉州市| 涞源县| 元谋县| 卫辉市|