新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 通用可靠的串口/以太網網關設計

        通用可靠的串口/以太網網關設計

        作者: 時間:2012-07-18 來源:網絡 收藏

        1.2 數據傳送
        數據傳送的幀格式如下:

        本文引用地址:http://www.104case.com/article/148750.htm

        c.JPG


        其中各個字段的意義如下:
        ◆SFD:幀首定界符;
        ◆EFD:幀尾定界符,SFD和EFD為確定的特定值;
        ◆Seq:幀序號;
        ◆Type:幀類型,其值見表1;
        ◆LEN:Data字段的字節數;
        ◆Data:實際要傳送的數據;
        ◆FCS:幀校驗,是一個簡單校驗,為Seq.至Data字段中所有字節按位異或運算的結果。

        d.JPG


        1.2.1 發送
        串口發送隊列示意圖如圖3所示。使用FIFO(先入先出)隊列緩沖發送幀,包括待發送隊列和待確認隊列兩個隊列,每個隊列為一個雙向循環鏈表,節點從尾部插入,頭部讀出。

        e.JPG


        當有數據需要從串口發送時,首先將要發送的數據按幀格式加上一些附加的字段組成一個完整的幀,然后插入待發送隊列尾。插入待發送隊列的幀并不一定會被立即發送,但只要待發送隊列中緩沖有需要發送的幀,串口就會從隊列頭逐個的讀取待發送幀以中斷的方式發送,直到待發送隊列為空。
        每一幀發送完畢后,如果是確認幀,便會被立即從待發送隊列中刪除并釋放掉內存,該幀的發送過程結束;如果是非確認幀,即數據幀或命令幀,那么該幀不會被立即釋放,而是從待發送隊列刪除而插入待確認隊列尾,等待串口另一端的設備發送對應的確認幀。
        若在超時時間內收到對應的確認幀,則將該幀從待確認隊列刪除釋放,該幀的發送過程結束;若等待超時,則將該幀從待確認刪除并重新插入待發送隊列尾,以重發此幀。當然有重發次數限制,若達到了最大重發次數仍然未收到對應的確認幀,則丟棄該幀,該幀的發送過程結束。

        tcp/ip相關文章:tcp/ip是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绍兴市| 叶城县| 榆中县| 厦门市| 旌德县| 徐水县| 白银市| 吴川市| 城步| 揭东县| 湖口县| 沅陵县| 嘉义市| 台南县| 池州市| 绩溪县| 莲花县| 鹤岗市| 峡江县| 通州市| 台前县| 永定县| 慈溪市| 客服| 安泽县| 伽师县| 南昌市| 广灵县| 安陆市| 永吉县| 东兰县| 长乐市| 双柏县| 云梦县| 康马县| 昌平区| 陵川县| 曲阜市| 邵阳市| 新化县| 聂拉木县|