AT89C51CC01 Atmel Corporation, AT89C51CC01 Datasheet
AT89C51CC01
Specifications of AT89C51CC01
Available stocks
Related parts for AT89C51CC01
AT89C51CC01 Summary of contents
Page 1
Features • Protocol – CAN Used as a Physical Layer – 7 ISP CAN Identifiers – Relocatable ISP CAN Identifiers – Autobaud • In-System Programming – Read/Write Flash and EEPROM Memories – Read Device ID – Full-chip Erase – Read/Write ...
Page 2
Functional The T89C51CC01 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 ...
Page 3
ISP Communication The purpose of this process is to manage the communication and its protocol between the on- Management chip bootloader and an external device (host). The on-chip bootloader implements a CAN proto- col (see Section “Protocol”, page 10). This ...
Page 4
Mapping and Default The 4 Most Significant Byte (MSB) of the Hardware Byte can be read/written by software (this Value of Hardware area is called Fuse bits). The 4 (Least Significant Byte) LSB can only be read by software and ...
Page 5
Software Boot The Software Boot Vector (SBV) forces the execution of a user bootloader starting at address [SBV]00h in the application area (FM0). Vector The way to start this user bootloader is described in Section “Boot Process”. Figure 2. Software ...
Page 6
In-System ISP allows the user to program or reprogram a microcontroller’s on-chip Flash memory through the CAN network without removing it from the system and without the need of a pre-pro- Programming grammed application. This section describes how to start ...
Page 7
Figure 3. Regular Boot Process lica tio n 4210E–CAN–03/08 T89C51CC01 CAN Bootloader ardware C onditio ...
Page 8
Physical Layer The CAN is used to transmit information has the following configuration: • Standard Frame CAN format 2.0A (identifier 11-bit) • Frame: Data Frame • Baud rate: autobaud is performed by the bootloader CAN Controller Two ways are possible ...
Page 9
CAN Autobaud The following table shows the auto baud performance for a point-to-point connection in X1 mode. 20K 100K 125K 250K 500K 1M Note: CAN Autobaud The CAN Autobaud implemented in the bootloader is efficient only in point-to-point connection. Limitation ...
Page 10
Protocol Generic CAN Frame Description • Identifier: Identifies the frame (or message). Only the standard mode (11-bit) is used. • Control: Contains the DLC information (number of data in Data field) 4-bit. • Data: Data field consists of zero to ...
Page 11
Figure 5. Identifier Remapping Communication The communication with a device (CAN node) must be opened prior to initiate any ISP Initialization communication. To open communication with the device, the Host sends a “connecting” CAN message (ID_SELECT_NODE) with the node number ...
Page 12
Before opening a new communication with another device, the current device communication must be closed with its connecting CAN message (ID_SELECT_NODE). Request From Host Note: Answers From Bootloader Note: If the communication is closed then all the others messages won’t ...
Page 13
Programming the The ID_PROG_START flow described below shows how to program data in the Flash memory Flash or EEPROM or in the EEPROM data memory. This operation can be executed only with a device previously Data opened in communication. 1. ...
Page 14
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. • If the device has finished ...
Page 15
Example Programming Data (write 55h from 0000h to 0008h in the flash) identifier Id_prog_start HOST BOOTLOADER Id_prog_start HOST Id_prog_data BOOTLOADER Id_prog_data HOST Id_prog_data BOOTLOADER Id_prog_data Programming Data (write 55h from 0000h to 0008h in the flash)with SSB in write security ...
Page 16
Answer to a blank check command: ID_DISPLAY_DATA Flow Description Host Send Display_data Message with Addresses or Blank Check OR Wait ERROR COMMAND ABORTED OR Wait Data Display All Data Read COMMAND FINISHED OR Wait COMMAND_OK COMMAND FINISHED Wait COMMAND_OK COMMAND ...
Page 17
ID_DISPLAY_DATA Example Display Data (from 0000h to 0008h) HOST BOOTLOADER BOOTLOADER Blank Check HOST BOOTLOADER Programming The ID_WRITE_COMMAND flow described below allows the user to program Configuration Configuration Information regarding the bootloader functionality. Information This operation can be executed only ...
Page 18
Requests from Host ID_WRITE_COMMAND Answers from The device has two possible answers: Bootloader • If the chip is protected from program access an “Error” CAN message is sent (see Section “Error Message Description”, page 22). • Otherwise an acknowledge “Command ...
Page 19
Example Write BSB at 88h HOST BOOTLOADER Write Fuse bit at Fxh HOST BOOTLOADER Reading Configuration The ID_READ_COMMAND flow described below allows the user to read the configuration or Information or manufacturer information. This operation can be executed only with ...
Page 20
Answers from The device has two possible answers: Bootloader • If the chip is protected from read access an “Error” CAN message is sent (see Section “Error Message Description”). • Otherwise: the device answers with a Read Answer CAN message ...
Page 21
Erasing the Flash The ID_WRITE_COMMAND flow described below allows the user to erase the Flash memory. This operation can be executed only with a device previously opened in communication. Two modes of Flash erasing are possible: • Full Chip erase ...
Page 22
Starting the The ID_WRITE_COMMAND flow described below allows to start the application directly from the Application bootloader upon a specific command reception. This operation can be executed only with a device previously opened in communication. Two options are possible: • ...
Page 23
In-Application The IAP allows to reprogram a microcontroller on-chip Flash memory without removing it from the system and while the embedded application is running. Programming/S The user application can call Application Programming Interface (API) routines allowing IAP. elf- These API ...
Page 24
API Commands Several types of APIs are available: • Read/Program Flash and EEPROM data Memory • Read Configuration and Manufacturer Information • Program Configuration Information • Erase Flash • Start bootloader Read/Program Flash All routines to access EEPROM data are ...
Page 25
API Name __api_rd_device_id2 __api_rd_device_id3 __api_rd_bootloader_version • Instruction: LCALL FFC0h. • At the complete API execution by the bootloader, the value to read is in the api_value variable. Note: Program • Parameter Settings Configuration API Name Information __api_clr_BLJB __api_set_BLJB __api_clr_X2 __api_set_X2 ...
Page 26
API Name __api_erase_block1 __api_erase_block2 • Instruction: LCALL FFC0h. Note: Starting the There are two start bootloader routines possible: Bootloader 1. This routine allows to start at the beginning of the bootloader or after a reset. After calling this routine the ...
Page 27
Appendix-A 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 3 (CRIS:4h 4210E–CAN–03/08 T89C51CC01 CAN Bootloader Data[0] Data[1] Data[2] num node - - ...
Page 28
Table 1. Summary of Frames from Host (Continued) Identifier Length 2 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 ...
Page 29
Table 2. Summary of Frames from Target (Bootloader) (Continued) Identifier Length Id_error 1 (CRIS:6h) 4210E–CAN–03/08 T89C51CC01 CAN Bootloader Data[0] Data[1] Data[2] 00h - - Data[3] Data[4] Description - - Software Security Error 29 ...
Page 30
Appendix-B Table 3. API Summary Function Name __api_rd_code_byte __api_wr_code_byte __api_wr_code_page __api_erase block0 __api_erase block1 __api_erase block2 __api_rd_HSB __api_clr_BLJB __api_set_BLJB __api_clr_X2 __api_set_X2 __api_rd_BSB __api_wr_BSB __api_rd_SBV __api_wr_SBV __api_erase_SBV __api_rd_SSB __api_wr_SSB __api_rd_EB __api_wr_EB __api_rd_CANBTC1 __api_wr_CANBTC1 __api_rd_CANBTC2 __api_wr_CANBTC2 __api_rd_CANBTC3 __api_wr_CANBTC3 __api_rd_NNB __api_wr_NNB __api_rd_CRIS __api_wr_CRIS ...
Page 31
Table 3. API Summary (Continued) Function Name __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 Document Revision History Changes from 1. Changes to full chip erase command. 4210C - 12/03 to 4210D - 05/06 Changes from 1. Update of Bootloader ...
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 ...