LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf ·...

25
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com 1 LPC900 在电路编程(ICP)规范 1.0 管脚配置 ................................................................................................................................... 2 1.1 管脚描述................................................................................................................................ 7 1.2 器件 ID 字节 ......................................................................................................................... 7 2.0 编程模式 ................................................................................................................................... 8 2.1 进入串行编程模式................................................................................................................ 8 2.2 编程命令................................................................................................................................ 9 3.0 检查状态信息.......................................................................................................................... 10 4.0 FLASH 操作序列 .................................................................................................................... 11 4.1 装载整页寄存器.................................................................................................................. 11 4.2 部分装载页寄存器.............................................................................................................. 12 4.3 编程用户代码存储器.......................................................................................................... 13 4.4 擦除所有扇区(全局擦除).............................................................................................. 14 4.5 擦除单个扇区...................................................................................................................... 15 4.6 擦除单页.............................................................................................................................. 16 4.7 计算全局 CRC..................................................................................................................... 17 4.8 计算扇区 CRC..................................................................................................................... 18 4.9 读配置、引导向量、状态字节、加密位和标识字节 ...................................................... 19 4.10 写配置、引导向量、状态字节、加密位........................................................................ 21 4.11 CCP 清除配置保护 ...................................................................................................... 22 5.0 计算 CRC ................................................................................................................................ 22 6.0 AC 时序 .................................................................................................................................... 23 6.1 进入串行编程模式.............................................................................................................. 23 6.2 时序数据移位...................................................................................................................... 24 7.0 修订历史 ................................................................................................................................. 25

Transcript of LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf ·...

Page 1: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

1

LPC900 在电路编程(ICP)规范

1.0 管脚配置 ...................................................................................................................................2

1.1 管脚描述................................................................................................................................7 1.2 器件 ID 字节 .........................................................................................................................7

2.0 编程模式 ...................................................................................................................................8

2.1 进入串行编程模式................................................................................................................8 2.2 编程命令................................................................................................................................9

3.0 检查状态信息..........................................................................................................................10

4.0 FLASH 操作序列 ....................................................................................................................11

4.1 装载整页寄存器..................................................................................................................11 4.2 部分装载页寄存器..............................................................................................................12 4.3 编程用户代码存储器..........................................................................................................13 4.4 擦除所有扇区(全局擦除)..............................................................................................14 4.5 擦除单个扇区......................................................................................................................15 4.6 擦除单页..............................................................................................................................16 4.7 计算全局 CRC.....................................................................................................................17 4.8 计算扇区 CRC.....................................................................................................................18 4.9 读配置、引导向量、状态字节、加密位和标识字节 ......................................................19 4.10 写配置、引导向量、状态字节、加密位 ........................................................................21 4.11 写 CCP 清除配置保护 ......................................................................................................22

5.0 计算 CRC................................................................................................................................22

6.0 AC 时序 ....................................................................................................................................23

6.1 进入串行编程模式..............................................................................................................23 6.2 时序数据移位......................................................................................................................24

7.0 修订历史 .................................................................................................................................25

Page 2: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

2

1.0 管脚配置

8 脚封装 P89LPC901

CLKOUT/XTAL2/P3.0

1

2

3

4

8

7

6

5RST /P1.5

VSSVDD

XTAL1/P3.1

P1.2/T0

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

图 1 P89LPC901 管脚配置

P89LPC902

1

2

3

4

8

7

6

5RST /P1.5

VSSVDD

P0.2/CIN2A/KBI2

P0.0/CMP2/KBI0

P0.6/CMP1/KBI6

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

图 2 P89LPC902 管脚配置

P89LPC903

P1.1/RxD

1

2

3

4

8

7

6

5RST /P1.5

VSSVDD

P0.2/CIN2A/KBI2

P1.0/TXD

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

图 3 P89LPC903 管脚配置

P89LPC904

P1.1/RxD

1

2

3

4

8

7

6

5RST /P1.5

VSSVDD

P0.2/CIN2A/KBI2

P1.0/TXD

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

图 4 P89LPC904 管脚配置

P89LPC906

CLKOUT/XTAL2/P3.0

1

2

3

4

8

7

6

5

VSS

VDD

XTAL1/P3.1

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

P0.6/CMP1/KBI6

RST /P1.5

图 5 P89LPC906 管脚配置

P89LPC907

1

2

3

4

8

7

6

5

RST /P1.5

VSS

VDDP0.6/CMP1/KBI6

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

P1.2/T0 P1.0/TxD

图 6 P89LPC907 管脚配置

Page 3: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

3

P89LPC908

1

2

3

4

8

7

6

5

RST /P1.5

VSS

VDD

P1.0/TXD

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

P0.6/CMP1/KBI6

P1.1/RxD

图 7 P89LPC908 管脚配置

10 脚封装 P89LPC9102

1

2

3

4

10

9

8

7

VSS

P0.3/CIN1B/AD12P0.2/KBI2/AD11

RST /P1.5

KBI1/AD10/P0.1 VDD

P0.4/CIN1A/DAC1/PDA

P0.5/CMPREF/KBI5/PCL

5 6P1.2/T0 P0.7/T1/CLKOUT

图 8 P89LPC9102 管脚配置

P89LPC9103

1

2

3

4

10

9

8

7

VSS

P0.3/CIN1B/AD12P0.2/KBI2/AD11

RST /P1.5

KBI1/AD10/P0.1 VDD

P0.4/CIN1A/DAC1/PDA

P0.5/CMPREF/CLKIN/PCL

5 6P1.0/TXD P0.7/T1/CLKOUT

图 9 P89LPC9103 管脚配置

P89LPC9107

1

2

3

4

14

13

12

11

RST /P1.5

P0.3/CIN1B/AD12P0.2/KBI2/AD11

NC

VSS P0.5/CMPREF/KBI5/PCL

NC

P0.4/CIN1A/KBI4/PDA

5

6

10

7

9

8

P1.2/T0

P1.2/T0

P1.1/RXD

P0.7/T1/CLKOUT

VDD

P1.0/TXD

图 10 P89LPC9107 管脚配置

P89LPC912

1

2

3

4

14

13

12

11

RST /P1.5

P2.3/MISOP2.2/MOSI

SPICLK/P2.5

VSS P0.5/CMPREF/KBI5/PCL

P0.2/CIN2A/KBI2

P0.4/CIN1A/KBI4/PDA

5

6

10

7

9

8

P0.6/CMP1/KBI6

XTAL1/P3.1

P2.4/SS

CLKOUT/XTAL2/P3.0

VDD

P1.2/T0

图 11 P89LPC912 管脚配置

Page 4: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

4

P89LPC913

1

2

3

4

14

13

12

11

RST /P1.5

P2.3/MISOP2.2/MOSI

SPICLK/P2.5

VSS P0.5/CMPREF/KBI5/PCL

P0.2/CIN2A/KBI2

P0.4/CIN1A/KBI4/PDA

5

6

10

7

9

8

P0.6/CMP1/KBI6

XTAL1/P3.1

P1.0/TXD

CLKOUT/XTAL2/P3.0

VDD

P1.1/RXD

图 12 P89LPC913 管脚配置

P89LPC914

1

2

3

4

14

13

12

11

RST /P1.5

P2.3/MISOP2.2/MOSI

SPICLK/P2.5

VSS P0.5/CMPREF/KBI5/PCL

P0.2/CIN2A/KBI2

P0.4/CIN1A/KBI4/PDA

5

6

10

7

9

8

P0.6/CMP1/KBI6

P1.2/T0

P1.0/TXD

P2.4/SS

VDD

P1.1/RXD

图 13 P89LPC914 管脚配置

P89LPC915

1

2

3

4

14

13

12

11

RST /P1.5

CIN2B/KBI1/AD10/P0.1

VSS P0.5/CMPREF/KBI5/CLKIN/PCL

P0.2/CIN2A/KBI2/AD11

P0.4/CIN1A/KBI4/AD13/DAC1/PDA

5

6

10

7

9

8

INT1/P1.4

SCL/TO/P1.2

P1.0/TXD

VDD

KBI0/CMP2/P0.0 P0.3/CIN2B/KBI3/AD12

P1.1/RXD

SDA/INT0/P1.2

图 14 P89LPC915 管脚配置

16 脚封装 P89LPC916

1

2

3

4

16

15

14

13

RST /P1.5

CIN2B/KBI1/AD10/P0.1

VSS P0.5/CMPREF/KBI5/CLKIN/PCL

P0.2/CIN2A/KBI2/AD11

P0.4/CIN1A/KBI4/AD13/DAC1/PDA

5

6

12

7

11

10

MISO/P2.3

SCL/TO/P1.2

P1.0/TXD

VDD

KBI0/CMP2/P0.0 P0.3/CIN2B/KBI3/AD12

P1.1/RXD

SDA/INT0/P1.2

8 9

MOSI/P2.2 P2.5/SPICLK

图 15 P89LPC916 管脚配置

Page 5: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

5

P89LPC917

1

2

3

4

16

15

14

13

RST /P1.5

CIN2B/KBI1/AD10/P0.1

VSS P0.5/CMPREF/KBI5/CLKIN/PCL

P0.2/CIN2A/KBI2/AD11

P0.4/CIN1A/KBI4/AD13/DAC1/PDA

5

6

12

7

11

10

MISO/P2.3

SCL/TO/P1.2

P1.0/TXD

VDD

KBI0/CMP2/P0.0 P0.3/CIN2B/KBI3/AD12

P1.1/RXD

SDA/INT0/P1.2

8 9

MOSI/P2.2 P0.7/T1/KBI7/CLKOUT

图 16 P89LPC917 管脚配置

20 脚封装 P89LPC922/921/920/924/925

1

2

3

4

5

6

7

8

9

10

20

19

18

17

16

15

14

13

12

11SCL/T0/P1.2

SDA/INT0/P1.3

INT1/P1.4

RST/P1.5

VDD

VSS

XTAL1/P3.1

CLKOUT/XTAL2/P3.0

P1.6

P1.7

P1.1/RXD

P1.0/TXD

P0.7/T1/KBI7

P0.6/CMP1/KBI6

P0.5/CMPREF/KBI5/PCL

P0.4/CIN1A/KBI4/PDA

P0.3/CIN1B/KBI3

P0.2/CIN2A/KBI2

P0.1/CIN2B/KBI1KBI0/CMP2/P0.0

图 17 P89LPC922/921/920/924/925 管脚配置

28 脚封装 P89LPC930/931/932A1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

SCL/T0/P1.2

SDA/INT0/P1.3

ICB*/P2.0

OCD*/P2.1

INT1/P1.4

RST/P1.5

VDD

VSS

XTAL1/P3.1

CLKOUT/XTAL2/P3.0

MOSI/P2.2

MISO/P2.3

OCB*/P1.6

OCC*/P1.7

P1.1/RXD

P1.0/TXD

P2.7/ICA*

P2.6/OCA*

P0.7/T1/KBI7

P0.6/CMP1/KBI6

P0.5/CMPREF/KBI5

P0.4/CIN1A/KBI4

P0.3/CIN1B/KBI3

P0.2/CIN2A/KBI2

P2.5/SPICLK

P2.4/SS

P0.1/CIN2B/KBI1KBI0/CMP2/P0.0

*仅用于 LPC932A1

图 18 P89LPC930/931/932A1 管脚配置

Page 6: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

6

P89LPC933/934/935/936/938

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

SCL/T0/P1.2

SDA/INT0/P1.3

AD03*/DAC0/ICB*/P2.0

AD02*/OCD*/P2.1

INT1/P1.4

RST/P1.5

VDD

VSS

XTAL1/P3.1

CLKOUT/XTAL2/P3.0

MOSI/P2.2

MISO/P2.3

OCB*/P1.6

AD00*/OCC*/P1.7

P1.1/RXD

P1.0/TXD

P2.7/ICA*

P2.6/OCA*

P0.7/T1/KBI7

P0.6/CMP1/KBI6

P0.5/CMPREF/KBI5

P0.4/CIN1A/KBI4/DAC1/AD13

P0.3/CIN1B/KBI3/AD12

P0.2/CIN2A/KBI2/AD11

P2.5/SPICLK

P2.4/SS

P0.1/CIN2B/KBI1/AD10AD01*/KBI0/CMP2/P0.0

*仅用于 LPC935

图 19 P89LPC933/934/935/936/938 管脚配置

1

2

3

4

5

6

7

36

35

34

33

32

31

30

SCL/T0/P1.2

SDA/INT0/P1.3

VDD

VDD

XTAL1/P3.1

P3.0/XTAL2/CLKOUT P2.2/MOSI

P2.3/MISO

P1.1/RXD

P1.0/TXD

P0.7/T1/KBI7

P0.6/CMP1/KBI6

P0.5/CMPREF/KBI5

P2.5/SPICLK

P2.4/SS8

9

10

11

12

29

28

27

26

25

P2.6

P5.7

P5.6

P5.4

P2.7/ICA

AVDD

P4.0P5.5

P0.4/CIN1A/KBI4/AD03

P89LPC95x

图 20 P89LPC952 LQFP48 管脚配置

Page 7: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

7

7

8

9

10

11

12

13

39

38

37

36

35

34

33

SCL/T0/P1.2

SDA/INT0/P1.3

AVDD

VDD

XTAL1/P3.1

P3.0/XTAL2/CLKOUT P2.2/MOSI

P2.3/MISO

P1.1/RXD

P1.0/TXDP0.7/T1/KBI7

P0.6/CMP1/KBI6

P0.5/CMPREF/KBI5

P2.5/SPICLK

P2.4/SS14

15

16

17

32

31

30

29 P4.1/TRIG

P5.7/T3

P5.6

P5.4

P4.0/T3EXP5.5

P0.4/CIN1A/KBI4/AD03

P89LPC95x

图 21 P89LPC952 PLCC44 管脚配置

1.1 管脚描述

表 1 用于 ICP 的编程管脚 记忆符 类型 名称和功能

VSS P 地:0V 参考 VDD P 电源:3V PCL I 编程通信的串行时钟输入 PDA I/O 编程通信的串行数据 I/O 口

RESET I ICP 编程入口管脚

1.2 器件 ID 字节

表 2 不同器件的 ID 字节 器件 MFGID ID1 ID2

P89LPC901 15h DD 0Dh P89LPC902 15h DD 0Fh P89LPC903 15h DD 10h P89LPC904 15h DD 21h P89LPC906 15h DD 11h P89LPC907 15h DD 12h P89LPC908 15h DD 13h

Page 8: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

8

续上表 器件 MFGID ID1 ID2

P89LPC9102 15h DD 22h

P89LPC9103 15h DD 23h

P89LPC9107 15h DD 27h

P89LPC912 15h DD 14h

P89LPC913 15h DD 15h

P89LPC914 15h DD 16h

P89LPC915 15h DD 17h

P89LPC916 15h DD 18h

P89LPC917 15h DD 20h

P89LPC920 15h DD 1Ah

P89LPC921 15h DD 0Bh P89LPC922 15h DD 0Ch

P89LPC924 15h DD 1Bh

P89LPC925 15h DD 1Ch

P89LPC930 15h DD 19h

P89LPC931 15h DD 09h

P89LPC932A1 15h DD 1Fh

P89LPC933 15h DD A0h

P89LPC934 15h DD 1Dh

P89LPC935 15h DD 1Eh

P89LPC936 15h DD 24h

P89LPC938 15h DD 25h

P89LPC952 15h DD 28h

2.0 编程模式

编程命令通过 PCL 和 PDA 线由编程器发送。 每种编程命令在 8 个时钟的作用下以一个字节为单位移入器件。串行接口与 51’s 8 位串

行 UART 模式 0 相同;LSB 为串行字节的第一位。PCL 脚为编程器的时钟输入。 PDA 脚为数据 I/O 口。数据在 PCL 的下降沿使能,并且在 PCL 的上升沿被计时。器件

输出的数据在数据字节最后位的 PCL 上升沿后被禁止。由编程器命令写编程命令。 当 P89LPC90x 在编程模式时,所有不用作编程的管脚为三态。在编程模式期间,复位

管脚有一个弱上拉电阻。

2.1 进入串行编程模式

为了进入编程模式,RESET 管脚在 VDD 上升沿后必须含有连续的 7 脉冲。要进入编程

模式必须符合时序要求,否则 P89LPC9xx 将在正常用户模式下运行。见时序的 AC 规范(第

5 节)。

Page 9: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

9

PDA

PCL

VDD

RESET

3V

0V

X串行通信

图 22 进入编程模式

2.2 编程命令

编程操作可通过按顺序移入命令和数据来实现。下表显示为可使用的命令。 表 3 编程命令

命令 操作码 功能 NOP 00H NOP WR_FMADRL 08H 写地址低命令 RD_FMADRL 09H 读地址低命令 WR_FMADRH 0AH 写地址高命令 RD_FMADRH 0BH 读地址高命令 WR_FMCON 0EH 写命令到 FMCON RD_FMCON 0FH 从 FMCON 读命令 WR_FMDATA_PG 14H 写命令到 FMDATA 且地址递增 RD_FMDATA_PG 15H 从 FMDATA 读命令且地址递增 WR_FMDATA 0CH 写命令到 FMDATA RD_FMDATA 0DH 从 FMDATA 读命令 WR_FMDATA_I 04H 写命令到 FMDATA 且地址递增 RD_FMDATA_I 05H 从 FMDATA 读命令且地址递增

当 WR_FMCON 命令发送后,FM_CON(Flash 控制寄存器)可与下列命令一起装载: 表 4 FMCON 写命令

FMCON 写命令 命令代码 功能 LOAD 00H 清除并装载页寄存器 PROG 48H 带有页寄存器命令的编程页 ERS_G 72H 擦除全局命令 ERS_S 71H 擦除扇区命令 ERS_P 70H 擦除页命令 CONF 6CH 访问由 FMADRL 寻址的用户配置信息

CRC_G 1AH 在整个用户代码命令上计算 CRC CRC_S 19H 在扇区命令上计算 CRC

CCP 67H 清除配置保护

Page 10: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

10

3.0 检查状态信息

RD_FMCON 命令用作读 FMCON 时,FMCON 包含状态信息,并由最后执行的操作更

新。FMCON 含有以下的位: 0 OI 操作被一个中断终止。 1 SV 安全出错。如果操作由于安全出错而失败,该位置位。 2 HVE 高电压错误。如果在高电压发生器检测到错误,该位置位。 3 HVA 高电压终止。如果高电压由于能带隙/掉电问题被终止,该位置位。 4 --- 不使用。 5 --- 不使用。 6 --- 不使用。 7 BUSY 当一个程序,擦除,或其它编程操作正在进行时,该位置位。

不使用的位将读出为‘1’s。当错误没有出现时,如果仍忙于执行一个操作 FMCON 将读

出 F0h;如果操作成功完成后 FMCON 读出 70h。

Page 11: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

11

4.0 Flash 操作序列

4.1 装载整页寄存器

通过执行以下序列装载页寄存器: 1. 如前面所述,如果还没有执行,使 ICP 编程模式有效。 2. 移入 WR_FMCON 操作码。 3. 移入 00h, LOAD 命令到 FMCON。 4. 移入 08h, WR_FMADRL 操作码。 5. 移入 X0 到 FMADRL。这设置要装载的第一个数据字节的目的文件为页的起始处。 6. 移入 14h, WRFMDATA_PG 操作码。 7. 移入要装入页寄存器数据的 X 字节。FMADRL 在每个字节后递增。在最后一个字

节发出后,FMADRL 返回指示页的起始处。 注:LPC92x/LPC93x 具有 64 字节页寄存器,LPC91x/LPC90x 具有 16 字节页寄存器。 在编程模式下序列装载页寄存器的实例: 装载页寄存器

WR_FMCON

LOAD

DATA (0x00)

WR_FMADRL

WR_FMDATA_PG

DATA N

开始

完成

X DATA字节移入?

图 23 装载页寄存器

Page 12: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

12

4.2 部分装载页寄存器

通过执行以下序列装载页寄存器: 1. 如前面所述,如果还没有执行,使 ICP 编程模式有效。 2. 移入 WR_FMCON 操作码。 3. 移入 00h, LOAD 命令到 FMCON。 4. 移入 08h, WR_FMADRL 操作码。 5. 移入 X0 到 FMADRL。这设置要装载的第一个数据字节的目的文件为页的起始处。 6. 移入 14h, WRFMDATA_PG 操作码。 7. 移入要装入页寄存器数据的 16 字节。FMADRL 在每个字节后递增。在最后一个字

节发出后,FMADRL 返回指示页的起始处。 在编程模式下,序列装载页寄存器的实例: 部分装载页寄存器

WR_FMCON

LOAD

WR_FMADRL

WR_FMDATA_I

DATA N

完成

开始

页的数据起始地址

所有数据字节移入?

图 24 部分装载页寄存器

Page 13: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

13

4.3 编程用户代码存储器

代码存储器仅可通过使用页寄存器来编程。它使用以下序列执行: 1. 将要编程的数据装入页寄存器,如前面所述。 2. 使用 WR_FMADRL 操作码,写页地址的低 8 位。 3. 使用 WR_FMADRH 操作码,写页地址的高 8 位。 4. 使用 WR_FMCON 操作码,移入 PROG 命令。 5. 读 FMCON 寄存器来获取状态。读操作继续直到接口不忙或一个错误出现。 在编程模式下,序列在 Flash 中编程页寄存器的实例: 编程页寄存器

(状态[7] = 0)?

WR_FMADRL

WR_FMADRH

WR_FMCON

RD_FMCON

开始

数据地址

数据地址

PROG命令

数据状态字节

报导错误

设置任何错误位?

编程完成

完成

图 25 编程页寄存器

Page 14: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

14

4.4 擦除所有扇区(全局擦除)

使用以下序列可擦除扇区及其扇区加密位: 1. 移入 WR_FMCON 命令。 2. 移入 ERS_G 命令到 FMCON 寄存器。 3. 移入 RD_FMCON 命令。 4. 读操作继续直到接口不忙或一个错误出现。

在编程模式下,擦除所有扇区序列的实例: 擦除所有扇区

WR_FMCON

ERS_G

(状态[7] = 0)?

RD_FMCON

开始

完成

报导错误

设置任意错误位?

DATA状态字节

程序完成

图 26 擦除所有扇区

注:全局擦除含有勘误表。写 ERS_G 后读数据使用 FM_DATA_I 命令,然后为

RD_FMCON 命令直至忙标志被清除。 如果不是这样,忙标志将不会被清除。有关该错误应用的版本请查阅勘误手册。

Page 15: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

15

4.5 擦除单个扇区

使用以下序列可擦除单个扇区及其扇区加密位: 1. 移入 WR_FMADRH 命令。 2. 移入页的高地址。 3. 移入 WR_FMCON 命令。 4. 移入 ERS_S 命令到 FMCON 寄存器。 5. 移入 RD_FMCON 命令。 6. 读操作继续直到接口不忙或一个错误出现。

在编程模式下,擦除单个扇区序列的实例: 擦除单个扇区

WR_FMCON

ERS_S

Program done(Status[7] = 0)?

RD_FMCON

WR_FMADRH

开始

完成

报导错误

设置任意错误位?

数据地址

数据状态字节

图 27 擦除单个扇区

Page 16: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

16

4.6 擦除单页

使用以下序列可擦除单页: 1. 移入 WR_FMADRL 命令。 2. 写页寄存器地址的低 8 位到 FMADRL(仅使用 FMADRL [7:6])。 3. 移入 WR_FMADRH 命令。 4. 写页寄存器地址的低 8 位到 FMADRH(仅使用 FMADRH [4:0])。 5. 写 ERS_P 命令到 FMCON 寄存器。 6. 读 FMCON 寄存器来获取状态。读操作继续直到接口不忙或一个错误出现。

在编程模式下,序列擦除单页的实例: 擦除单页

WR_FMCON

ERS_P

(状态[7] = 0)?

RD_FMCON

WR_FMADRL

WR_FMADRH

开始

数据地址

数据地址

数据状态字节 设置任意错误位?

报导错误

完成

编程完成

图 28 擦除单页

Page 17: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

17

4.7 计算全局 CRC

使用以下序列可计算整个用户代码存储器的 32 位全局 CRC: 1. 移入 WR_FMCON 命令,后面接着 CRC_G 操作码。 2. 移入 RD_FMCON 命令,保持读 FMCON 直到接口不忙或它报导一个错误。 3. 移入 RDFMCON 命令,并读出 4 个 CRC 字节。

在编程模式下,读全局 CRC 序列的实例: 全局 CRC

(状态 [7] = 0)?

RD_FMCON

WR_FMCON

CRC_G

DATA CRC byte

RD_FMCON_I

开始

报导错误

设置任意错误位?

数据状态字节

编程完成

读所有4个CRC字节? 否

完成

图 29 全局 CRC

Page 18: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

18

4.8 计算扇区 CRC

使用以下序列可计算用户代码存储器单个扇区的 32 位扇区 CRC: 1. 移入 WR_FMCON。 2. 移入 WR_FMCON 命令,后面接着 CRC_S 操作码。 3. 移入 RD_FMCON 命令,保持读 FMCON 直到接口不忙或它报导一个错误。 4. 移入 RDFMCON 命令,并读出 4 个 CRC 字节。

在编程模式下,读扇区 CRC 序列的实例:

扇区 CRC

(状态[7] = 0)?

RD_FMCON

WR_FMCON

CRC_S

RD_FMDATA_I

WR_FMADRH

开始

报导错误

设置任意错误位?

读所有4个CRC字节?

数据CRC字节

数据状态字节

数据地址

编程完成

完成

图 30 扇区 CRC

Page 19: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

19

4.9 读配置、引导向量、状态字节、加密位和标识字节

器件参数如配置字节、状态字节、引导向量、加密位和标识字节可通过写 FMADRL 地

址和命令到 FMCON 来读取。这些寄存器具有下列地址: 表 5 EEPROM 字节

名称 映射地址 字节描述 UCFG1 00H 用户配置寄存器#1 (UCFG1) 由编程器读/编程 UCFG2 01H 用户配置寄存器#2 (UCFG2) 由编程器读/编程 Boot Vector 02H 引导向量 Status Byte 03H 状态字节 - 04H - - 05H - - 06H - - 07H - SEC0 08H 加密字节,扇区 0 SEC1 09H 加密字节,扇区 1 SEC2 0AH 加密字节,扇区 2 2 SEC3 0BH 加密字节,扇区 3 2 SEC4 0CH 加密字节,扇区 4 1 SEC5 0DH 加密字节,扇区 5 1 SEC6 0EH 加密字节,扇区 6 1 SEC7 0FH 加密字节,扇区 7 1 MFGID 10H 厂商 ID(只读) ID1 11H 器件 ID1(只读) ID2 12H 器件 ID2(只读)

注释: 1. 仅应用于 P89LPC922, P89LPC925, P89LPC931, P89LPC932A1, P89LPC934, LPC935 2. 应用于所有器件,P89LPC920 除外。 这些字节可通过以下序列读取:

1. 移入 WR_FMCON 2. 移入 WR_FMCON 命令,后续 CONF 操作码 3. 移入 WR_FMADRL 命令 4. 移入数据地址 5. 移入 RD_FMDATA 命令 6. 移出配置字节的数据

Page 20: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

20

读取配置字节

WR_FMCON

WR_FMADRL

RD_FMDATA

CONF

开始

数据地址

数据配置字节

完成

图 31 读取配置字节

Page 21: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

21

4.10 写配置、引导向量、状态字节、加密位

器件参数如配置字节、状态字节、引导向量和加密位,通过写 CONF 命令到 FMCON,

写地址到 FMADRL,然后写数据到 FMDATA 来实现。 写配置字节

WR_FMCON

WR_FMADRL

WR_FMDATA

CONF

(状态[7] = 0)?

RD_FMCON

开始

数据地址

数据状态字节

编程完成

报导错误

设置任意错误位?

完成

数据

图 32 写配置字节

Page 22: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

22

4.11 写 CCP 清除配置保护

配置保护可在引导状态字节中设置,要清除该保护必须使用清除配置保护命令。 清除配置保护

WR_FMCON

WR_FMDATA

CCP

DATA (96h)

开始

完成

图 33 清除配置保护

5.0 计算 CRC

LPC9xx 中用于计算 32 位 CRC 校验的方法如下所述。可在一个扇区或整个用户代码空

间执行该运算。 初始化 定义和初始化 CRC 多项式,POLY0-POLY3=00400007H 定义和初始化一个 32 位 CRC 结果,BCRC0-BCRC3=00000000H 定义和初始化一个 32 位临时变量,TAP0-TAP3=00000000H 定义和初始化一个 1 位临时变量来存储 CRC 结果的 MSB 位,CRCF=0 从第一个字节开始,存储器的每个字节(扇区或整个阵列)执行下列 CRC 运算:

1. 以 1 位为单位向左移 BCRC0-BCRC3 寄存器且在 CRCF 中保存 MSB,这就变成了

新的 CRC 值。 CRCF BCRC3 BCRC2 BCRC1 BCRC0

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ‘0’

2. 从存储器获取字节并执行以下运算。 a. 在 TAP 寄存器的显示单元分配这个新字节的 8 位并用 0s 填充 TAP 寄存器的剩余

部分(LSB 到 MSB 的方向从右到左)。

Page 23: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

23

TAP3 TAP2 TAP1 TAP00 0 0 0 0 0 0 0 0 0 0 0 0 ‘7’ 0 ‘6’ 0 0 ‘5’ 0 0 ‘4’ 0 ‘3’ 0 0 ‘2’ 0 ‘1’ 0 0 ‘0’

7 6 5 4 3 2 1 0 来自存储器的新字节

b. 异或相应的 TAP 和 BCRC 寄存器并在 BCRC 寄存器中存储返回的结果。 BCRC0 = TAP0 XOR BCRC0

BCRC1 = TAP1 XOR BCRC1 BCRC2 = TAP2 XOR BCRC2 BCRC3 = TAP3 XOR BCRC3

c. 如果 CRCF 位为 0,CRC 运算完成且 BCRC3:0 保持当前 CRC 结果。如果 CRCF

为 1,异或 CRC 多项式和 BCRC 寄存器并在 BCRC 寄存器中存储新返回的结果。 BCRC0 = POLY0 XOR BCRC0

BCRC1 = POLY1 XOR BCRC1 BCRC2 = POLY2 XOR BCRC2 BCRC3 = POLY3 XOR BCRC3

对于上面存储器阵列的每个字节,从步骤 1 开始重复该操作。

6.0 AC 时序

6.1 进入串行编程模式

PDA

PCL

VDD

RESET

3V

0V

tVR

X

tRH tRL

tRP

串行通信

图 34 进入编程模式

在编程过程中,VDD=2.4V~3.6V;IPP=TBD mA;Tamb=10℃~+40℃ 表 6 编程模式时序

极限值 符号 图 参数 最小 最大

单位

tVR VDD有效到 RST 延时 50 - µs tRH RST 高时间 1 32 µs tRL RST 低时间 1 - µs tRP ICP 进入时间 TBD TBD µs

Page 24: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

24

6.2 时序数据移位

PDA10 32 54 76

PCL

LSB

tSCtSCHtSDSU

tWAIT

LSB位 MSB位

图 35 写数据

PDA1

LSB MSB0 32 54 76

PCL

tSCtWAIT

tSDH

tSCLDV

tSCHZ

0LSB

图 36 读数据

表 7 编程命令时序

极限值 符号 参数 MIN MAX

单位

tSC 串行时钟周期时间 200 - ns tSCH 串行时钟高电平 80 - ns tSCL 串行时钟低电平 80 - ns tWAIT 在两个串行字节中等待 200 - ns tSDISU 串行数据输入建立时间到串行时钟的上升沿 20 - ns tSDIH 串行时钟上升沿后的串行数据输入保持时间 40 - ns tSDOH 串行时钟上升沿后的串行数据输出保持时间 10 - ns tSCLDV 串行时钟低电平到字节第一个数据位的有效数据 - 80 ns tSCHZ 串行时钟高电平到字节最后数据位的数据高阻态 - 80 ns

Page 25: LPC900 在电路编程(ICP)规范bbs.21ic.com/upfiles/img/20094/2009419122532752.pdf · 2015-02-01 · 广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:

广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com

25

7.0 修订历史

表 8 修订历史 2005 年 5 月 20 日 部分

增加 P89LPC952 1 2005 年 1 月 19 日 部分

增加清除配置保护 4 2004 年 9 月 8 日 部分

增加 P89LPC9102/9103/9107/936/938 1 2004 年 6 月 7 日 部分

增加 P89LPC932A1/904/915/916/917/933 1 2003 年 9 月 8 日 部分

增加 CRC 计算 5 增加P89LPC920/930/931 1

2003 年 7 月 31 日 部分 增加P89LPC912/913/914/921/922/934/935 1

2003 年 5 月 29 日 部分 增加部分装载页寄存器 4 增加全局擦除勘误表和解决方法 4 删除 SEC4-SEC7 4

2003 年 5 月 7 日 部分 在读 CRC 流程图和读配置流程图时的固定错误 4 更正WR_FMDATA_PG和RD_FMDATA_PG命令 2 增加WR_FMDATA_I和RD_FMDATA_I命令用作CRC读 2

2003 年 4 月 3 日 部分 在流程图中增加错误信息 4 更新移位时序 5

2003 年 3 月 27 日 部分 增加封面 - 增加表的内容 - 增加器件类型和封装 1 增加 ID 字节 1

2002 年 10 月 9 日 部分 增加流程图 -

2002 年 9 月 10 日 部分 最初版本 -