新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式MICREL網(wǎng)卡驅(qū)動設(shè)計(jì)

        嵌入式MICREL網(wǎng)卡驅(qū)動設(shè)計(jì)

        作者: 時間:2011-08-11 來源:網(wǎng)絡(luò) 收藏


        在網(wǎng)卡發(fā)送模式正確初始化后,即可進(jìn)行數(shù)據(jù)發(fā)送操作。首先用戶層發(fā)出發(fā)送數(shù)據(jù)的請求,然后該請求通過HEROS系統(tǒng)協(xié)議棧發(fā)給層,最后發(fā)出數(shù)據(jù)。發(fā)送前要注意:
        (1)此時該網(wǎng)卡沒有在接收數(shù)據(jù)包,否則會引起時序混亂,導(dǎo)致網(wǎng)卡最后失效,所以在發(fā)送的時候要去判斷信號量micrel_int_1_flag是否為0,如果為0,則可以發(fā)送,為1則表明此時正在接收數(shù)據(jù)包,不可以發(fā)送。
        (2)發(fā)送長度要以四個字節(jié)對齊。GET_4BYTES_AUGNMENT(uOrgPktLen,len);
        實(shí)際發(fā)送長度為len。
        2.4 接收處理函數(shù)
        Micrel網(wǎng)卡接收寄存器的初始化框圖如圖3所示。在網(wǎng)卡接收模式正確初始化后,即可進(jìn)行數(shù)據(jù)接收操作。首先用戶層發(fā)出接收數(shù)據(jù)的請求,然后該請求通過HEROS系統(tǒng)協(xié)議棧發(fā)給層,最后接收數(shù)據(jù)。接收時需注意:

        d.jpg


        (1)首先要從幀頭中獲取幀長度byte_count,最大為1518,并且必須把byte_count按4個字節(jié)對齊;
        (2)其次要將Micrel芯片的接收中斷關(guān)閉,接收完畢后,再打開接收中斷。
        (3)注意幀開始的2個字節(jié)和最后4個字節(jié)不要讀到接收緩沖區(qū)。

        3 結(jié)束語
        本文介紹了以HEROS為核心、KS8851作為網(wǎng)絡(luò)接口芯片的終端接口,通過TCP/IP協(xié)議棧與本文討論的,用ping ip地址命令可以得到ICMP reply響應(yīng)。芯片具有性價比高、連接方便等特點(diǎn),是進(jìn)行以太網(wǎng)終端時的主要控制芯片之一。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        tcp/ip相關(guān)文章:tcp/ip是什么



        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 繁昌县| 慈利县| 安乡县| 景德镇市| 安吉县| 台北县| 石景山区| 闸北区| 泰州市| 肇源县| 稷山县| 马边| 吴川市| 潢川县| 抚远县| 越西县| 呼玛县| 刚察县| 建始县| 温州市| 西贡区| 大余县| 北海市| 临漳县| 许昌市| 贺兰县| 商都县| 津市市| 邛崃市| 富宁县| 余庆县| 岫岩| 甘谷县| 扶风县| 新巴尔虎右旗| 富平县| 扶绥县| 滨海县| 厦门市| 乌拉特前旗| 万载县|