1.  首頁 » 技術支持 » [DSP開發板] 正文

      網絡控制器DM9000A在嵌入式系統中的應用

      來源:零零電子  作者:零零電子  時間:2008-08-19 14:22:25  閱讀:770
      目前,網絡技術在電子產品中的應用越來越廣,更多的嵌入式設備需要提供網絡接口,以方便與外部互聯通訊,F在流行的大多數嵌入式CPU(如ARM、PPC)都提供了此類接口,但對于一些相對復雜的嵌入式系統來說,可能需要擴展以太網口,以滿足網絡通訊需要。本文介紹一種新款網絡接口芯片DM9000A,它可以很方便的實現與嵌入式CPU的接口,實現擴展以太網口的功能。

      DM9000A

        DM9000A是中國臺灣DAVICOM公司推出的一款高速以太網接口芯片,其基本特征是:集成10/100M物理層接口;內部帶有16K字節SRAM用作接收發送的FIFO緩存;支持8/16bit兩種主機工作模式;通過HP認證的AUTO-Mdix(支持直接互連自動翻轉)功能;支持TCP/IP加速(IPV4 check sum offload)減輕CPU負擔,提高整機效能;10ns I/O讀寫時間。DM9000A以太網控制器遵循IEEE頒布的802.3以太網傳輸協議。該電路還集成了EEPROM接口,自舉時通過EEPROM接口輸入到芯片中,從而實現自動初始化。

      硬件接口設計

        DM9000A可以很方便的與目前主流的嵌入式CPU以8位或16位的總線方式連接,本文設計的系統CPU為AT91RM9200,它是一個采用ARM核的32位微處理器。

        系統上電時,AT91RM9200通過總線配置DM9000A內部網絡控制寄存器(NCR)、中斷寄存器(ISR)等,完成DM9000A的初始化。隨后,DM9000A進入數據收發等待狀態。當AT91RM9200向以太網發送數據時,先將數據打包成UDP或IP數據包,并通過16 bit總線發送到DM9000A的數據發送緩存中,然后將數據長度等信息填充到DM9000A的相應寄存器內,使能發送。當DM9000A接收到外部網絡送來的以太網數據時,首先檢測數據幀的合法性,如果幀頭標志有誤或存在CRC校驗錯誤,則將該幀數據丟棄。否則將數據幀緩存到內部RAM,并通過中斷標志位通知AT91RM9200,由AT91RM9200對DM9000A接收到的數據進行處理。

      Linux驅動實現

        Linux網絡驅動體系結構
        在Linux操作系統中的設備驅動,根據各類外圍I/O設備的不同,分為三類,即字符設備(如鍵盤、LCD) 驅動、塊設備(如硬盤、CF卡) 驅動和網絡設備(如網卡) 驅動。 Linux網絡設備驅動程序結構上由四部分組成:網絡協議接口,網絡設備接口,設備驅動功能層及網絡設備介質。

      設計開發Linux網絡驅動程序時,最主要的工作就是完成設備驅動功能層。類似于對字符設備和塊設備的處理,為了屏蔽網絡環境中物理網絡設備的多樣性,Linux利用面向對象的思想對所有的網絡物理設備進行抽象,定義了一個統一的接口。對于所有網絡硬件的訪問都是通過接口進行的,接口向用戶提供了一個對于所有類型的網絡硬件一致化的操作集合。Linux內核提供的統一網絡設備結構為net_device,此結構體位于網絡驅動層的核心地位。

        net_device 中有很多供系訪問和協議層調用的設備方法,其中包括: 
        · dev->open:打開設備。open方法應當注冊網絡設備需要的任何系統資源( I/O 口,IRQ, DMA等),打開硬件,進行設備要求的其他設置。
        · dev—>stop:停止設備。 該函數應當恢復在打開時進行的操作。
        · dev->hard_start_xmit:發送報文。
        · dev->tx_timeout:發送超時調用的方法,它應當處理這個問題并恢復報文發送。
        · dev->set_mac_address:修改網絡的硬件MAC地址。

        網絡驅動就是要實現這些具體的設備方法。

        設備初始化
        網絡的初始化是設備工作的第一步。當系統加載網絡驅動模塊的時候,就會調用初始化過程。首先利用函數request_mem_region映射DM9000A的數據、地址端口,通過dmfe_probe函數檢測網絡物理設備是否存在,檢測DM9000A內部串行NIC的值是否正確,然后再對設備進行資源配置,構造設備的net_device數據結構。包括一些低層硬件信息:base_addr(網絡接口的 I/O 基地址),irq(安排的中斷號)等。

        打開設備和關閉設備
        open方法在網絡設備被激活的時被調用,具體DM9000A的硬件初始化工作放到這里來做。對于DM9000A需要完成的初始化包括:對DM9000A內部上電,軟件復位,通過NCR寄存器設置網絡工作模式,可以選擇設置內部或者外部PHY、全雙工或者半雙工模式、使能喚醒事件等網絡操作,對RX/TX中斷使能,使能數據接收功能。調用request_irq()申請中斷號登記中斷處理函數,調用netif_carrier_on偵測連接狀態。

        啟動定時器,調用netif_start_queue激活設備發送隊列。
        這里對DM9000A的中斷設計做了一個特殊處理:通常AT91RM9200提供最多32個中斷源,默認提供7個外部中斷源,但對于較復雜的嵌入式系統,可能會面臨中斷源不夠用的情況。由于AT91RM9200的PIO可以實現功能復用,因此可以把多余的IO引腳配置為可用的中斷源。故本系統中,設計DM9000A中斷源與AT91RM9200外部I/O口PD8引腳相連。一個PIO端口的32個引腳共享一個中斷ID,只需要在中斷狀態寄存器中區分具體哪個引腳引起中斷,然后轉向特定的中斷處理函數執行操作,就可以實現中斷處理。

        close所做的工作和open相反,主要釋放open獲得的資源,以減少系統負擔。

        數據包發送
        數據包的發送和接收是實現Linux網絡驅動程序中兩個最關鍵的過程,對這兩個過程處理的好壞將直接影響到驅動程序的整體運行質量。

        數據傳輸通過hard_start_xmit函數實現,首先把存放在套接字緩沖區中的數據發送到網絡芯片DM9000A內部的TX FIFO SRAM中,該緩沖區是由數據結構sk_buff表示,把要傳送的數據長度寫入DM9000A中的傳輸包長度寄存器TXPLL和TXPLH中。然后使能傳輸。如果數據發送成功,則會觸發一次中斷。

        實際中會出現多個數據幀傳輸,需要考慮做并發處理。在發送時檢測傳輸隊例暫時滿載時就要通過netif_stop_queue來暫停,當發送完成觸發中斷處理時,調用netif_wake_queue函數來重新啟動傳輸隊例。

        網絡傳輸由于系統忙或硬件的問題發生延遲,則會調用傳送超時處理函數tx_timeout,對硬件復位操作。
          數據包接收
        數據包的接收是通過中斷處理,當有數據到達時,就產生中斷信號,網絡設備驅動功能層就調用數據包接收程序來處理數據包的接收,然后網絡協議接口層調用netif_rx函數把接收到的數據包傳輸到網絡協議的上層進行處理。

        DM9000A接收緩存區中的每幀數據由4字節長的首部、有效數據和CRC校驗序列構成。首部4字節依次是01H、以太網幀狀態、以太網幀長度低字節和長度高字節,數據包接收程序首先檢測如果第一個字節是01H,則說明有數據;如果是00H,則說明無數據,需要進行復位。然后調用函數dev_alloc_skb申請一塊sk_buff結構緩沖區,從DM9000A讀出數據放置到緩沖區里,根據獲取的長度信息,判斷是否讀完一幀。如果讀完,接著讀下一幀,直到遇到首字節是00H的幀,說明接收數據已讀完。接下來填充sk_buff中的一些信息,使之成為規范的sk_buff結構,最后調用netif_rx()函數將接收到的數據傳輸到網絡協議的上層。

      結語

        該設計成功用于某網絡測試設備的主控模塊上,可以通過以太網接入Internet,從而實現從Internet上監控嵌入式設備。

      參考文獻:

      1. Davicom Corporation,DM9000A Application Notes V1.20, 2005
        2. Lessandro Rubini,Jonathan Corbet. Linux Device Drivers, second  edition,O’Reilly & Associates,2002
      3. 李方軍、金煒東,嵌入式Linux網絡驅動程序的研究與實現,現代電子技術,2005,16

      4. Atmel Corporation, AT91RM9200 Datasheet, version E, 2005

            
        相關信息
       · 網絡控制器DM9000A在嵌入式系統中的應用  2008-08-19 14:22:25
      更多   
          客戶服務電話:0551-63525828
          技術交流電話:0551-66109061
          客戶服務 QQ:289135388
          MSN:board_00ic@hotmail.com
          傳真服務號碼:0551-63525828
          地址:合肥市政務區潛山路綠地藍海國際大廈A樓1609-1610室
      關于我們 | 服務條款 | 銷售咨詢 | 售后服務 | 聯系我們 版權所有(C)合肥零零電子科技有限公司 2005-2021 備案管理系統皖ICP備17022914號-1
      精品国产美女福到在线,又硬又水多又坚少妇18P,九九视频在线观看视频6,爱如潮水视频影院 不卡一区二区高清观看视频 午夜在线不卡精品国产 国产精品不卡AV在线观看
      蜜芽TV最新跳转接口 欧美 国产 日产 韩国 国产AV精品欧美亚洲韩国日本 同性男男黄网站在线观看 国产 在线 精品 美女 露脸 99久久99这里只有免费费精品 国产亚洲日韩网曝欧美精品 欧美一区 午夜一区二区亚洲福利 国产精品一区第二页 国产自国产在线观看免费观看 国产熟女精品人妻在线22页 久久国语露脸国产精品电影 精品国产美女福到在线 99国产这里只有精品视频 不卡一区二区高清观看视频 久久人人爽人人爽人人片AV 国产女合集小岁9三部 亚洲欧美V国产一区二区 亚洲国产在线精品国自产拍五月 久热这里只有精品99国产6 国产AV精品一区二区三区 日韩一区二区三不卡高清 亚洲精品 久99久热只有精品国产女同 国产精品自在线亚洲页码 亚洲久久超碰无码色中文字幕 国产精品国产自线拍 亚洲男同gv片在线观看 国产一区 国语自产免费精品视频在 亚洲A∨国产AV综合AV 99精品国产自在现线免费 久久99国产综合精品 国产99视频精品免视看6 国产女合集小岁9三部 2019V在线V天堂A亚洲 久久99国产综合精品 色涩综合五月狠狠色婷婷 亚洲欧洲日产韩国精品 欧美精品亚洲精品日韩专区一乛方 国产自国产在线观看免费观看 欧美日韩免费观看在线影片 青柠视频在线观看高清完整版 亚洲国产韩国欧美在线不卡 欧美一区 亚洲伊人色综合www962 亚洲国产欧美日韩图片在线人成 久久国语露脸国产精品电影 热99RE久久国超精品首页 好男人在线观看视频观看高清视频 亚洲国产在线观看 99热国产这里只有精品6 国产精品一区第二页 亚洲精品国产第一区第二区 精品国产美女福到在线 亚洲高清国产拍精品 日日摸夜夜添夜夜添高潮出水 2020天堂在线亚洲精品专区 国产精品不卡AV在线观看 99在线精品国自产拍不卡 精品精品自在现拍国产 国产亚洲综合网曝门系列 亚洲国产欧美日韩图片在线人成 免费视频在线观看2020 国产成人亚洲综合色就色 99久久大香伊蕉在人线国产 免费观看囯产自偷自拍窥自拍 久久人人爽人人爽人人片AV 免费观看四虎精品国产 国产精成人品 日韩在线视频一区二区三 亚洲国产在线精品国自产拍五月 国产亚洲一本大道中文在线 99热这里只有精品 熟女一区二区中文在线 亚洲 欧洲 日产网站 国产熟女精品人妻在线22页 国产午夜精华无码网站 亚洲欧美在线制丝袜国产 337P日本欧洲亚洲大胆色噜噜 亚洲 欧洲 日产网站 6080YY电影在线看 精品国产美女福到在线 好男人在线观看视频观看高清视频 忘忧草视频资源在线观看 亚洲伊人色综合www962 国产熟女精品人妻在线22页 国产乱对白刺激视频 最新亚洲人成网站在线播放 青柠视频在线观看高清完整版 久久香蕉国产线看观看亚洲不卡 精品国产美女福到在线 熟女一区二区中文在线 国产 日产 欧美最新 日本一区 日韩在线视频一区二区三 亚洲男同志GAY网站 亚洲精品 亚洲欧洲日产韩国精品 亚洲A∨国产AV综合AV 国产精品无码无卡在线观看 狼友AV永久网站 国产成人亚洲综合色就色 欧美精品亚洲精品日韩专区一乛方 2012国语完整版免费观看 337P日本欧洲亚洲大胆色噜噜 久久99精品久久久久久 亚洲AV在日本AV在线 国产在线精选免费视频 国产在线精选免费视频 日韩精品一区二区三区中文 免费视频在线观看2020 人妻中文无码久热丝袜 亚洲字字幕在线中文乱码 国产精品自在线亚洲页码 亚洲国产日韩A在线欧美 久久国语露脸国产精品电影 亚洲欧洲日产国码亚洲欧美AV 日韩在线视频一区二区三 亚洲国产在线精品国自产拍愿五月 中文字字幕在线中文无码 亚洲A∨国产AV综合AV 亚洲精品欧美综合一区二区 国产精品自产拍在线观看 2020最新国产自产精品 爱如潮水视频影院 国产精品视频 国产欧美亚洲精品第一页 免费观看囯产自偷自拍窥自拍 亚洲VA综合VA国产产VA中文 亚洲一区在线日韩在线深爱 小小影视官网在线观看 国产精品自产拍在线观看 老司国产精品免费视频 337p日本欧洲亚洲大胆 日韩在线视频一区二区三 337P日本欧洲亚洲大胆色噜噜 亚洲精品国产第一区第二区 亚洲AV国产AV欧美AV 337P日本欧洲亚洲大胆精品 国产精品国产自线拍 亚洲高清国产拍精品 亚洲国产欧美日韩图片在线人成 欧美 亚洲 中文 国产 综合 1000部拍拍拍18勿入免费网站 99精品国产自在现线免费 2012国语完整版免费观看 国产精品夜间视频 亚洲欧美V国产一区二区 小小影视官网在线观看 国产亚洲日韩网曝欧美精品 亚洲A∨国产AV综合AV 日本不卡VS一区二区 亚洲国产在线精品国自产拍五月 欧美日韩亚洲国产一区二区 国产精品一区第二页 九九视频在线观看视频6 国产精品国产自线拍 日韩一区二区三不卡高清 国产精品v欧美精品v日本精品 久久99精品久久久久久 精品国精品国产自在久国产 亚洲欧洲日产国码亚洲欧美AV 亚洲 欧洲 日产网站 0ADC大驾光临未满十八岁 国语最新自产拍在线观看 国产亚洲精品理论电影 亚洲AV国产AV欧美AV 亚洲国产韩国欧美在线不卡 国产超级VA在线观看视频 国产精品v欧美精品v日本精品 2012国语完整版免费观看 不卡一区二区高清观看视频 亚洲国产欧美日韩图片在线人成 婬荡少妇21P 老司国产精品免费视频 亚洲加勒比久久88色综合 国产对白叫床清晰在线播放 最新亚洲人成网站在线播放 国产一区 免费视频在线观看2020 亚洲国产在线二区三区 精品国精品国产自在久国产 亚洲AV国产AV在线观看 国产精成人品 精品国精品国产自在久国产 亚洲精品国产第一区二区 中文欧美亚洲欧日韩范冰冰 国产精品无码无卡在线观看 国产午夜精华无码网站 免费观看囯产自偷自拍窥自拍 国产美女亚洲精品久久久 国产导航第一精品福利品牌 2020精品国产自在现线看 无敌影院视频在线播放 视频 久久人人爽人人爽人人片AV 日本不卡VS一区二区 午夜一区二区亚洲福利 久久人人爽人人爽人人片AV 日本不卡VS一区二区 日本一区 欧美人妻一区二区三区 欧美另类图区清纯亚洲综合 亚洲精品综合欧美一区二区三区 亚洲男同志GAY网站 亚洲人成网站18禁止 丰满毛多小少妇12P 九九视频在线观看视频6 国产精成人品 啦啦啦高清影视在线观看www 国产女合集小岁9三部 不卡一区二区高清观看视频 国产高清在线精品一区小说 国产一区 又硬又水多又坚少妇18P 1000部拍拍拍18勿入免费网站 国产精品视频 久久香蕉国产线看观看亚洲不卡 忘忧草视频资源在线观看 在线ΑV片男人的天堂 99精品视频九九精品视频 久久99精品久久久久久 日韩精品一区二区三区中文 亚洲加勒比久久88色综合 亚洲一区 2020自拍偷区亚洲综合第一页 图片区 小说区 区 亚洲套 日韩在线视频一区二区三 亚洲国产在线二区三区 好男人在线观看视频观看高清视频 99热这里只有精品 久久99精品久久久久久 免费观看四虎精品国产 YELLOW直播免费观看 久久香蕉国产线看观看亚洲不卡 亚洲处破女18分钟 久久香蕉国产线看观看亚洲不卡 久久九九热RE6这里有精品 亚洲一区 人妻自慰20P| 国产精成人品 337P日本欧洲亚洲大胆色噜噜 小苹果WWW在线观看 亚洲中文字幕 YELLOW直播免费观看 国产99视频精品免视看6 6080YY电影在线看 午夜一区二区亚洲福利 小小影视官网在线观看 免费国产高清在线精品一区 大胆人GOGO体艺术高清 正在播放刚结婚的少妇 日韩高清亚洲日韩精品一区 老司机精品视频 国产导航第一精品福利品牌 亚洲欧美V国产一区二区 亚洲AV国产AV欧美AV 国产亚洲精品久久久久久久无码 亚洲国产欧美在线人成最新 精品特色国产自在自线拍 亚洲精品久久久久中文字幕 亚洲 欧洲 日产网站 1000部拍拍拍18勿入免费网站 国产精品夜间视频 老司国产精品免费视频 亚洲AV国产AV在线观看 亚洲AV国产AV欧美AV 性AV无码天堂 亚洲 欧美 中文 日韩AⅤ一区 国产亚洲一本大道中文在线 国产网红主播精品视频 小辣椒福利视频导航 国产精品无码无卡在线观看 精品国产美女福到在线 久久国语露脸国产精品电影 亚洲国产在线精品国自产拍愿五月 九九视频在线观看视频6 又硬又水多又坚少妇18P 亚洲 欧美 中文 日韩AⅤ一区 图片区 小说区 区 亚洲套 亚洲精品国产第一区第二区 思思久99久女女精品视频 亚洲 欧美 中文 日韩AⅤ无码 国产精品视频 好男人在线观看视频观看高清视频 抖音故意走漏视频7028集 国产亚洲精品理论电影 精品精品自在现拍国产 国产AV福利久久精品CAN 青青热久免费精品视频在 午夜一区二区亚洲福利 丁香五月久久婷婷综合啪 美女私密写真集 亚洲 欧洲 日产网站 337P日本欧洲亚洲大胆色噜噜 亚洲 欧美 中文 日韩AⅤ一区 亚洲字字幕在线中文乱码 日韩精品一区二区三区中文 狼友AV永久网站 忘忧草在线观看视频 2020自拍偷区亚洲综合第一页 国产亚洲欧洲日韩在线三区 老司机福利导航 欧美日韩亚洲中字二区 国产熟妇乱子伦视频在线观看 欧美日韩亚洲中字二区 亚洲国产日韩在线人成蜜芽 忘忧草视频资源在线观看 AV免费一区二区三区在线 国产精品久久自在自线 2020最新国产自产精品 忘忧草视频资源在线观看 欧美亚洲人成网站在线观看 国产精品无码无卡在线观看 国产AV福利久久精品CAN 亚洲欧洲日产国码无码AV网站 欧美日韩免费观看在线影片 4399在线视频免费播放 久天啪天天久久99久久 2019V在线V天堂A亚洲 熟女一区二区中文在线 午夜一区二区亚洲福利 国产在热线精品视频99 午夜在线不卡精品国产 久久香蕉国产线看观看亚洲不卡 国产一区 国产美女亚洲精品久久久 人妻自慰20P| 国语最新自产拍在线观看 国语精品自产拍在线观看 美女私密写真集 在线|国产精品女主播主要 337P日本欧洲亚洲大胆色噜噜 国产女合集小岁9三部 国语自产免费精品视频在 99精品视频九九精品视频 亚洲中文无码亚洲人成 亚洲VA综合VA国产产VA中文 2020天堂在线亚洲精品专区 欧美另类图区清纯亚洲综合 久久九九热RE6这里有精品 国产亚洲精品理论电影 老司国产精品免费视频 国产对白叫床清晰在线播放 亚洲男同gv片在线观看 欧美日韩亚洲国产一区二区 欧美亚洲日韩欧洲不卡 亚洲一区在线日韩在线深爱 天堂V无码亚洲_高无码 国产亚洲日韩网曝欧美精品 老司机福利导航 国产对白叫床清晰在线播放 学生精品国自产拍中文字幕 爱如潮水视频影院 ASIAN18GAY男同志69 337p日本欧洲亚洲大胆69影院 国语自产免费精品视频在 国产成人亚洲综合色就色 午夜在线不卡精品国产 在线A亚洲老鸭窝天堂 国产网红主播精品视频 抖音故意走漏视频7028集 国产AV福利久久精品CAN 国产亚洲一本大道中文在线 欧美肉体狂欢性派对 午夜在线不卡精品国产 2019V在线V天堂A亚洲 国产精品偷伦视频免费观看 国产精品视频 精品国精品国产自在久国产 国产高清在线精品一区小说 久99久热只有精品国产女同 免费国产高清在线精品一区 亚洲综合激情另类专区 亚洲女毛多水多21p 欧美 国产 日产 韩国 正在播放刚结婚的少妇 国产在线精选免费视频 老司机福利导航 国产亚洲精品理论电影 国产精品无码无卡在线观看 人妻自慰20P| 国产免费永久黄版抖音 亚洲欧洲日产韩国精品 小辣椒福利视频导航 国产学生情侣禁果在线 玩丰满女领导对白露脸视频 青柠视频在线观看高清完整版 国产AV精品欧美亚洲韩国日本 色涩综合五月狠狠色婷婷 久久香蕉国产线看观看亚洲不卡 国产在线精品亚洲第1页 性AV无码天堂 欧美 国产 日产 韩国 色涩综合五月狠狠色婷婷 欧美中文亚洲V在线 亚洲伊人色综合www962 人妻中文无码久热丝袜 国语自产精品视频在线看
      <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>