国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

千兆網絡接口在S3C2440A系統中的應用

發布時間:2010-7-27 12:48    發布者:lavida
關鍵詞: S3C2440A , 千兆 , 網絡接口
嵌入式系統廣泛應用在工業測控、智能儀表、智能家庭等很多領域。隨著嵌入式系統應用范圍的不斷擴展及網絡應用的日益普及,使得越來越多的嵌入式系統需要網絡功能。三星公司S3C2440A是國內應用較多的嵌入式微處理器之一,在S3C2440A應用系統中,目前只支持10/100M的網絡接口,有很大的實用價值,既可以拓展S3C2440A的應用領域,也可以給其它嵌入式系統高速接入網絡提供一種簡單易行的參考。  

設計方案  

本系統主要由S3C2440A、存儲器、AX88180、千兆PHY芯片88E1111、嵌入式Linux、網絡驅動程序等組成嵌入式Linux內核負責系統任務的管理并集成TCP/IP協議,方便實現網絡功能控制。S3C2440A負責整個系統的控制,它與AX88180以總線方式連接,是通信控制的主體。S3C2440A通過網絡驅動程序實現對AX88180內部寄存器編程,實現對以太網數據的發送和接收,從而完成網絡與系統之間的數據傳輸。AX88180與88E1111之間采用RGMII接口方式互連,負責數據傳送底層協議的實現。  

這里簡要介紹一下S3C2440A與AX88180器件,這兩個器件是通信控制的主體。  

S3C2440A是基于ARM920T核的16/32位RISC微處理器,運行頻率高達500MHz,主要面向手持設備以及高性價比、低功耗的應用,適用于開發各類高端手持、小型終端以及網絡應用產品,具有非常豐富的片上資源,比如LCD、SDRAM、NAND FLASH、DMA、AD、PWM控制器,以及UART、USB、攝像頭、觸摸屏、IIC、IIS、SPI、SD、MMC、AC97等接口。  

AX88180是臺灣亞信公司推出的一款Non-PCI千兆以太網控制芯片,內置1000Mbps以太網媒體存取控制器(MAC);有40KBytes SRAM網絡封包緩存器;硬件支持IP/TCP/UDP checksum offloads。它可以十分方便地實現與一般16/32位微處理器連接,可以象SRAM一樣被訪問。它符合IEEE 802.3/lEEE 802.3u/IEEE 802.3ab協議,適用于串流媒體、多媒體網絡、高頻寬傳輸等領域,如數字媒體、家用網關及IP電視等。

硬件設計  

由于硬件電路比較復雜,這里只給出核心電路連接,S3C2440A與AX88180之間采用總線方式相連,地址總線A2-A15、數據總線D0-D31、讀寫信號等可以直接連接,AX88180的40M~100M時鐘信號由S3C2440A提供,AX88180中斷信號與S3C2440A EINT11相連,整個接口電路無需外加電路;AX88180與PHY芯片之間采用簡化的千兆比特媒體獨立接口RGMII接口,信號一一對應直接相連即可。

軟件設計  

從整體角度考慮,Linux網絡系統可以分為硬件層、設備驅動層、網絡協議層和應用層。在S3C2440A系統上移植有嵌入式Linux、集成TCP/IP等協議棧,應用層的程序可以自己編寫也可以移植,這里我們主要分析一下設備驅動程序的實現。  

在嵌入式Linux中,整個網絡驅動程序的框架可分為四層,分別為協議接口層、網絡設備接口層、設備驅動功能層、網絡設備和網絡媒介層,這個框架在內核網絡模塊中已經搭建完成,在設計驅動程序的時候,要做的主要工作就是根據上層網絡設備接口層定義的device結構和底層具體的硬件特性,來完成設備驅動的功能。驅動程序主要由初始化、打開、關閉、數據接收及發送等函數組成。  

初始化函數  

初始化函數完成網絡設備的初始化,由數據結構device中的init函數指針來調用,加載AX88180驅動模塊后,就會調用初始化過程。該首先通過檢測物理設備的硬件特征來檢測網絡物理設備是否存在,之后配置設備所需要的資源,比如中斷等。這些過程完成后,就要構造設備設備數據結構,用檢測到的數據初始化其相關變量,最后向Linux內核注冊設備并申請內存空間。  

打開函數  

打開函數在網絡設備驅動程序中是在網絡設備狀態由down狀態轉為up狀態時,即被激活的時候被調用,有很多AX88180及88E1111的初始化工作可以放在這里做。在驅動程序作為一個模塊被裝入時,打開函數還要防止模塊卸載時設備處于打開狀態。  

關閉函數  

關閉函數和打開函數做相反的工作,是在設備狀態由up轉為down時被調用的,作用是釋放資源以減少系統負擔。在驅動程序作為模塊裝入時,關閉函數還要減少沒備被引用的次數,以便卸載驅動程序。

發送函數  

發送函數是網絡驅動程序的關鍵過程之一,它與dev->hard_start_xmit連接,在內核通過設備向外發送數據時調用它。系統給AX88180分配一塊64K的地址空間,其中8000H-FBFFH作為發送緩沖區地址,在系統調用驅動程序的xmit時,發送的數據放在一個sk_buff結構中,發送到數據緩沖區地址,再由AX88180發送到網絡上。如果發送成功,hard_start_xmit釋放sk_buff,返回0;如果設備暫時無法處理,則返回1。硬件在發送結束后產生中斷。  

中斷和接收函數  

中斷和接收函數也是驅動程序的關鍵過程之一,如果有數據收到,AX88180會產生一個中斷通知系統,在中斷處理程序中驅動程序申請一塊sk_buff(),從AX88180讀出數據并放置到接收緩沖區地址0000H~7000H里,然后來填充sk_buff中的一些信息,由skb->dev=dev判斷收到幀的協泌類型,填入skb->protocol,再把指針skb->mac.raw指向硬件數據,然后丟棄幀頭。之后還要設置skb->pkt_type,標明鏈路層數據類型,最后調用netif_rX()把數據傳送給協議層。  

下面是發送函數部分代碼:
  








結語  

本文介紹的千兆網絡接口在S3C2440A系統中的應用方案已經得以實現,1000 Full-duplex模式下,數據傳輸速率可以達到200Mbp,在使用FTP下載數據時,速度可以達到4Mbps以上,是使用100M網絡接口的5~6倍。如果使用其它更高速度的微處理器,網絡接口的速度會更高。
本文地址:http://m.qingdxww.cn/thread-17285-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 女配穿书病娇被强啪h| 亚洲伊人久久网| 日本免费网| 午夜性爽视频男人的天堂在线| 日本乱码视频a| 性久久久久久久久久久| 我被黑人彻底征服的全文| 又黄又湿| 国产精品无码麻豆放荡AV | 国产99精品在线观看| 碰超成人在线公开免费视频| 在线免费观看亚洲视频| 四虎国产精品免费五月天| 人人干日日操| 亚洲欧美一区二区三区久久| 亚洲国产视频网| yellow日本动漫观看免费| 三级全黄的视频| 午夜视频免费观看| 日本国产在线观看| 一区精品麻豆入口| 主人扒开屁股眼夹东西作文| 久久久精品国产免费A片胖妇女| 性色欲情网站IWWW| 亚洲欧美国产精品专区久久| 日韩精品成人免费观看| 中文字幕无码中文字幕有码| 6080yy奇领电影在线看| 久久有码中文字幕| 在教室伦流澡到高潮H女攻视频| 欧美亚洲激情| 亚洲六月丁香色婷婷综合久久 | 色视频网站色视频播放| 四虎影院免费看| 成人小视频在线免费观看| 日韩美女爱爱| 亚洲国产美女精品久久| 色综合久久天天综合观看| 四虎在线永久免费视频网站| 被黑人掹躁10次高潮| 亚洲国产五月综合网|