NEC V850ES-Hx2 User Manual

使用说明
V850ES/Hx2
PD70F3700
PD70F3701
PD70F3702
PD70F3703
PD70F3704
PD70F3706
PD70F3707
PD70F3709
PD70F3710
PD70F3711
PD70F3712
文档编号 U18215CA1V0AN00 (第一版) 发布日期 2008 02 NS CP(K)
于日本印刷
[备忘录]
2
使用说明 U18215CA1V0AN
关于CMOS器件的注意事项
① 输入引脚处的电压波形
输入噪声或由反射引起的波形失真可能导致故障发生。如果由于噪声等影响,使CMOS器件的输入电 压范围处于在VILMAX)和VIH(MIN)之间,器件可能发生故障。在输入电平固定时以及输入电平从VILMAX)到VIH MIN)的过渡期间,要谨防尖峰噪声影响器件。
② 未使用的输入引脚的处理
CMOS器件的输入端保持开路可能导致故障。如果一个输入引脚未被连接,则由于噪声等原因可能会 产生内部输入电平,从而导致故障。CMOS器件的操作特性与双极性或NMOS器件不同。CMOS器件的输 入电平必须借助上拉或下拉电路固定于高电平或低电平。每一个未使用引脚都应该连接到VDDGND,如 果有可能作为输出引脚时,需要通过附加电阻连接到VDDGND。对未使用引脚的处理因器件而异,必须 遵循与器件相关的规定和说明。
ESD防护措施
如果MOS器件周围有强电场,将会击穿氧化栅极,从而影响器件的工作。因此必须采取措施,尽可 能防止静电产生。一旦有静电,必须立即释放。对于环境必须进行适当的控制。如果空气干燥,应当使用 增湿器。建议避免使用容易产生静电的绝缘体。半导体器件的存放和运输必须使用抗静电容器、静电屏 蔽袋或导电材料包装。所有包括工作台和工作面的测试和测量工具必须良好接地。操作员应当佩戴静电消 除腕带以保证良好接地。不能用手直接接触半导体器件。对于装配有半导体器件的PW板也应采取类似的
静电防范措施。
④ 初始化之前的状态
在上电时MOS器件的初始状态是不确定的。在刚刚上电之后,具有复位功能的MOS器件并没有被初 始化。因此上电不能保证输出引脚的电平、I/O设置和寄存器的内容。器件在收到复位信号后才进行初始 化。具有复位功能的器件在上电后必须立即进行复位操作。
⑤ 电源开关顺序
一个器件内部工作和外部接口使用不同电源的情况下,按照规定,应先在接通内部电源之后再接通 外部电源。当关闭电源时,按照规定,先关闭外部电源再关闭内部电源。如果电源开关顺序颠倒,可能会 导致器件的内部组件过电压,产生异常电流,从而引起内部组件的误操作和性能的劣化。 对每个器件电源的正确开关顺序,必须依据器件的规格说明分别进行判断。
⑥ 电源关闭状态下的输入信号
不要向没有加电的器件输入信号或提供I/O上拉电源。因为输入信号或提供I/O上拉电源将引起电流注入, 从而引起器件的误操作,并产生异常电流,从而使内部组件劣化。 每个器件电源关闭时的信号输入必须依据器件的规格说明分别进行判断。
使用说明 U18215CA1V0AN
3
● 本文档信息发布于2008年01月。未来可能未经预先通知而进行更改。在实际进行生产设计时,请参
阅各产品最新的数据规格书或数据手册等相关资料,以获取本公司产品的最新规格。并非所有的产品
和/或型号都向每个国家供应。请向本公司销售代表查询产品供货及其他信息。
● 未经本公司事先书面许可,禁止采用任何方式复制或转载本文件中的内容。本文件所登载内容的错
误,本公司概不负责。
● 本公司对于因使用本文件中列明的本公司产品而引起的,对第三者的专利、版权以及其它知识产权的
侵权行为概不负责。本文件登载的内容不应视为本公司对本公司或其他人所有的专利、版权以及其它
知识产权做出任何明示或默示的许可及授权。
● 本文件中的电路、软件以及相关信息仅用以说明半导体产品的运作和应用实例。用户如在设备设计中
应用本文件中的电路、软件以及相关信息,应自行负责。对于用户或其他人因使用了上述电路、软件
以及相关信息而引起的任何损失,本公司概不负责。
● 虽然本公司致力于提高半导体产品的质量及可靠性,但用户应同意并知晓,我们仍然无法完全消除出
现产品缺陷的可能。为了最大限度地减少因本公司半导体产品故障而引起的对人身、财产造成损害
(包括死亡)的危险,用户务必在其设计中采用必要的安全措施,如冗余度、防火和防故障等安全设
计。
● 本公司产品质量分为: “标准等级”、“专业等级”以及“特殊等级”三种质量等级。
“特殊等级”仅适用于为特定用途而根据用户指定的质量保证程序所开发的日电电子产品。另外,各种日
电电子产品的推荐用途取决于其质量等级,详见如下。用户在选用本公司的产品时,请事先确认产品的
质量等级。
“标准等级”: 计算机,办公自动化设备,通信设备,测试和测量设备,视音频设备,家电,加工
机械,个人电气设备以及产业用机器人。
“专业等级”: 运输设备(汽车、火车、船舶等),交通用信号控制设备,防灾装置,防止犯罪装
置,各种安全装置以及医疗设备(不包括专门为维持生命而设计的设备)。
“特殊等级”: 航空器械,宇航设备,海底中继设备,原子能控制系统,为了维持生命的医疗设备和
用于维持生命的装置或系统等。
除在本公司半导体产品的数据表或数据手册等资料中另有特别规定以外,本公司半导体产品的质量等级
均为“标准等级”。如果用户希望在本公司设计意图以外使用本公司半导体产品,务必事先与本公司销售
代表联系以确认本公司是否同意为该项应用提供支持。
(注)
(1)本声明中的“本公司”是指日本电气电子株式会社(NEC Electronics Corporation)及其控股公
司。
(2) 本声明中的“本公司产品”是指所有由日本电气电子株式会社或为日本电气电子株式会社(如上定
义)开发或制造的产品。
M8E 02.11-1
4
使用说明 U18215CA1V0AN
引言
读者对象 本使用说明供那些了解 V850ES/Hx2 功能以及将使用本产品设计应用系统的人阅读。
目的 本使用说明旨在帮助用户了解如何开发专用 flash 存储器编程器,用于重写 V850ES/Hx2
内部的 flash存储器。
本文档中的示例程序与电路图仅可作为参考,并非供实际设计中使用。 因此,用户使用这些示例程序时风险自负。使用这些示例程序并不保证操作正确。
组成 本手册主要由以下部分组成:
Flash 存储器编程
编程器工作环境编程器基本操作
命令/数据帧格式
命令处理描述说明UART通信模式
支持握手功能的 3线串行 I/O通信模式(CSI + HS)3 线串行 I/O通信模式(CSI)
Flash 存储器编程的指标参数
如何阅读本手册 假定本手册的读者具备电器工程、逻辑电路以及微控制器领域内的常识。
如果希望对 V850ES/Hx2的硬件功能作深入了解:
参见各 V850ES/Hx2 产品的用户手册。
习惯用法 数据有效位: 高位在左,低位在右
低电平有效表示: xxx (引脚或信号名称之上有上划线) 注: 正文中‘注’标记的脚注
注意事项: 需要特别关注的信息 备注: 补充信息
数值表示: 二进制.................xxxxxxxxB
十进制.................xxxx
十六进制..............xxxxH
使用说明 U18215CA1V0AN 5
相关文档 本次发布所指文档可能包括早期版本,而早期版本并未标注如此。
器件相关文档
文档名称 文档编号
V850ES/HE2 用户手册 V850ES/HF2 用户手册 U17719E
V850ES/HG2 用户手册 V850ES/HJ2 用户手册 U17717E
V850ES 体系结构用户手册
U17720E
U17718E
U15943E
使用说明 U18215CA1V0AN6
目录
第一章 FLASH存储器编程.........................................................................................................................15
1.1 概要 ...............................................................................................................................................15
1.2 系统构成........................................................................................................................................16
1.3 编程概要........................................................................................................................................17
1.3.1 设置 flash存储器编程模式 ..............................................................................................................17
1.3.2 选择串行通讯模式...........................................................................................................................17
1.3.3 利用命令发送/接收操控 flash 存储器...............................................................................................18
1.4 V850ES/Hx2 的特定信息 ..............................................................................................................18
第二章 编程器工作环境 ..............................................................................................................................20
2.1 编程器控制引脚.............................................................................................................................20
2.2 控制引脚的详情.............................................................................................................................21
2.2.1 Flash 存储器编程模式设置引脚(FLMD0FLMD1).........................................................................21
2.2.2 串行接口引脚(TxDRxDSI、SO、SCK、HS)............................................................................21
2.2.3 复位控制引脚(RESET)....................................................................................................................22
2.2.4 时钟控制引脚(CLK).........................................................................................................................22
2.2.5 VDD/GND 控制引脚 .........................................................................................................................22
2.2.6 其它引脚 .........................................................................................................................................22
2.3 基本流程图 ....................................................................................................................................23
2.4 设置 Flash 存储器编程模式 ..........................................................................................................24
2.4.1 模式设置流程图 ..............................................................................................................................25
2.4.2 程序举例说明..................................................................................................................................26
2.5 串行通信模式选择 .........................................................................................................................28
2.6 UART 通信模式 .............................................................................................................................28
2.7 支持握手功能的 3 线串行 I/O 通信模式(CSI + HS) .......................................................................29
2.8 3 线串行 I/O 通信模式(CSI)...........................................................................................................29
2.9 关闭目标供电电源 .........................................................................................................................29
2.10 Flash 存储器的操控 ......................................................................................................................30
2.11 命令列表........................................................................................................................................30
2.12 状态列表........................................................................................................................................31
第三章 编程器基本操作 ..............................................................................................................................32
第四章 命令/数据帧格式 .............................................................................................................................33
4.1 命令帧发送处理.............................................................................................................................35
4.2 数据帧发送处理 ...........................................................................................................................35
4.3 数据帧接收处理 ...........................................................................................................................35
第五章 命令处理描述 ..................................................................................................................................36
5.1 状态命令........................................................................................................................................36
5.1.1 描述说明 .........................................................................................................................................36
5.1.2 命令帧和状态帧 ..............................................................................................................................36
使用说明 U18215CA1V0AN
7
5.2 复位命令........................................................................................................................................37
5.2.1 描述说明 .........................................................................................................................................37
5.2.2 命令帧和状态帧...............................................................................................................................37
5.3 波特率设置命令 ...........................................................................................................................38
5.3.1 描述说明 .........................................................................................................................................38
5.3.2 命令帧和状态帧...............................................................................................................................38
5.4 振荡频率设置命令 .........................................................................................................................39
5.4.1 描述说明 .........................................................................................................................................39
5.4.2 命令帧和状态帧...............................................................................................................................39
5.5 片擦除命令 ....................................................................................................................................41
5.5.1 描述说明 .........................................................................................................................................41
5.5.2 命令帧和状态帧...............................................................................................................................41
5.6 块擦除命令 ....................................................................................................................................42
5.6.1 描述说明 .........................................................................................................................................42
5.6.2 命令帧和状态帧...............................................................................................................................42
5.7 编程命令........................................................................................................................................43
5.7.1 描述说明 .........................................................................................................................................43
5.7.2 命令帧和状态帧...............................................................................................................................43
5.7.3 数据帧和状态帧...............................................................................................................................43
5.7.4 所有数据传输完毕和状态帧.............................................................................................................44
5.8 验证命令........................................................................................................................................45
5.8.1 描述说明 .........................................................................................................................................45
5.8.2 命令帧和状态帧...............................................................................................................................45
5.8.3 数据帧和状态帧...............................................................................................................................45
5.9 块空白检查命令 .............................................................................................................................47
5.9.1 描述说明 .........................................................................................................................................47
5.9.2 命令帧和状态帧...............................................................................................................................47
5.10 ‘硅签字’命令 ..................................................................................................................................48
5.10.1 描述说明 .........................................................................................................................................48
5.10.2 命令帧和状态帧...............................................................................................................................48
5.10.3 硅签字’数据帧 ..............................................................................................................................48
5.11 获取版本信息命令 .........................................................................................................................50
5.11.1 描述说明 .........................................................................................................................................50
5.11.2 命令帧和状态帧...............................................................................................................................50
5.11.3 版本数据帧......................................................................................................................................51
5.12 校验和命令 ....................................................................................................................................52
5.12.1 描述说明 .........................................................................................................................................52
5.12.2 命令帧和状态帧...............................................................................................................................52
5.12.3 校验和数据帧 ..................................................................................................................................52
5.13 安全设置命令 .................................................................................................................................53
5.13.1 描述说明 .........................................................................................................................................53
5.13.2 命令帧和状态帧...............................................................................................................................53
5.13.3 数据帧和状态帧...............................................................................................................................53
5.13.4 内部验证检查和状态帧....................................................................................................................54
5.14 读取命令........................................................................................................................................56
5.14.1 描述说明 .........................................................................................................................................56
5.14.2 命令帧和状态帧...............................................................................................................................56
5.14.3 数据帧和状态帧...............................................................................................................................56
8
使用说明 U18215CA1V0AN
第六章 UART 通信模式 .............................................................................................................................58
6.1 命令帧发送处理流程图 ..................................................................................................................58
6.2 数据帧发送处理流程图 ..................................................................................................................59
6.3 数据帧接收处理流程图 ..................................................................................................................60
6.4 复位命令........................................................................................................................................61
6.4.1 处理程序流程图 .............................................................................................................................61
6.4.2 处理程序的描述说明 .......................................................................................................................62
6.4.3 处理完毕后的状态...........................................................................................................................62
6.4.4 流程图.............................................................................................................................................63
6.4.5 程序举例说明..................................................................................................................................64
6.5 波特率设置命令 .............................................................................................................................65
6.5.1 处理程序流程图 ..............................................................................................................................65
6.5.2 处理程序的描述说明 .......................................................................................................................66
6.5.3 处理完毕后的状态...........................................................................................................................66
6.5.4 流程图.............................................................................................................................................67
6.5.5 程序举例说明..................................................................................................................................68
6.6 振荡频率设置命令 .........................................................................................................................70
6.6.1 处理程序流程图 ..............................................................................................................................70
6.6.2 处理程序的描述说明 .......................................................................................................................71
6.6.3 处理完毕后的状态...........................................................................................................................71
6.6.4 流程图.............................................................................................................................................72
6.6.5 程序举例说明..................................................................................................................................73
6.7 片擦除命令 ....................................................................................................................................74
6.7.1 处理程序流程图 ..............................................................................................................................74
6.7.2 处理程序的描述说明 .......................................................................................................................75
6.7.3 处理完毕后的状态...........................................................................................................................75
6.7.4 流程图.............................................................................................................................................76
6.7.5 程序举例说明..................................................................................................................................77
6.8 块擦除命令 ....................................................................................................................................78
6.8.1 处理程序流程图 ..............................................................................................................................78
6.8.2 处理程序的描述说明 .......................................................................................................................79
6.8.3 处理完毕后的状态...........................................................................................................................79
6.8.4 流程图.............................................................................................................................................80
6.8.5 程序举例说明..................................................................................................................................81
6.9 编程命令........................................................................................................................................82
6.9.1 处理程序流程图 ..............................................................................................................................82
6.9.2 处理程序的描述说明 .......................................................................................................................83
6.9.3 处理完毕后的状态...........................................................................................................................84
6.9.4 流程图.............................................................................................................................................85
6.9.5 程序举例说明..................................................................................................................................86
6.10 验证命令........................................................................................................................................88
6.10.1 处理程序流程图 ..............................................................................................................................88
6.10.2 处理程序的描述说明 .......................................................................................................................89
6.10.3 处理完毕后的状态...........................................................................................................................89
6.10.4 流程图.............................................................................................................................................90
6.10.5 程序举例说明..................................................................................................................................91
6.11 块空白检查命令.............................................................................................................................93
使用说明 U18215CA1V0AN
9
6.11.1 处理程序流程图...............................................................................................................................93
6.11.2 处理程序的描述说明 .......................................................................................................................94
6.11.3 处理完毕后的状态...........................................................................................................................94
6.11.4 流程图.............................................................................................................................................95
6.11.5 程序举例说明 ..................................................................................................................................96
6.12 ‘硅签字’命令 ..................................................................................................................................97
6.12.1 处理程序流程图...............................................................................................................................97
6.12.2 处理程序的描述说明 .......................................................................................................................98
6.12.3 处理完毕后的状态...........................................................................................................................98
6.12.4 流程图.............................................................................................................................................99
6.12.5 程序举例说明 ................................................................................................................................100
6.13 获取版本信息命令 .......................................................................................................................101
6.13.1 处理程序流程图.............................................................................................................................101
6.13.2 处理程序的描述说明 .....................................................................................................................102
6.13.3 处理完毕后的状态.........................................................................................................................102
6.13.4 流程图...........................................................................................................................................103
6.13.5 程序举例说明 ................................................................................................................................104
6.14 校验和命令 ..................................................................................................................................105
6.14.1 处理程序流程图.............................................................................................................................105
6.14.2 处理程序的描述说明 .....................................................................................................................106
6.14.3 处理完毕后的状态.........................................................................................................................106
6.14.4 流程图...........................................................................................................................................107
6.14.5 程序举例说明 ................................................................................................................................108
6.15 安全设置命令 ...............................................................................................................................109
6.15.1 处理程序流程图.............................................................................................................................109
6.15.2 处理程序的描述说明 .....................................................................................................................110
6.15.3 处理完毕后的状态.........................................................................................................................110
6.15.4 流程图...........................................................................................................................................111
6.15.5 程序举例说明 ................................................................................................................................112
6.16 读取命令......................................................................................................................................114
6.16.1 处理程序流程图.............................................................................................................................114
6.16.2 处理程序的描述说明 .....................................................................................................................115
6.16.3 处理完毕后的状态.........................................................................................................................115
6.16.4 流程图...........................................................................................................................................116
6.16.5 程序举例说明 ................................................................................................................................117
第七章 支持握手功能的 3 线串行 I/O 通信模式(CSI + HS)......................................................................119
7.1 命令帧发送处理流程图 ................................................................................................................119
7.2 数据帧发送处理流程图 ................................................................................................................120
7.3 数据帧接收处理流程图 ................................................................................................................121
7.4 状态命令......................................................................................................................................122
7.4.1 处理程序流程图.............................................................................................................................122
7.4.2 处理程序的描述说明 .....................................................................................................................123
7.4.3 处理完毕后的状态.........................................................................................................................123
7.4.4 流程图...........................................................................................................................................124
7.4.5 程序举例说明 ................................................................................................................................125
7.5 复位命令......................................................................................................................................126
7.5.1 处理程序流程图.............................................................................................................................126
10
使用说明 U18215CA1V0AN
7.5.2 处理程序的描述说明 .....................................................................................................................127
7.5.3 处理完毕后的状态.........................................................................................................................127
7.5.4 流程图...........................................................................................................................................128
7.5.5 程序举例说明................................................................................................................................129
7.6 振荡频率设置命令 .......................................................................................................................130
7.6.1 处理程序流程图 ............................................................................................................................130
7.6.2 处理程序的描述说明 .....................................................................................................................131
7.6.3 处理完毕后的状态.........................................................................................................................131
7.6.4 流程图...........................................................................................................................................132
7.6.5 程序举例说明................................................................................................................................133
7.7 片擦除命令 ..................................................................................................................................134
7.7.1 处理程序流程图 ............................................................................................................................134
7.7.2 处理程序的描述说明 .....................................................................................................................135
7.7.3 处理完毕后的状态.........................................................................................................................135
7.7.4 流程图...........................................................................................................................................136
7.7.5 程序举例说明................................................................................................................................137
7.8 块擦除命令 ..................................................................................................................................138
7.8.1 处理程序流程图 ............................................................................................................................138
7.8.2 处理程序的描述说明 .....................................................................................................................139
7.8.3 处理完毕后的状态.........................................................................................................................139
7.8.4 流程图...........................................................................................................................................140
7.8.5 程序举例说明................................................................................................................................141
7.9 编程命令......................................................................................................................................142
7.9.1 处理程序流程图 ............................................................................................................................142
7.9.2 处理程序的描述说明 .....................................................................................................................143
7.9.3 处理完毕后的状态.........................................................................................................................144
7.9.4 流程图...........................................................................................................................................145
7.9.5 程序举例说明................................................................................................................................146
7.10 验证命令......................................................................................................................................148
7.10.1 处理程序流程图 ............................................................................................................................148
7.10.2 处理程序的描述说明 .....................................................................................................................149
7.10.3 处理完毕后的状态.........................................................................................................................150
7.10.4 流程图...........................................................................................................................................151
7.10.5 程序举例说明................................................................................................................................152
7.11 块空白检查命令...........................................................................................................................154
7.11.1 处理程序流程图 ............................................................................................................................154
7.11.2 处理程序的描述说明 .....................................................................................................................155
7.11.3 处理完毕后的状态.........................................................................................................................155
7.11.4 流程图...........................................................................................................................................156
7.11.5 程序举例说明................................................................................................................................157
7.12 ‘硅签字’命令 ................................................................................................................................158
7.12.1 处理程序流程图 ............................................................................................................................158
7.12.2 处理程序的描述说明 .....................................................................................................................159
7.12.3 处理完毕后的状态.........................................................................................................................159
7.12.4 流程图...........................................................................................................................................160
7.12.5 程序举例说明................................................................................................................................161
7.13 获取版本信息命令 .......................................................................................................................162
7.13.1 处理程序流程图 ............................................................................................................................162
使用说明 U18215CA1V0AN
11
7.13.2 处理程序的描述说明 .....................................................................................................................163
7.13.3 处理完毕后的状态.........................................................................................................................163
7.13.4 流程图...........................................................................................................................................164
7.13.5 程序举例说明 ................................................................................................................................165
7.14 校验和命令 ..................................................................................................................................166
7.14.1 处理程序流程图.............................................................................................................................166
7.14.2 处理程序的描述说明 .....................................................................................................................167
7.14.3 处理完毕后的状态.........................................................................................................................167
7.14.4 流程图...........................................................................................................................................168
7.14.5 程序举例说明 ................................................................................................................................169
7.15 安全设置命令 ...............................................................................................................................170
7.15.1 处理程序流程图.............................................................................................................................170
7.15.2 处理程序的描述说明 .....................................................................................................................171
7.15.3 处理完毕后的状态.........................................................................................................................172
7.15.4 流程图...........................................................................................................................................173
7.15.5 程序举例说明 ................................................................................................................................174
7.16 读取命令......................................................................................................................................176
7.16.1 处理程序流程图.............................................................................................................................176
7.16.2 处理程序的描述说明 .....................................................................................................................177
7.16.3 处理完毕后的状态.........................................................................................................................178
7.16.4 流程图...........................................................................................................................................179
7.16.5 程序举例说明 ................................................................................................................................180
第八章 3线串行 I/O 通信模式(CSI)..........................................................................................................182
8.1 命令帧发送处理流程图 ................................................................................................................182
8.2 数据帧发送处理流程图 ................................................................................................................183
8.3 数据帧接收处理流程图 ................................................................................................................184
8.4 状态命令......................................................................................................................................185
8.4.1 处理程序流程图.............................................................................................................................185
8.4.2 处理程序的描述说明 .....................................................................................................................186
8.4.3 处理完毕后的状态.........................................................................................................................186
8.4.4 流程图...........................................................................................................................................187
8.4.5 程序举例说明 ................................................................................................................................188
8.5 复位命令......................................................................................................................................190
8.5.1 处理程序流程图.............................................................................................................................190
8.5.2 处理程序的描述说明 .....................................................................................................................191
8.5.3 处理完毕后的状态.........................................................................................................................191
8.5.4 流程图...........................................................................................................................................192
8.5.5 程序举例说明 ................................................................................................................................193
8.6 振荡频率设置命令 .......................................................................................................................194
8.6.1 处理程序流程图.............................................................................................................................194
8.6.2 处理程序的描述说明 .....................................................................................................................195
8.6.3 处理完毕后的状态.........................................................................................................................195
8.6.4 流程图...........................................................................................................................................196
8.6.5 程序举例说明 ................................................................................................................................197
8.7 片擦除命令 ..................................................................................................................................198
8.7.1 处理程序流程图.............................................................................................................................198
8.7.2 处理程序的描述说明 .....................................................................................................................199
12
使用说明 U18215CA1V0AN
8.7.3 处理完毕后的状态.........................................................................................................................199
8.7.4 流程图...........................................................................................................................................200
8.7.5 程序举例说明................................................................................................................................201
8.8 块擦除命令 ..................................................................................................................................202
8.8.1 处理程序流程图 ............................................................................................................................202
8.8.2 处理程序的描述说明 .....................................................................................................................203
8.8.3 处理完毕后的状态.........................................................................................................................203
8.8.4 流程图...........................................................................................................................................204
8.8.5 程序举例说明................................................................................................................................205
8.9 编程命令......................................................................................................................................206
8.9.1 处理程序流程图 ............................................................................................................................206
8.9.2 处理程序的描述说明 .....................................................................................................................207
8.9.3 处理完毕后的状态.........................................................................................................................208
8.9.4 流程图...........................................................................................................................................209
8.9.5 程序举例说明................................................................................................................................210
8.10 验证命令......................................................................................................................................212
8.10.1 处理程序流程图 ............................................................................................................................212
8.10.2 处理程序的描述说明 .....................................................................................................................213
8.10.3 处理完毕后的状态.........................................................................................................................213
8.10.4 流程图...........................................................................................................................................214
8.10.5 程序举例说明................................................................................................................................215
8.11 块空白检查命令...........................................................................................................................217
8.11.1 处理程序流程图 ............................................................................................................................217
8.11.2 处理程序的描述说明 .....................................................................................................................218
8.11.3 处理完毕后的状态.........................................................................................................................218
8.11.4 流程图...........................................................................................................................................219
8.11.5 程序举例说明................................................................................................................................220
8.12 ‘硅签字’命令 ................................................................................................................................221
8.12.1 处理程序流程图 ............................................................................................................................221
8.12.2 处理程序的描述说明 .....................................................................................................................222
8.12.3 处理完毕后的状态.........................................................................................................................222
8.12.4 流程图...........................................................................................................................................223
8.12.5 程序举例说明................................................................................................................................224
8.13 获取版本信息命令 .......................................................................................................................225
8.13.1 处理程序流程图 ............................................................................................................................225
8.13.2 处理程序的描述说明 .....................................................................................................................226
8.13.3 处理完毕后的状态.........................................................................................................................226
8.13.4 流程图...........................................................................................................................................227
8.13.5 程序举例说明................................................................................................................................228
8.14 校验和命令 ..................................................................................................................................229
8.14.1 处理程序流程图 ............................................................................................................................229
8.14.2 处理程序的描述说明 .....................................................................................................................230
8.14.3 处理完毕后的状态.........................................................................................................................230
8.14.4 流程图...........................................................................................................................................231
8.14.5 程序举例说明................................................................................................................................232
8.15 安全设置命令 ..............................................................................................................................234
8.15.1 处理程序流程图 ............................................................................................................................234
8.15.2 处理程序的描述说明 .....................................................................................................................235
使用说明 U18215CA1V0AN
13
8.15.3 处理完毕后的状态.........................................................................................................................235
8.15.4 流程图...........................................................................................................................................236
8.15.5 程序举例说明 ................................................................................................................................237
8.16 读取命令......................................................................................................................................239
8.16.1 处理程序流程图.............................................................................................................................239
8.16.2 处理程序的描述说明 .....................................................................................................................240
8.16.3 处理完毕后的状态.........................................................................................................................240
8.16.4 流程图...........................................................................................................................................241
8.16.5 程序举例说明 ................................................................................................................................242
第九章 FLASH存储器编程的指标参数 .....................................................................................................244
9.1 Flash 存储器编程模式设定时间 ..................................................................................................244
9.2 编程特性......................................................................................................................................245
9.3 UART 通信模式 ...........................................................................................................................248
9.4 3 线串行 I/O 通信模式..................................................................................................................252
附录 A 电路图(仅供参考).........................................................................................................................256
14
使用说明 U18215CA1V0AN

第一章 FLASH存储器编程

为重写 V850ES/Hx2内部 flash 存储器的内容,通常使用一个专用的 flash 存储器编程器(以下简称“编程器”)。 本使用说明描述了如何开发一个专用编程器。

1.1 概要

V850ES/Hx2 包含了控制 flash 存储器编程的固件。内部 flash 存储器的编程由编程器和 V850ES/Hx2 之间通过串行
通信的方式发送/接收命令来完成。
1-1. V850ES/Hx2 Flash 存储器编程的系统框图
V850ES/Hx2
固件
编程器
串行通信
CPU
Flash存储器
使用说明 U18215CA1V0AN
15
第一章 FLASH存储器编程
V

1.2 系统构成

Flash 存储器编程的系统构成例子如图 1-2所示。 这些例图显示了在主机的控制下如何利用编程器对 flash 存储器进行编程。 根据编程器的连接方式,如果一个用户程序已经被预先下载到编程器 ,则编程器能够在 脱离 主机的独立模式下使
用。
例如: NEC Electronicsflash存储器编程器 PG-FP4 能够在连接主机时使用 GUI软件进行编程,也能够自行编程
(独立模式下)。
1-2. 系统构成举例
(1) UART 通信模式(LSB 先行传输)
主机
编程器
FLMD0 FLMD1 FLMD1
VDD
RESET
RS-232C
GND
FLMD0
VDD RESET RXDA0 TXDA0
VSS
V850ES/Hx2
固件
Flash
存储器
(2) 支持握手功能的 3 线串行 I/O 通信模式(CSI + HS) (MSB 先行传输)
主机
编程器
FLMD0
FLMD1 FLMD1
VDD
RESET
SCK
SO
HS
(3) 3线串行 I/O 通信模式 (CSI) (MSB 先行传输)
主机
编程器
FLMD0 FLMD1 FLMD1
VDD
RESET
RS-232C
SCK
SI
FLMD0
VDD RESET
SCKB0 SIB0
SOB0
PCM0
SS
FLMD0
VDD
RESET
SCKB0 SIB0
SOB0 VSS
V850ES/Hx2
固件
Flash
存储器
V850ES/Hx2
固件
Flash
存储器
16
使用说明 U18215CA1V0AN
第一章 FLASH存储器编程

1.3 编程概述

为使用编程器来重写 flash 存储器的内容, V850ES/Hx2 必须首先设置为 flash 存储器编程模式。之后,选择编程器
V850ES/Hx2 之间的通信模式,以串行通信的方式从编程器发送命令,于是重写 flash 存储器。编程流程图如图 1-3 所示:
1-3. 编程流程图
开始
设置 flash 存储器编程模式
选择串行通信模式
操控 flash 存储器
操控完成?
结束

1.3.1 设置 flash 存储器编程模式

V850ES/Hx2 中,提供指定电压至 flash 存储器编程模式设置引脚(FLMD0 FLMD1)并进行一次复位,则设置
flash存储器编程模式。

1.3.2 选择串行通信模式

为选择串行通信模式,在 flash 存储器编程模式时,通过在 VDD GND 之间改变 flash 存储器编程模式设置引脚
FLMD0)的电压来产生脉冲,并且根据脉冲数量来确定通信模式。
使用说明 U18215CA1V0AN
17
第一章 FLASH存储器编程

1.3.3 利用命令发送/接收操控 flash 存储器

V850ES/Hx2 中集成的 flash 存储器具有重写内容功能。Flash 存储器可用的操作功能如下表 1-1所示:
1-1. Flash 存储器功能概要
功能 概要
擦除 擦除 flash 存储器内容
写入 flash 存储器中写入数据
验证 flash 存储器的内容与用于验证的数据作比较 信息采集 读取有关 flash 存储器的信息
为了控制这些功能,编程器以串行通信的方式发送命令至 V850ES/Hx2V850ES/Hx2 返回命令的应答状态。通过重
复这些串行通信序列来实现对 flash 存储器的编程。

1.4 V850ES/Hx2 的特定信息

编程器必须处理产品特定信息(如器件名和存储器信息)。 表 1-2显示了 V850ES/Hx2 flash存储器容量,图 1-4 显示了 flash 存储器的结构。
1-2. V850ES/Hx2 Flash存储器容量
器件名 Flash存储器容量
PD70F3700 64 KBV850ES/HE2
PD70F3701 128 KB
V850ES/HF2
2
V850ES/HJ2
PD70F3702 64 KB
PD70F3703 128 KB
PD70F3704 256 KB
PD70F3706 128 KBV850ES/HG
PD70F3707 256 KB
PD70F3709 128 KB
PD70F3710 256 KB
PD70F3711 376 KB
PD70F3712 512 KB
18
使用说明 U18215CA1V0AN
第一章 FLASH存储器编程
1-4. Flash 存储器结构
使用说明 U18215CA1V0AN
19

第二章 编程器工作环境

2.1 编程器控制引脚

2-1列出了在用户系统中为实现编程器功能,编程器必须控制的引脚。
2-1. 引脚说明
编程器 V850ES/Hx2 与目标系统的通信模式
信号名称
FLMD0
I/O
输出 用于设置编程模式的信号电平输出和选择
通信模式的脉冲输出
FLMD1 输出 用于设置编程模式的信号电平输出 FLMD1
VDD
输出 VDD 产生/监控
GND 接地 VSS
CLK
输出 输出至 V850ES/Hx2 的工作时钟
RESET 输出 编程模式转换触发 RESET
SO
输出 V850ES/Hx2 发送命令
SI 输入 接收自 V850ES/Hx2 的应答状态和数据 SOB0
SCK
输出 V850ES/Hx2 的串行时钟供给
HS (握手信号) 输入 用于接收与 V850ES/Hx2 串行通信的握手
信号
TxD
输出 V850ES/Hx2 的命令发送
RxD 输入 接收自 V850ES/Hx2 的应答状态和数据 TXDA0
引脚功能 引脚名称
CSI CSI + HS UART
FLMD0
VDD
SIB0
SCKB0
PCM0
RXDA0
编程器的 CLK引脚不能提供时钟。要使该引脚提供时钟,需在目标系统上安装一个振荡器电路。
备注 :必须连接的引脚。
: 不必连接的引脚。 :如果信号在用户系统中产生,则该引脚不必连接。
关于由编程器控制的引脚电压,参见支持 flash存储器编程的器件用户手册。
20
使用说明 U18215CA1V0AN
第二章 编程器工作环境

2.2 控制引脚的详情

2.2.1 Flash 存储器编程模式设置引脚(FLMD0FLMD1)

FLMD0 引脚和 FLMD1 引脚用于控制 V850ES/Hx2 的工作模式。当提供指定电压至这两个引脚并进行一次复位后,
V850ES/Hx2则工作于 flash 存储器编程模式下。
复位后,编程器和 V850ES/Hx2 之间的串行通信模式,通过在 VDD GND 之间控制 FLMD0 引脚的电压,从而输出
脉冲来确定。关于 FLMD0引脚脉冲数量和通信模式之间的关系,参见 2.5 选择串行通信模式中的表 2-3

2.2.2 串行接口引脚(TxDRxDSISOSCKHS)

串行接口引脚用于传输编程器和 V850ES/Hx2之间的 flash 存储器写入命令。 对于 V850ES/Hx2,有 UARTCSI + HS、以及 CSI 三种通信模式可供选择。下图显示了用于各通信模式引脚的连
接:
2-1. 串行接口引脚
(1) UART 通信模式
编程器
TxD
RxD
(2) 支持握手功能的 3 线串行 I/O 通信模式(CSI + HS)
编程器
SO
SCK
HS
(3) 3 线串行 I/O 通信模式(CSI)
编程器
SO
Hx2
RXDA0
TXDA0
Hx2
SCKB0
SOB0 PCM0
Hx2
SIB0 SCKB0
SI
使用说明 U18215CA1V0AN
SOB0
21
第二章 编程器工作环境

2.2.3 复位控制引脚(RESET)

复位控制引脚用于由编程器控制 V850ES/Hx2 的系统复位。当提供指定电压至 FLMD0 引脚和 FLMD1 引脚并进行一
次复位后,则选择为 flash 存储器编程模式。
2-2. 复位控制引脚
编程器
Hx2
任意端口 RESET 引脚

2.2.4 时钟控制引脚(CLK)

不使用时钟控制引脚。 编程器的 CLK 引脚不提供时钟,需在目标系统上安装一个振荡器电路提供时钟。

2.2.5 VDD/GND 控制引脚

VDD 控制引脚用于由编程器提供电源至 V850ES/Hx2。当不必从编程器至 V850ES/Hx2 提供电源时,该引脚不必连
接。然而,当使用专用编程器时,因为专用编程器监控 V850ES/Hx2 的电源供给状态,所以无论电源供给是否来自编程 器,都必须连接该引脚。
无论电源供给是否来自编程器,GND 控制引脚必须连接至 V850ES/Hx2 VSS引脚。
2-3. VDD/GND 控制引脚
编程器
V
Hx2
DD
GND
SS

2.2.6 其它引脚

关于未连接至编程器的引脚连接,参见各器件用户手册中描述 flash存储器的章节。
22
使用说明 U18215CA1V0AN
第二章 编程器工作环境

2.3 基本流程图

下图显示了利用编程器执行 flash 存储器重写功能的基本流程图:
2-4. Flash 存储器重写处理的基本流程图
基本流程
目标上电
(参见图 2-5)
模式设置(完成复位)
(参见 2.4)
选择通信模式
(脉冲输入)
(参见 2.4/2.5)
同步处理
(复位命令)
(参见 5.2)
UART
通信?
波特率设置
(参见 5.3)
命令执行
处理完成?
当设置 为非 UART 通信模 式时 ,不 需要波特 率设置处 理。
目标电源关闭处理
(参见 2.9)
结束
因为安全信息可能因此而丢失 ,所以重写期间,复位 输入和关闭电源被禁止。
使用说明 U18215CA1V0AN
23
第二章 编程器工作环境

2.4 设置 Flash 存储器编程模式

为利用编程器重写 flash 存储器的内容,必须首先通过提供指定电压至 V850ES/Hx2 flash 存储器编程模式设置引
脚(FLMD0FLMD1)并进行一次复位,从而将 V850ES/Hx2 设置为 flash 存储器编程模式。
下图显示了设置 flash存储器编程模式以及通信模式选择时序图:
2-5. 设置 Flash 存储器编程模式以及通信模式选择
V
0V
DD
<1> <2> <3>
<1>:上电(VDD) <2>:FLMD0= 高电平,FLMD1= 低电平
<3>:进行复位(模式设置) <4>:脉冲输出开始
:脉冲输出结束
<4> <5>
复位后的 FLMD0 引脚和 FLMD1引脚设置与工作模式之间的关系如下表所示:
2-2. 复位后 FLMD0 引脚和 FLMD1 引脚的设置与工作模式之间的关系
FLMD0 FLMD1
低电平(GND) 任意电平 正常工作模式 高电平(VDD) 低电平(GND) Flash 存储器编程模式
高电平(VDD) 高电平(VDD) 设置禁止
工作模式
24
使用说明 U18215CA1V0AN

2.4.1 模式设置流程图

t
设置编程模式的处理
FLMD0引脚 = 低电平输出
FLMD1 引脚 = 低电平输
VDD 引脚 = 高电平输出
(接通目标供电电源)
FLMD0 引脚 = 高电平输出
第二章 编程器工作环境
引脚=低电平输
tDP(MIN.
tPR(MIN.
RESET 引脚 = 高电平输出
在复位命令处理开始之前启
动时间测量
UART 通信
(FLMD0脉冲 = 0)
根据通信模式对串行 I/O
件进行初始化
输出与通信模式相对应
的脉冲数量
复位命令处理开始之
(tRP(MIN.)+
UART 通信: tR1(MIN.) CSI 通信: tRC(MIN.)
有关脉冲数量和通信模式之间的关 系,参见表 2-3
UART通信: 消耗 tR1 (MIN.) CSI通信: 消耗 tRC (MIN.) CSI + HS通信: HS 引脚准备好?
结束
使用说明 U18215CA1V0AN
本流程 之后,执行相 应通信模 式的复位命令处理。
25
第二章 编程器工作环境

2.4.2 程序举例说明

以下显示了关于模式设置的举例程序:
/****************************************************************/ /* */ /* 连接Flash器件 */ /* */ /****************************************************************/
void fl_con_dev(void) { extern void init_fl_uart(void); extern void init_fl_csi(void);
int n; int pulse;
SRMK0 = true; // 禁止UART Rx IN UARTE0 = false; // 禁止UART H.W
switch (fl_if){ // I/F预置脉冲数量。
default case FLIF_UART pulse = PULSE_UART; break; case FLIF_CSI pulse = PULSE_CSI; break; case FLIF_CSI_HSpulse = PULSE_CSIHS; break;
}
pFL_RES = low; // RESET = 低电平。 pmFL_FLMD0 = PM_OUT; // FLMD0 = 低电平输出。 pFL_FLMD0 = low; pmFL_FLMD1 = PM_OUT; // FLMD1 = 低电平输出。 pFL_FLMD1 = low; FL_VDD_HI(); // VDD = 高电平。
fl_wait(tDP); // 等待。
pFL_FLMD0 = hi; // FLMD0 = 高电平。 fl_wait(tPR); // 等待。
pFL_RES = hi; // RESET = 高电平。 start_flto(tRC); // 启动“tRC”等待定时器。 fl_wait((tRP+tRPE)/2); // 等待。
if (fl_if == FLIF_UART){
init_fl_uart(); // 初始化UART h.w.(用于Flash器件控制)。 UARTE0 = true; // 允许UART h.w. SRIF0 = false; // 清除UART Rx IRQ标志。
SRMK0 = false; // 允许UART Rx INT. } else{
init_fl_csi(); // 初始化CSI h.w. } for (n = 0; n < pulse; n++){ //
脉冲输出。
26
pFL_FLMD0 = low;
使用说明 U18215CA1V0AN
第二章 编程器工作环境
fl_wait(tPW); pFL_FLMD0 = hi; fl_wait(tPW);
}
while(!check_flto()) // t
; // 否。
// 启动RESET命令处理
}
超时?
RC
使用说明 U18215CA1V0AN
27
第二章 编程器工作环境

2.5 串行通信模式选择

通信模式由复位后输入 V850ES/Hx2 FLMD0引脚的脉冲数量来决定。 FLMD0脉冲的高电平和低电平分别为 VDD GND。 下表显示了 FLMD0 脉冲(脉冲数量)与 V850ES/Hx2所能选择的通信模式之间的关系:
2-3. FLMD0 脉冲数量与通信模式之间的关系
通信模式 FLMD0脉冲数量 用于通信的端口
UART (UART0) 0 3线串行 I/O (CSIB0) 8 SOB0 (P41)SIB0 (P40)SCKB0 (P42) 支持握手功能的 3线串行
I/O(CSIB0 + HS)
设置禁止 其它
11
TXDA0 (P30)RXDA0 (P31)
SOB0 (P41)SIB0 (P40)SCKB0 (P42)HS (PCM0)

2.6 UART 通信模式

RxD引脚和 TxD 引脚用于 UART通信。通信状态如下表所示:
2-4. UART 通信状态
名称 说明
波特率 可从 9,60019,20031,25038,40076,800、以及 153,600 bps中选择 (缺省
值:9,600 bps)
奇偶校验位 无 数据长度 8 (LSB 先发)
结束位 1
CSI 通信模式期间 ,编程器总是工作于主设备状态下,因此编程器必须检查 V850ES/Hx2 的处理 (如 :写入或擦
除)是否正常完成。而另一方面,在 UART通信期间主从设备的状态可能会变换,因此不用象 CSI + HS 通信时一样另 行分配一个引脚,也能进行时序上最为合理的通信。
注意事项 当执行 UART 通信时 ,设置相同的波特率至主从设备。
28
使用说明 U18215CA1V0AN
第二章 编程器工作环境

2.7 支持握手功能的 3 线串行 I/O 通信模式 (CSI + HS)

CSI + HS通信模式下,命令或数据的通信时序是最佳的。除 SISO 以及 SCK引脚之外,HS(握手)引脚也使
通信更有效率。
V850ES/Hx2 准备好发送或接收数据时,HS 引脚信号的电平下降(变为低电平)。V850ES/Hx2 的命令或数据开
始发送/接收之前,编程器必须检测 HS 引脚信号的下降沿(低电平)。
通信数据格式为:以字节为单位 MSB先发,保证时钟频率为 2.5MHz 或更低。
2-6. CSI + HS 通信时序图
SCK
SI
HS
BUSY
发送/接收允许
发送/接收允许
BUSY

2.8 3 线串行 I/O 通信模式(CSI)

SCK 引脚、SO 引脚以及 SI 引脚用于 CSI 通信。由于编程器总是工作于主设备状态下,因此,如果 V850ES/Hx2
没有准备好发送/接收时,数据就经由 SCK 引脚发送,通信可能不会正常地执行。
通信数据格式为:以字节为单位 MSB先发,保证时钟频率为 2.5MHz 或更低。

2.9 关闭目标供电电源

各命令执行完成后,关闭至目标器件的供电电源之前设置 RESET引脚为低电平,如下所示: 关闭至目标器件的供电电源时,设置其它引脚为 Hi-Z(高阻)。
注意事项 命令处理期间,关闭电源及输入复位被禁止。
2-7. 终止 Flash存储器编程模式的时序
VDD
RESET
复位输入 电源关闭
使用说明 U18215CA1V0AN
29
第二章 编程器工作环境

2.10 Flash 存储器的操控

V850ES/Hx2 中 集 成 的 flash 存 储 器 有 如 表 2-5 所 列 的 操 控 功 能 。为 了 控 制 这 些 功 能,编 程 器 发 送 命 令 至
V850ES/Hx2,并检查有 V850ES/Hx2发送的应答状态,最终达到操控 flash 存储器的目的。
2-5. Flash 存储器操控功能列表
分类 功能名称 说明
芯片擦除 擦除整个 flash 存储区域。清除安全标志。擦除 块擦除 擦除 flash 存储器中的指定块。
写入 写入 flash 存储器指定区域中写入数据。 验证 验证 V850ES/Hx2 一侧,将编程器发送的数据与从 flash 存储器指定地
址中获取的数据相比较。
空白检查 块空白检查 检查 flash 存储器指定区域的擦除状态。
信息采集
安全性 安全设置 设置安全信息。
其它 复位 检测通信同步。
硅签字’信息采集 获取写入协议信息。 版本信息采集 获取 V850ES/Hx2 及固件的版本信息。
状态信息采集 获取当前操作状态。
校验和信息采集 获取指定区域的校验和数据。

2.11 命令列表

由编程器使用的命令,其功能如下表所示:
2-6. 由编程器发送至 V850ES/Hx2 的命令列表
命令编号 命令名称 功能
70H 状态 获取当前操作状态(状态数据)。 00H
90H 振荡频率设置 指定 V850ES/Hx2的振荡频率。
9AH
20H 芯片擦除 擦除整个 flash 存储区域。 22H
40H 编程 flash 存储器指定区域中写入数据。 13H
32H 块空白检查 检查 flash 存储器中指定块的擦除状态。
C0H C5H 获取版本信息 获取 V850ES/Hx2及固件的版本信息。
B0H A0H 安全设置 设置安全信息。
50H 读取 读取 flash 存储器指定区域的数据。
复位 检测通信同步。
波特率设置 UART通信模式被选择时,设置波特率。
块擦除 擦除 flash 存储器指定区域。
验证 flash存储器指定区域中的内容与由编程器发送的数据相比较。
‘硅签字’ 获取 V850ES/Hx2信息(器件编号、flash 存储器结构等)。
校验和 获取指定区域的校验和数据。
30
使用说明 U18215CA1V0AN
第二章 编程器工作环境

2.12 状态列表

下表列出了编程器接收自 V850ES/Hx2的状态码:
2-7. 状态码列表
状态码 状态 说明
04H 05H 参数错误 命令信息(参数)无效时,出错返回。 06H 确认正常(ACK) 确认正常
07H 08H WWV1错误 写入出错
0BH 0CH EWV2 错误 擦除出错
0DH 0EH 验证错误 由编程器发送的帧中数据出现验证错误。
0FH
10H 保护错误 试图执行由安全设置命令禁止的处理时,出错返回。 11H
13H Compaction 搜索错误 擦除出错 15H
16H 序列发生器错误 Flash控制模块中发生错误时,出错返回 。
FFH
CSI 通信期间,1字节的“FFH”可能被发送,同时又被当作数据帧格式。
命令编号错误 接收到无效帧或一个不被支持的命令时,出错返回。
校验和错误 由编程器发送的帧中数据异常时,出错返回。
EWV1 错误 擦除出错
EWV3 错误 擦除出错
验证错误 由编程器发送的帧中数据出现验证错误。
EWV4 错误 内部验证出错 /空白出错
确认异常(NACK) 确认异常
处理进行中(BUSY) 忙应答
本手册中,接收一个校验和错误或 NACK 都被视为立即异常终止。然而,当开发一个专用编程器时,由校验和错误
NACK 或经由 HS 引脚的 BUSY 状态检查后引起的命令发送之前,毫无疑问,处理可能会立即由等待状态进行重 试。 因此,建议限制重试次数以阻止该重试操作的无限重复。
尽管没有在上表列出,如果超时错误(BUSY 超时、HS 引脚超时、或者在 UART 通信期间数据帧接收超时)发生
时,建议关闭至 V850ES/Hx2的电源供给(参见 2.9 关闭目标供电电源) 然后再次接通电源。
使用说明 U18215CA1V0AN
31

第三章 编程器基本操作

3-1显示了利用编程器执行 flash 存储器重写功能时的常用命令执行流程:
3-1. Flash 存储器重写时的常用命令执行流程
常用命令流程
设置 Flash 存储 器编程模式
复位命令
振荡频率设置命令
波特率设置命令
(仅在 UART 通信模式时)
块空白检查命令
芯片擦除命令
编程命令
安全设置命令
退出 Flash 存储器编程模式
结束
在编程器规格说明中,建议将执行安全设置使读禁止作为一项缺省设置。
备注 同样支持验证命令与校验和命令。
32
使用说明 U18215CA1V0AN

第四章 命令/数据帧格式

编程器使用命令帧发送命令至 V850ES/Hx2V850ES/Hx2 使用数据帧发送写入数据或验证数据至编程器。为了增强
传输数据的可靠性,将帧头信息、帧尾信息、数据长度信息以及校验和信息附加到各帧。
以下显示了命令帧和数据帧的格式:
4-1. 命令帧格式
SOH
(1字节)
LEN
(1字节)
COM
(1 字节)
命令信息(可变长度)
(最大 255 字节)
4-2. 数据帧格式
STX
(1 字节)
LEN
(1 字节)
数据 (可变长度) (最大 256 字节)
4-1. 各帧中符号说明
符号 说明
SOH 01H
STX 02H 数据帧帧头 。 LEN
COM 命令编号
SUM
ETB 17H 除末尾帧之外的数据帧帧尾。 ETX 03H
命令帧帧头。
数据长度信息(00H 表示 256)。
命令帧: COM + 命令信息长度。 数据帧: 数据字段长度。
关于 帧的校验和数据 以字节为单位,通过从初始值(00H)中连续减去所有计算对象数据而获得(忽略借 位)。 计算 对象如下:
命令帧: LEN + COM + 所有命令信息 。 数据帧: LEN + 所有数据。
命令帧帧尾、或末尾数据帧帧尾。
SUM
(1 字节)
SUM
(1 字节)
ETX
(1 字节)
ETXETB
(1 字节)
以下显示了计算帧的校验和(SUM)例子。
使用说明 U18215CA1V0AN
33
第四章 命令 /数据帧格式
[命令帧]
以下状态命令帧的例子中没有包含命令信息,因此,LEN COM是校验和计算的对象。
SOH LEN COM SUM ETX
01H 01H 70H 校验和 03H
校验和计算对象
该命令帧的校验和数据按照如下方法获得:
00H (初始值) 01H (LEN) 70H (COM) = 8FH(忽略借位,仅低 8 位。)
最终发送的命令帧如下:
SOH LEN COM SUM ETX
01H 01H 70H 8FH 03H
[数据帧]
为发送如下所示数据帧,LEN D1D4 是校验和的计算对象。
STX LEN D1 D2 D3 D4 SUM ETX 02H 04H FFH 80H 40H 22H 校验和 03H
校验和计算对象
该数据帧的校验和数据按照如下方法获得:
00H (初始值) 04H (LEN) FFH (D1) 80H (D2) 40H (D3) 22H (D4) = 1BH(忽略借位。仅低 8 位。)
最终发送的数据帧如下:
STX LEN D1 D2 D3 D4 SUM ETX 02H 04H FFH 80H 40H 22H 1BH 03H
当接收到一个数据帧时,校验和数据按同样的方法进行计算,通过判断所得值与存储在接收数据 SUM 字段中的值是
否相同来检测校验和错误。例如,当接收到如下所示的一个数据帧时,则一个校验和错误被检测到。
STX LEN D1 D2 D3 D4 SUM ETX 02H 04H FFH 80H 40H 22H 1AH 03H
正常时,应为 1BH
34
使用说明 U18215CA1V0AN
第四章 命令/数据帧格式

4.1 命令帧发送处理

关于各通信模式时发送命令帧的命令处理流程图之详情,请阅读以下章节:
关于 UART通信模式,阅读 6.1 命令帧发送处理流程图。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.1 命令帧发送处理流程图。关于 3 线串行 I/O通信模式(CSI),阅读 8.1 命令帧发送处理流程图。

4.2 数据帧发送处理

写入数据帧(用户程序)、验证数据帧(用户程序)、以及安全数据帧(安全标志)作为一个数据帧被发送。 关于各通信模式时发送数据帧的命令处理流程图之详情,请阅读以下章节:
关于 UART通信模式,阅读 6.2 数据帧发送处理流程图。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.2 数据帧发送处理流程图。关于 3 线串行 I/O通信模式(CSI),阅读 8.2 数据帧发送处理流程图。

4.3 数据帧接收处理

状态帧、‘硅签字’数据帧、版本数据帧、以及校验和数据帧作为一个数据帧被接收。 关于各通信模式时接收数据帧的命令处理流程图之详情,请阅读以下章节:
关于 UART通信模式,阅读 6.3 数据帧接收处理流程图。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.3 数据帧接收处理流程图。关于 3 线串行 I/O通信模式(CSI),阅读 8.3 数据帧接收处理流程图。
使用说明 U18215CA1V0AN
35

第五章 命令处理描述

5.1 状态命令

5.1.1 描述说明

该命令用于检查各命令(如写入或擦除)发布之后 V850ES/Hx2的工作状态。 该状态命令发布后, 如果由于基于通信或类似的原因, 在 V850ES/Hx2 中, 该状态命令帧不能被正常接收,则
V850ES/Hx2 无法完成状态设置。结果,会收到一个忙应答(FFH)而不是状态帧。在这样的情况下,重试状态命令。

5.1.2 命令帧和状态帧

5-1 显示了状态命令的命令帧格式,图 5-2显示了该命令的状态帧:
5-1. 状态命令帧(自编程器至 V850ES/Hx2
SOH LEN COM SUM ETX
01H 01H 70H (状态) 校验和 03H
5-2. 状态命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H n ST1 STn
校验和
03H
备注 1. ST1STn:状态#1 至状态#n
2. 状态帧长度随发送至 V850ES/Hx2 的各命令(如写入或擦除)而改变。
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
后续章节。
UART通信模式时,不使用状态命令。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.4 状态命令。
关于 3 线串行 I/O通信模式(CSI),阅读 8.4 状态命令。
注意事项 在 UART 通信时,各命令 (如写入或擦除)被发送后,V850ES/Hx2 在指定时间内自动返回状态帧。因
此不使用状态命令。 如果在 UART 通信时状态命令被发送,则返回命令号错误。
使用说明 U18215CA1V0AN36
第五章 命令处理描述

5.2 复位命令

5.2.1 描述说明

该命令用于检查通信模式设置后编程器和 V850ES/Hx2之间的通信建立。 当 UART 被 选择为与 V850ES/Hx2 的通 信 模 式时,编程 器 和 V850ES/Hx2 的 波特率设 置 值必须相同 。 但 是
V850ES/Hx2不能检测其自身的工作频率,因此不能设置波特率。通过以 9600 bps速率由编程器发送“00H”两次,并 测量“00H”低电平的宽度,然后计算这两次所发送信号的平均值,则使 V850ES/Hx2 中工作频率的检测成为可能。从
而,可以设置波特率,并能够在通信中进行同步检测。

5.2.2 命令帧和状态帧

5-3显示了复位命令的命令帧格式,图 5-4 显示了该命令的状态帧:
5-3. 复位命令帧(自编程器至 V850ES/Hx2
SOH LEN COM SUM ETX
01H 01H 00H (复位) 校验和 03H
5-4. 复位命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX 02H 1 ST1
校验和
03H
备注 ST1:同步检测结果
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.4 复位命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS),阅读 7.5 复位命令。
关于 3线串行 I/O通信模式(CSI),阅读 8.5 复位命令。
使用说明 U18215CA1V0AN 37
第五章 命令处理描述

5.3 波特率设置命令

5.3.1 描述说明

该命令用于改变 UART通信的波特率(缺省值:9600 bps)。 波特率设置命令执行后,在新的波特率设置值条件下,为了确认同步,必须执行复位命令。
仅在 UART通信模式时,波特率设置命令有效。设置的波特率数据由一个字节值代表。 如果在非 UART通信模式下发送波特率设置命令,则 V850ES/Hx2 忽略波特率设置命令。

5.3.2 命令帧和状态帧

5-5 显示了波特率设置命令的命令帧格式,图 5-6显示了该命令的状态帧:
5-5. 波特率设置命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 02H
9AH
(波特率设置)
命令信息
D01 校验和 03H
SUM ETX
备注 D01:波特率选择值
D01
波特率(bps) 9600 19200 31250 38400 76800 153600
03H 04H 05H 06H 07H 08H
5-6. 波特率设置命令的状态帧(自 V850ES/Hx2 至编程器 )
STX LEN
02H 01H ST1 校验和 03H
数据
SUM ETX
备注 ST1:同步检测结果
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
下述章节:
对于 UART通信模式,阅读 6.5 波特率设置命令。支持握手功能的 3 线串行 I/O通信模式(CSI + HS)不使用波特率设置命令。3 线串行 I/O通信模式(CSI)不使用波特率设置命令。
使用说明 U18215CA1V0AN38
第五章 命令处理描述

5.4 振荡频率设置命令

5.4.1 描述说明

该命令用于设置 V850ES/Hx2的振荡频率数据。 指定实际输入至 V850ES/Hx2X1 引脚的时钟频率。
根据该命令所指定的时钟频率,V850ES/Hx2 自动设置 CPU 工作时钟的倍频系数。因此,应注意该命令执行前后,
用于计算等待时间的参考时钟会发生变化。

5.4.2 命令帧和状态帧

5-7显示了振荡频率设置命令的命令帧格式, 图 5-8 显示了该命令的状态帧:
5-7. 振荡频率设置命令帧 (自编程器至 V850ES/Hx2
SOH LEN COM
01H 05H
90H
(振荡频率设置)
D01 D02 D03 D04 校验和 03H
命令信息
SUM ETX
备注 D01至 D04:振荡频率 = (D01 0.1 + D02 0.01 + D03 0.001) 10
设置范围:10 kHz 100 MHz,但实际发送命令时,根据各器件的规格说明来设 置该值。 D01D03 内为原始 8位的 BCD 码,而 D04 为一个带符号整数。
设置例子: 要设置为 6 MHz,则:
D01 = 06H D02 = 00H D03 = 00H D04 = 04H
振荡频率 = 6 0.1 104= 6,000 kHz = 6 MHz
设置例子: 要设置为:10 MHz,则:
D01 = 01H D02 = 00H D03 = 00H D04 = 05H
振荡频率 = 1 0.1 105= 10000 kHz = 10 MHz
D04
(单位:kHz)
5-8. 振荡频率设置命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H 01H ST1
校验和
03H
备注 ST1:振荡频率设置结果
使用说明 U18215CA1V0AN 39
第五章 命令处理描述
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.6 振荡频率设置命令。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.6 振荡频率设置命令。
关于 3 线串行 I/O通信模式(CSI),阅读 8.6 振荡频率设置命令。
使用说明 U18215CA1V0AN40
第五章 命令处理描述

5.5 芯片擦除命令

5.5.1 描述说明

该命令用于擦除整个 flash 存储器的内容。另外,只要安全设置没有禁止擦除(参见 5.13 安全设置命令),由安全
设置处理所设置的信息也能够通过芯片擦除处理来初始化。

5.5.2 命令帧和状态帧

5-9显示了芯片擦除命令的命令帧格式,图 5-10 显示了该命令的状态帧:
5-9. 芯片擦除命令帧(自编程器至 V850ES/Hx2
SOH LEN COM SUM ETX
01H 01H
5-10. 芯片擦除命令的状态帧 (自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H 01H ST1
20H
(芯片擦除)
校验和 03H
校验和
03H
备注 ST1:芯片擦除结果
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.7 芯片擦除命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS),阅读 7.7 芯片擦除命令。
关于 3线串行 I/O通信模式(CSI),阅读 8.7 芯片擦除命令。
使用说明 U18215CA1V0AN 41
第五章 命令处理描述

5.6 块擦除命令

5.6.1 描述说明

只要安全设置没有禁止擦除(参见 5.13安全设置命令),该命令就可用于擦除 flash 存储器中指定编号块的内容。

5.6.2 命令帧和状态帧

5-11显示了块擦除命令的命令帧格式,图 5-12 显示了该命令的状态帧:
5-11. 块擦除命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 02H
22H
(块擦除)
命令信息
BLK 校验和 03H
SUM ETX
备注 BLK:所擦除的块编号
5-12. 块擦除命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H 01H ST1
校验和
03H
备注 ST1:块擦除结果
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.8 块擦除命令。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.8 块擦除命令。
关于 3 线串行 I/O通信模式(CSI),阅读 8.8 块擦除命令。
使用说明 U18215CA1V0AN42
第五章 命令处理描述

5.7 编程命令

5.7.1 描述说明

写入起始地址和写入结束地址发送后,该命令发送待写入的字节数量。然后将用户程序写至 flash 存储器并在内部对
其进行验证。
写入开始/结束地址只能以块起始/结束地址为单位进行设置。 如果在末尾数据发送后两个状态帧(ST1 ST2)都指示 ACK ,则 V850ES/Hx2 固件自动执行内部验证。 因此,
必须发送该内部验证的状态命令。

5.7.2 命令帧和状态帧

5-13显示了编程命令的命令帧格式,图 5-14 显示了该命令的状态帧:
5-13. 编程命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 07H
40H
(编程)
SAH SAM SAL EAH EAM EAL 校验和 03H
命令信息
备注 SAH、SAMSAL:写入起始地址
EAHEAMEAL:写入结束地址
5-14. 编程命令的状态帧( 自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX 02H 01H ST1 (a)
备注 ST1 (a):命令接收结果

5.7.3 数据帧和状态帧

5-15 显示了包含写入数据的帧格式, 图 5-16显示了该数据的状态帧:
5-15. 写入数据的帧(自编程器至 V850ES/Hx2
STX LEN
00HFFH
02H
(00H = 256)
数据
写入数据 校验和 03H/17H
校验和
SUM ETX/ETB
03H
SUM ETX
备注 写入数据:被写入的用户程序
5-16. 数据帧的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX 02H 02H ST1 (b) ST2 (b)
校验和
备注 ST1 (b):数据接收检查结果
ST2 (b):写入结果
使用说明 U18215CA1V0AN 43
03H

5.7.4 所有数据传输完毕和状态帧

5-17 显示了所有数据传输完毕后的状态帧:
5-17. 所有数据传输完毕后的状态帧(自 V850ES/Hx2 至编程器)
第五章 命令处理描述
STX LEN
02H 01H ST1 (c) 校验和 03H
数据
SUM ETX
备注 ST1 (c):内部验证结果
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.9 编程命令。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.9 编程命令。关于 3 线串行 I/O通信模式(CSI),阅读 8.9 编程命令。
使用说明 U18215CA1V0AN44
第五章 命令处理描述

5.8 验证命令

5.8.1 描述说明

该命令用于比较由编程器发送的数据和自 V850ES/Hx2 指定地址范围内读取的数据(读取电平),并检查它们是否
相符。
验证开始/结束地址只能以块起始/结束地址为单位进行设置。

5.8.2 命令帧和状态帧

5-18显示了验证命令的命令帧格式,图 5-19显示了该命令的状态帧:
5-18. 验证命令 帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 07H
13H
(验证)
SAH SAM SAL EAH EAM EAL 校验和 03H
命令信息
备注 SAH、SAMSAL:验证起始地址
EAHEAMEAL:验证结束地址
5-19. 验证命令的状态帧( 自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX 02H 01H ST1 (a)
备注 ST1 (a):命令接收结果

5.8.3 数据帧和状态帧

5-20显示了包含验证数据的帧格式,图 5-21显示了该数据的状态帧:
5-20. 验证数据的数据帧(自编程器至 V850ES/Hx2
STX LEN
00HFFH
02H
(00H = 256)
数据
验证数据 校验和 03H/17H
校验和
SUM ETX/ETB
03H
SUM ETX
备注 验证数据:被验证的用户程序
使用说明 U18215CA1V0AN 45
第五章 命令处理描述
5-21. 数据帧的状态帧(自 V850ES/Hx2 至编程器)
STX LEN
02H 02H ST1 (b) ST2 (b) 校验和 03H
数据
SUM ETX
备注 ST1 (b):数据接收检查结果
ST2 (b):验证结果
即使在指定地址范围内发生验证错误,ACK 也总是作为验证结果被返回。所有验证错
误的状态都反映到末尾数据的验证结果上。因此,仅当所有指定地址范围的验证处理 完成后,才能检查到所发生的验证错误。
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.10 验证命令。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.10 验证命令。关于 3 线串行 I/O通信模式(CSI),阅读 8.10 验证命令。
使用说明 U18215CA1V0AN46
第五章 命令处理描述

5.9 块空白检查命令

5.9.1 描述说明

该命令用于检查 flash存储器中指定块编号的那个块是否空白(擦除状态)。

5.9.2 命令帧和状态帧

5-22显示了块空白检查命令的命令帧格式,图 5-23显示了该命令的状态帧:
5-22. 块空白检查命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 02H
32H
(块空白检查)
命令信息
BLK 校验和 03H
SUM ETX
备注 BLK:被检查是否空白的块编号
5-23. 块空白检查命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX 02H 01H ST1
校验和
03H
备注 ST1:块空白检查结果
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.11 块空白检查命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS),阅读 7.11 块空白检查命令。
关于 3线串行 I/O通信模式(CSI),阅读 8.11 块空白检查命令。
使用说明 U18215CA1V0AN 47
第五章 命令处理描述

5.10 ‘硅签字’命令

5.10.1 描述说明

该命令用于读取器件的写入协议信息(‘硅签字’)。 若编程器支持 V850ES/Hx2中所不支持的编程协议,可根据第二以及第三字节的值执行该命令来选择恰当的协议。

5.10.2 命令帧和状态帧

5-24 显示了‘硅签字’命令的命令帧格式,图 5-25显示了该命令的状态帧:
5-24. ‘硅签字 ’命令帧 (自编程器至 V850ES/Hx2
SOH LEN COM SUM ETX
01H 01H
5-25. ‘硅签字’命令的状态帧(自 V850ES/Hx2 至编程器 )
STX LEN 数据 SUM ETX
02H 01H ST1
C0H
(‘硅签字’)
校验和 03H
校验和
03H
备注 ST1:命令接收结果

5.10.3 ‘硅签字’数据帧

5-26 显示了包含‘硅签字’数据的帧格式:
5-26. ‘硅签字 ’数据帧( 自 V850ES/Hx2 至编程器)
STX LEN 02H n VEN EXT FNC 无效数据 校验和 03H
数据
备注 1. n (LEN): 数据长度。
VEN 厂家代码(NEC10H) EXT 扩展代码。 FNC 功能信息。 INVALID DATA 90 198 长度的无效数据。
2. 对于厂家代码(VEN)、扩展代码(EXT)、以及功能信息(FNC),其最高位都用作奇校验位。举例
显示如下:
5-1. ‘硅签字 ’数据举例
字段 内容 长度(字节) ‘硅签字’数据
VEN
EXT
FNC 功能信息 (固定) 1 40H (01000000B) 40H
厂家代码(NEC) 扩展代码(固定)
1 10H (00010000B) 10H 1 4FH (01001111B) 4FH
阴影位代表奇校验位(该值用来调整字节中“1”的数量)。
SUM ETX
举例 实际值
使用说明 U18215CA1V0AN48
第五章 命令处理描述
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.12 ‘硅签字命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS),阅读 7.12 ‘硅签字命令 。
关于 3线串行 I/O通信模式(CSI),阅读 8.12 ‘硅签字命令。
使用说明 U18215CA1V0AN 49
第五章 命令处理描述

5.11 获取版本信息命令

5.11.1 描述说明

该命令用于获取有关 V850ES/Hx2的器件版本信息和固件版本信息。 当编程参数必须随 V850ES/Hx2的固件版本信息改变时,使用该命令。
注意事项 在不影响 flash 编程参数改变的固件更新期间,固件版本信息可能被修改(此时,不通告固件版本信息的
修改)。
例如: 固件版本信息和重新编程参数。
固件版本信息
编程参数
需改变 flash编程参数的升级。
不影响 flash编程参数改变项目的升级。

5.11.2 命令帧和状态帧

5-28 显示了获取版本信息命令的命令帧格式,图 5-29显示了该命令的状态帧:
5-28. 获取版本信息命令帧(自编程器至 V850ES/Hx2
SOH LEN COM SUM ETX
01H 01H
C5H
(获取版本信息)
校验和 03H
5-29. 获取版本信息命令的状态帧(自 V850ES/Hx2 至编程器 )
STX LEN 数据 SUM ETX
02H 01H ST1
校验和
备注 ST1:命令接收结果
参数
参数
03H
使用说明 U18215CA1V0AN50

5.11.3 版本数据帧

5-30显示了版本数据的数据帧:
第五章 命令处理描述
5-30. 版本数据帧(自 V850ES/Hx2 至编程器)
STX LEN 02H 06H DV1 DV2 DV3 FV1 FV2 FV3 校验和 03H
数据
SUM ETX
备注 DV1: 器件版本信息的整数部分。
DV2: 器件版本信息的第一个小数点位置。 DV3: 器件版本信息的第二个小数点位置。 FV1: 固件版本信息的整数部分 。 FV2: 固件版本信息的第一个小数点位置。 FV3: 固件版本信息的第二个小数点位置。
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情, 请阅读
下述章节:
关于 UART通信模式,阅读 6.13 获取版本信息命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS),阅读 7.13 获取版本信息命令。关于 3线串行 I/O通信模式(CSI),阅读 8.13 获取版本信息命令。
使用说明 U18215CA1V0AN 51
第五章 命令处理描述

5.12 校验和命令

5.12.1 描述说明

该命令用于获取指定区域的校验和数据。 关于校验和计算的起始/结束地址,即从 flash 存储器的顶部开始以块为单位(2 KB)所指定的一个固定地址。
校验和数据通过从初始值(00H)中以字节为单位连续减去指定地址范围内的数据而得到。

5.12.2 命令帧和状态帧

5-31 显示了校验和命令的命令帧格式, 图 5-32 显示了该命令的状态帧:
5-31. 校验和命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 07H
B0H
(校验和)
SAH SAM SAL EAH EAM EAL 校验和 03H
备注 SAHSAMSAL:校验和计算起始地址
EAHEAMEAL:校验和计算结束地址
5-32. 校验和命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H 01H ST1
备注 ST1:命令接收结果。

5.12.3 校验和数据帧

5-33 显示了包含校验和数据的帧格式:
5-33. 校验和数据帧(自 V850ES/Hx2 至编程器)
STX LEN
02H 02H CK1 CK2 校验和 03H
数据
命令信息
校验和
SUM ETX
03H
SUM ETX
备注 CK1:校验和数据的高 8 位。
CK2:校验和数据的低 8 位。
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图 、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.14 校验和命令。关于支持握手功能的 3 线串行 I/O通信模式(CSI + HS),阅读 7.14 校验和命令。关于 3 线串行 I/O通信模式(CSI),阅读 8.14 校验和命令。
使用说明 U18215CA1V0AN52
第五章 命令处理描述

5.13 安全设置命令

5.13.1 描述说明

该命令用于执行安全设置(写入、块擦除、以及芯片擦除的允许或禁止)。用该命令执行这些设置 ,能够限制未经
授权就对 flash存储器进行重写。
注意事项 安全设置一旦完成,将不能再次设置安全标志或者由禁止改为允许。如果试图这样的设置, 则将会产生一
个写入错误(1CH)。为了重设安全标志,所有的安全标志必须通过执行芯片擦除命令(块擦除命令不能够 用来初始化安全标志)来初始化。但是,如果芯片擦除已被禁止,则无法擦除芯片自身,因此,此设置将
不能从编程器中抹去。所以,建议芯片禁止擦除之前,本编程器规范中应该对安全设置执行进行再确认。

5.13.2 命令帧和状态帧

5-34显示了安全设置命令的命令帧格式,图 5-35显示了该命令的状态帧: 安全设置命令帧包含块编号字段和页编号字段,但这些字段没有任何特殊用途,因此这些字段设置为 00H
5-34. 安全设置命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 03H A0H (安全设置)
00H
(固定)
备注 BLK、PAG:固定为 00H。
5-35. 安全设置命令的状态帧 (自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX 02H 01H ST1 (a)
备注 ST1 (a):命令接收结果。

5.13.3 数据帧和状态帧

5-36显示了安全数据帧的格式,图 5-37显示了该数据的状态帧:
5-36 安全数据帧(自编程器至 V850ES/Hx2
STX LEN 02H 04H FLG ADH ADM ADL 校验和 03H
数据
备注 FLG:安全标志。
ADH:复位向量句柄地址(位 23 16)。 ADM:复位向量句柄地址(位 158)。 ADL: 复位向量句柄地址(位 7 0)。
命令信息
(固定)
校验和
00H
SUM ETX
校验和 03H
03H
SUM ETX
使用说明 U18215CA1V0AN 53
第五章 命令处理描述
5-37. 安全数据写入状态帧(自 V850ES/Hx2 至编程器)
STX LEN
02H 01H ST1 (b) 校验和 03H
备注 ST1 (b):安全数据写入结果。

5.13.4 内部验证检查和状态帧

5-38 显示了内部验证检查的状态帧:
5-38. 内部验证检查的状态帧(自 V850ES/Hx2 至编程器 )
STX LEN 数据 SUM ETX
02H 01H ST1 (c)
备注 ST1 (c):内部验证结果。
下表显示了安全标志字段中的内容:
名称 内容
76
5432 编程禁止标志(1:编程允许,0:编程禁止)
位 1 块擦除禁止标志(1:块擦除允许,0:块擦除禁止) 位 0 芯片擦除禁止标志(1:芯片擦除允许,0:芯片擦除禁止)
数据
5-2. 安全标志字段中的内容
固定为“1”
SUM ETX
校验和
03H
下表显示了安全标志字段设置和各工作模式中允许/禁止状态之间的关系:
5-3. 安全标志字段和各工作模式中允许/禁止状态
工作模式 Flash存储器编程模式 自编程模式
命令
安全设置名称
编程禁止
芯片擦除禁止
块擦除禁止
安全设置后的命令工作状态:
:可执行,:不可执行
编程 芯片擦除 块擦除
使用说明 U18215CA1V0AN54
所有命令都 能执行,而与安全设置
值无关。
仅可保留安全设置值 。
第五章 命令处理描述
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.15 安全设置命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS)时,阅读 7.15 安全设置命令。
关于 3线串行 I/O通信模式(CSI),阅读 8.15 安全设置命令。
使用说明 U18215CA1V0AN 55
第五章 命令处理描述

5.14 读取命令

5.14.1 描述说明

该命令用于从 V850ES/Hx2flash 存储器中读取数据。 写入开始/结束地址只能以块起始/结束地址为单位进行设置。

5.14.2 命令帧和状态帧

5-39 显示了读取命令的命令帧格式,图 5-40显示了该命令的状态帧:
5-39. 读取命令帧(自编程器至 V850ES/Hx2
SOH LEN COM
01H 07H
50H
(读取)
SAH SAM SAL EAH EAM EAL 校验和 03H
命令信息
备注 SAH、SAM、SAL:读取起始地址(块的起始地址)
EAHEAMEAL:读取结束地址(块的结束地址)
5-40. 读取命令的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H 01H ST1 (a)
备注 ST1 (a):命令接收结果

5.14.3 数据帧和状态帧

5-41 显示了包含读取数据的帧格式,图 5-42显示了该数据的状态帧:
5-41. 读取数据的数据帧(自编程器至 V850ES/Hx2
STX LEN
02H 00HFFH
(00H = 256)
数据
读取数据 校验和 03H/17H
校验和
SUM ETX/ETB
03H
SUM ETX
备注 读取数据:读取自 V850ES/Hx2 中的数据
5-42. 读取数据的状态帧(自 V850ES/Hx2 至编程器)
STX LEN 数据 SUM ETX
02H
00HFFH (00H = 256)
ST1 (b)
校验和
03H/17H
备注 ST1 (b):为了读取数据,由编程器发送 ACK (06H)或 NACK (15H)。
使用说明 U18215CA1V0AN56
第五章 命令处理描述
关于各通信模式时编程器和 V850ES/Hx2 之间的处理顺序流程图、命令处理流程图、以及举例程序之详情,请阅读
下述章节:
关于 UART通信模式,阅读 6.16 读取命令。关于支持握手功能的 3线串行 I/O通信模式(CSI + HS),阅读 7.16 读取命令。
关于 3线串行 I/O通信模式(CSI),阅读 8.16 读取命令。
使用说明 U18215CA1V0AN 57

6.1 命令帧传输 处理流程图

(UART)
(UART)
(UART)

第六章 UART 通信模式

命令帧发送处理
命令帧头
(SOH = 01H)
发送
数据发送间等待
数据长度(LEN)
发送
数据发送间等待
命令编码 (COM)
发送
(LEN 1)字节
发送?
数据发送间等待
发送 1字节
命令信息
DT
DT
DT
数据发送间等待
校验和数据(SUM)
发送
数据发送间等待
命令帧帧尾
(ETX =03H)
发送
命令帧发送结束
使用说明 U18215CA1V0AN58
DT
DT

6.2 数据帧传输处理流程图

第六章 UART 通信模式
数据帧 发 送 处 理
数 据帧 头 (STX = 02H)
发送
数 据发送 间 等 待
数 据长度 (LEN)
发送
LEN 字 节 发 送?
数 据发送 间 等 待
发 送 1字 节 数 据
数 据发送 间 等 待 tDT (UART)
tD T (UART)
tD T (UART)
校 验和 数 据 (SUM) 发送
数 据发送 间 等 待 tDT (UART)
最 末数据 帧 ?
发 送最末 数 据 帧帧尾 (ETX
= 03H)
数 据帧发 送 结 束
发 送非最 末 数 据帧帧 尾
(ETB = 17H)
使用说明 U18215CA1V0AN 59

6.3 数据帧接收处理流程图

第六章 UART 通信模式
数据帧接收处理
(STX = 02H) 接收?
数据长度(LEN) 接收?
1字节数据接收?
LEN字节接收?
数据帧头
超时?
tFD1/tFD2 (MAX.) (UART)
超时?
tDR (MAX.) (UART)
超时?
tDR (MAX.) (UART)
接收超时错误
接收超时错误
接收超时错误
校验和数据
(SUM) 接收?
超时?
tDR (MAX.) (UART)
数据帧帧尾接收?
超时?
tDR (MAX.)(UART)
校验和错误?
数据帧接收结束 校验和错误
使用说明 U18215CA1V0AN60
接收超时错误
接收超时错误
最末数据帧帧尾(ETX= 03H)或非最 末数据帧帧尾 (ETB= 17H)

6.4 复位命令

6.4.1 处理程序流程图

复位命令处理程序
第六章 UART 通信模式
超时错误 [C]
编程器 V850ES/Jx2
发生超时
在指定的时间内接收到状态帧
<1>
<2> 低电平输出(00H@ 9,600bps)
<3>
<4> 低电平输出 (00H@ 9,600 bps)
<5> 等待
<6> 发送复位命令帧
从上一个帧接收开始等待 直到下一个命令发送为止
等待
tCOM
t12
t2C
tWT0 (MAX.)状态帧接收超时检查<7>
<8> 状态帧接收
V850ES/Hx2
接收状态
[ACK/ACK]
ACK
ACK
正常完成 [A]
转入 <5>
超出重试计数?
异常终止 [B]
[/]
不要超出复位命令发送的重试计数(最大到 16次)。
使用说明 U18215CA1V0AN 61
第六章 UART 通信模式

6.4.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令处理开始为止(等待时间 tCOM) <2> 输出低电平(9,600 bps 发送数据 00H) <3> 等待状态(等待时间 t12) <4> 输出低电平(9,600 bps 发送数据 00H) <5> 等待状态(等待时间 t2C) <6> 命令帧传输处理发送复位命令。 <7> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT0(MAX.))
<8> 检查状态码。
ST1 = ACK 时:正常完成 [A]ST1 ACK 时: 检查重试计数(tRS)。
如果没有超出重试计数,程序从<5>重复执行。 如果超出重试计数,处理异常结束[B]

6.4.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行并且编程器和 V850ES/Hx2之间建立同步。
校验和错误 确认异常 (NACK) 15H 处理过程中接收到一个除状态命令外的其他命令。
超时错误 [C] 在指定的时间内没有收到状态帧。
07H
发送命令帧的校验和不匹配。异常终止 [B]
命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
使用说明 U18215CA1V0AN62

6.4.4 流程图

第六章 UART 通信模式
复位命令处理
从上一个帧接收开始等待直到下一个
命令发送为止
9,600 bps发送 “00
等待
9,600 bps发送 “00
等待 t2C
命令帧发送处理
(复位)
tCOM
t12
状态帧接收?
状态 =ACK?
正常完成 [A]
超时?
tWT0 (MAX.) (UART)
超时错误 [C]
超出重试计数?
异常终止[B]
使用说明 U18215CA1V0AN 63
第六章 UART 通信模式

6.4.5 程序举例说明

以下是复位命令处理的程序举例说明:
/****************************************************************/ /* */ /* 复位命令 */ /* */ /****************************************************************/
/* [r] u16 ... 错误码 */ /****************************************************************/
u16 fl_ua_reset(void) {
u16 rc; u32 retry;
set_uart0_br(BR_9600); // 改变为 9600bps
fl_wait(tCOM_UA); // 等待。 putc_ua(0x00); // 9600bps 发送 0x00
fl_wait(t12); // 等待。 putc_ua(0x00); //9600bps 发送 0x00
for (retry = 0; retry < tRS; retry++){
fl_wait(t2C); // 等待。
put_cmd_ua(FL_COM_RESET, 1, fl_cmd_prm); // 发送复位命令。
rc = get_sfrm_ua(fl_ua_sfrm, tWT0_MAX);
if (rc == FLC_DFTO_ERR)//超时错误 ?
break; // // 情况 [C]
if (rc == FLC_ACK){ // ACK ?
break; // //情况[A]
}
else{
NOP();
}
//continue; //情况[B] (如果从循环中退出) }
// switch(rc) { //
// case FLC_NO_ERR: return rc; break; //情况 [A] // case FLC_DFTO_ERR: return rc; break; //情况 [C] // default: return rc; break; //情况[B]
// }
return rc;
}
使用说明 U18215CA1V0AN64

6.5 波特率设置命令

6.5.1 处理程序流程图

波特率设置命令处理程序
编程器
第六章 UART 通信模式
V850ES/Jx2
V850ES/Hx2
超时错误 [C]
发生超时
在指定的时间内收到状态帧
接收状态[ACK]
从上一个帧接收开始等待直到
<1>
<2> 发送波特率设置命令
<4> 发送复位命令帧
下一个命令发送为止
从命令帧发送开始等待直到
复位命令发送为止
tCOM
tWT10<3>
tWT0 (MAX.)状态帧接收超时检查<5>
<6> 状态帧接收
ACK
ACK
正常完成 [A]
转入 <3>
异常终止 [B]
超出重试计数?
[/]
不要超出复位命令发送的重试计数(最大到 16次)。
使用说明 U18215CA1V0AN 65
第六章 UART 通信模式

6.5.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送波特率设置命令。 <3> 从命令发送开始等待直到复位命令发送为止(等待时间 tWT10) <4> 命令帧传输处理发送复位命令。 <5> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT0(MAX.))
<6> 如果状态码是 ACK,处理正常结束[A]

6.5.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行 ,而且建立编程器和 V850ES/Hx2 之间的 UART
信速度同步。
校验和错误 07H 发送命令帧的校验和不匹配。异常终止 [B] 确认异常 (NACK)
超时错误 [C] 数据帧接收超时。
15H
命令帧数据异常(例如不正确的数据长度(LEN)或没有 ETX)。
对于 V850ES/Hx2,该命令还会导致以下错误:
命令信息(参数)无效。命令帧包括校验和错误。命令帧的数据长度 (LEN)不正确。命令帧帧尾(ETX) 缺失。
设置波特率和接收命令帧数据 16次后没有检测到复位命令 。
使用说明 U18215CA1V0AN66

6.5.4 流程图

第六章 UART 通信模式
波特率设置命令处理
从上一个帧接收开始等待直到下一个
命令发送为止
命令帧发送处理
(波特率设置)
从命令帧发送开始等待直到
复位命令发送为止
命令帧发送处理
(复位)
状态帧接收?
tCOM
tWT10
正常完成 [A]
超时?
tWT0 (MAX.)
超时错误 [C]
使用说明 U18215CA1V0AN 67
第六章 UART 通信模式

6.5.5 程序举例说明

以下是波特率设置命令处理程序的举例说明:
/****************************************************************/ /* */ /* 设置波特率命令 */ /* */
/****************************************************************/ /* [i] u8 brid ... 波特率 ID */ /* [r] u16 ... 错误码 */
/****************************************************************/ u16 fl_ua_setbaud(u8 brid) {
u16 rc; u8 br;
u32 retry;
switch(brid){
default:
case BR_9600: br = 0x03; break;
case BR_19200: br = 0x04; break;
case BR_31250: br = 0x05; break;
case BR_38400: br = 0x06; break;
case BR_76800: br = 0x07; break;
case BR_153600: br = 0x08; break; } fl_cmd_prm[0] = br; // "D01"
fl_wait(tCOM_UA); // 发送命令前等待。 put_cmd_ua(FL_COM_SET_BAUDRATE, 2, fl_cmd_prm); // 发送波特率设置”命令。
set_flbaud(brid); // 改变波特率。 set_uart0_br(brid); // 改变波特率 (h.w.)
retry = tRS; while(1){
fl_wait(tWT10);
put_cmd_ua(FL_COM_RESET, 1, fl_cmd_prm); // 发送复位命令。
rc = get_sfrm_ua(fl_ua_sfrm, tWT0_MAX); // 获得状态帧。
if (rc){
if (retry--)
continue;
else
return rc;
}
使用说明 U18215CA1V0AN68
第六章 UART 通信模式
break; //获得 ACK !!
} // switch(rc) { // case FLC_NO_ERR: return rc; break; // 情况[A] // case FLC_DFTO_ERR: return rc; break; // 情况[C] // default: return rc; break; //情况[B]
// }
return rc; }
使用说明 U18215CA1V0AN 69

6.6 振荡频率设置命令

6.6.1 处理程序流程图

振荡频率设置命令处理程序
第六章 UART 通信模式
发生超时
超时错误 [C]
ACK
编程器
<1>
<3>
在指定的时间内收到状态帧
<4>
接收状态
[ACK/ACK]
从上一个帧接收开始 直到下一个命令发送为
发送振荡频率设置命令帧
状态帧接收超时
COM
tWT9 (MAX.)
状态帧接收
V850ES/Jx2
V850ES/Hx2
异常终止[B]
正常完成[A]
使用说明 U18215CA1V0AN70
第六章 UART 通信模式

6.6.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送振荡频率设置命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT9(MAX.))
<4> 检查状态码。
ST1 = ACK 时: 正常完成[A]。 当 ST1 ACK时: 异常终止 [B]。

6.6.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行,操作频率被正确设置到 V850ES/Hx2。 异常终止 [B]
超时错误 [C] 在指定的时间内没有收到状态帧。
参数错误 05H 振荡频率值超出范围。
校验和错误 确认异常 (NACK) 15H 处理过程中接收到一个除状态命令外的其他命令。
07H
发送命令帧的校验和不匹配。
命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
使用说明 U18215CA1V0AN 71

6.6.4 流程图

(MAX.)
第六章 UART 通信模式
振荡频率设置命令处理
从上一个帧接收开始等待直到下一个
(振荡频率设置)
状态帧接收?
COM
超时?
WT9
超时错误[C]
状态= ACK?
正常完成[A]
异常终止 [B]
使用说明 U18215CA1V0AN72
第六章 UART 通信模式

6.6.5 程序举例说明

以下是振荡频率设置命令处理的程序举例说明:
/****************************************************************/ /* */ /* 设置 Flash器件时钟值命令 */ /* */
/****************************************************************/ /* [i] u8 clk[4] ... 频率数据 (D1-D4) */ /* [r] u16 ... 错误码。 */
/****************************************************************/ u16 fl_ua_setclk(u8 clk[]) {
u16 rc;
fl_cmd_prm[0] = clk[0]; // "D01"
fl_cmd_prm[1] = clk[1]; // "D02"
fl_cmd_prm[2] = clk[2]; // "D03"
fl_cmd_prm[3] = clk[3]; // "D04"
fl_wait(tCOM_UA); // 发送命令前等待。
put_cmd_ua(FL_COM_SET_OSC_FREQ, 5, fl_cmd_prm);
rc = get_sfrm_ua(fl_ua_sfrm, tWT9_MAX); //获得状态帧。 // switch(rc) {
// // case FLC_NO_ERR: return rc; break; // 情况[A]
// case FLC_DFTO_ERR: return rc; break; // 情况[C] // default: return rc; break; //情况[B]
// }
return rc; }
使用说明 U18215CA1V0AN 73

6.7 片擦除命令

6.7.1 处理程序流程图

片擦除命令处理程序
第六章 UART 通信模式
超时错误 [C]
发生超时
编程器 V850ES/Jx2
<1>
<2> 片擦除命令帧发送
在指定的时间内收到状态帧
<4> 状态帧接收
接收状态
[ACK/ACK]
从上一个帧接收开始等待 直到下一个命令发送为止
状态帧接收超时检查<3>
V850ES/Hx2
tCOM
tWT1 (MAX.)
ACK
异常终止 [B]
ACK
正常完成 [A]
使用说明 U18215CA1V0AN74
第六章 UART 通信模式

6.7.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送片擦除命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT1(MAX.))
<4> 检查状态码。
ST1 = ACK 时: 正常完成[A]ST1 ACK时: 异常终止 [B]

6.7.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行,片擦除被正常完成。 异常终止 [B]
超时错误 [C]
校验和错误 07H 发送命令帧的校验和不匹配。
保护错误 确认异常 (NACK) 15H 处理过程中接收到一个除状态命令外的其他命令。
WWV1 错误 08H EWV1 错误
EWV2 错误 0CH EWV3 错误
压缩搜索错误 13H 序列发生器错误 16H 发生序列发生器错误。
10H
0BH
0DH
在安全设置中片擦除被禁止。
命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
发生擦除错误。
在指定的时间内没有收到状态帧。
使用说明 U18215CA1V0AN 75

6.7.4 流程图

第六章 UART 通信模式
片擦除命令处理
从上一个帧接收开始等待直到下一个
命令发送为止
命令帧发送处理
(片擦除)
状态帧接收?
状态 = ACK?
tCOM
超时?
超时错误 [C]
tWT1 (MAX.)
正常完成 [A]
异常终止 [B]
使用说明 U18215CA1V0AN76
第六章 UART 通信模式

6.7.5 程序举例说明

以下是片擦除命令处理的程序举例说明:
/****************************************************************/ /* */ /* 擦除全部(整片)命令 */ /* */
/****************************************************************/ /* [r] u16 ... 错误码 */
/****************************************************************/ u16 fl_ua_erase_all(void) {
u16 rc;
fl_wait(tCOM_UA); // 发送命令前等待
put_cmd_ua(FL_COM_ERASE_CHIP, 1, fl_cmd_prm); // 发送擦除片命令
rc = get_sfrm_ua(fl_ua_sfrm, tWT1_MAX); //获得状态帧 // switch(rc) {
// // case FLC_NO_ERR: return rc; break; // 情况[A]
// case FLC_DFTO_ERR: return rc; break; // 情况[C] // default: return rc; break; //情况[B]
// }
return rc;
}
使用说明 U18215CA1V0AN 77

6.8 块擦除命令

6.8.1 处理程序流程图

块擦除命令处理程序
第六章 UART 通信模式
超时错误 [C]
编程器 V850ES/Jx2
<1>
<2> 发送块擦除命令帧
在指定的时间内收到状态帧
<4> 状态帧接收
接收状态
[ACK/ACK]
从上一个帧接收开始等待直
到下一个命令发送为止
状态帧接收超时检查<3>
V850ES/Hx2
tCOM
tWT2 (MAX.)发生超时
ACK
异常终止 [B]
ACK
指定块擦除完成 ?
[/]
正常完成 [A]
使用说明 U18215CA1V0AN78
转入 <1>
第六章 UART 通信模式

6.8.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送块擦除命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT2(MAX.))
<4> 检查状态码。
ST1 = ACK 时: 当所有指定块的块擦除还没有完成时,处理改变块编码并且从<1>重复执行程序。
当所有指定块的块擦除完成时,处理正常结束[A]
ST1 ACK时: 异常终止 [B]

6.8.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行,块擦除正常完成。 异常终止 [B]
超时错误 [C] 在指定的时间内没有收到状态帧。
参数错误
校验和错误 保护错误 10H 在安全设置中写入、块擦除或片擦除被禁止。
确认异常 (NACK)
WWV1 错误 EWV1 错误 0BH
EWV2 错误 EWV3 错误 0DH
压缩搜索错误 13H
序列发生器错误
05H 07H
15H
08H
0CH
16H
块编码超出范围。
发送命令帧的校验和不匹配。
处理过程中接收到一个除状态命令外的其他命令。命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
发生擦除错误。
发生序列发生器错误。
使用说明 U18215CA1V0AN 79

6.8.4 流程图

第六章 UART 通信模式
块擦除命令处理
异常终止 [B]
从上一个帧接收开始等待直到下
一个命令发送为止
命令帧发送处理
(块擦除)
状态帧接收?
状态 = ACK?
tCOM
超时?
超时错误 [C]
tWT2 (MAX.)
指定块擦除完成?
正常完成 [A]
使用说明 U18215CA1V0AN80
第六章 UART 通信模式

6.8.5 程序举例说明

以下是针对一个块的块擦除命令处理的程序举例说明:
/*****************************************************************/ /* */ /* 擦除块命令 */ /* */
/****************************************************************/ /* [i] u8 block ... 块编码 */ /* [r] u16 ... 错误码 */
/****************************************************************/ u16 fl_ua_erase_blk(u8 block) {
u16 rc;
u32 wt2_max;
fl_cmd_prm[0] = block; // BLK
wt2_max = get_wt2_max(get_block_size(block));
fl_wait(tCOM_UA); //发送命令前等待。
put_cmd_ua(FL_COM_ERASE_BLOCK, 2, fl_cmd_prm); // 发送擦除片命令。
rc = get_sfrm_ua(fl_ua_sfrm, wt2_max); //获得状态帧。 // switch(rc) {
// // case FLC_NO_ERR: return rc; break; // 情况[A]
// case FLC_DFTO_ERR: return rc; break; // 情况[C] // default: return rc; break; //情况[B]
// }
return rc;
}
使用说明 U18215CA1V0AN 81

6.9 编程命令

6.9.1 处理程序流程图

第六章 UART 通信模式
编程命 令 处 理程 序
超时 错 误 [C]
异常 终 止 [B]
超时 错 误 [C]
ACK
发生 超 时
在指 定 的时 间 内收 到状 态 帧
发生 超 时
在指 定 的时 间 内收 到状 态 帧
编 程器 V850ES /Jx2
从上一个帧接收开始等待直
< 1>
<2> 发 送 编程 命 令帧
< 3> 状 态 帧接 收 超时 检查
<4 > 状 态帧 接收
接收 状 态
[ACK /AC K]
ACK
<6> 发 送数 据帧 ( 用户 数 据)
到下一个命令发送为止
从上一个帧接收开始等待直
到下一个数据帧发送为止
tCO M
tWT 3 (MAX.)
tFD3< 5>
V850ES/Hx2
tWT 4 (MAX.)<7> 状 态帧 接 收超 时 检查
<8> 状 态帧 接收
异常 终 止 [B]
异 常终 止 [D]
转入 <5>
超时 错 误 [C]
异 常终 止 [E]
ACK
ACK
ACK
发生 超 时
在指 定 的时 间 内收 到 状态 帧
接收 状 态 (S T1)
[ACK /AC K]
ACK
接 收状 态(ST2)
[ACK /AC K]
ACK
所有 数 据帧 已 发送 ?
[/]
<9> 状 态 帧接 收超 时 检查 tW T 5 (MAX.)
<10> 状 态 帧接 收
接收 状 态
[ACK/ ACK]
ACK
正常 完 成 [ A]
使用说明 U18215CA1V0AN82
第六章 UART 通信模式

6.9.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送编程命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT3(MAX.))
<4> 检查状态码。
ST1 = ACK 时: 进入<5>。 当 ST1 ACK时: 异常终止 [B]。
<5> 从上一个帧接收开始等待直到下一个数据帧发送为止(等待时间 tFD3) <6> 数据帧传输处理发送用户数据。 <7> 从用户数据发送开始执行超时检查直到数据帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT4(MAX.))
<8> 检查状态码(ST1/ST2)(同样参见处理程序流程图和流程图)
ST1 ACK时: 异常终止 [B]。ST1 = ACK 时: 根据 ST2 的值执行以下处理:
ST2 = ACK 时:当所有的数据帧发送完成时进入<9>
如果仍有剩余数据帧需要发送,处理从<5>重复执行程序。
当 ST2 ACK时: 异常终止 [D]
<9> 执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT5(MAX.))
<10> 检查状态码。
ST1 = ACK时: 正常完成[A]。 当 ST1ACK时: 异常终止 [E]
使用说明 U18215CA1V0AN 83
第六章 UART 通信模式

6.9.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 异常终止 [B]
参数错误 05H 指定的开始 /结束地址不是该块的开始/结束地址。
06H
校验和错误 07H 发送命令帧或数据帧的校验和不匹配。
保护错误
10H
确认异常 (NACK) 15H 处理过程中接收到一个除状态命令外的其他命令。
超时错误 [C] 在指定的时间内没有收到状态帧。
WWV1 错误
08H (ST2) 序列发生器错误 16H 发生序列发生器错误 。 EWV4 错误
11H
序列发生器错误 16H 发生序列发生器错误 。
命令正常执行,用户数据被正常写入 。
在安全设置中写入被禁止
命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
发生写错误。异常终止 [D]
发生内部验证错误。异常终止 [E]
使用说明 U18215CA1V0AN84

6.9.4 流程图

第六章 UART 通信模式
编 程 命 令 处 理
从上一 个帧接收开 始等待直 到下一个
命令发 送为止
命 令 帧 发 送 处 理
(编 程 )
状 态 帧 接 收 ?
状 态 = A CK ?
从上一 个帧接收开 始等待直 到下一个
命令发 送为止
数 据 帧 发 送 处 理
(用 户 程 序 )
状 态 帧 接 收 ?
tC O M
tF D3
超 时 ?
超 时 错 误 [C ]
异 常 终 止 [B ]
超 时 ?
tW T 3 (M A X .)
tW T 4 (M A X .)
异 常 终 止 [E]
ST 1 = A C K
ST 2 = A C K
所 有 数 据 帧 已 发 送 ?
状 态 帧 已 接 收 ?
状 态 = A CK ?
正 常 完 成 [A ]
超 时 错 误 [C ]
异 常 终 止 [B]
异 常 终 止 [D ]
超 时 ?
超 时 错 误 [C ]
tW T 5 (M A X .)
使用说明 U18215CA1V0AN 85
第六章 UART 通信模式

6.9.5 程序举例说明

以下是编程命令处理的程序举例说明:
/****************************************************************/ /* */ /* 写命令 */ /* */
/****************************************************************/ /* [i] u32 top ... 开始地址 */ /* [i] u32 bottom ... 结束地址 */ /* [r] u16 ... 错误码 */
/****************************************************************/
#define fl_st2_ua (fl_ua_sfrm[OFS_STA_PLD+1])
u16 fl_ua_write(u32 top, u32 bottom) {
u16 rc; u32 send_head, send_size; bool is_end; u32 wt5_max;
/************************************************/
/* 设置参数 */
/************************************************/ set_range_prm(fl_cmd_prm, top, bottom); // 设置 SAH/SAM/SAL, EAH/EAM/EAL
wt5_max = get_wt5_max(bottom - top + 1);
/************************************************/
/* 发送命令并检查状态 */
/************************************************/ fl_wait(tCOM); // 发送命令前等待。
put_cmd_ua(FL_COM_WRITE, 7, fl_cmd_prm); // 发送编程”命令。
rc = get_sfrm_ua(fl_ua_sfrm, tWT3_MAX); // 获得状态帧。 switch(rc) {
case FLC_NO_ERR: break; // 继续。
// case FLC_DFTO_ERR: return rc; break; // 情况[C]
default: return rc; break; // 情况[B]
}
/************************************************/
/* 发送用户数据 */
/************************************************/ send_head = top;
while(1){
使用说明 U18215CA1V0AN86
第六章 UART 通信模式
// make send data frame if ((bottom -send_head) > 256){ //剩余长度> 256 ?
is_end = false; // 是,不是结束帧。 send_size = 256; // 发送长度= 256 字节。
} else{
is_end = true; send_size = bottom - send_head + 1; //发送长度= (bottom –
// send_head+1)字节。
} memcpy(fl_txdata_frm, rom_buf+send_head, send_size); // 设置数据帧 。
//有效载荷。
send_head += send_size;
fl_wait(tFD3); // 发送数据帧前等待。
put_dfrm_ua(send_size, fl_txdata_frm, is_end); // 发送用户数据。
rc = get_sfrm_ua(fl_ua_sfrm, tWT4_MAX); // 获得状态帧。 switch(rc) {
case FLC_NO_ERR: break; // 继续。 case FLC_DFTO_ERR: return rc; break; //情况[C]
default: return rc; break; //情况[B] } if (fl_st2_ua != FLST_ACK){ // ST2 = ACK ?
rc = decode_status(fl_st2_ua); //
return rc; // 情况[D] }
if (is_end)
break;
} /************************************************/
/* 检查内部验证 */ /************************************************/
rc = get_sfrm_ua(fl_ua_sfrm, wt5_max); // 再次获得状态帧。
switch(rc) {
// case FLC_NO_ERR: return rc; break; // 情况[A]
case FLC_DFTO_ERR: return rc; break; //情况[C] default: return rc; break; //情况[E]
}
}
return rc;
使用说明 U18215CA1V0AN 87

6.10 验证命令

6.10.1 处理程序流程图

第六章 UART 通信模式
验证命令处理程序
超时错误 [C]
异常终止 [B]
超时错误 [C]
ACK
发生超时
在指定的时间内收到状态帧
发生超时
在指定的时间内收到状态帧
编程器
从上一个帧接收开始等待直
<1>
<2> 发送验证命令帧
<3> 状态帧接收超时检查
<4> 状态帧接收
接收状态
[ACK/ACK]
ACK
<6> 数据帧 (用户验证数据) 发送
<8> 状态帧接收(ST1/ST2)
到下一个命令发送为止
从上一个帧接收开始等待直
到下一个数据帧发送为止
tCOM
tWT6 (MAX.)
tFD3<5>
tWT7 (MAX.)<7> 状态帧接收超时检查
V850ES/Jx2
V850ES/Hx2
异常终止 [B]
异常终止 [D]
ACK
ACK
转入 <5>
接收状态 (ST1)
[ACK/ACK]
ACK
接收状态 (ST2)
[ACK/ACK]
ACK
所有数据帧已发送?
[/]
正常完成 [A]
使用说明 U18215CA1V0AN88
第六章 UART 通信模式

6.10.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送验证命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT6(MAX.))
<4> 检查状态码。
ST1 = ACK时: 进入<5>。 当 ST1ACK时: 异常终止 [B]
<5> 从上一个帧接收开始等待直到下一个数据帧发送为止(等待时间 tFD3) <6> 数据帧传输处理发送验证的用户数据。 <7> 从用户数据发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT7(MAX.))
<8> 检查状态码(ST1/ST2)(同样参见处理程序流程图和流程图)
ST1 ACK时: 异常终止 [B]ST1 = ACK 时: 根据 ST2 的值执行以下处理:
ST2 = ACK 时: 如果所有的数据帧发送完成,处理正常结束[A]
如果仍有剩余数据帧需要发送,处理从<5>重复执行程序。
ST2 ACK 时: 异常终止 [D]

6.10.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 异常终止 [B]
超时错误 [C]
参数错误 校验和错误 07H 发送命令帧或数据帧的校验和不匹配。
确认异常 (NACK)
验证错误 0FH (ST2) 验证失败,或发生其他错误。异常终止 [D]
序列发生器错误
06H 05H
15H
16H
命令正常执行 ,验证被正常完成。 指定的开始/结束地址不是该块的开始/结束地址。
处理过程中接收到一个除状态命令外的其他命令。命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
在指定的时间内没有收到状态帧。
发生序列发生器错误。
使用说明 U18215CA1V0AN 89

6.10.4 流程图

第六章 UART 通信模式
验证命 令处理
从上一个帧接收开始等待直到下一个
命令发送为止
命令帧发 送处理
(验证)
状态帧 接收?
ST1 = ACK ?
从上一个帧接收开始等待直到下一个
数据帧发送为止
数据帧发 送处理
(用户程序 )
tCOM
tFD3
超时?
超时错误[C]
异常终 止 [B]
tWT6 (MAX.)
状态帧 接收?
ST1 = ACK ?
ST2 = ACK ?
所有数据 帧
已发送 ?
正常完 成 [A]
超时?
超时错误 [C]
异常终止 [B]
异常终止 [D]
tWT7 (MAX.)
使用说明 U18215CA1V0AN90
第六章 UART 通信模式

6.10.5 程序举例说明

以下是验证命令处理的程序举例说明:
/****************************************************************/ /* */
/* 验证命令 */ /* */
/****************************************************************/ /* [i] u32 top ... 开始地址 */
/* [i] u32 bottom ... 结束地址 */ /* [r] u16 ... 错误码 */
/****************************************************************/ u16 fl_ua_verify(u32 top, u32 bottom, u8 *buf) {
u16 rc; u32 send_head, send_size; bool is_end;
/************************************************/ /* 设置参数 */
/************************************************/ set_range_prm(fl_cmd_prm, top, bottom); // 设置SAH/SAM/SAL, EAH/EAM/EAL
/************************************************/ /* 发送命令并检查状态 */
/************************************************/ fl_wait(tCOM_UA); // 发送命令前等待。 put_cmd_ua(FL_COM_VERIFY, 7, fl_cmd_prm); //发送验证命令。
rc = get_sfrm_ua(fl_ua_sfrm, tWT6_MAX); // 获得状态帧。 switch(rc) {
case FLC_NO_ERR: break; // 继续
// case FLC_DFTO_ERR: return rc; break; // 情况[C]
default: return rc; break; //情况[B]
} /************************************************/
/* 发送用户数据 */ /************************************************/ send_head = top;
while(1){
// make send data frame if ((bottom -send_head) > 256){ //剩余长度> 256 ?
is_end = false; // 是,不是结束帧。 send_size = 256; // 发送长度= 256 字节。
} else{
is_end = true; send_size = bottom - send_head + 1; //发送长度= (bottom - send_head+1)字节。
} memcpy(fl_txdata_frm, buf+send_head, send_size); //设置数据帧有效载荷。
send_head += send_size;
使用说明 U18215CA1V0AN 91
fl_wait(tFD3); put_dfrm_ua(send_size, fl_txdata_frm, is_end); // 发送用户数据。
rc = get_sfrm_ua(fl_ua_sfrm, tWT7_MAX); // 获得状态帧。 switch(rc) {
case FLC_NO_ERR: break; // 继续
// case FLC_DFTO_ERR: return rc; break; // 情况[C]
default: return rc; break; // 情况[B]
} if (fl_st2_ua != FLST_ACK){ // ST2 = ACK ?
rc = decode_status(fl_st2_ua); // return rc; // 情况[D]
} if (is_end) // 发送所有的用户数据?
break; //
//continue; } return FLC_NO_ERR; // 情况[A]
}
第六章 UART 通信模式
使用说明 U18215CA1V0AN92

6.11 块空白检查命令

6.11.1 处理程序流程图

块空白检查命令处理程序
编程器
第六章 UART 通信模式
V850ES/Hx2
V850ES/Jx2
超时错误 [C]
ACK
发生超时
在指定的时间内收到状态帧
[ACK/ACK]
<1>
<2> 发送块空白检查命令帧
<3>
<4> 状态帧接收
接收状态
ACK
从上一个帧接收开始等待直
到下一个命令发送为止
状态帧接收超时检查
tCOM
tWT8 (MAX.)
异常终止 [B]
所有指定块的空白
检查已完成?
[/]
正常完成 [A]
转入 <1>
使用说明 U18215CA1V0AN 93
第六章 UART 通信模式

6.11.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送块空白检查命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT8(MAX.))
<4> 检查状态码。
ST1 = ACK 时: 如果所有指定块的空白检查还没有完成,处理改变块编码并且从<1>重复执行程序。
如果所有指定块的空白检查完成,处理正常结束[A]
ST1 ACK时: 异常终止 [B]

6.11.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行 ,指定的所有块是空白块。 异常终止 [B]
超时错误 [C] 在指定的时间内没有收到状态帧。
参数错误
校验和错误 确认异常 (NACK) 15H 处理过程中接收到一个除状态命令外的其他命令。
EWV4 错误 11H flash 存储器中的指定块不是空白块。
序列发生器错误
05H 07H
16H
块编码超出范围。
发送命令帧的校验和不匹配。
命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
发生序列发生器错误。
使用说明 U18215CA1V0AN94

6.11.4 流程图

(MAX.)
第六章 UART 通信模式
块空白检查命令处理
从上一个帧接收开始等待直到下一
个命令发送为止
命令帧发送处理
(块空白检查)
状态帧接收?
状态= ACK?
成空白检查?
COM
超时?
WT8
超时错误[C]
异常终止[B]
正常完成 [A]
使用说明 U18215CA1V0AN 95
第六章 UART 通信模式

6.11.5 程序举例说明

以下针对一个块的块空白检查命令处理的程序举例说明:
/****************************************************************/ /* */ /* 块空白检查命令 */ /* */
/****************************************************************/ /* [i] u8 block ... 块编码 */ /* [r] u16 ... 错误码 */
/****************************************************************/ u16 fl_ua_blk_blank_chk(u8 block) {
u16 rc; u32 wt8_max;
fl_cmd_prm[0] = block; // "BLK" wt8_max = get_wt8_max(get_block_size(block));
fl_wait(tCOM_UA); // 发送命令前等待。
put_cmd_ua(FL_COM_BLOCK_BLANK_CHK, 2, fl_cmd_prm);
rc = get_sfrm_ua(fl_ua_sfrm, wt8_max); // 获得状态帧。
// switch(rc) { //
// case FLC_NO_ERR: return rc; break; // 情况[A] // case FLC_DFTO_ERR: return rc; break; // 情况[C] // default: return rc; break; // 情况[B]
// }
return rc;
}
使用说明 U18215CA1V0AN96

6.12 ‘硅签字’命令

6.12.1 处理程序流程图

‘硅签字’命令处理程序
第六章 UART 通信模式
超时错误 [C]
异常终止 [B]
发生超时
在指定的时间内收到状态帧
ACK
ACK
编程器 V850ES/Jx2
<1>
从上一个帧接收开始等待直
到下一个命令发送为止
tCOM
V850ES/Hx2
<2> 硅签字’命令帧发送
tWT11 (MAX.)状态帧接收超时检查<3>
<4> 状态帧接收
接收状态
[ACK/ACK]
tFD2 (MAX.)数据帧接收超时检查<5>
发生超时
在指定的时间内收到数据帧
<6> 数据帧 (硅签字) 接收处理
超时错误[C]
正常数据帧?
[/否]
数据帧错误[D] 正常完成 [A]
使用说明 U18215CA1V0AN 97
第六章 UART 通信模式

6.12.2 处理程序的描述说明

<1> 从上一个帧接收开始等待直到下一个命令发送为止(等待时间 tCOM) <2> 命令帧传输处理发送硅签字’命令。 <3> 从命令发送开始执行超时检查直到状态帧接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tWT11(MAX.))
<4> 检查状态码。
ST1 = ACK 时: 进入<5>。 当 ST1 ACK 时: 异常终止 [B]。
<5> 执行超时检查直到数据帧(硅签字’数据)接收为止。
如果发生超时,超时错误[C]被返回(超时时间 tFD2(MAX.))
<6> 检查接收的数据帧(硅签字’数据)。
如果数据帧正常: 正常完成[A] 如果数据帧异常: 数据帧错误[D]

6.12.3 处理完毕后的状态

处理完毕后的状态 状态码 描述
正常完成[A] 确认正常 (ACK) 06H 命令正常执行 ,‘硅签字’被正常获得。
校验和错误 确认异常 (NACK) 15H 处理过程中接收到一个除状态命令外的其他命令。
超时错误 [C] 在指定的时间内没有接收到状态帧或数据帧。 数据帧错误[D]
07H
发送命令帧的校验和不匹配。异常终止[B]
命令帧数据异常(例如不正确的数据长度(LEN)或没有
ETX)。
所接收的‘硅签字’数据数据帧校验和不匹配。
使用说明 U18215CA1V0AN98

6.12.4 流程图

第六章 UART 通信模式
硅签字’命令处理
异常终止 [B]
从上一个帧接收开始等待直到下一个
命令发送为止
命令帧发送处理
(‘硅签字’)
状态帧接收?
状态 = ACK?
tCOM
超时?
超时错误[C]
tWT11 (MAX.)
数据帧错误 [D]
数据帧
(硅签字)
接收?
正常数据帧?
超时 ?
tFD2 (MAX.)
超时错误 [C]
正常完成 [A]
使用说明 U18215CA1V0AN 99
第六章 UART 通信模式

6.12.5 程序举例说明

以下是‘硅签字’命令处理的程序举例说明:
/****************************************************************/ /* */ /* 获得硅签字’命令 */ /* */
/****************************************************************/ /* [i] u8 *sig ... 指向签字存储区 */ /* [r] u16 ... 错误码 */
/****************************************************************/ u16 fl_ua_getsig(u8 *sig) {
u16 rc;
fl_wait(tCOM_UA); // 发送命令前等待。
put_cmd_ua(FL_COM_GET_SIGNATURE, 1, fl_cmd_prm); // 发送获取签字命令。
rc = get_sfrm_ua(fl_ua_sfrm, tWT11_MAX); // 获得状态帧。 switch(rc) {
case FLC_NO_ERR: break; // 继续 // case FLC_DFTO_ERR: return rc; break; // 情况[C]
default: return rc; break; // 情况[B] }
rc = get_dfrm_ua(fl_rxdata_frm, tFD2_MAX);// 获得状态帧。 if (rc){ // 如果错误。
return rc; // 情况[D] }
memcpy(sig, fl_rxdata_frm+OFS_STA_PLD, fl_rxdata_frm[OFS_LEN]);
// 拷贝签字数据。
return rc; // 情况[A]
}
使用说明 U18215CA1V0AN100
Loading...