g版的Ethernut开发板.docx
- 文档编号:9554197
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:22
- 大小:1.10MB
g版的Ethernut开发板.docx
《g版的Ethernut开发板.docx》由会员分享,可在线阅读,更多相关《g版的Ethernut开发板.docx(22页珍藏版)》请在冰豆网上搜索。
g版的Ethernut开发板
第1部分开发指南
第1章1.3g版的Ethernut开发板
1.3g版的Ethernut是一个小体积的4层板,尺寸为80mm×100mm,使用Atmel的ATmega128单片机和Realtek的RTL8019AS以太网控制芯片,如图1.1所示。
图1.11.3g版Ethernut开发板
该开发板具有以下的技术特点:
●使用4层的PCB板。
●Ethernut1.3g通过了欧洲的EMI认证。
●主控芯片为具有16MIPS性能的ATmega128。
●以太网控制器为RTL8019AS,支持IEEE802.2和IEEE802.3标准。
●在开发板上集成一个RJ-45接口,支持10Mb的以太网。
●提供2个RS-232串口,其中一个串口通过DB-9插座引出。
●128KB片内可编程的FLASHROM。
●4KB片内可编程的EEPROM。
●32KBSRAM。
●22个可编程的I/O口。
●8个10位的模拟/数字转换器。
●2个8位和2个16位的定时/计数器。
●提供一个JTAG和ISP接口。
●使用看门狗以提高系统的稳定性。
●共4个LED用于指示电源和以太网的状态。
●需要一个DC8V~16V或AC7V~12V的电源。
附录A为该开发板的原理图,在编者的网站上有该开发板Eagle4.11和ProteiDXP格式的原理图和PCB图,读者可以自行下载。
读者在自制板时应注意,下载的PCB图中存在着一个Bug,读者在制板和焊接时应更正。
板上使用的MIC2775复位控制芯片太敏感,常常误复位,因此在MIC2775的/MR脚上新增一个10KΩ的上拉电阻和100nF的电容接地,如图1.2所示,编者将电阻和电容焊在JTAG的插座的背面,如图1.3所示。
图1.2新增的电阻和电容图1.3PCB板上新增的电阻和电容
对开发板作一些改动,就可以在1.3g版上直接使用已编译好的1.3f版的源代码,改动如图1.4所示。
拆去1.3g开发板上的R7(1206封装的0Ω电阻,在板的正面),图1.5所示为焊去该电阻后开发板的局部放大图,在原PCB底板R37的空位上焊上一个10kΩ电阻,图1.6所示为焊上R37后的图片,编者用1206封装的电阻。
图1.4原理图上的修改说明
图1.5开发板上拆去R7图1.6底板上补焊上R37
通过使用Ethernut开发板,除了可以让用户快速掌握Nut/OS和Nut/Net外,还可以将该开发板直接应用于用户的产品中。
由于开发板在建立一个Web服务器后,还有相当多的剩余资源用于容纳用户的应用程序,一般情况下,用户的程序可以直接保存在开发板上的ATmega128中,这有利于降低用户的生产成本和开发难度。
由于Ethernut为开源软硬件,所以允许用户对该设计方案的硬件进行增删,重写和设计自己的PCB板。
Ethernut可以直接应用于以下及用户可以想得到的地方:
●网络传感器。
●远程诊断和维修。
●远程监控。
●远程报警服务装置。
●工业以太网应用装置。
●家用电器的监控。
●小型网关,用于支持RS-323设备联网的转换器。
1.1硬件结构
1.3g版的Ethernut的硬件结构框图如图1.7所示。
图1.71.3g版Ethernut的硬件结构框图
在其中最重要的一个元器件就是ATmega128单片机,读者在学习本书前,最好能够先看一看该MCU的数据手册,也可以到编者的网站下载中文数据手册。
开发板上的LM1086给整个开发板提供+5V电源;外扩一片K6T080832KB的SRAM;ATmega128共提供两个硬件UART接口,在Ethernut开发板上,其中一个通过ST3222引出到DB-9插座上;以太网控制芯片为RTL8019AS;FB2022为与RTL8019AS配套的隔离变压器。
1.1.1扩展输出端子
扩展输出端子直接引出了ATmega128的总线、I/O口、复位、RD以及WR等端口,用户能够通过这些输出端子向ATmega128输入/输出一些数据和控制信号,也可以利用这个扩展输出端子监控ATmega128的工作状态,还可以利用这些扩展端口增加一些附加的扩展电路板,如板载VS1001的MP3解码扩展板。
表1.1为Ethernut扩展输出端口的定义说明,图1.8所示为扩展输出端子的定义示意图。
表1.1Ethernut扩展输出端口简单说明
端口号
说明
功能简介
63~64
NC
空脚
55~62
PORTD
端口D,8位双向I/O口
47~54
PORTB
端口B,8位双向I/O口
39~46
PORTE
端口E,8位双向I/O口
23~38
ADDR
16位地址总线
15~22
DATA
8位数据总线
14
WR
外部RAM写信号
13
RD
外部RAM读信号
11~12
VCC
+5V电源,最大电流400mA
10
DC
未稳压的直流输入
9
RESET
复位信号
5~8
GND
地
3~4
VCC
+5V电源,最大电流400mA
1~2
NC
空脚
1.1.2DB-9插座
Ethernut的RS-232使用一个DB-9插座,表1.2为DB-9插座的管脚功能定义说明,图1.9所示为DB-9插座结构示意图。
注意该DB-9插座定义与标准的RS-232定义有所不同,也与2.1b版的Ethernut开发板不同。
表1.2DB-9插座简单说明
端口号
说明
功能简介
1
NC
空脚
2
TXD
发送数据
3
RXD
接收数据
4
NC
空
5
GND
地
6
NC
空脚
7
CTS
允许发送
8
RTS
请求发送
9
Power
电源脚
图1.8扩展输出端子定义图1.9DB-9插座示意图
1.1.3RJ-45端口
Ethernut通过RJ-45端口与以太网相连,表1.3为Ethernut的RJ-45端口功能定义说明,图1.10所示为RJ-45端口功能定义示意图。
表1.3RJ-45端口简单说明
端口号
说明
功能简介
1
TX+
发送+
2
TX-
发送-
3
RX+
接收+
4
POWER
电源
5
POWER
电源
6
RX-
接收-
7
POWER
电源
8
POWER
电源
说明:
在EIA/TIA-568A标准中,以太网的网线使用编号为1、2和3、6的芯线传递数据,编号为4、5和7、8的芯线没有利用,因此可以利用这些空的芯线作为电源线使用。
1.1.4ISP和JTAG端口
Ethernut中的ATmega128可以通过ISP将编译后的代码写入片内的FLASH和EEPROM中。
早期的ISP端口只有6个引脚,现改为10个引脚。
Ethernut开发板上为10个引脚的ISP端口,表1.4为该端口功能定义说明,图1.11所示为该端口的示意图。
表1.4ISP端口简单说明
端口号
说明
功能简介
1
MOSI
数据输入
2
VCC
+5V电源
3
PROG
编程模式
4
GND
地
5
RESET
复位
6
GND
地
7
SCK
时钟
8
GND
地
9
MISO
数据输出
10
GND
地
图1.10RJ-45端口示意图图1.11ISP端口示意图
JTAG端口可以用来仿真ATmega128的工作情况,也可以将编译后的代码写入ATmega128芯片,表1.5为该端口功能定义说明,图1.12所示为该端口的功能定义示意图。
表1.5JTAG端口简单说明
端口号
说明
功能简介
1
TCK
测试时钟,从JTAGICE到目标JTAG端口的时钟信号
2
GND
地
3
TDO
测试数据输出,从目标JTAG端口到JTAGICE的数据信号
4
VTref
目标参考电压
5
TMS
测试模式选择,由JTAGICE到目标JTAG端口的模式选择信号
6
nSRST
由适配器到目标系统复位的集电极开路输出,这个引脚也是适配器的输入,目标初始化信息通过这个引脚送入JTAGICE
7
Vsupply
JTAGICE的电源输入
8
nTRST
没有连接,通常用于兼容其他设备,如JTAG端口复位等
9
TDI
从JTAGICE到目标JTA端口的测试数据输入、数据信号
10
GND
地
注意:
ISP和JTAG同为10脚的插座,外形相同,但插座引脚的定义不同,因此不能插错,否则会损坏开发板。
靠近开发板边缘的10脚插座为ISP插座,只能使用STK-500下载线。
远离开发板边缘的为JTAG插座,如图1.13所示。
推荐使用JTAG进行下载和仿真。
图1.12JTAG端口示意图图1.13ISP和JTAG插座
1.1.5LED指示灯
Ethernut开发板上共有4个LED指示灯,如图1.13所示。
红色的LED1为电源指示灯,当Ethernut开发板通电后该LED亮。
红色的LED2用于UART0的发送数据指示。
绿色的LED3和黄色的LED4用于指示以太网的工作状态,以太网正常连接时,黄色的LED4点亮,当以太网收发数据时,绿色的LED点亮。
1.1.6跳线设置
为了尽量增加Ethernut开发板的适应性,在1.3g开发板上共有5组跳线,其位置如图1.14所示。
下面对其分别进行介绍。
图1.14跳线端口位置示意图
●
JP1:
用于将UART0的发射端与接收端分别与DB-9插座相应的端口相连接,通常应该短接JP1的1、3和2、4两组端口,如图1.15所示。
●JP2:
用于连接DB-9插座RS-232口的RTS和CTS信号,通常应该短接JP2的1、3和2、4两组端口,如图1.15所示。
●JP3:
通过以太网线给Ethernut供应电源。
通过短接JP3的1、3和2、4跳线,如图1.16所示。
将通过网线传输的电源连接至开发板的交流输入端,由于交流输入端后面带有整流电路,因此可以不考虑输入电源的极性。
该跳线的默认情况是不设置,即没有连接。
图1.15JP1和JP2的跳线设置图1.16JP3的跳线设置
1.1.7电源输入
Ethernut需要输入一个DC8V~12V或AC7V~12V的电源,在开发板上有D1~D4共4个二极管组成的整流全桥,将输入的交流电整流为直流电,也可让通过电源连接器进入的DC电源不必区分极性,将得到的直流电滤波后经过LM1086生成稳压的+5V电源,供板上的ATmega128和RTL8019AS等芯片使用。
可以通过以下3种方法给Ethernut供电。
●方法1:
使用标准2.1mm的电源连接插座,可以直接输入8V~12V的直流或6V~9V的交流。
使用这种输入方法,由于内部有已有整流全桥,因此不必考虑输入直流电源的极性,但要注意,不能输入过高的电压,否则可能会损坏LM1086。
●方法2:
通过RJ-45端口输入电源。
由于以太网编号为4、5和7、8的芯线没有利用,因此可以利用这4根芯线来传输电源,通过短接JP3的1、3和2、4跳线,将通过网线传输的电源连接至开发板的交流输入端,由于交流输入端后面带有整流电路,因此可以不考虑输入电源的极性。
用这种供电方式的最大电流不应超过500mA,否则可能损坏以太网线。
●方法3:
通过扩展输出端子接电源。
在扩展端口10脚接+8V~+16V的直流电压,5、6、7或8脚接输入电源的地,也可以直接在3、4、11或12脚接已经稳压过的+5V电源。
注意,这是无保护的供电方式,如果输入电压过高或电源极性接反,会导致开发板损坏。
1.2运行BaseMon演示程序
当然,用户在准备运行BaseMon程序前,应该先做好以下的准备工作:
●1块1.3g版的Ethernut开发板,可以购买或自制。
如果是自制的开发板,则必须将basemon.hex写入ATmega128的FLASH中;如果是购买的Ethernut开发板,则板上已经写入该文件。
●一台PC机,上面必须安装有Linux操作系统或Windows95/98/2000/XP/2003操作系统,虽然Ethernut最初是使用Linux下的开发工具,而且每次推出新版源代码总是基于Linux平台的,但鉴于绝大多数的读者都是使用基于Microsoft的Windows操作系统,因此本书将针对Windows98和WindowsXP两种操作系统进行介绍,不介绍与Linux相关的内容。
PC机中还必须安装一个10Mb或10/100Mb兼容的网卡,在开发和学习网络时,强烈建议用户使用一个和其他网络完全隔离的单独网络,比如用PC机中的网卡与Ethernut开发板直接连接,组成一个小型网络,这样可以防止在调试和测试时干扰网络的正常通信,也可以避免被网络上的通信干扰调试和测试过程。
●PC机上还必须安装相应的串口通信软件,对于Windows98和WindowsXP两种操作系统,都必须安装超级终端软件。
在Windows98中必须由用户手工添加,选择“开始→设置→控制面板→添加/删除程序→Windows安装程序→通信”,然后选中“超级终端”复选框,再单击“确定”按钮即可。
在WindowsXP中,超级终端已默认安装。
●一个连接PC机串口与Ethernut开发板上的DB-9的串口延长线,一般在电脑城或者电子配件店都可以购买到。
●一个交流或直流电源,输出电压为AC6V~12V或DC8V~16V,输出电流应大于500mA。
●一根连接Ethernut和以太网交换机(或集线器)的以太网线,如果读者将Ethernut直接与PC机上的网卡相连,则该网线的一头必须符合EIA/TIA-568A标准,另一头必须符合EIA/TIA-568B标准,即两个水晶头的发送线与接收线交换一下。
如果将Ethernut与交换机或集线器相连,网线的两头同时符合EIA/TIA-568A或EIA/TIA-568B标准即可。
在任一家电脑店都可以购买到该连线,只要在购买时说明用途(连接交换机或PC互联线)即可。
●一个与Atmel的STK-500相兼容的下载线,以及与下载线相配套的下载软件。
●一种合适的编译软件,可以选用WinAVR或ICCAVR。
如果选用ICCAVR,应选用专业版(PROFESSIONAL),而不能选用标准版(Standard)或演示版,因为后面两个版本不能编译大于64KB的代码。
也可以使用CVAVR来编译Ethernut,但是由于该编译器与WinAVR和ICCAVR的代码不兼容,需要较大的移植工作量,所以不推荐使用。
●一个可选的JTAG仿真器和仿真软件。
确定已经完成了以上的准备工作后,用串口线连接Ethernut板上的DB-9与PC机的COM口,打开超级终端,选择PC机上与Ethernut相连接的COM口,一般为COM1或COM2。
只要波特率在38400bit/s~115200bit/s之间,BaseMon程序就能够自动测定和设置波特率。
这里设定为38400bit/s,无奇偶校验,8个数据位和1个停止位,流量控制使用Xon/Xoff,如图1.17所示。
BaseMon演示程序自动波特率测定的功能是通过检测PC机送出的空格字符来确定的,原理如下:
其中校正值范围为0~71。
当晶振频为14.7456MHz,默认的校正值为23时,则默认的波特率为:
使用相应的以太网线将开发板与PC机上的网卡直接相连,或者将开发板和交换机(或集线器)相连接。
要注意,这两种连线是不同的。
再将电源转换器上的电源输出插头插在开发板的电源插座上,给开发板输入7V~12V交流电或8V~12V直流电,Ethernut的LED1(电源指示灯)和LED4(以太网工作指示灯)将点亮。
在完成以上设置后,在超级终端的界面中按住空格键不放,然后按一下开发板上的复位按钮,略等数秒后在超级终端上就会显示如图1.18所示的BaseMon欢迎界面。
如果开发板在2分钟之内没有检测到PC机送出的空格字符,开发板就自动设置波特率为38400bit/s(晶振14.7456MHz时),并跳过BaseMon欢迎界面进行自检,自检结束后向串口输出提示信息,自动运行Nut/OS操作系统和Nut/Net协议栈,配置以太网参数并提供Web服务。
图1.17超级终端的设置图1.18BaseMon欢迎界面
如果在BaseMon欢迎界面中选择“B”功能,Ethernut将初始化以太网控制器(RTL8019AS)并向以太网不断发送广播信号,开发板上黄色的LED和绿色的LED会不断闪烁,并在超级终端输出如图1.19所示的提示信息,直到用户在超级终端中按下任意一个按键后才停止发送以太网广播信号。
利用这个功能,用户可以通过示波器检查RTL8019AS发出的以太网数据信号是否正常。
如果在BaseMon欢迎界面中选择“E”功能,则Ethernut将从8300地址连续读取以太网控制器(RTL8019AS)的ID,在超级终端输出如图1.20所示的提示信息,直到用户在超级终端中按下任意一个按键后才停止读取。
图1.19以太网广播状态提示信息
图1.20RTL8019AS的ID信息
利用这个功能,可以通过示波器或逻辑分析仪来检查地址总线和数据总线的工作情况。
如果在BaseMon欢迎界面中选择“J”功能,则程序将开始执行指令地址为1f000h处的指令,如果Ethernut开发板在1f000h处写入bootloader程序,则该程序将运行DHCP/BOOTP/TFTP协议并从指定的TFTP服务器中装入新的目标文件(扩展名为.bin),要注意,新的目标文件会覆盖掉现在正在运行的程序文件。
使用该功能后在超级终端输出“Booting…”的提示信息,如图1.21所示。
图1.21Bootloader的信息
注意:
这种方式虽然可以很快装入新的目标文件,但由于bootloader在写入校检失败后会自动重写,如果用户修改bootloader程序有误或操作不当,就可能在很短的时间内就将该页的FLASH写坏而导致ATmega128报废。
早期生产的ATmega128的FLASH写寿命为1000次,只要几秒钟就会将该页的FLASH写坏;现在生产的ATmega128的FLASH写寿命为10000次,写坏的时间会长一些。
如果不是特殊情况,不建议使用这种方式更新目标文件,而建议使用ISP下载或通过JTAG仿真器下载新的目标文件方式。
如果在BaseMon欢迎界面中选择“S”功能,将进入测试SRAM状态,Ethernut将测试地址总线和数据总线中的每一个位,并在超级终端输出如图1.22所示的提示信息,直到用户在超级终端中按下任意一个按键后才停止查找和校验。
利用这个功能,可以通过示波器或逻辑分析仪来检查地址总线和数据总线的工作情况。
图1.22测试SRAM的提示信息
如果在BaseMon欢迎界面中选择“X”功能,将退出BaseMon界面。
Ethernut将初始化Nut/OS实时操作系统,提示用户输入以太网参数。
在演示中,若输入MAC为000698000000,IP地址为192.168.1.2,子网掩码为255.255.255.0,网关为192.168.1.1,Nut/OS将配置以太网,最后提供Web服务,在超级终端输出如图1.23所示的提示信息。
图1.23超级终端上的提示信息
一个以太网控制器的MAC地址是由48个二进制位组成的,前24位是以太网控制器的识别标志,这个识别标志是由IEEE组织分配的,每个厂商均不相同,其中EgniteSoftwareGmbH的前24位为000698。
后面24位作为以太网控制器的生产序列号由生产厂商自行分配,只是要求每块以太网控制器的生产序列号不能重复,因此每个以太网控制器的MAC地址必须各不相同。
在我们的实验中,至少要保证局域网内的MAC地址不重复。
1.3网络设置
1.3.1PC机网卡的设置
Ethernut开发板要通过TCP/IP协议连入以太网或互联网,就必须给开发板分配一个IP地址,而且必须是当前没有被网络中的其他节点所使用的IP地址。
如果用户将开发板放到一个局域网中测试,应向网络管理员申请一个IP地址,并知道该局域网的子网掩码和网关。
如果用户的局域网中有DHCP服务器,就可以将开发板的IP地址设置为0.0.0.0,Ethernut会询问DHCP服务器,自动配置DHCP服务器分配的IP地址、子网掩码和网关。
如果Ethernut开发板没有连入以太网或互联网,而是直接与PC机上的网卡互连,组成一个小型的网络,这样理论上Ethernut可以使用任意的IP地址,只要不与PC机上的网卡相同即可,但是通常情况下都是使用如192.168.x.x这样的内网地址。
在下面的介绍中,假设开发板是与PC机网卡互联,PC机使用RTL8139C以太网控制芯片的网卡,设置网卡的IP地址为192.168.1.1,Ethernut开发板的IP地址为192.168.1.2,子网掩码均为255.255.255.0,网关为192.168.1.1。
必须先按以下方法设置PC机网卡的IP地址,在Windows98环境中,选择“开始→设置→控制面板→网络”,打开如图1.24所示的网卡配置界面。
在WindowsXP环境中,选择“开始→设置→控制面板→网络和Internet连接→网络连接→本地连接(RealtekRTL8139)”,打开如图1.25所示的网卡配置界面。
图1.24Windows98中的网络属性图1.25WindowsXP中的本地连接属性
在Windows98中,选择TCP/IP→RealtekRTL8139(A/B/C/8130)PICFastEthernetNIC的属性,并输入指定的IP地址,如图1.26所示。
再在网关配置页面中输入网关为192.168.1.1。
在WindowsXP中,选择“Internet协议(TCP/IP)”的属性,并输入指定的IP地址,如图1.27所示。
说明:
编者用的网卡为RTL813910M/100M网卡,如果读者用的网卡型号与编者的不同,则读者PC上的提示信息会与编者的有所差异,但设置方法是一样的。
图1.26Windows98中指定IP地址图1.27WindowsXP中指定IP地址
1.3.2网络参数的设置
1.使用超级终端配置网络参数
在BaseMon界面中选择“X”功能,就可以输入指定的IP地址,如下:
MACaddress(000000000000):
000698000000
IPaddress(0.0.0.0):
192.168.1.2
Netmask(0.0.0.0):
255.255.255.0
Defaultroute(0.0.0.0):
192.168.1.1
如果需要选择默认的设置,直接按回车键即可。
2.使用DHCP服务器配置网络参数
当网络中存在DHCP服务器时,用户可以在超级终端中指定Ethernut的IP地址为0.0.0.0,Ethernut将查找网络中的DHCP服务器,并按照DHCP分配的IP地址自动设定。
如果没有修改过Ethernut的网络配置,则默认的IP地址就是0.0.0.0。
如果用STK-500下载线将ATm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ethernut 开发