当前位置:首页 > 单片机 > 单片机
[导读] 七.页面切换子模块7.1页面切换子模块功能根据上一层模块传入的页号来切换页。RTL8019AS中的NE2000寄存器中用户可用于切换的页面有0,1,2三页,第四页为芯片保留。7.2页面切换子模块组成1>读取命令寄存

七.页面切换子模块

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开发板中RTL8019AS在CPU的存储空间上映射的基地址为0X83400000,因此以太网的基地址为0X83400000

?LPC2210通过16位DMA方式实现对RTL8019AS双口RAM的访问,每次传输2字节(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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭