基于AM186ed微处理器的嵌入式系统以太网接口设计与实现
发布时间:2008/6/3 0:00:00 访问次数:692
随着信息技术的飞速发展,特别是互联网的迅速普及,3c(计算机、通讯、消费电子)合一的加速,数字化时代已经来临,嵌入式系统技术的应用日益广泛。嵌入式系统具有系统内核小、专用性强、系统精简、高实时性的操作系统软件等特点,使得其在工业过程控制、交通管理、信息家电及机器人系统等研究生产领域中得到广泛应用。而在这些应用中,为了实现多个嵌入式微处理器之间的信息交流,大多利用can、rs-232、rs-485等总线将微处理器组网,这种网络的通信距离比较有限,有关的通信协议也比较少,并且一般是孤立于internet以外的。嵌入式系统接入internet以后,不仅实现了设备的远程控制、维护和升级,而且从另一层意义上讲,接入internet的设备已经成为网络共享资源的一部分。
另外,以太网一般都基于tcp/ip协议,使得整个网络只有一种底层通讯协议,可以满足控制系统各个层次的要求,不仅使得企业信息网络和控制网络得到统一,而且易于和internet实现无缝连接。通常,一个嵌入式系统接入internet,可选择一个提供tcp/ip协议的嵌入式操作系统,或是在现有操作系统之上加入tcp/ip协议栈,实现tcp/ip连接。对于嵌入式系统,tcp/ip软件协议栈也构成了系统成本的一部分,而这部分投入占有不小的比例。同时,软件协议栈的引入无疑要占用更多的系统资源,对于嵌入式系统来说是可观的。但是对于嵌入式系统在网络化开发的过程中,首先要解决的就是与以太网络的连接问题,亦即如何将通用处理器的网络连接装置(以太网络控制器)应用于嵌入式网络的开发。 目前市面上有许多以太网络控制芯片,可是其中大多耗电量高、功能复杂,不适用于价格低廉的嵌入式系统之中。我们选择使用的是rtl8019以太网控制器。
系统硬件设计
am186ed嵌入式微处理器
作为高性能的80c186兼容16位嵌入式微控制器,am186ed微控制器结合了80c186/188 系列微控制器体系结构,但具有更高的性能。同时,它还带有一个含有dram控制器的装置用以提高性能。与80c186/188微控制器相比,am186ed 微控制器可以减少体积、降低功耗和系统开销而增强性能和功能性。am186ed 控制器为那些需要超过64k字节ram的系统提供了一个理想的解决方案。 含有dram控制器的装置指的是降低系统开销而增强功能性的应用组件,包括一个dma控制器,和可以直接连到dma通道的串行通信口。另外,am186ed 微控制器还集成了一些常见的外围器件,包括3个定时器,片选逻辑,一个中断控制器,2个dma控制器,一个看门狗定时器等。
rtl8019as以太网控制器
由realtek公司生产的rtl8019as高集成以太网控制器芯片集成了介质访问控制子层(mac)和物理层的性能,可以方便地设计基于isa总线的系统,简单的与通用单片机进行接口。另外,它还具有与ne2000兼容、软件移植性好,以及低廉的价格等优点,在市场上的10mbps网卡中占有相当的比例。
主要性能
(1)适应于ethernet ii 、ieee802.3协议、10base5、10base2、10baset;
(2)支持8位、16位数据总线,8个中断申请线以及16个i/o基地址选择;
(3)全双工,收发可同时达到10mbps的速率,具有休眠模式,以降低功耗;
(4)内置16kb的sram,用于收发缓冲,降低对主处理器的速度要求;
(5)可连接同轴电缆和双绞线,并可自动检测所连接的媒介类型;
(6)支持闪存读写;
(7)允许四个诊断led引脚可编程输出;
(8)100 脚的tqfp封装,缩小主机板尺寸。
硬件系统结构
主要使用了xilinx公司生产的cpld芯片xc9536,实现了rtl8019的各个逻辑控制信号。这里,rtl8019使用了跳线模式、io方式读写。详细说明如下:
(1)、给rtl8019的ne2000兼容的各个寄存器分配了pcs0引脚,io地址为00h~ffh,这样,只需要将cpu的a0~a4连接到rtl8019上就可以了。rtl8019默认的io地址是300h~3ffh,因此将rtl8019上的sa19~sa10和sa7~sa5接为地,sa9、sa8接为vcc。
(2)、使用16位方式读写rtl8019as芯片,将rtl8019上的iocs16b引脚通过10k的上拉电阻接为vcc。使用io模式读写网络芯片,smemrb和smemwb接上拉电阻为vcc。
系统软件设计
嵌入式实时多任务操作系统
在该系统设计中,引入了实时操作系统(rtos)。作为一个完整的操作系统,rtos有一个可靠性很高的实时内核,将cpu时间、中断、i/o、定时器等资源都包装起来,留给用户一个标准的应用程序接口(api);根据各个任务的优先级,合理地在不同任务之间分配cpu的时间,保证程序执行的实时性、可靠性。内核一般都能提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
本系统采用的是ati 公司(accelerated technology incorporated )的nucleus 操作系统。我们已经成功的将该操作系统移植到am186ed上。
软件设计
系统的软件设计主要是针对网络芯片进行的。下面就详细介绍一下对于rtl8109as的软件设计
其软件
随着信息技术的飞速发展,特别是互联网的迅速普及,3c(计算机、通讯、消费电子)合一的加速,数字化时代已经来临,嵌入式系统技术的应用日益广泛。嵌入式系统具有系统内核小、专用性强、系统精简、高实时性的操作系统软件等特点,使得其在工业过程控制、交通管理、信息家电及机器人系统等研究生产领域中得到广泛应用。而在这些应用中,为了实现多个嵌入式微处理器之间的信息交流,大多利用can、rs-232、rs-485等总线将微处理器组网,这种网络的通信距离比较有限,有关的通信协议也比较少,并且一般是孤立于internet以外的。嵌入式系统接入internet以后,不仅实现了设备的远程控制、维护和升级,而且从另一层意义上讲,接入internet的设备已经成为网络共享资源的一部分。
另外,以太网一般都基于tcp/ip协议,使得整个网络只有一种底层通讯协议,可以满足控制系统各个层次的要求,不仅使得企业信息网络和控制网络得到统一,而且易于和internet实现无缝连接。通常,一个嵌入式系统接入internet,可选择一个提供tcp/ip协议的嵌入式操作系统,或是在现有操作系统之上加入tcp/ip协议栈,实现tcp/ip连接。对于嵌入式系统,tcp/ip软件协议栈也构成了系统成本的一部分,而这部分投入占有不小的比例。同时,软件协议栈的引入无疑要占用更多的系统资源,对于嵌入式系统来说是可观的。但是对于嵌入式系统在网络化开发的过程中,首先要解决的就是与以太网络的连接问题,亦即如何将通用处理器的网络连接装置(以太网络控制器)应用于嵌入式网络的开发。 目前市面上有许多以太网络控制芯片,可是其中大多耗电量高、功能复杂,不适用于价格低廉的嵌入式系统之中。我们选择使用的是rtl8019以太网控制器。
系统硬件设计
am186ed嵌入式微处理器
作为高性能的80c186兼容16位嵌入式微控制器,am186ed微控制器结合了80c186/188 系列微控制器体系结构,但具有更高的性能。同时,它还带有一个含有dram控制器的装置用以提高性能。与80c186/188微控制器相比,am186ed 微控制器可以减少体积、降低功耗和系统开销而增强性能和功能性。am186ed 控制器为那些需要超过64k字节ram的系统提供了一个理想的解决方案。 含有dram控制器的装置指的是降低系统开销而增强功能性的应用组件,包括一个dma控制器,和可以直接连到dma通道的串行通信口。另外,am186ed 微控制器还集成了一些常见的外围器件,包括3个定时器,片选逻辑,一个中断控制器,2个dma控制器,一个看门狗定时器等。
rtl8019as以太网控制器
由realtek公司生产的rtl8019as高集成以太网控制器芯片集成了介质访问控制子层(mac)和物理层的性能,可以方便地设计基于isa总线的系统,简单的与通用单片机进行接口。另外,它还具有与ne2000兼容、软件移植性好,以及低廉的价格等优点,在市场上的10mbps网卡中占有相当的比例。
主要性能
(1)适应于ethernet ii 、ieee802.3协议、10base5、10base2、10baset;
(2)支持8位、16位数据总线,8个中断申请线以及16个i/o基地址选择;
(3)全双工,收发可同时达到10mbps的速率,具有休眠模式,以降低功耗;
(4)内置16kb的sram,用于收发缓冲,降低对主处理器的速度要求;
(5)可连接同轴电缆和双绞线,并可自动检测所连接的媒介类型;
(6)支持闪存读写;
(7)允许四个诊断led引脚可编程输出;
(8)100 脚的tqfp封装,缩小主机板尺寸。
硬件系统结构
主要使用了xilinx公司生产的cpld芯片xc9536,实现了rtl8019的各个逻辑控制信号。这里,rtl8019使用了跳线模式、io方式读写。详细说明如下:
(1)、给rtl8019的ne2000兼容的各个寄存器分配了pcs0引脚,io地址为00h~ffh,这样,只需要将cpu的a0~a4连接到rtl8019上就可以了。rtl8019默认的io地址是300h~3ffh,因此将rtl8019上的sa19~sa10和sa7~sa5接为地,sa9、sa8接为vcc。
(2)、使用16位方式读写rtl8019as芯片,将rtl8019上的iocs16b引脚通过10k的上拉电阻接为vcc。使用io模式读写网络芯片,smemrb和smemwb接上拉电阻为vcc。
系统软件设计
嵌入式实时多任务操作系统
在该系统设计中,引入了实时操作系统(rtos)。作为一个完整的操作系统,rtos有一个可靠性很高的实时内核,将cpu时间、中断、i/o、定时器等资源都包装起来,留给用户一个标准的应用程序接口(api);根据各个任务的优先级,合理地在不同任务之间分配cpu的时间,保证程序执行的实时性、可靠性。内核一般都能提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
本系统采用的是ati 公司(accelerated technology incorporated )的nucleus 操作系统。我们已经成功的将该操作系统移植到am186ed上。
软件设计
系统的软件设计主要是针对网络芯片进行的。下面就详细介绍一下对于rtl8109as的软件设计
其软件