新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的異步串行總線設計

        基于FPGA的異步串行總線設計

        作者: 時間:2012-05-02 來源:網絡 收藏

        c.JPG



        2 總線傳輸協議
        根據系統對上下位機指令響應時間要求,自定義了總線的傳輸速率和傳輸協議。因為本協議為傳輸協議,所以在每包數據的前面增加了1.5bit的起始位,在每包數據的后面增加了1bit的數據停止位作為一包數據的開始標志和結束標志。為提高數據傳輸的準確性,在發送起始位之后和信息數據結束之前分別增加了8bit題頭和題尾,用于數據接收方信息同步和數據識別;如果接收方收到的題頭或者題尾任意一個有誤,就判本包數據傳輸有誤。并且在本包數據末端增加了CRC-8校驗碼,對發送的整個串行碼流進行校驗。具體傳輸協議如下:
        (1)串行傳輸格式:
        起始位→題頭→命令字→信息→題尾→CRC8→停止位;
        (2)傳輸速率:40MHz;
        (3)起始位:0(1.5bit)
        (4)題頭:10100101;
        (5)命令字:B7 B6 B5 B4 B3 B2 B1 B0:B0為讀寫控制位(0讀,1寫);B1為數據LSB和MSB傳輸標志位(0為LSB先出,1為MSB先出);B5B4 B3B2為訪問地址(0000自檢狀態寄存器,0001控制狀態寄存器,1110錯誤重發請求標志寄存器,1111裝置ID軟件版本寄存器,其它根據實際需求任意擴展定義);B7B6為傳輸數據長度(00為0個8bit數據長度,01為1個8bit數據長度,10為2個8bit數據長度,11為3個8 bit數據長度)等。
        (6)信息:長度為8bit的整數倍;
        (7)題尾:01011010;
        (8)CRC校驗多項式:CRC8=X8+X7+X6+X4+X2+1;
        (9)停止位:1(1bit);
        (10)無數據時為高電平。讀操作時后面的數據長度為0;不夠8bit的,空位默認為“0”。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南乐县| 桐城市| 绵阳市| 五寨县| 乌兰察布市| 金塔县| 文成县| 汕尾市| 长武县| 玛沁县| 长阳| 额济纳旗| 西平县| 永顺县| 甘德县| 新宾| 宣武区| 怀柔区| 黑龙江省| 滁州市| 镶黄旗| 安平县| 冕宁县| 额济纳旗| 三都| 甘孜县| 郸城县| 商城县| 武乡县| 万州区| 太仓市| 大英县| 磐石市| 从化市| 安国市| 奉贤区| 巩义市| 永昌县| 武威市| 安乡县| 西贡区|