《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于S3C44B0X的嵌入式以太網接口設計
基于S3C44B0X的嵌入式以太網接口設計
互聯網
摘要: 在互聯網絡和局域網絡飛速發展的今天,計算機進行網絡互聯的同時,各種家電設備、儀器儀表、工業生產中的數據采集和控制正在走向網絡化。
Abstract:
Key words :
        在互聯網絡和局域網絡飛速發展的今天,計算機進行網絡互聯的同時,各種家電設備、儀器儀表、工
 
業生產中的數據采集和控制正在走向網絡化。
       以太網(Ethemet)由于它的普遍性及低廉的接口價格,因而已經作為一種最通用的網絡,廣泛應用于生產和生活中。另一方面,嵌入式設備在價格、體積及實時性等方面是通用計算機無法比擬的,也已廣泛應用于自動化控制、數據采集、通信網絡等領域。因此,嵌入式以太網技術有著廣闊的前景,首先要解決的問題就是嵌入式以太網接口問題。
       本文基于最常用的嵌入式處理器S3C44B0X和以太網驅動器RTL8019AS來設計了一款嵌入式以太網接口。本設計的特點是,既可僅用于嵌入式以太網驅動設備,方便簡單,又可進行擴展其他模塊,必要時可以移植操作系統,應用于其他復雜領域。本文從RTL8019AS的內部結構工作原理出發,介紹了基于 S3C44B0X的硬件接口電路,詳細說明了基于硬件層的驅動程序C語言的設計。
       1以太網幀結構
        一個標準的以太網物理傳輸幀由7部分組成:PR(同步位)、SD(分隔位)、DA(目的地址)、SA(源地址位)、TYPE(類型字段)、DATA(數據段)、FCS(幀校驗)。
       其傳輸幀結構(及各部分長度)如圖1所示。
        除了數據段的長度不定外,其他部分的長度固定不變。數據段為46~1500字節。以太網規定整個傳輸包的最大長度不能超過1514字節(14字節為DA、 SA、TYPE),最小不能小于60字節。需填充時,填充字符的個數不包括在長度字段中;超過1 500字節時,需拆成多個幀傳送。事實上,發送數據時,PR、SD、FCS及填充字段這幾個數據段由以太網控制器自動產生;而接收數據時,PR、SD被跳過,控制器一旦檢測到有效的前序字段(即PR、SD),就認為接收數據開始。
       2芯片簡介
       S3C44B0X是三星公司使用ARM7TDMI核生產的16/32位RISC(精簡指令集計算機)處理器,它提供了豐富的內置模塊,包括:8 kB Cache和內部SRAM,LCD(液晶顯示器)控制器,2通道的UART,4通道的DMA(直接存儲器存取),存儲器管理,帶PWM(脈寬調制)的定時器,I/O口,8通道10位的A/D轉換器,IIC、IIS總線,同步SIO接口和PLL(鎖相環)倍頻器,可根據需要進行接口擴展,并且價格低廉,目前已被廣泛應用于嵌入式領域中。
       RTL8019AS是在嵌入式領域應用廣泛且性價比很高的網絡控制芯片。RTL8019AS的主要性能有:符號EthernetⅡ與IEEE 802.3(10Base5、10Base2、10BaseT)標準;全雙工,收發可同時達到10 Mbit/s的速率;內置16 kB的SRAM,用于收發緩沖,降低對主處理器的速度要求;支持8/16位數據總線,8個中斷申請線以及16個I/O基地址選擇;支持UTP、AUI、 BNC自動檢測,還支持對10BaseT拓撲結構的自動極性修正;允許4個診斷LED引腳可編程輸出。
       RTL8019AS可分為以下幾部分功能模塊:
       a)遠程DMA接口:處理器與RTL8019AS收發緩沖的連接通道,處理器只需對遠程DMA操作。
       b)本地DMA接口:RTL8019AS與網線的連接通道,完成控制器與網線的數據交換。
       c)MAC(介質訪問控制)邏輯:完成對遠程DMA和本地DMA數據包傳輸、中斷的產生等自動控制。
       d)地址識別邏輯:將接收到的數據幀中的目的地址和地址寄存器中的地址進行比較,判斷其是否為發到本地的幀。
  e)CRC(循環冗余校驗)產生校驗邏輯:在發送數據時,產生CRC碼,對接收幀進行CRC。
       f)協議PCA:負責實施以太網規范。
       RTL8019AS內部有16kB SRAM,分為64頁,256字節/頁,組成環形隊列作為收發緩沖區,只能按頁操作,頁地址從0x4000~0x7FFF。可以通過相關的寄存器讀寫操作,可以對緩沖區進行設置及狀態的讀取。由于接收緩沖區是按頁即256 B來操作的,與緩沖區地址有關的寄存器中只需存儲緩沖區的高16位地址即可。在本設計中,將前32頁(0x400~0x5fff)作為接收緩沖區,將后 32頁(0x6000~0x7ff)作為發送緩沖區。
        RTL8019AS具有32位輸入輸出地址,地址偏移量為00H~1FH。其中,00H~0FH共16個地址為寄存器地址。遠程DMA地址包括 10H~17H,都可以用來做遠程DMA端口,只要用其中的一個就可以了。復位端口包括18H~1FH共8個地址,功能相同,用于RTL8019AS復位。RTL8019AS的內部I/O基址是00H,但微處理器要訪問8019的地址卻不是00H,該地址是由處理器與網絡控制器的連線決定的。
       RTL8019AS寄存器分為4頁,即PAGE0~PAGE3,每一頁的地址偏移量均為0x00~0x1f由RTL8019AS的CR(命令寄存器)中的 PS1、PS0位來決定要訪問的頁,每一頁中的寄存器由SA0~SA3尋址。第0頁和第1頁的寄存器很重要,用于數據收發的控制和中斷管理等,使用前必須對其進行配置。第2頁和第3頁只用于診斷和其他一些配置,很少使用。
      3設計思路
       首先,S3C44B0X通過RTL8019AS的I/O口,對其相關寄存器進行配置。在通信時,S3C44B0X與RTL8019AS的收發緩存器的數據交換由遠程DMA控制,而RTL81019AS收發緩存器與以太網總線之間的數據交換由它的本地DMA控制。RTL8019AS通過中斷的方式通知 S3C44B0X數據收發的結果和狀態,S3C44B0X通過查詢中斷狀態寄存器的值,作出相應處理。
       系統結構如圖2所示。
       4接口電路設計
        接口電路如圖3所示。
       S3C 44B0X的nOE、nWE分別與RTL8019AS的IORB、IOWB相連,控制數據的讀和寫操作,低電平有效。RTL8019使用中斷0,對應S3C4480的外部中斷1。
       RTL8019AS RTL8019AS有3種工作方式:
       a)跳線方式:I/O和中斷由跳線決定;
       b)即插即用方式(PNP):由軟件進行自動配置,使用這種方法時,系統的啟動程序必須包含支持PNP的函數;
       c)免跳線方式:I/O和中斷由外接的EEPROM93C46中的內容決定。
       在本設計中,為了降低啟動程序和接口電路的復雜性,選擇跳線方式,故JP接高電平。
        X1、X2分別為20 MHz晶振的輸入輸出端。LED0~2分別連接3個發光二極管,指示網絡連接、數據傳輸和發送的情況。 20F001為網卡濾波器,內部包含一對低通濾波器和一對隔離變壓器,其輸出TX+/-、RX+/- 與RJ45的信號口相連
由于在本設計中RTL8019AS的AEN與S3C44B0X的nGCS2相連,所以對應S3C44B0X的存儲器的起始地址0x0600-0000;并且,由于RTL8019AS的IOS0~IOS3接地,在跳線模式下,當IOS0~IOS1為0000時,RTL8019AS的基址為0300H。因此,在本設計中,S3C44B0X訪問RTL8019AS的基址就是0x0600-0300。
       5驅動程序設計
       5.1程序設計思路
        在本設計方案中,驅動程序主要包含3個函數,即系統的初始化函數、接收數據包函數、發送數據包函數。初始化部分完成RTL8019AS在使用之前的初始化工作,包括設置相關工作模式的寄存器、分配和初始化接收和發送緩沖區、初始化網卡接收地址等。
       MAR0-MAR7-多點地址寄存器:這8個寄存器的值是根據多播地址數組的值生成的,提供對多播地址的過濾,過濾掉一些不屬于自己接收多播數據包。
       這里均設為FFH,接所有多播地址的數據包:
       下面6條語句設置MAC地址,寄存器為PAR0~PAR5:實際地址寄存器,這些寄存用來對目標地址數據包進行比較,以確定接收或者拒絕接收。地址放在數組add[6]中。
        5.2數據的傳輸和發送
       數據的傳輸和發送由本地DMA傳輸和與遠程DMA傳輸兩部分完成,前者大部分工作由RTL8019AS自動完成,我們要做的是設置收發緩沖區的大小及指針變量,這些工作在RTL8019AS的初始化時已完成,因此只需要編寫遠程DMA讀寫函數。對遠端DAM口的讀寫,不同的只是數據傳輸方向,這里,僅以讀操作為例,即編寫從RTL8019AS接收緩沖區取數據包到S3C4480X。(注意:遠程DMA的寫函數,即向RTL8019AS發送緩沖區寫數據函數 --send_data()省略。)
       5.3以太網接口通信函數流程
       這里采用中斷和查詢相結合的方式來決定是否發送和接收數據。當RTL8019AS的ISR(中斷狀態寄存器)的任意一中斷位置位時,S3C4B0X都要對其進行中斷相應(在這里只關注第0中斷位和第1中斷位,即分別反映RTL8019AS已正確接收到數據和已成功發送數據包,因此在初始化函數中將其他位屏蔽)。這時要對ISR進行訪問,來判斷是何種中斷,進而作出相應的響應,如圖4所示。
       6結束語
       本設計經過軟硬件的調試,并已成功地進行以太網數據傳輸。由于S3C4480X出眾的性價比及豐富的外圍接口,通過擴展本設計可以應用到嵌入式儀器儀表、工業數據采集網絡、嵌入式網絡控制等許多領域。
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品之草原avav久久| 99天天综合性| 欧美精品在线网站| 免费一区二区三区| 老司机成人在线视频| 欧美在线三区| 欧美在线国产| 国产精品99久久不卡二区| 亚洲精品国产精品国自产观看| 精品成人在线视频| 精品91免费| 激情婷婷久久| 亚洲国产精品国自产拍av秋霞| 136国产福利精品导航网址| 尤物yw午夜国产精品视频明星 | 狠狠色综合网| 国产一区二区中文字幕免费看| 国产日韩欧美三级| 国产亚洲综合精品| 黄色日韩在线| 在线国产日韩| 亚洲人成免费| 亚洲伦伦在线| 一本一本a久久| 亚洲一区日韩在线| 欧美一级欧美一级在线播放| 欧美在线日韩| 亚洲国产美女久久久久| 日韩一级精品视频在线观看| 在线综合+亚洲+欧美中文字幕| 亚洲午夜视频在线| 性视频1819p久久| 久久精品国产免费| 猫咪成人在线观看| 欧美国内亚洲| 欧美午夜激情视频| 国产麻豆午夜三级精品| 韩日精品中文字幕| 亚洲黄色免费网站| 亚洲午夜高清视频| 欧美一区二区三区四区在线观看地址| 久久精品一区| 亚洲深夜影院| 久久精彩免费视频| 欧美高清在线视频观看不卡| 欧美日韩中文字幕在线| 国产日韩精品在线播放| 在线看视频不卡| 一本久久a久久精品亚洲| 欧美一区二区三区久久精品| 91久久国产综合久久91精品网站| 99在线精品免费视频九九视| 久久久欧美精品sm网站| 亚洲美女色禁图| 亚洲综合视频一区| 久久一区二区三区四区| 欧美日本三级| 国产色视频一区| 91久久精品日日躁夜夜躁欧美| 亚洲小说春色综合另类电影| 亚洲大胆女人| 亚洲综合久久久久| 欧美不卡福利| 国产精品亚洲综合| 最新热久久免费视频| 性欧美办公室18xxxxhd| 99精品久久久| 久久久久成人精品| 国产精品成av人在线视午夜片| 在线免费高清一区二区三区| 亚洲一区二区三区在线播放| 亚洲精品久久久久久久久| 欧美一级久久久久久久大片| 欧美xx视频| 国产视频在线观看一区| 亚洲精品欧美在线| 久久成人精品视频| 亚洲欧美日韩国产中文| 蜜臀久久99精品久久久画质超高清| 国产精品成人一区二区三区夜夜夜 | 欧美精品在线观看91| 国产日韩欧美在线观看| 一区二区高清在线观看| 亚洲经典三级| 久久久久久色| 国产精品女主播在线观看| 亚洲欧洲另类| 亚洲国产一区在线| 久久久精品一区二区三区| 国产精品欧美一区二区三区奶水| 亚洲国产高清在线| 欧美一区二区三区精品电影| 亚洲欧美日韩一区二区在线| 欧美伦理91i| 亚洲国产日韩欧美综合久久| 欧美在线播放视频| 欧美在线free| 国产精品美女999| 99精品视频免费观看视频| 亚洲精品色婷婷福利天堂| 欧美一区二区三区四区高清 | 日韩视频欧美视频| 美女日韩在线中文字幕| 国产在线精品成人一区二区三区 | 亚洲一区二区精品视频| 在线视频你懂得一区| 欧美好吊妞视频| 永久域名在线精品| 亚洲成色777777在线观看影院| 久久gogo国模裸体人体| 国产精品免费区二区三区观看| 日韩午夜在线视频| 宅男噜噜噜66国产日韩在线观看| 欧美精品一区二区三区久久久竹菊 | 国产一区在线观看视频| 亚洲欧美日韩一区在线| 香蕉尹人综合在线观看| 国产精品免费aⅴ片在线观看| 一本色道久久综合狠狠躁篇的优点 | 91久久精品一区二区别| 蜜臀av在线播放一区二区三区| 精品动漫一区| 91久久国产综合久久蜜月精品 | 亚洲国产一区二区三区在线播| 老鸭窝毛片一区二区三区| 黄色成人在线网站| 亚洲国产天堂久久综合| 欧美a级一区| 亚洲精品社区| 亚洲一区二区免费在线| 国产精品久久激情| 亚洲欧美在线网| 久久深夜福利| 亚洲国产精品久久久久秋霞影院| 日韩天堂在线视频| 欧美日韩系列| 亚洲一区二区三区免费在线观看| 欧美亚洲一区在线| 国产一区二区日韩精品欧美精品| 久久国产欧美日韩精品| 欧美成人网在线| 亚洲理论在线观看| 午夜视频在线观看一区二区三区| 国产欧美日韩精品一区| 久久精品国产亚洲aⅴ| 欧美xart系列高清| 9人人澡人人爽人人精品| 亚洲欧美区自拍先锋| 国产偷国产偷亚洲高清97cao | 亚洲激情在线观看| 欧美日本中文字幕| 亚洲自拍偷拍色片视频| 久久蜜桃av一区精品变态类天堂| 亚洲国产精品久久久久秋霞不卡| 一区二区日韩伦理片| 国产精品亚洲а∨天堂免在线| 欧美一区二区日韩一区二区| 欧美不卡视频一区发布| 一区二区三区免费在线观看| 欧美影院成人| 亚洲黄色精品| 香蕉久久夜色精品| 亚洲国产一区二区三区a毛片| 亚洲一区二区三区影院| 国产色综合久久| 亚洲精品在线看| 国产精品亚洲综合一区在线观看| 亚洲高清视频的网址| 欧美日韩视频在线一区二区观看视频| 亚洲综合精品一区二区| 麻豆九一精品爱看视频在线观看免费 | 夜夜精品视频| 国色天香一区二区| 亚洲少妇在线| 一区在线观看| 午夜精品久久久99热福利| 在线观看91久久久久久| 亚洲一区日韩在线| 在线观看91精品国产入口| 亚洲一区欧美| 1024成人网色www| 午夜在线精品| 亚洲日韩中文字幕在线播放| 欧美一区日本一区韩国一区| 在线观看视频亚洲| 性欧美8khd高清极品| 亚洲欧洲另类| 久久亚洲精品网站| 亚洲小视频在线观看| 欧美高清成人| 欧美一区二区日韩| 国产精品多人| 亚洲精品一区二区网址| 国产一区欧美日韩| 亚洲尤物精选| 亚洲人成网站999久久久综合| 久久久久免费视频| 亚洲欧美日本另类| 欧美日韩中文字幕精品| 亚洲日本中文字幕区|