Design of ISP download system based on USB interface

Publisher:chwwdchLatest update time:2012-01-07 Keywords:USB  ISP  PDIUSB12 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1 Introduction

ISP (In-System Programming) is to program the device installed on the user's target board directly through the download cable, which has brought many revolutionary changes to the design and production of electronic products. At present, most of the more mature ISP downloaders are based on serial or parallel port communication, but there are also the following problems:

(1) The main frequency, hardware and operating system of the user's PC are different, which may cause control signal errors; www.51kaifa.com

(2) Different manufacturers provide different ISP downloaders, which are incompatible with each other, bringing inconvenience to embedded development;

(3) Limited to serial and parallel port communication protocols, the ISP data transmission rate is low, which affects the development of embedded products.

Based on the above reasons, this paper proposes a method of combining the microcontroller and the USB bus for ISP downloading. After practical application, good results have been achieved.

2 System Design

This system consists of two parts: hardware and software. The hardware platform is mainly composed of a USB interface and a single-chip microcomputer control module, which completes the communication with the PC and the ISP programming of the target chip. The software is designed for users. Users select the code file to be downloaded and compiled into the Hex file format, and then download the program code to the target chip. At the same time, it can detect the target chip model, erase the target chip, read the program code from the target chip, etc. The overall framework is shown in Figure 1. www.51kaifa.com

Figure 1 System framework diagram

2.1 Hardware System Design

Hardware is the foundation of the entire system and the physical platform for completing various functions. The hardware part mainly completes USB communication and ISP download. The USB interface chip is combined with a single-chip microcomputer. The USB interface chip has encapsulated the USB1.1 protocol. The single-chip microcomputer is used to control the ISP download operation of the target chip. The relationship between the hardware modules is shown in Figure 2.

Figure 2 Hardware module relationship diagram

This design communicates with the PC through the USB interface. After the microcontroller receives the data, it uses the ISP method to download it to the target chip. Therefore, in terms of hardware, ATMEL's 51 series microcontroller AT89S52 is used as the embedded microcontroller of this design, and PHILIP's PDIUSB12 is used as the USB device interface device.

2.1.1 P DIUSB12 Design

PDIUSBD12 PDIUSB12 is a USB interface chip produced by PHILIPS. It fully encapsulates the USB1.1 protocol and is a very cost-effective USB device. It is usually used as a high-speed universal parallel interface in a microcontroller system to communicate with the microcontroller and supports local DMA transmission. PDIUSBD12 fully complies with the USB1.1 specification. The low suspend power consumption of PDIUSBD12, together with the LazyClock output, can meet the requirements of using ACPI, OnNOW and USB power management. Its low operating power consumption can be applied to peripherals using bus power. The circuit design schematic is shown in Figure 3.

Figure 3 PDIUSB12 circuit

The circuit design analysis is as follows:

(1) The clock source frequency of PDIUSB12 is 6MHz;

(2) D0~D7 are connected to P0.0~P0.7 of MCU respectively;

(3) The A0 pin of D12 is connected to the ground through a 10K resistor;

(4) The ALE pin of D12 is connected to the ALE pin of the MCU;

(5) GL_N is connected in series to VCC through a resistor and a red LED; www.51kaifa.com

(6) DMACK_N and EOT_N are pulled up to VCC through resistors.

2.1.2 MCU Design

The MCU in this design uses the AT89S52 microcontroller from ATMEL, which is mainly used for USB communication and ISP download. Its hardware schematic diagram is shown in Figure 4.

Figure 4 MCU hardware schematic

In the figure above, the circuit configuration is described as follows:

(1) MCU uses 24MHz crystal oscillator;

(2) The data bus P0 port is connected to a pull-up resistor, and P0.0~P0.7 are connected to D0~D7 of the PDIUSB12 chip. MCU

The address latch pin ALE is connected to the ALE pin of PDIUSB12, and port P0 is used as address/data bus multiplexing;

(3) Function pins P3.6 and P3.7 are connected to WR_N and RD_N of PDIUSB12 to control the read

Write signal;

(4) The P2.1 pin, P2.2 pin and P2.3 pin of the MCU are respectively connected to the chip select pin CS_N, the suspend state pin SUSPEND and the reset pin RESET_N of the PDIUSB12 as corresponding function controls.

2.2 Software Design

The software of this design is mainly divided into two parts: the control system design on the MCU and the application design on the PC. The MCU control system is responsible for communicating with the PC and programming the target chip ISP. The application on the PC includes the USB driver and ISP download control software. www.

Keywords:USB  ISP  PDIUSB12 Reference address:Design of ISP download system based on USB interface

Previous article:Design of Economical High-precision Transmitter Based on 51 Single-chip Microcomputer
Next article:Design of a Single-Chip Microcomputer Multi-Machine Communication System

Recommended ReadingLatest update time:2024-11-16 22:22

STM32 USB keyboard and mouse routines
STM32 USB keyboard and mouse routines can be found on the Internet, but routines that integrate keyboard and mouse in the same device are relatively rare (I only found the 51+D12 version of Quanquan through GOOGLE). The following is a program for STM32 with integrated keyboard and mouse that I made with reference to
[Industrial Control]
OK6410A development board (eight) 5 linux-5.11 OK6410A usb port
The s3c6410 has two USB instances (both are brought out on the board), namely USB host and USB OTG. Here we are talking about USB host Code : https://github.com/lisider/linux/tree/ok6410a-linux-5.11 Submit id : dc485e937e8bccc1fc01b5e6d9025bf83b2b6f83 defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_x11_usb
[Microcontroller]
OK6410A development board (eight) 5 linux-5.11 OK6410A usb port
When designing a USB protocol interface, you need to keep these six key issues in mind
Designing a system that uses high-speed signaling for data transfer can sometimes be difficult, especially when there are so many communication protocols to choose from. While many communication protocols are ideal for high-speed signaling, one protocol is particularly popular: USB. It is often associated with gaming,
[Network Communication]
When designing a USB protocol interface, you need to keep these six key issues in mind
Get rid of the power cord and unlock the secrets of USB power supply
  USB is one of the most widely used transmission interfaces in the daily life of modern people. Due to its convenience, small size and reasonable cost, USB can be seen everywhere in various living or working places. Whether it is the core entertainment device in the home - TV, personal laptop/smartphone/tablet device
[Power Management]
Get rid of the power cord and unlock the secrets of USB power supply
Design of ISP1362OTG based on AVR microcontroller
0 Introduction The design scheme adopted in this paper is based on Philips' ISP1362 OTG control chip. Referring to the latest USB OTG technical specifications, a master/slave system that complies with the USB protocol is designed. 1 Internal structure of ISP1362 chip Philips' ISP1362 is an interface c
[Analog Electronics]
Design of ISP1362OTG based on AVR microcontroller
USB AVR JTAGICE MKII-CN emulator usage
1. Installation Emulator: First, install AVRStudio4.19 or other versions. After successful installation, connect the MKIIUSB to the computer and it will be automatically recognized. If it is not recognized, it is probably because the AVR Jungo USB control was intercepted and failed to install successfully when AVR
[Microcontroller]
USB Type-C - Electrostatic Discharge and Plug-in Pulse Voltage Protection-UniSemiconductor
Solution Introduction: The introduction of the new USB standard has brought major changes to this widely used data interface, including higher data rates and a new USB Type-C connector. This standard doubles the data rate of the previous USB 3.0 standard (up to 10Gbps), and is backward compatible with billions of US
[Embedded]
USB Type-C - Electrostatic Discharge and Plug-in Pulse Voltage Protection-UniSemiconductor
USB boot technology for embedded real-time system
Introduction At present, embedded real-time systems designed based on VxWorks are widely used. There are many ways to start embedded real-time systems. The reference BSP (Board support Package) package provided by WindRiver provides several startup methods. In addition, in reference , the author also proposed se
[Microcontroller]
USB boot technology for embedded real-time system
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号