积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 接口设计 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
8位单片机与以太网控制器RTL8029接口的VHDL设计
 
作者:计卫东   来源:本站原创    点击数:197   更新时间:2008-3-4
您可以添加到网摘 让更多人关注此文章:

        51系列单片机是当前使用最为广泛的8位单片机系列,其丰富的开发资源和较低的开发成本,使51系列单片机现在以至将来都仍会有强大的生命力。在网络技术飞速发展的今天,实际工作中有将51系列单片机系统接入网络的需求。由于5 1系列单片机没有集成以太网接口,因此,如何将51系列单片机系统接入网路是一个值得探讨的课题,其关键就是在硬件上如何实现单片机与以太网控制器的接口。本文将讨论这一课题。


1 以太网控制器
    台湾Realtek公司的以太网控制器是一种符合IEEE802.3以太网标准的控制器,有RTL8019、RTL8029和RTL8139等系列。其中RTL8019是ISA总线的,较易与8位MCU实现接口。RTL8029和RTL8139是PCI总线的,不能直接与8位的MCU接口,需要一个PCI接口进行转接。考虑到目前RTL8029在市场上较容易购买,故采用RTL8029以太网控制器作为网络接口。
    RTL8029内部已经包含有整个网络接口层的协议 (PHY层和MAC层协议),因此应用起来较简单。用户不必考虑链路控制问题,而只需考虑单片机如何从RTL8029中去读TCP/IP协议的数据即可。
    PCI总线信号有3.3V标准和5V标准,信号线众多,但是并不是所有的PCI设备都使用全部的PCI接口信号,实际上只使用它们需要的即可。RTL8029AS以太网控制器遵循5V标准,并且只使用了PCI总线信号中的以下部分:
    AD[31:0]——数据信号复用总线。
    FRAME——帧周期信号,由当前主设备驱动,表示一次访问的开始和持续时间。
    IRDY——主设备准备好信号。
    TRDY——从设备准备好信号。 
    C/BE——总线命令和字节使能复用信号。地址期是总线命令,数据期是字节使能。
    IDSEL——初始化设备选择信号。在参数配置读写传输期间,用作片选。对于只有一个PCI设备的情况,它可以总接高电平。
    RST——复位信号。
    CLK——系统时钟信号,频率范围DC~33MHz。以上信号都在CLK的上升沿有效。
    INTA——中断请求信号,RTL8029数据准备好后可以用来向主控制器发出中断。
    DEVSEL——设备选择信号,表明驱动它的设备已成当前访问的设备,由于在单片机系统中,RTL8029是单一的PCI设备,因此该信号可以不用。



2 PCI接口设计
    在以太网控制器的接口信号中,除地址数据总线是双向的外,TRDY信号由以太网控制器产生,方向为从以太网控制器至PCI接口;其余信号都由接口部分产生,方向是从PCI接口至以太网控制器。
    接口设计的思路是:可将PCI接口当作单片机的外部存储器看待,单片机以读写外部存储器的时序对PCI接口进行读写,再由PCI接口将这种读写操作时序转换成PCI时序对以太网控制器进行操作。
    单片机在进行外部存储器操作时用到的信号有PO口、P2口、ALE以及RD和WR信号。其中,P0口为地址(低8位)/数据复用,P2口为高8位地址信号;ALE为地址锁存信号,为高电平时将P0口的值锁存到低8位数据线上;RD和WR为读写有效信号,低电平有效。因此,PCI接口实际上是起到一个从8位单片机读写时序到32位PCI读写时序转换的作用,原理框图如图1所示,访目时序如图2所示。




    在图2中,可以完成对PCI设备的配置访问与I/O读写访问,只要有这两种访问就完全可以实现单片机对RTL8029的操作。IDSEL信号只是在配置访问中才起作月,在I/O访问中不使用该信号。
    FRAME有效后的第一个时钟前沿是地址期的开始。此时在AD总线上传送地址,在C/BE总线上传送命令。IRDY有效后即为数据期,此时在AD总线上传送数据,在C/BE总线上传送字节使能。但数据的传输是在IRDY和TRDY同时有效的时钟前沿进行。字节使能指明此时32位数据线上的数据中哪一个数据字节是有效的。
    读配置的过程:首先送地址,送命令(命令值为1010B)和字节使能,再读配置空间中的内容。
    写配置的过程:首先送地址,送命令(命令值为101lB)和字节使能,再送配置数据。
    读I/O的过程:首先送地址,送命令(命令值为0010B)和字节使能,再读I/O空间中的内容。
    写I/O的过程:首先送地址,送命令(命令值为001lB)和字节使能,再送数据。
    在I/O访问中,AD[1:O]两位有特殊要求,需要与C/BE[3:0]相配合。当C/BEO有效时,AD[1:O]必须为00,当C/BE3有效时,AD[1:0]必须为11。在具体访问中,每当一个设备地址译码选中后,便要检查字节使能信号是否与AD[1:0]相符。如果二者矛盾,则整个访问将无法完成。因此,写单片机软件需要参考PCI总线协议中关于这一部分的内容,才能正确操作以太网控制器。
    总线命令/字节使能(C/BE)寄存器的地址有效后的一个时钟周期内,FRAME信号应该有效,表示地址期开始,C/BE[3:0]总线上为总线命令,地址期可以只持续一个周期,然后立即进入数据期。在单片机系统中可以不考虑去支持复杂的PCI数据连发,进入数据期后,FRAME信号应立即拉回高电平,此时C/BE[3:0]总线上为字节使能。因此FRAME信号可以用总线命令/字节使能寄存器的地址信号来产生。
    IRDY信号在数据期才有效,因此IRDY也可以由总线命令/字节使能寄存器的地址信号来产生或由FRAME信号来产生。
    IDSEL信号只与配置访问有关,因此可以通过总线命令的命令字来产生。在I/O访问时。命令字的最高位bit3为O;在配置访问时。命令字的最高位bit3为l。因此,可以用该位来产生IDSEL信号。
    另外前面已说明,可将PCI接口当作外部存储器来访问,因此,要从8位数据转换成32位的数据。PCI接口中需要设计以下寄存器:
    寄存器0,对应于32位数据/地址总线的AD[7:0],用于写;
    寄存器1,对应于32位数据/地址总线的AD[15:8],用于写;
    寄存器2,对应于32位数据/地址总线的AD[23:16],用于写;
    寄存器3,对应于32位数据/地址总线的AD[31:24],用于写:
    寄存器4,对应于32位数据/地址总线的AD[7:O],用于读;
    寄存器5,对应于32位数据/地址总线的.AD[1 5:8],用于读;
    寄存器6,对应于32位数据/地址总线的AD[23:16],用于读;
    寄存器7,对应于32位数据/地址总线的AD[31:24],用于读;
    总线命令/字节使能寄存器,对应于C/BE[3:0];
    复位寄存器,用于对RTL8029AS的硬件复位操作。
    根据以上分析,得PCI接口原理框图,如图3所示。



3 接口的VHDL实现


    PCI接口的VHDL代码见本刊网站:www.dpj.com.cn。


    以上代码在Qaartus II下编译并综合,占用149个宏单元的资源,可选用CPLD器件MAx7l60来完成。



4 结语
    本文所阐述的设计方法,已成功应用在无线电监测系统的远程控制中,通过5l单片机系统接入以太网,实现了在网络上对远程机房设备的无人监控。

[1]



相关文章
· 一种用VHDL设计嵌入式Web Server的方案[103]
· TM1300 DSP系统以太网接口的设计[118]
· 用CP2200实现MCU的简易型以太网接口[155]
· 高码率QPSK全数字接收机关键技术研究[528]
· 推动以太网接入的LRE技术说明[133]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
各种冲值卡批发销售!独家特价!
特价销售GPS车载导航系统!
数字电视批发销售!你想不到的价格!
品牌相机批发销售!你想不到的价格!
品牌手机批发销售!你想不到的价格!
笔记本电脑批发销售!你想不到的价格!
那一年我做了鸭子2
那一年我做了鸭子1
等你十年(下)
等你十年(上)
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
新店开业,部分开发板&元器件特...
[原创]VB编程RS232串口...
红外摄像机控制故障分析与处理方...
红外防水摄像机在智能视频监控中...
步进电机不用驱动芯片能驱动吗?...
我要选一块双串口,带AD的单片...
[分享]运放和功放的区别是什么...
4×4矩阵式键盘的课程设计...
做过高速信号滤波的高手帮忙...
做视频信号放大器,各位有什么好...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网