中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 1553B總線遠(yuǎn)程端點(diǎn)數(shù)據(jù)鏈路層協(xié)議的FPGA實(shí)現(xiàn)

        1553B總線遠(yuǎn)程端點(diǎn)數(shù)據(jù)鏈路層協(xié)議的FPGA實(shí)現(xiàn)

        作者: 時間:2009-05-07 來源:網(wǎng)絡(luò) 收藏

        (7)自測結(jié)果寄存器(STRR):STRR用于存放上次自測的結(jié)果。為了方便地址分配,設(shè)計中把發(fā)送和接收FIFO都作為一個16位寄存器來對待。

        本文引用地址:http://www.antipu.com.cn/article/192062.htm


        2 端點(diǎn)數(shù)據(jù)鏈路層協(xié)議的實(shí)現(xiàn)的總體設(shè)計
        端點(diǎn)數(shù)據(jù)鏈路層協(xié)議的實(shí)現(xiàn)一共分為4個模塊:序列解析模塊、命令解析模塊、發(fā)送模塊和上層交互模塊。整個協(xié)議實(shí)現(xiàn)采用時序驅(qū)動的方式進(jìn)行,時鐘頻率為8 MHz,下面就按照數(shù)據(jù)進(jìn)入的順序介紹整個協(xié)議的實(shí)現(xiàn)過程。
        2.1 序列解析模塊
        這個模塊接收從收發(fā)器接收的信號序列,先后進(jìn)行同步頭檢測,曼碼解碼,奇偶校驗(yàn),ID檢測等步驟,最后給命令解析模塊一個只包含命令信息的16位數(shù)據(jù),以及其字特性。其實(shí)現(xiàn)流程如圖1所示。

        序列解析模塊首先對進(jìn)入的序列進(jìn)行同步頭檢測,如果有效,則進(jìn)行曼徹斯特碼解碼。曼徹斯特碼解碼是在同步頭檢測有效時同步開始的,它在同步頭檢測有效后每隔1 000μs對序列采樣一次,并把采樣值作為解碼值,同時判斷在采樣時序列是否發(fā)生了跳變,如果發(fā)生,則說明序列滿足曼徹斯特碼編碼,否則認(rèn)定序列存在編碼錯誤,停止解碼并置位錯誤寄存器,而第一次采樣是在同步頭檢測有效后250ns。解碼完成后進(jìn)行奇偶校驗(yàn),接收模塊對有效序列進(jìn)行奇偶校驗(yàn),如果奇偶校驗(yàn)錯誤,則丟棄這個序列,同時置位消息差錯位;如果奇偶校驗(yàn)正確,則進(jìn)入ID檢測部分。奇偶校驗(yàn)在VerilogHDL中通過位異或就可以實(shí)現(xiàn)。
        當(dāng)奇偶校驗(yàn)正確以后,接收模塊就根據(jù)從同步頭檢測得到的字類型進(jìn)行不同操作。對于數(shù)據(jù)字,接收模塊收到序列后就檢測等待數(shù)據(jù)字寄存器的值,如果不為零,則把這個數(shù)據(jù)放入到接收緩沖器中,如果等待數(shù)據(jù)字寄存器的值為1,則首先把寄存器清零,然后把中斷請求信號置位,最后把狀態(tài)寄存器的值放入發(fā)送緩沖器中,并通知發(fā)送模塊發(fā)送以及復(fù)位等待數(shù)據(jù)字寄存器,否則把等一待數(shù)據(jù)字寄存器的值減1,等待下一個字的到來。如果等待數(shù)據(jù)字寄存器值為零,則認(rèn)為傳輸錯誤,丟棄這個數(shù)據(jù)字。對于命令字,接收模塊進(jìn)行ID驗(yàn)證,檢查所收到的命令是否是控制器發(fā)給本節(jié)點(diǎn)的。它提取所收到的16位有效信息序列中的高5位,與本節(jié)點(diǎn)的ID比較,如果不相同,則丟棄這個序列,等待下一個序列的到來;如果相同,則表示這個序列是控制器發(fā)給本節(jié)點(diǎn)的命令,保存命令,啟動命令解析模塊。
        2.2 命令解析模塊
        命令解析模塊完成對收到的命令字進(jìn)行解析,對收到的數(shù)據(jù)進(jìn)行存儲的工作。命令解析模塊是整個協(xié)議的核心,它負(fù)責(zé)把總線控制器傳給本節(jié)點(diǎn)的命令翻譯成本節(jié)點(diǎn)的操作,并執(zhí)行相關(guān)動作。其工作流程如圖2所示。

        假設(shè)命令字存放在寄存器CMD―REG[15:0]中,則命令解析模塊首先檢測CMD REG[9:5],如果CMD REG[9:5]不為全1或者全0,就表示總線控制器給節(jié)點(diǎn)的是數(shù)據(jù)傳輸命令;命令解析模塊則繼續(xù)檢測CMD REG[10]位,如果為1,則表示總線控制器要求本節(jié)點(diǎn)發(fā)送數(shù)據(jù),同時用CMD REG[4:0]指定了需要發(fā)送的數(shù)據(jù)長度;命令解析模塊在收到這個命令后就把相關(guān)的數(shù)據(jù)和狀態(tài)寄存器的值裝入發(fā)送緩沖器中,并通知發(fā)送模塊進(jìn)行發(fā)送。如果CMD REG[10]位為O,則表示總線控制器要求本節(jié)點(diǎn)接收數(shù)據(jù),同時也用CMD REG[4:0]指定了接收數(shù)據(jù)的長度,而用CMD REG[9:5]指定了數(shù)據(jù)接收子節(jié)點(diǎn)的ID,命令解析模塊在收到這個命令以后就把CMD REG[4:O]裝入等待數(shù)據(jù)字寄存器中,等待后繼數(shù)據(jù)字的到來。如果CMD REG[9:5]為全1或者全O,則表示總線控制器傳輸?shù)目刂泼钭郑⑼ㄟ^CMD REG[4:0]指定了相應(yīng)的命令方式代碼。對于命令方式代碼,命令解析模塊根據(jù)總線標(biāo)準(zhǔn)對不同方式代碼進(jìn)行相關(guān)的寄存器置位操作。
        2.3 發(fā)送模塊



        關(guān)鍵詞: 1553B FPGA 總線 遠(yuǎn)程

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉