新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的嵌入式網(wǎng)絡(luò)接口控制器設(shè)計(jì)

        基于ARM的嵌入式網(wǎng)絡(luò)接口控制器設(shè)計(jì)

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

          5 以太網(wǎng)數(shù)據(jù)與串口數(shù)據(jù)轉(zhuǎn)換實(shí)現(xiàn)

          本文開發(fā)的接口控制器主要完成兩個功能,即將串口接收到的數(shù)據(jù)通過網(wǎng)卡發(fā)送至以太網(wǎng),將網(wǎng)卡接收到的數(shù)據(jù)通過串口發(fā)送至另一串口端。工作模式上可以選擇為服務(wù)器或客戶端模式,數(shù)據(jù)傳輸協(xié)議可以選擇為TCP(Transmission Control Protocol,傳輸控制協(xié)議)方式或UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)方式。其中TCP和UDP是以太網(wǎng)數(shù)據(jù)的兩種傳輸協(xié)議,TCP是基于連接的協(xié)議,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接,而UDP是面向非連接的數(shù)據(jù)直接傳輸協(xié)議,不需要對方的回答確認(rèn)。

          5.1 應(yīng)用程序的開發(fā)環(huán)境和網(wǎng)絡(luò)編程

          由于嵌人式系統(tǒng)程序的開發(fā)和執(zhí)行是在PC和ARM 兩個不同的平臺上進(jìn)行的,因此需要進(jìn)行交叉編譯和連接。用串口和以太網(wǎng)將宿主機(jī)和目標(biāo)板連接起來,程序開發(fā)在RedHat9.0 Linux操作系統(tǒng)下編輯,調(diào)試通過后,加入自己開發(fā)的程序重新編譯armlinux內(nèi)核,并將編譯好的二進(jìn)制文件固化到開發(fā)板的ROM中,使其開機(jī)后自動運(yùn)行。

          TCP/IP處理模塊采用SOCKET套接字編程實(shí)現(xiàn)。SOCKET最早是在UNIX系統(tǒng)上為TCP/IP網(wǎng)絡(luò)通信而開發(fā)的一個接口程序,后來被成功移植到DOS、Windows等操作系統(tǒng)上,成為Internet上網(wǎng)絡(luò)開發(fā)最為通用的API函數(shù)。用于網(wǎng)絡(luò)開發(fā)的SOCKET主要有Stream Sockets(流格式)和Datagram Sockets(數(shù)據(jù)報格式)兩種類型,流格式Socket與TCP協(xié)議對應(yīng),數(shù)據(jù)報格式Socket與UDP協(xié)議對應(yīng)。

          5.2 軟件設(shè)計(jì)

          本系統(tǒng)采用工作模式TCP Server服務(wù)器,等待客戶端請求連接,實(shí)現(xiàn)數(shù)據(jù)傳輸功能。本程序的流程圖如圖3所示。首先,打開串口,在Linux下打開串口是通過標(biāo)準(zhǔn)的文件打開函數(shù)

          圖3 功能實(shí)現(xiàn)流程圖

          圖4 以太網(wǎng)數(shù)據(jù)通過串口發(fā)送

          圖5 串口數(shù)據(jù)通過網(wǎng)卡發(fā)送



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 象州县| 石景山区| 铜川市| 儋州市| 万源市| 大丰市| 长武县| 潞西市| 农安县| 衢州市| 上思县| 宁陵县| 黄龙县| 海林市| 无为县| 唐海县| 台江县| 梅河口市| 航空| 苗栗市| 云浮市| 仙居县| 托克逊县| 攀枝花市| 华容县| 兴化市| 于田县| 安乡县| 武山县| 会东县| 喀喇| 赣州市| 东莞市| 迭部县| 左云县| 柳林县| 安吉县| 射洪县| 焦作市| 保康县| 汶上县|