摘要:本应用笔记列举了Maxim网络微控制器的一些常见问题(FAQ)。针对应用DS80C400、DS80C410或者DS80C411构建网络设备时所遇到的硬件和软件问题进行了解答,并解答了网络微控制器的一般性问题。本文给出了可供参考的应用笔记、技术指南和软件资源。
1B. DS80C400、DS80C410和DS80C411之间的差别是什么?
1C.我如何运用64kB内部SRAM?
1D. TINI® OS是什么?
1E. Slush是什么?
1F. 网络微控制器是如何与因特网接口的?
1G. 网络栈是什么?
1H. 我以前没有用过网络协议。我应该怎样开始设计?
1I. 提供哪些开发工具?
1J. 提供DS80C400、DS80C410和DS80C411在线仿真器(ICE)吗?
1K. 我怎样获得DS80C400和TINI OS方面的技术支持?
2B. 我怎样对DS80C400进行编程?我必须用Java™编程吗?
2C. 使用Maxim的TCP/IP栈需要付费吗?
2D. 我必须使用Maxim的MAC ID芯片(DS2502)吗?
2E. 有C、Java和TCP编程方面的参考书吗?
2F. 如果我使用C或汇编语言编程,该怎样访问栈呢?
2G. 我怎样将DS80C390的代码移植到DS80C400上运行呢?
2H. 生产过程中,我如何对闪存和NV RAM进行编程呢?
2I. 一个外部文件系统可以和TINI协同工作吗?
2J. TINI可以从网络上读取音频数据流,并输出给一个数字扬声器吗?
3B. 使用套接字的以太网端口,其最大传输速率是多少?
3C. 有没有参考设计来帮助我加快设计进程?
3D. 连接到以太网需要哪些接口器件?
3E. 设备如何获得它的以太网MAC地址?
3F. DS80C400需要多高的工作电压?
3G. 对最低存储器配置有何要求?
3H. 基于DS80C400的设计是如何加载程序存储器的?
3I. 我如何在DS80C400/DS80C410/DS80C411评估板上获得更多的IO呢?
3J. 为什么我的TINI评估板无法使用x4时钟倍频呢?
3K. 我的应用需要更多的串口。我可以为我的TINI评估板增加外部串口吗?
3L. 什么是以太网供电(PoE)?
欲了解更多信息,请参考下面的文档:
DS80C400数据资料
高速微控制器用户指南:网络微控制器补充资料(English only)
高速微控制器用户指南(English only)
DS80C410和DS80C411数据资料
应用笔记707:"Using the DS80C400 to Maximize System Performance"
表1. TINI运行环境支持的网络协议
有关TINI运行环境的更多信息,请参考下面的链接。
TINI接口方面,应用笔记708:"Exploring Tiny InterNet Interfaces (TINI)"
PPP方面,应用笔记702:"Using TINI Point-to-Point Protocol (PPP)"
IPv4/6方面,应用笔记703:"Embedded Networking with IPv6"
TCP方面,应用笔记196:"Designing a Virtual Modem Using TINI"
HTTP方面,TINIWebserver (位于tini_1.1x SDK的examples目录下)
Slush不是一个完整的操作系统,但又比一个简单的shell功能多。它提供了查看和操作文件系统的方法,并可控制包括看门狗定时器和网络配置等在内的系统功能。
Slush文档资料可从以下链接获取:TINI SDK的tini1.1x\doc目录
应用笔记3108:"Modifying and Rebuilding Slush"
与因特网的物理连接是通过一个物理层接口(PHY)实现的。它将微控制器的0V到3V信号转换为0V高电平、-2.05V低电平的信号。PHY由集成电路、变压器和相关的支持电路组成。用标准的Cat 5E电缆,并通过一个插孔将系统与墙上以太网网口相连。
了解更多信息,请查阅参考指南:Getting Started with TINI (PDF)和TINI规范和开发指南
DS80C400-KIT:该评估套件包括评估DS80C400微控制器所需的所有软硬件。它包括DSTINIm400 + DSTINIs400评估板、DB9直通式电缆、以太网交叉电缆、Keil C编译器试用版、Keil C函数库和TINI SDK。
模块和插座板可在生产或设计中分别购买。
DSTINIm400:评估模块,评估DS80C400的子板。
DSTINIm400:插座板,DSTINIm400的母板。
DSTINIm410:评估模块,用于评估DS80C410和DS80C411。
Systronix制造的TStik评估板,允许开发人员以单板机或评估板的形式使用DS80C390或DS80C400。
TINI软件开发工具包(SDK)是一套免费的开发工具,它包含编程用的API和TINI JAVA运行环境,并提供应用实例和文档资料。
TINI SoM-400EM模块由EMAC, Inc.提供。模块基于DS80C400网络微控制器,并可定购与DSTINIm400引脚兼容的版本。
如需技术支持,请访问Maxim支持中心。
应用笔记2935:"Design Considerations for CAN Bus and Asynchronous Serial"
应用笔记704:"Asynchronous Serial-to-Ethernet Device Servers"
Getting Started with TINI (PDF)
应用笔记614:"Diagnostic Port for the TINIs400"
应用笔记613:"DS80C400的Keil C语言编程"
应用笔记3362:"Using the Keil µVision Debugger with the DS89C4x0"
应用笔记606:"Configuring Keil PK51 Tools to Support 24-Bit Contiguous Addressing Mode"
应用笔记2777:"用Keil MON390编程TINIm400"
应用笔记3346:"在DS80C400应用中使用SDCC编译器"
The TINI Specification and Developer's Guide,作者Don Loomis (Addison-Wesley,2001)。这本书已经停止出版,但是旧的版本可以在网上书店找到。本书的免费PDF格式文件,可从这里下载:TCP/IP Illustrated,Volume 1:The Protocols,W. Richard Stevens,(Addison-Wesley,1994)。
Thinking in Java,Bruce Eckel,(Prentice Hall PTR,2002)。
更多技术问题,参见Jan Axelson编写的Embedded Ethernet and Internet Complete。
也可以在汇编语言中调用网络栈。我们在TINI SDK中提供了一个汇编器。程序名是a390.exe。汇编语言与网络栈接口的实例可参见应用笔记609:"Internet Speaker with the DS80C400 Silicon Software"。
更多信息参见:Getting Started with TINI Guide (PDF)
应用笔记3398:"DS80C400/DS80C410/DS80C411 Network Boot"
应用笔记709:"Adding An External File System to TINI"
应用笔记609:"Internet Speaker with the DS80C400 Silicon Software"
应用笔记3266:"Using the DS80C400/TINIm400 for Remote Audio"
应用笔记615:"Design Considerations for DS80C400-Based TINI Systems"
应用笔记3478:"DS80C400/410/411闪存选择"
应用笔记2935:"Design Considerations for CAN Bus and Asynchronous Serial"
存储器的访问速度取决于工作时钟频率和电路板设计。例如我们经常说,一个运行在36MHz时钟频率下的系统,需要一个70ns RAM和闪存。为实现全速运行,你需要使用15ns或者更快访问时间的RAM。
应用笔记3478:"DS80C400/410/411闪存选择"
应用笔记1087:"Micro Tutorial 1: Understanding DC Electrical Characteristics of Microcontrollers"
ROM加载器使用一个由外部时钟源(晶体或振荡器)作为时钟的内部计数器,并将波特率自动调整到与输入串行数据流相一致。由于自动波特率特性和外部时钟源有关,我们建议你采用18.432MHz晶振和x4倍频模式,从而使其运行在大约73MHz频率下。这个频率可使自动波特率程序与大多数标准波特率相同步。
关于如何使用一个复杂的可编程逻辑器件(CPLD)来配置硬件并开发相应的软件,从而为TINIs400插座板提供32个额外GPIO引脚,有一篇应用笔记对此进行了逐步说明。请参考应用笔记3664:"扩展TINI的IO性能"。
应用笔记3413:"初始化高速TINI系统"
应用笔记3412:"TINIS400外部串口参考设计"
应用笔记2380:"Using TINI's Serial Ports"
应用笔记3363:"新型以太网系统,与数据传输一起提供直流供电"
1. 一般性问题
1A. 什么是网络微控制器?1B. DS80C400、DS80C410和DS80C411之间的差别是什么?
1C.我如何运用64kB内部SRAM?
1D. TINI® OS是什么?
1E. Slush是什么?
1F. 网络微控制器是如何与因特网接口的?
1G. 网络栈是什么?
1H. 我以前没有用过网络协议。我应该怎样开始设计?
1I. 提供哪些开发工具?
1J. 提供DS80C400、DS80C410和DS80C411在线仿真器(ICE)吗?
1K. 我怎样获得DS80C400和TINI OS方面的技术支持?
2. 软件问题
2A. 串口/CAN/1-Wire的以太网桥是什么?2B. 我怎样对DS80C400进行编程?我必须用Java™编程吗?
2C. 使用Maxim的TCP/IP栈需要付费吗?
2D. 我必须使用Maxim的MAC ID芯片(DS2502)吗?
2E. 有C、Java和TCP编程方面的参考书吗?
2F. 如果我使用C或汇编语言编程,该怎样访问栈呢?
2G. 我怎样将DS80C390的代码移植到DS80C400上运行呢?
2H. 生产过程中,我如何对闪存和NV RAM进行编程呢?
2I. 一个外部文件系统可以和TINI协同工作吗?
2J. TINI可以从网络上读取音频数据流,并输出给一个数字扬声器吗?
3. 硬件问题
3A. 使用TINI OS访问串口时,串口的最大吞吐速率是多少?3B. 使用套接字的以太网端口,其最大传输速率是多少?
3C. 有没有参考设计来帮助我加快设计进程?
3D. 连接到以太网需要哪些接口器件?
3E. 设备如何获得它的以太网MAC地址?
3F. DS80C400需要多高的工作电压?
3G. 对最低存储器配置有何要求?
3H. 基于DS80C400的设计是如何加载程序存储器的?
3I. 我如何在DS80C400/DS80C410/DS80C411评估板上获得更多的IO呢?
3J. 为什么我的TINI评估板无法使用x4时钟倍频呢?
3K. 我的应用需要更多的串口。我可以为我的TINI评估板增加外部串口吗?
3L. 什么是以太网供电(PoE)?
1. 一般性问题
1A. 什么是网络微控制器?
网络微控制器,使设计者能够快捷、简单地为嵌入式系统增加以太网/因特网连接功能。除了具有一个10/100以太网MAC外,微控制器还有三个串口、一个控制器局域网(CAN) 2.0B控制器和一个1-Wire®网络主机。为实现对网络的访问,ROM中提供了TCP IPv4/6网络栈和操作系统,它们完全可以被应用程序访问。网络栈支持TINI OS下最多20个并发TCP连接,并通过以太网MAC实现高达5Mbps的传输速率。欲了解更多信息,请参考下面的文档:
DS80C400数据资料
高速微控制器用户指南:网络微控制器补充资料(English only)
高速微控制器用户指南(English only)
DS80C410和DS80C411数据资料
应用笔记707:"Using the DS80C400 to Maximize System Performance"
1B. DS80C400、DS80C410和DS80C411之间的差别是什么?
DS80C400包括:一个CAN控制器、64kB ROM存储器、8kB网络SRAM、1kB应用RAM和一个以太网MAC。DS80C410和DS80C411是DS80C400的衍生版本。DS80C410具有64kB应用SRAM;DS80C411具有64kB内部SRAM,但没有CAN控制器。1C. 我如何运用64kB内部SRAM?
64kB SRAM和TINIm41x外部存储器是重叠的。你可以使用这两个存储器中的任何一个,但不能同时使用。(TINI OS不会识别到重叠现象。)1D. TINI OS是什么?
更确切地讲,TINI OS是指TINI运行环境,它是一个Java运行环境,用于开发Maxim系列内置IP协议栈的微控制器(如DS80C400)的网络应用程序。随着IP网络的普及,嵌入式系统的联网功能也变得十分必要。然而,网络协议编程十分复杂,而且需要很长的测试周期。TINI运行环境提供了完整的TCP IPv4/6协议栈,它符合因特网标准。网络栈由一个多任务操作系统TINI OS驱动。使用TINI运行环境和它自带的API,开发者能够快速编写嵌入式网络应用程序。表1列出了目前支持的网络协议。表1. TINI运行环境支持的网络协议
PPP | DAD |
IPv4/6 | SMTP |
TCP | DHCP |
UDP | FTP |
IGMP | HTTP |
ICMP | TELNET |
有关TINI运行环境的更多信息,请参考下面的链接。
TINI接口方面,应用笔记708:"Exploring Tiny InterNet Interfaces (TINI)"
PPP方面,应用笔记702:"Using TINI Point-to-Point Protocol (PPP)"
IPv4/6方面,应用笔记703:"Embedded Networking with IPv6"
TCP方面,应用笔记196:"Designing a Virtual Modem Using TINI"
HTTP方面,TINIWebserver (位于tini_1.1x SDK的examples目录下)
1E. Slush是什么?
Slush是一个小型的系统shell。类似Unix®,它提供与串口(TTY)、Telnet和FTP服务器的接口。Slush不是一个完整的操作系统,但又比一个简单的shell功能多。它提供了查看和操作文件系统的方法,并可控制包括看门狗定时器和网络配置等在内的系统功能。
Slush文档资料可从以下链接获取:TINI SDK的tini1.1x\doc目录
应用笔记3108:"Modifying and Rebuilding Slush"
1F. 网络微控制器是如何与因特网接口的?
一个内置的10/100 Base-T以太网媒体访问控制(MAC)模块,构成了微控制器和以太网之间的数据接口。它将文件或数据转换为符合以太网传输规范的数据包。与因特网的物理连接是通过一个物理层接口(PHY)实现的。它将微控制器的0V到3V信号转换为0V高电平、-2.05V低电平的信号。PHY由集成电路、变压器和相关的支持电路组成。用标准的Cat 5E电缆,并通过一个插孔将系统与墙上以太网网口相连。
1G. 网络栈是什么?
网络栈是协同工作的一组TCP/IP协议,它定义了因特网的通信过程。为便于软件访问,内部ROM存储了处理这些协议的软件。用户使用TINI编程时,可以自动访问这些栈空间;或者由用户编写的C和汇编程序来访问它们。使用TINI栈可以访问局域网和广域网。对以太网的全面支持使得设计能够与LAN连接。点对点(PPP)协议可实现串口IP (IP over serial),并支持无线网络或使用modem的电话线网络。1H. 我以前没有用过网络协议。我应该怎样开始设计?
幸运的是,通过TINI平台进行设计,并不需要你对以太网硬件或软件非常了解。搭配使用DSTINIm400评估模块和DSTINIs400插座板,即构成了整个硬件开发平台的基础。使用Java编程语言,可以方便地使用广泛的TINI平台软件函数库。TINI开发环境还提供了使用BSD套接字的标准套接字接口,更可简化高级用户的编程工作。了解更多信息,请查阅参考指南:Getting Started with TINI (PDF)和TINI规范和开发指南
1I. 提供哪些开发工具?
开发工具包括:DS80C400-KIT:该评估套件包括评估DS80C400微控制器所需的所有软硬件。它包括DSTINIm400 + DSTINIs400评估板、DB9直通式电缆、以太网交叉电缆、Keil C编译器试用版、Keil C函数库和TINI SDK。
模块和插座板可在生产或设计中分别购买。
DSTINIm400:评估模块,评估DS80C400的子板。
DSTINIm400:插座板,DSTINIm400的母板。
DSTINIm410:评估模块,用于评估DS80C410和DS80C411。
Systronix制造的TStik评估板,允许开发人员以单板机或评估板的形式使用DS80C390或DS80C400。
TINI软件开发工具包(SDK)是一套免费的开发工具,它包含编程用的API和TINI JAVA运行环境,并提供应用实例和文档资料。
1J. 提供DS80C400、DS80C410和DS80C411在线仿真器(ICE)吗?
Metalink Corporation和Phyton提供DS80C400的ICE。欲获取更多信息,请与这些厂商联系。1K. 我怎样获得DS80C400和TINI OS方面的技术支持?
TINI论坛是最快捷的途径,从那里可以得到大多数问题的答案。Maxim的专家和嵌入式开发社区的同伴经常在社区中进行在线交流。由于这些讨论组具有大量交流信息,因此与向下面技术支持邮件地址发送邮件的方式相比,提交到社区的技术问题可能会得到更快解答。登陆TINI论坛Maxim Discussion Board吧。登陆后,你就可以搜索一般问题的解答信息存档。如需技术支持,请访问Maxim支持中心。
2.软件问题
2A. 串口/CAN/1-Wire的以太网桥是什么?
一个系统经常需要将一种通信协议转换到另一种通信协议。例如,一个工厂设备可能有一个RS-232串口,但是它需要通过以太网接口与监控计算机进行通信。网络微控制器是在这些系统间实现桥接的理想器件。基于DS80C400的设计拥有四个串口、一个CAN接口和一个1-Wire接口,它可以作为不同类型网络间的高速智能桥。可以在TINI - Tiny InterNet Interfaces中找到一个以太网到串口桥的例子。应用笔记2935:"Design Considerations for CAN Bus and Asynchronous Serial"
应用笔记704:"Asynchronous Serial-to-Ethernet Device Servers"
2B. 我怎样对DS80C400进行编程?我必须用Java吗?
网络微控制器可以用Java、C或8051汇编语言进行编程。TINI运行环境同样支持DS80C400。Java
Sun Microsystems和Borland的Java编译器是兼容的。要运用所有以太网功能,并非必须采用Java,但它是在TINI环境下编程时最简单的首选方式。此外,Java环境的支撑工具和函数库是最多的。编译器可从Java Technology获得,需要“Java 2 Platform,Standard Edition” (J2SE)包;1.2.2、1.3.1或1.4.1版本以及Java Communications API。Getting Started with TINI (PDF)
应用笔记614:"Diagnostic Port for the TINIs400"
C
SDCC和Keil Software提供C编译器。可以使用传统的8051编译器,但是只有Keil Software的PK51 C编译器支持DS80C400和ROM网络栈的扩展地址空间。DS80C400的ROM中包含完整的TCP/IPv4/6网络栈和一个小型操作系统,可由用户编写的应用软件来访问。C函数库的主页参见Maxim DS80C400/410/411,这里包括函数库和用Keil工具开发的示例应用程序。文档/示例
Keil,IAR和SDCC的C函数库应用笔记613:"DS80C400的Keil C语言编程"
应用笔记3362:"Using the Keil µVision Debugger with the DS89C4x0"
应用笔记606:"Configuring Keil PK51 Tools to Support 24-Bit Contiguous Addressing Mode"
应用笔记2777:"用Keil MON390编程TINIm400"
应用笔记3346:"在DS80C400应用中使用SDCC编译器"
2C. 使用Maxim的TCP/IP栈需要付费吗?
与其它网络解决方案不同,Maxim允许用户免费使用微控制器内部基于ROM的TCP/IP栈,不收取任何费用。2D. 我必须使用Maxim的MAC ID芯片(DS2502)吗?
不是必须使用DS2502才能获取MAC ID。MAC ID可以用TINI OS通过软件编入设备中。但是根据许可协议,所有用于软件产品的程序,只允许与以太网地址芯片(DS2502)或其它被认可的替代品一起使用,以表明得到了Maxim的批准。2E. 有C、Java和TCP编程方面的参考书吗?
有很多这方面的书籍。我们的工程人员推荐以下参考书目:The TINI Specification and Developer's Guide,作者Don Loomis (Addison-Wesley,2001)。这本书已经停止出版,但是旧的版本可以在网上书店找到。本书的免费PDF格式文件,可从这里下载:TCP/IP Illustrated,Volume 1:The Protocols,W. Richard Stevens,(Addison-Wesley,1994)。
Thinking in Java,Bruce Eckel,(Prentice Hall PTR,2002)。
更多技术问题,参见Jan Axelson编写的Embedded Ethernet and Internet Complete。
2F. 如果我使用C或汇编语言编程,该怎样访问栈呢?
网络栈和调度程序存放在内部64kB ROM中,以BSD套接字或API的形式访问它们。Maxim为那些用C语言编程的人员提供了BSD套接字接口。也可以在汇编语言中调用网络栈。我们在TINI SDK中提供了一个汇编器。程序名是a390.exe。汇编语言与网络栈接口的实例可参见应用笔记609:"Internet Speaker with the DS80C400 Silicon Software"。
2G. 我怎样将DS80C390的代码移植到DS80C400上运行呢?
DS80C400是建立在DS80C390体系结构基础上的。TINI运行环境支持两款微控制器。两个器件最重要的区别是:DS80C400包含以太网MAC和一个Maxim的1-Wire接口,并且只有一个CAN模块。如果没有全部使用DS80C390的两个CAN控制器,微控制器就会共享加载器与应用程序间的第一个闪存扇区。DS80C390的TINI OS(0-6)和应用程序(7-...)也使用固定的扇区。DS80C400提供TINI字符串搜索机制(一般来讲,扇区采用0x40-0x46和0x47-...)。片选也是不同的。DS80C400提供更多的DPTR选项,这对于汇编语言编码非常有用。更多信息参见:Getting Started with TINI Guide (PDF)
2H. 生产过程中,我如何对闪存和NV RAM进行编程呢?
网络启动(NetBoot)特性内嵌于Maxim网络微控制器(DS80C400,DS80C410和DS80C411)的ROM中。在生产环境下,NetBoot特性可实现快速、简单的闪存和非易失性SRAM存储器编程。应用笔记3398:"DS80C400/DS80C410/DS80C411 Network Boot"
2I. 一个外部文件系统可以和TINI协同工作吗?
可以。TINI提供了一个访问其它文件系统的方法,用户不会再受所能处理的信息类型和信息量的限制。由于TINI也把它的RAM当作操作堆使用,所以使用远程文件系统时,允许使用更多的RAM来运行应用程序。应用笔记709:"Adding An External File System to TINI"
2J. TINI可以从网络上读取音频数据流,并输出给一个数字扬声器吗?
DS80C400微处理器的网络支持功能,使其成为简单以太网扬声器设计的自然选择。使用处理器ROM内置的TCP/IP栈,一个8051汇编语言编写的应用程序就可以很轻松地从网络上读取音频流数据,并使用这些数据来驱动一个数模转换器(DAC),从而为一组扬声器提供线路输出。应用笔记609:"Internet Speaker with the DS80C400 Silicon Software"
应用笔记3266:"Using the DS80C400/TINIm400 for Remote Audio"
3.网络微控制器的硬件问题
3A. 使用TINI OS访问串口时,串口的最大吞吐速率是多少?
当串口配置为115,200bps波特率,并且采用36MHz系统时钟频率时,最大发送和接收速率大约为每秒10kB。持续的传输速率高度依赖于CPU的负荷,且每种应用都会有所不同。最大波特率取决于具体设计采用的工作频率,更多信息参见应用笔记2935。3B. 使用套接字的以太网端口,其最大传输速率是多少?
采用36MHz系统时钟频率时,最大发送和接收速率为每秒266kB。3C. 有没有参考设计来帮助我加快设计进程?
我们已经将参考设计电路图放到了网上,见TINI Board。应用笔记615:"Design Considerations for DS80C400-Based TINI Systems"
应用笔记3478:"DS80C400/410/411闪存选择"
应用笔记2935:"Design Considerations for CAN Bus and Asynchronous Serial"
3D. 连接到以太网需要哪些接口器件?
为了将微控制器(和相关的存储器)连接到因特网,你需要一个物理层接口(PHY)器件与网口(比如10/100 BASE-T或光纤)连接。我们的参考设计采用了Intel LXT972ALC,但可使用任何与媒体无关接口(MII)协议兼容的PHY。另外,我们的参考设计采用Belfuse的S558-5999-T7变压器。3E. 设备如何获得它的以太网MAC地址?
启动时,DS80C400会自动搜索外部1-Wire总线,以查找外部DS2502-E48器件(需另外购买)。如果找到,DS2502-E48会给DS80C400提供一个唯一的IEEE®以太网MAC地址。以太网MAC物理地址也可以通过用户应用软件来编程设置。3F. DS80C400需要多高的工作电压?
DS80C400需要一个1.8V和一个3.3V电源电压。器件的I/O引脚由3.3V电源供电,允许器件与3.3V逻辑电平接口。微处理器的I/O能够耐受5V电压,因此可与5V外设连接。VCC1和VCC3的上电顺序并不重要。DSTINIm400采用MAX1792低压差线性稳压器,由3.3V电源产生1.8V电源。3G. 对最低存储器配置有何要求?
一个最小的网络设备需要64kB SRAM。应用代码可以通过网络下载到SRAM中。网络初始化(Netboot)可在一个联网的裸机中进行。如果需要非易失性程序存储器,可以采用外部闪存/EPROM,但这不是必须的。存储器的访问速度取决于工作时钟频率和电路板设计。例如我们经常说,一个运行在36MHz时钟频率下的系统,需要一个70ns RAM和闪存。为实现全速运行,你需要使用15ns或者更快访问时间的RAM。
应用笔记3478:"DS80C400/410/411闪存选择"
应用笔记1087:"Micro Tutorial 1: Understanding DC Electrical Characteristics of Microcontrollers"
3H. 基于DS80C400的设计是如何加载程序存储器的?
微控制器具有一个ROM (引导装载程序)加载器,可用来配置微控制器的某些特性。ROM也可用来将软件载入NV SRAM中,然后将SRAM作为程序存储器。ROM支持加载Advanced Micro Devices提供的任何闪存器件,从而满足特定设计所需的速度和空间/格式要求。在具体设计中使能ROM加载器的细节,可参见高速微控制器用户指南:网络微控制器补充资料(English only)的第173页。ROM加载器使用一个由外部时钟源(晶体或振荡器)作为时钟的内部计数器,并将波特率自动调整到与输入串行数据流相一致。由于自动波特率特性和外部时钟源有关,我们建议你采用18.432MHz晶振和x4倍频模式,从而使其运行在大约73MHz频率下。这个频率可使自动波特率程序与大多数标准波特率相同步。
3I. 我如何在DS80C400/DS80C410/DS80C411评估板上获得更多的IO呢?
结合TINIm400参考电路板和TINIs400插座板,DS80C400评估板为你提供了一个出色的评估平台,可用于评估TINI运行环境并开发基于TINI的应用。TINIm400/TINIs400配套电路板有一点不足之处,即它的通用IO (GPIO)引脚数有限。TINIs400插座板只提供了几个可用作GPIO的引脚;插座板上的大多数IO引脚都专门用于其它功能(比如,J27提供I²C引脚,J4提供外部中断引脚)。关于如何使用一个复杂的可编程逻辑器件(CPLD)来配置硬件并开发相应的软件,从而为TINIs400插座板提供32个额外GPIO引脚,有一篇应用笔记对此进行了逐步说明。请参考应用笔记3664:"扩展TINI的IO性能"。
3J. 为什么我的TINI评估板无法使用x4时钟倍频呢?
在DS80C400推出之前,由于受到DS80C390处理器的最大速率限制,TINI系统的最大运行频率被限制在40MHz以下。DS80C400支持75 MHz速率,使TINI固件能够支持系统使用最快的晶振倍频因子。然而,为实现价格低廉的系统,TINI参考设计(TINIm400和TINIs400)并不支持这样高的速率。很多开发者试图让他们的TINI运行在x4晶振倍频因子下,但最后发现TINI竟然停止工作。产生这种故障现象,并不是因为DS80C400处理器不支持这么高的速率,而是因为闪存不支持该速率。因此,一个高速TINI系统需要装有快速RAM (固件存储和执行)的定制电路板。应用笔记3413:"初始化高速TINI系统"
3K. 我的应用需要更多的串口。我可以为我的TINI评估板增加外部串口吗?
可以。在运行1.1x版TINI OS的DSTINIs400插座板上,可以加入外部串口。请参考下面的应用笔记:应用笔记3412:"TINIS400外部串口参考设计"
应用笔记2380:"Using TINI's Serial Ports"
3L. 什么是以太网供电(PoE)?
以太网供电(PoE)是近期被IEEE 802.3af标准认可的一项配电技术。PoE允许通过无处不在的通用网络(以太网)来同时传送直流电和数据包。也就是说,不必再为任何需要始终供电的网络设备提供本地交流电源,类似网络设备包括IP电话、无线接入点和网络监控相机。它同时意味着这些设备不必再靠近墙壁的插座附近安放,并省去那些电源电缆。应用笔记3363:"新型以太网系统,与数据传输一起提供直流供电"
评论
查看更多