七.頁面切換子模塊
7.1頁面切換子模塊功能
根據上一層模塊傳入的頁號來切換頁。RTL8019AS中的NE2000寄存器中用戶可用于切換的頁面有0,1,2三頁,第四頁為芯片保留。
7.2頁面切換子模塊組成
1>讀取命令寄存器(CR)中的值
temp=ReadFromNet(0);
2>把命令寄存器中的PS1,PS0位清零,在清零過程中不能修改其他位,并且不能置TXP位。
//命令寄存器中的PS1,PS0位清零注意txp位不能要
temp=temp&0x3B ;
3>把頁號寫入CR命令寄存器中的PS1,PS0位
pagenumber=pagenumber <<6;
temp=temp | pagenumber;
WriteToNet(0,temp);
7.3頁面切換子模塊接口
頁面切換子模塊調用了寫數據模塊
?寫數據子模塊:將數據寫入RTL2019AS芯片中
7.4頁面切換子模塊程序
/****************************Copyright(c)********************
**西安郵電學院
**graduate school
**XNMS實驗室
**Author:冀博
**Time:2011年2月21日
**http://blog.csdn.net/tigerjb
**
**--------------FileInfo---------------------------------------------------------------------
****************************Copyright(c)******************** /
/**********************************************************
**函數原型:voidpage(uchar pagenumber)
**入口參數ucharpagenumber:要切換的頁
**返回值:無
**說明:選擇頁,可選擇0,1,2三頁,第四頁ne000兼容芯片保留
**********************************************************/
void page(uint8 pagenumber)
{
uint8 temp;
temp=ReadFromNet(0);
temp=temp&0x3B ;//注意txp位不能要
pagenumber=pagenumber <<6;
temp=temp " pagenumber;
WriteToNet(0,temp);
}
八.設置芯片物理地址子模塊
8.1設置芯片物理地址子模塊功能
將物理地址寫入實際地址寄存器(PAR0~PAR5)中并且用這些物理地址來對目標地址數據包進行比較,來確定接收或者拒絕接收數據包。
8.2設置芯片物理地址子模塊接口
設置芯片物理地址子模塊調用了寫數據子模塊
?寫數據子模塊:將數據寫入RTL2019AS芯片中
8.3設置芯片物理地址子模塊程序
/****************************Copyright(c)********************
**西安郵電學院
**graduate school
**XNMS實驗室
**Author:冀博
**Time:2011年2月21日
**http://blog.csdn.net/tigerjb
**
**--------------FileInfo---------------------------------------------------------------------
****************************Copyright(c)******************** /
/**********************************************************
**函數原型:void SetMacID()
**入口參數:*mac_ptr
**返回值:無
**說明:設置芯片物理地址,物理地址已經存儲在程序空間內
**********************************************************/
void SetMacID(uint8 * mac_ptr)
{
//把MAC地址寫入MY——MAC——ID中
page(1);
WriteToNet(1 , *mac_ptr);
mac_ptr++;
WriteToNet(2 , *mac_ptr);
mac_ptr++;
WriteToNet(3 , *mac_ptr);
mac_ptr++;
WriteToNet(4 , *mac_ptr);
mac_ptr++;
WriteToNet(5 , *mac_ptr);
mac_ptr++;
WriteToNet(6 , *mac_ptr);
//設置完后將頁面轉換到頁面0
page(0);
}
九.寫數據子模塊
?在LPC2210開發(fā)板中RTL8019AS在CPU的存儲空間上映射的基地址為0X83400000,因此以太網的基地址為0X83400000
?LPC2210通過16位DMA方式實現對RTL8019AS雙口RAM的訪問,每次傳輸2字節(jié)(16比特數據)
9.1寫數據子模塊功能
根據傳入的16bit Data和Add,將16bit Data寫入以太網基地址0X83400000+Add處。
9.2寫數據子模塊程序
/****************************Copyright(c)********************
**西安郵電學院
**graduate school
**XNMS實驗室
**Author:冀博
**Time:2011年2月21日
** http://blog.csdn.net/tigerjb