
DS80C400网络微控制器
系列装载机
通过固件实现串行加载功能可以通过留下的串行加载器引脚( P1.7 )的调用
在引导过程中逻辑1 。当找到这样的条件时,ROM监视RXD0引脚用于接收
在<CR>字符( 0DH )的支持波特率。串行加载功能使用硬件串口0的模式
1 (异步, 1位起始位,8个数据位,无奇偶校验,并在全双工一个停止位) 。串行Loader可以
自动检测特定的波特率和自己配置,以这样的速度。下面的公式用于计算
(用于串口0波特率发生器)基于外部定时器2最接近的整数重载值
时钟频率和所需的波特率。计算的(最接近的整数) RCAP2H , RCAP2L的重装值可能不
导致一个确切的波特率匹配。所计算的加载值和时钟频率可以在方程式中使用
解决波特率由DS80C400配置。这是建议的波特率不匹配是不大于
± 2.5% ,保持可靠的通信。该功能的目的是要工作的时钟频率从3.680MHz到
75.000MHz和波特率从2400到115,200 。
RCAP2H , RCAP2L = 65,536 -
时钟频率
32×波特率
例如,假设一个18MHz的晶体被用来和一个19200的波特率是期望的。上面的方程
产生FFE3h的最接近的整数重载值。重载值导致真正的波特率19396.6 ( + 1 %误差) 。
一旦一个支持的波特率被检测到,在DS80C400发送包含ASCII文本横幅
版权信息和提示命令输入。在这一点上,用户可以发出任何支持串行的
加载命令。支持的串行加载程序命令的摘要中可以看出
表17 。
详细
每个命令和有关的串行加载器的进一步信息的描述可在发现
快速
微控制器用户指南:网络微控制器补充。
表17.串行加载程序命令摘要
命令
B
C
D
E
F
G
H, ?
L
N
V
X
Z
功能
BANK SELECT
内存范围CRC- 16
从选定的银行抛售Intel十六进制数据
退出加载程序,并尝试执行代码
填写所选银行的内存与十六进制数据
进入:开始执行代码在当前银行偏移0
帮助:显示ROM版本和目前银行
加载Intel十六进制到内存
网络启动
验证对传入的十六进制内存
在当前银行给定的偏移执行代码
ZAP :删除/清除当前的银行。
网络启动
NetBoot过程,让使用者灵活地通过网络远程下载或更新代码。这
功能是相当强大的。它不仅使固件版本小事,但它也使远程诊断
非常实用。另外,由于网络启动可以自动重新加载用户应用程序代码的最新版本,则
系统设计人员现在拥有的选项选择挥发性SRAM用于代码存储。
对于网络启动功能工作时, DS80C400 ROM固件必须初始化某些硬件组件和
建立支持流程所需的环境。在网络启动初始化代码实现了一个原始的
内存管理器,揭开序幕的任务调度程序,并初始化1-Wire总线的硬件,以太网驱动程序, TCP / IP协议栈,
插座层。
一旦网络启动初始化代码已经完成,则真正的网络启动过程可以开始。在DS80C400
以太网MAC首先必须分配一个物理地址。内的网络启动过程,物理MAC地址
只能通过外部DS2502 -E48 1 - Wire芯片进行收购。因此,这个1 - Wire芯片,包含了MAC
地址,需要成功的NetBoot操作。
图14
示出的NetBoot代码流程图。
72 97