基于CP2200的嵌入式以太网接口设计

时间:2013-03-15来源:网络

  4. 以太网接口软件设计

  4.1 CP2200驱动程序

  以太网中,网络接口就是一个以太网控制芯片及其驱动程序。以太网接口驱动程序包含管理控制器芯片与网络协议栈中上一层之间通信的程序代码,为了在以太网上传送IP数据报,IP层将数据报传递给以太网控制器的驱动程序,驱动程序指示以太网控制器传送以太网帧。在接收来自网络的IP数据报时,以太网控制器检查目标地址是否与接口硬件地址或控制器可接收的组播或广播地址一致,如果一致,则控制器检查错误,驱动程序把数据报或出错指示传递给IP层。

  这里以太网接口驱动程序主要是CP2200的初始化配置和收发配置。

  (1) CP2200复位初始化

  CP2200复位初始化过程可以确保设备正常工作。复位开始时,首先要等待复位引脚升高,然后等待振荡器初始化完成,振荡器初始化完成后会发送一个中断信号。之后是CP2200自身初始化,可以通过检测INT0中断状态寄存器确定自身初始化的完成。由于系统默认的是允许所有的中断,通过设置INT0EN和INT1EN关闭哪些不被主处理器处理的中断事件。初始化过程还包括物理层(PHY)的初始化,以及媒体访问层(MAC)的初始化。最后配置接收过滤器,系统复位后,过滤器允许广播包和组播包,通过设置RXFILT寄存器可以决定是接收还是忽略诸如广播、组播、短帧(帧长度小于64字节)或者CRC错误的帧等。初始化完成后,接收缓冲区为空,CP2200开始准备发送或接收数据.

  图3 CP2200发送流程图

  (2) 数据的接收和发送

  单片机C8051F020通过使用CP2200的直接和间接寄存器来控制CP2200,直接寄存器可

  以访问RAM缓冲区,FLASH存储区,间接的MAC配置寄存器及其它的状态和控制寄存器。CP2200具有2K(0x0000–0x07FF)字节的发送缓冲区和4K(0x0000–0x0FFF)字节的接收缓冲区,它们共享相同的地址空间,都使用RAMADDRH:RAMADDRL指针访问,每个缓冲区都有一个专门的数据寄存器。其中CP2200发送数据的流程图如图3所示:

  使用随机储存器访问方法将该包装入发送缓冲区:

  a.将RAMADDRH:RAMADDRL设为0x0000。

  b.将第一个字节写入 RAMTXDATA。

  c.将RAMADDRH:RAMADDRL加1。

  d.将另一个数据字节写入 RAMTXDATA.

  e.重复步骤c和d直到整个包全部装入发送缓存区。

  f.长度小于64字节的帧需要填充为至少64字节。

  g.将TXENDH:TXENDL设置为最后一个字节的地址。该地址值必须大于等于0x0040。

1 2 3

关键词: CP2200 以太网接口 C8051F020

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版