这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » EasyARM2200,8019 针对EasyARM2200+8019的地址寄存

共2条 1/1 1 跳转至

EasyARM2200,8019 针对EasyARM2200+8019的地址寄存器以及其它问题,请各位高手帮忙

院士
2006-09-17 18:14:16     打赏
EasyARM2200,8019 针对EasyARM2200+8019的地址寄存器以及其它问题,请各位高手帮忙



关键词: EasyARM2200     针对     EasyARM220    

院士
2006-12-22 22:43:00     打赏
2楼
问 硬件连接是
2200.a1----8019.sa0
2200.a2----8019.sa1
2200.a3----8019.sa2
2200.a4----8019.sa3
2200.a5----8019.sa4
2200.a22---8019.sa8
2200.cs3---8019.sa5
#define   NET_BASE_ADDR       0X83400000

void  WriteToNet(uint8 ADDR_16,uint16 WRITEDATA)
{
    
    (*((volatile unsigned short *) NET_BASE_ADDR+ADDR_16))=WRITEDATA;//0x83400000     
    
}


问题1: A1接SA0,为什写寄存器时,寄存器地址不×2呢,比如写网卡MAC地址时,由于是A1对应A0,所以,网卡MAC地址地址在8019上为1 2 3 4 5 6对应到22xx上,就是2 4 6 8 10 12 14 16了,需要ZLG解释一下;

问题2: 对于芯片8019的96脚,当RSTDV的下降沿到来时,此脚若为高,则为16位地址方式,此脚若为低,则8位地址方式,对于开发板,此脚是由10k电阻下拉,即上电时为8位方式,但是CPU是配置成16位方式,这时,同样引起问题一上的问题,地址线是怎么操作8019的寄存器的;

问题3:资料上说8019的DMA必须在16位地址方式下才能工作,请问ZLG,8019初始化时,是如何初始化成16位的,还请明示。

问题4:开发板上,8019复位时,先进行硬件复位,然后进行软件复位,如果不进行硬件复位,会造成什么样的后果呢?

问题5: 对于函数void Send_Packet(struct _pkst *TxdData)中,重发数据处理部分,为什么要重发6次,当CPU将数据写进8019后,8019向物理层写数据时,如果出现冲突,必须由CPU来重发吗?这么冲突的可能性有多大?CSMA (载波信号多路侦听)的冲突可能性有多大?我参看了其它几个8019的移置程序,这个地方没有采用重发机制。 1: 没人帮忙呀 2: 请大家帮我分析一下呀,我不知道错在哪呀 3: 16位的地址指针加1 实际上就是加2字节地址 4: 但是从下面代码看,它是8位指针呀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);
    page(0);
}

比如WriteToNet(1 , *mac_ptr);,这个1对应的SA0~SA5的线状态是多少?这时,CPU的A0没有工作,这个地址1是怎么工作的,我还是不明白呀

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]