AT89C51CC03 Atmel Corporation, AT89C51CC03 Datasheet

no-image

AT89C51CC03

Manufacturer Part Number
AT89C51CC03
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of AT89C51CC03

Flash (kbytes)
64 Kbytes
Max. Operating Frequency
40 MHz
Cpu
8051-12C
Max I/o Pins
37
Spi
1
Uart
1
Can
1
Adc Channels
8
Adc Resolution (bits)
10
Adc Speed (ksps)
62.5
Sram (kbytes)
2.25
Eeprom (bytes)
2048
Self Program Memory
API
Operating Voltage (vcc)
3.0 to 5.5
Timers
4
Isp
UART/CAN
Watchdog
Yes

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT89C51CC03C-7CTIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89C51CC03C-IM
Manufacturer:
AT
Quantity:
17
Part Number:
AT89C51CC03C-RDRIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89C51CC03C-RLRIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89C51CC03C-RLTIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89C51CC03C-S3RIM
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89C51CC03CA-IM
Manufacturer:
TI
Quantity:
18
Part Number:
AT89C51CC03CA-JM
Manufacturer:
ATEML
Quantity:
42
Part Number:
AT89C51CC03CA-RDTUM
Manufacturer:
COSMO
Quantity:
6 000
Part Number:
AT89C51CC03CA-RLTUM
Manufacturer:
ADI
Quantity:
141
Features
Description
This document describes the CAN bootloader functionalities as well as the CAN proto-
col to efficiently perform operations on the on-chip Flash (EEPROM) memories.
Additional information on the AT89C51CC03 product can be found in the
AT89C51CC03 datasheet and the AT89C51CC03 errata sheet available on the Atmel
web site.
The bootloader software package (source code and binary) currently used for produc-
tion is available from the Atmel web site.
Bootloader Revision
Revisions 1.0.0
Revisions 1.0.1
Revision 1.0.4
Protocol
In-System Programming
In-Application Programming/Self Programming
– CAN Used as Physical Layer
– 7 ISP CAN Identifiers
– Relocatable ISP CAN Identifiers
– Autobaud
– Read/Write Flash and EEPROM Memories
– Read Device ID
– Full-chip Erase
– Read/Write Configuration Bytes
– Security Setting From ISP Command
– Remote Application Start Command
– Read/Write Flash and EEPROM Memories
– Read Device ID
– Block Erase
– Read/Write Configuration Bytes
– Bootloader Start
Purpose of Modifications
First release
SBV > 0x7F00 bug fix
(no doc and specification change)
Improvement of Autobaud detection.
Date
01/08/2003
15/04/2004
04/01/2006
CAN
Microcontrollers
AT89C51CC03
CAN Bootloader
4251B–CAN–03/08

Related parts for AT89C51CC03

AT89C51CC03 Summary of contents

Page 1

... Description This document describes the CAN bootloader functionalities as well as the CAN proto- col to efficiently perform operations on the on-chip Flash (EEPROM) memories. Additional information on the AT89C51CC03 product can be found in the AT89C51CC03 datasheet and the AT89C51CC03 errata sheet available on the Atmel web site. ...

Page 2

... Functional The AT89C51CC03 Bootloader facilitates In-System Programming and In-Application Programming. Description In-System In-System Programming allows the user to program or reprogram a microcontroller on-chip Flash memory without removing it from the system and without the need of a pre-programmed Programming application. Capability The CAN bootloader can manage a communication with a host through the CAN network. It can also access and perform requested operations on the on-chip Flash Memory ...

Page 3

... Configuration and The table below lists Configuration and Manufacturer byte information used by the bootloader. Manufacturer This information can be accessed through a set of API or ISP commands. Information 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader Mnemonic Description BSB Boot Status Byte SBV Software Boot Vector ...

Page 4

... From level 1, one can write only level 2. • Level 2: RD_WR_SECURITY (FCh) Level 2 forbids all read and write accesses to/from the Flash memory. The Bootloader returns ID_ERROR message. Only a full chip erase command can reset the software security bits. AT89C51CC03 CAN Bootloader 4 Bit Position Mnemonic Default Value 7 ...

Page 5

... Atmel Flash microcontroller and CAN protocol communication media. Program Several CAN dongles are supported by FLIP (for Windows). This free software program is available from the Atmel web site. 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader User Bootloader [SBV]00h FM0 CAN Bootloader ...

Page 6

... As PSEN is an output port in normal operating mode (running user application or bootloader code) after reset recommended to release PSEN after falling edge of reset signal. The hard- ware conditions are sampled at reset signal falling edge, thus they can be released at any time when reset input is low. AT89C51CC03 CAN Bootloader 6 4251B–CAN–03/08 ...

Page 7

... Regular Boot Process 0000h lica tio n 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader bit egister ardw are C ondition LJB = 800h ...

Page 8

... EB = FFh: the autobaud is performed. • EB not equal to FFh: the CANBT1:2:3 are used. CANBT1:3 and EB can be modified by user through a set of API or with ISP commands. The figure below describes the CAN controller flow. Figure 2. CAN Controller Initialization AT89C51CC03 CAN Bootloader 8 CAN controller Initialization Yes EB = FFh ...

Page 9

... Because in a point to point connection, the transmit CAN message is repeated until a hardware acknowledge is done by the receiver. The bootloader can acknowledge an in-coming CAN frame only if a configuration is found. This functionality is not guaranteed on a network with several CAN nodes. 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader 11.059 8 MHz MHz 12 MHz 16 MHz 20 MHz ...

Page 10

... Several CAN message identifiers are defined to manage this protocol possible to allocate a new value for CAN ISP identifiers by writing the byte CRIS with the base value for the group of identifier. The maximum value for CRIS is 7Fh and the default CRIS value is 00h. AT89C51CC03 CAN Bootloader 10 Control Identifier ...

Page 11

... Figure 4. First Connection Figure 5. On Network Connection Host Before opening a new communication with another device, the current device communication must be closed with its connecting CAN message (Id_select_node). 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader CAN Identifiers 7FFh [CRIS]0h 000h Interface board between PC ...

Page 12

... Send Select Node message with node number in parameter OR Time-out 10 ms COMMAND ABORTED Wait Select Node COMMAND FINISHED Example HOST BOOTLOADER AT89C51CC03 CAN Bootloader 12 Identifier ID_SELECT_NODE num_node is the NNB (Node Number Byte) to which the Host wants to talk to.T Identifier Length ID_SELECT_NODE 2 data[0] contains the bootloader version. ...

Page 13

... Answers From The device has two possible answers: Bootloader • If the device is ready to receive new data, it sends a “programming data” CAN message (Id_prog_data) with the result Command_new passed in parameter. 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader Identifier Length data[0] 00h ID_PROG_START 5 01h 1 ...

Page 14

... Send prog_start message with addresses OR Wait ERROR COMMAND ABORTED Wait ProgStart Send prog_data message with 8 datas OR Wait COMMAND_N Wait COMMAND_OK COMMAND FINISHED AT89C51CC03 CAN Bootloader 14 Identifier Length ID_PROG_DATA 1 Id_prog_start message Id_error message Id_prog_start message Id_prog_data message Id_prog_data message Send COMMAND_NEW_DATA Id_prog_data message ...

Page 15

... Answer to a read command: 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader identifier Id_prog_start Id_prog_start ...

Page 16

... OR Wait ERROR COMMAND ABORTED OR Wait Data Display All data read COMMAND FINISHED OR Wait COMMAND_KO COMMAND FINISHED Wait COMMAND_OK COMMAND FINISHED AT89C51CC03 CAN Bootloader 16 Identifier Length 0 ID_DISPLAY_DATA 2 Id_display_data message Id_error message Id_display_data message Id_display_data message Id_display_data message data[0] ...

Page 17

... “ ” (Id_write_command) with the area selected, the value passed in parameter. Take care that the Program Fuse bit command programs the 4 Fuse bits at the same time. 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader identifier Id_display_data Id_display_data ...

Page 18

... If the chip is protected from program access a “Error” CAN message is sent (see Section “Error Message Description”). • Otherwise an acknowledge “Command ok“ is sent. Flow Description Host Send Write_Command OR Wait ERROR_SECURITY COMMAND ABORTED Wait COMMAND_OK COMMAND FINISHED AT89C51CC03 CAN Bootloader 18 Identifier Length data[0] 3 ID_WRITE_COMMAND 3 Identifier Length ID_WRITE_COMMAND 1 ...

Page 19

... This operation can be executed only with a device previously opened in communication. Manufacturer To start the reading operation, the Host sends a “Read command” CAN message Information (Id_read_command) with the information selected passed in data field. Requests From Host 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader identifier Id_write_command Id_write_command identifier control Id_write_command ...

Page 20

... Wait ERROR_SECURITY COMMAND ABORTED Wait Value of data COMMAND FINISHED Example Read Bootloader Version HOST BOOTLOADER Read SBV HOST BOOTLOADER Read Fuse bit HOST BOOTLOADER AT89C51CC03 CAN Bootloader 20 Identifier ID_READ_COMMAND Id_read_com message Id_error message Send ERROR_SECURITY Id_read_com message identifier control Id_read_command 02 Id_read_command 01 ...

Page 21

... BSB = FFh • SBV = FFh • SSB = FFh (NO_SECURITY) The Block erase command erases only a part of the Flash. Three Blocks are defined in the AT89C51CC03: • block0 (From 0000h to 1FFFh) • block1 (From 2000h to 3FFFh) • block2 (From 4000h to 7FFFh) • ...

Page 22

... HOST BOOTLOADER Error Message The error message is implemented to report when an action required is not possible. Description • At the moment only the security error is implemented and only the device can answer this kind of CAN message (Id_error). AT89C51CC03 CAN Bootloader 22 identifier control Id_write_command 02 Id_write_command 01 ...

Page 23

... Interrupts must also be disabled before accessing EEPROM Data then re-enabled after. The user must take care of hardware watchdog before launching a Flash operation. For more information regarding the Flash writing time see the AT89C51CC03 datasheet. 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader ...

Page 24

... EEPROM Data bootloader resources. Memory To read the Flash memory the bootloader is not involved. For more details on these routines see the AT89C51CC03 Datasheet sections “Program/Code Memory” and “EEPROM Data Memory” Two routines are available to program the Flash: – – ...

Page 25

... See in the AT89C51CC03 datasheet the time that a write operation takes special resources are used by the bootloader during these operations api_dph api_dpl 05h - 60h 05h - 61h 0Eh - 00h ...

Page 26

... API Name api_command __api_erase_block0 __api_erase_block1 __api_erase_block2 __api_erase_block3 __api_erase_block4 1. See the AT89C51CC03 datasheet for the time that a write operation takes and this time must multiply by the number of pages special resources are used by the bootloader during these operations api_dph api_dpl 00h 00h ...

Page 27

... Table 1. Summary of Frames from Host Identifier length Id_select_node 1 (CRIS:0h) Id_prog_start 5 (CRIS:1h) Id_prog_data n (CRIS:2h) Id_display_data 5 (CRIS:3h) 2 Id_write_command (CRIS:4h 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader data[0] data[1] data[2] num node - - 00h start_address 01h data[0:8] 00h 01h start_address 02h 00h - 20h - 40h - 00h 80h ...

Page 28

... Id_read_command (CRIS:5h Table 2. Summary of Frames from Target (Bootloader) Identifier length Id_select_node 2 (CRIS:0h) Id_prog_start 0 (CIRS:1h) Id_prog_data 1 (CRIS:2h) n Id_display_data 0 (CRIS:3h) 2 Id_write_command 1 (CIRS:4h) Id_read_command 1 (CRIS:5h) AT89C51CC03 CAN Bootloader 28 data[0] data[1] data[2] 00h - 00h 01h - 02h - 00h - 01h - 05h - 06h - 30h - 31h - 01h 60h - ...

Page 29

... Table 2. Summary of Frames from Target (Bootloader) (Continued) Identifier length Id_error 1 (CRIS:6h) 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader data[0] data[1] data[2] 00h - - data[3] data[4] Description - - Software Security Error 29 ...

Page 30

... AT89C51CC03 CAN Bootloader 30 Bootloader Execution api_command no yes 0Dh yes 0Dh yes 00h yes 00h yes 00h yes 00h yes 00h yes ...

Page 31

... Table 3. API Summary Function Name __api_rd_manufacturer __api_rd_device_id1 __api_rd_device_id2 __api_rd_device_id3 __api_rd_bootloader_version __api_eeprom_busy __api_rd_eeprom_byte __api_wr_eeprom_byte __api_start_bootloader __api_start_isp 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader Bootloader Execution api_command yes 05h yes 05h yes 05h yes 05h yes 0Eh api_dph api_dpl api_value - 30h return value ...

Page 32

... Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. © 2008 Atmel Corporation. All rights reserved. Atmel Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others. International Atmel Asia ...

Related keywords