新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AVR高性能單片機的以太網接口設計

基于AVR高性能單片機的以太網接口設計

作者: 時間:2009-05-06 來源:網絡 收藏

2 系統(tǒng)軟件實現(xiàn)
2.1 地址空間與寄存器
內部的16 KB的RAM用于收發(fā)緩沖,地址為Ox4000~0x7FFF,收發(fā)緩沖以頁為單位,每頁256 B,共64頁,如果某頁沒有完全填滿數據,則下包數據也不能繼續(xù)使用該頁,只能使用新的頁。一般將前12頁作為發(fā)送緩沖區(qū),分為兩個6頁的緩沖區(qū)(因為一個最大數據包占6頁),兩個發(fā)送緩沖區(qū)交替使用,可提高發(fā)送效率,后52頁作為接收緩沖區(qū)。該RAM是雙端口的,具有兩套總線,一套是讀寫該RAM,即本地DMA;另一套是讀寫該RAM,即遠程DMA,要接收和發(fā)送數據包就必須對這塊RAM進行DMA讀寫。
RTL8019AS具有32位I/O地址,地址偏移量為00H~1FH,本系統(tǒng)中對應于300H~31FH,其中,00H~0FH為16個寄存器地址,寄存器分為4頁,與NE2000兼容的只有前3頁,第4頁是RTL8019AS自己定義的,對于其他兼容NE2000的芯片無效,所以為了保證驅動程序對所有NE2000兼容的網卡都有效,不要去操作第4頁的寄存器。10H~17H為8個遠程DMA地址,都可以用來做遠程DMA地址,使用其中一個即可,微控制器通過讀寫數據端口10H~17H實現(xiàn)對緩沖區(qū)的訪問。18H~1FH共8個地址為復位端口,它們功能一樣,使用其中一個即可,用于RTL8019AS的熱復位。
2.2 嵌入式TCp/IP實現(xiàn)
族是一組不同層次上的多個協(xié)議的組合,分為鏈路層、網絡層、傳輸層和應用層。對于8位來說,由于其處理速度和存儲能力的問題,要實現(xiàn)完整的棧是比較困難的,因此要根據其特點及自己的需求,對協(xié)議進行裁剪,保留其核心部分。該系統(tǒng)只實現(xiàn)了ARP,IP,ICMP,UDP,TCP協(xié)議,采用編寫。
在鏈路層上,首先要解決RTL8019AS的驅動問題,驅動程序包括三部分:芯片初始化程序、發(fā)送數據程序和接收數據程序,它們屏蔽了底層硬件處理細節(jié),同時向上層軟件提供與硬件無關的。驅動程序將已封裝好的待發(fā)送數據按指定格式寫入芯片并啟動發(fā)送命令,8019會自動把數據包轉換成物理幀格式在信道上傳輸;反之,8019收到物理信號后將其還原成數據,按指定格式存放在芯片RAM中以便主機程序取用,下面給出部分初始化程序,主要是對一些寄存器進行設置,其中,reg00~regof為宏定義,代表RTL8019AS內地址偏移量為00H~0FH的寄存器地址。

低通濾波器相關文章:低通濾波器原理


雙絞線傳輸器相關文章:雙絞線傳輸器原理


評論


相關推薦

技術專區(qū)

關閉