8052.com Single Board Computer (SBC) Hardware rev PDF

Please download to get full document.

View again

of 47
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information Report
Category:

Design

Published:

Views: 47 | Pages: 47

Extension: PDF | Download: 0

Share
Related documents
Description
8052.com Single Board Computer (SBC) Hardware rev. 1.3 Manual revision 1.1 September 16, 2005 The contents of this document were written by Craig Steiner of 8052.com and Vault Information Services L.L.C.
Transcript
8052.com Single Board Computer (SBC) Hardware rev. 1.3 Manual revision 1.1 September 16, 2005 The contents of this document were written by Craig Steiner of 8052.com and Vault Information Services L.L.C. Extracted from 8052.com and assembled into this file by Jon Ledbetter. Revision History: 09/09/05 - Completed initial manual 09/13/05 - Added Information regarding the PS/2 Keyboard demo program 09/15/05 - Re-arranged topic order 09/15/05 - Fixed hyperlinks 09/15/05 - Initial Public Release Rev /16/05 - Added Information regarding the PS/2 Monitor and PS/2 Mouse demo programs 09/16/05 - Release Rev 1.1 Introduction to the 8052.com SBC The 8052.com SBC is a single-board computer designed to be both useful and instructive in illustrating certain concepts commonly encountered in 8052-based development. Although many SBCs already exist, this SBC was designed specifically to form the basis of thorough technical discussions and tutorials consistent with those found on this website. Nothing was included in this SBC that does not serve a specific educational purpose and implementations that would confuse or unnecessarily complicate the design were intentionally omitted in favor of easy-to-understand approaches so that the important topics could be covered without being lost in the details. This SBC was also designed with a worldwide market in mind. Recognizing that not all parts are easily available in all parts of the world, this SBC intentionally uses common parts that should not be difficult to acquire. In some cases the use of common parts may not have been the optimum design but in these cases the efficiency was sacrificed in favor of universality. The board was developed with the Atmel AT89S8252/AT89S8253 and Dallas DS89C420 in mind but can be used with any 40-pin 8052 pin-compatible derivative including the traditional true-blue 8052, 8051, 8032, 8031, etc.; Additionally, this SBC will work with the new Atmel AT89S8253 that has been announced to replace the AT89S8252. Its feature-set is such that the user may use the SBC simply to learn and master the 8052 microcontroller but may also subsequently use it as a base for his or her own projects and designs. 8052.com SBC Features Some notable features of the 8052.com SBC are: 1. In-System Programming. Atmel AT89S8252 and Dallas DS89C420 can be programmed in-system without having to remove the microcontroller and without need for a part programmer or special cables. 2. Serial Port/UART. Includes a single standard RS-232 compatible DB9 port that can be used to interface and communicate with external devices such as a standard PC. This is also useful in explaining the concept of serial communications x2 LCD. Includes a 16 column by 2 row LCD that can be connected to the circuit either by direct connection (the lines being driven directly by port pins of the microcontroller on P1 and P3) or as a memory-mapped device (accessed with the MOVX instruction). This is useful in explaining communication with external devices by controlling individual I/O lines. It also is useful in explaining the concept of memory-mapped devices. 4. 4x4 Keypad. A 4x4 matrix keypad which allows the user to input the numbers 0 through 9 plus provides 6 special function keys. This is useful in explaining the concept of key debounce. 5. Real Time Clock. The SBC includes a DS1307 Real-Time Clock. In addition to providing time-keeping capabilities this part is instrumental in demonstrating inter-chip communication using the I2C protocol. 6. Serial EEPROM. The SBC includes an Atmel AT25010A serial EEPROM which provides 128 bytes of non-volatile memory. More importantly it provides an opportunity to demonstrate inter-chip communication using the SPI protocol. 7. EPROM. The SBC may be configured to run code out of an EPROM inserted into the circuit. This is useful if the microcontroller being used does not have any on-chip code memory such as traditional 8032s, 8052s, etc. Those using a microcontroller with on-chip code memory may choose to omit the EPROM. 8. Code RAM. The SBC includes 32k of code RAM. This is RAM that has been wired such that the SBC will access it as RAM as well as code memory. This allows the user to download code into the RAM and execute it from RAM without having to burn a new EPROM or reprogram the microcontroller. 9. Access to all I/O lines. All data, address, and relevant signal lines are exposed on connector blocks such that the SBC may easily be expanded to circuits on external PCBs. 10. Addressable LED. P1.0 may be optionally connected to a LED for testing simple programs that cause the LED to flash. 11. Dual reset circuits. The SBC includes both a traditional resistor-capacitor (RC) network to provide the reset signal and also includes a more reliable MN13811 reset supervisor. Which solution is used to provide the reset signal is selectable with a jumper. Why use an SBC? SBCs were very popular before about the year Short of expensive in-circuit emulators (ICE), SBCs were one of the cheapest ways to quickly test 8052 firmware and/or experiment with the 8052 and attached devices. With the advent of low-priced evaluation boards from semiconductors companies such as Signal Laboratories, Texas Instruments, and Analog Devices, the demand for SBCs has dropped as many have found these evaluation boards to provide near-ice functionality for under $200. However, SBCs may still have a place in one's effort to learn and experiment with the An SBC provides the opportunity to understand what the 8052 is doing at the electrical level as it interfaces with external RAM, keypads, LCDs, serial ports, and buttons. Additionally, this SBC can be built by anyone with the parts and a soldering iron while most new evaluation boards must be purchased directly from the manufacturer and use surface mount technology that is not easily assembled by the novice or student. This SBC also utilizes parts that should be available in virtually any country without having to import parts from foreign sources. And, of course, this SBC can be used with virtually any 8052-compatible 40-pin DIP microcontroller so the user can actually build the SBC with almost any 8052 derivative that is available locally. In short, using an SBC--and especially building one--forces an understanding of the 8052's architecture and external electrical connections that might be missed if the user immediately uses a modern evaluation board without understanding the underlying fundamentals. 8052.com SBC Schematics This page includes the schematics for the 8052.com SBC. You may build a functioning version of the SBC by building based on these schematics. Click on each schematic page for a full-size version. Microcontroller & Memory Latch Memory (RAM & EPROM) Memory-Mapped LCD & Keypad Power & Misc. In-System Programming (ISP) Schematic Bill of Materials The following parts are needed to build the 8052.com SBC described above: Reference Quantity Part Digikey Part Number Datasheet C1-C14, C24,C uF ceramic capacitor 1338PH-ND C15,C uF electrolytic capacitor P5134-ND C16-C19 4 1uF electrolytic capacitor P10312-ND C20,C pF ceramic capacitor P10797-ND C uF electrolytic capacitor P10253-ND C uF capacitor P11198-ND D1-D4 4 1N4001 diode 1N4001GICT-ND D5 1 Red LED ND D6 1 Yellow LED ND J mm power connector CP-202A-ND/CP-102AH-ND J2 1 DB25 male conector A23285-ND J3,J pin Female Header S4207-ND J5 1 8-pin Female Header S4008-ND J6 1 DB6 DB9 female RS232 A23303-ND J7-J pin SIPs JP1 1 2-pin jumper JP2-JP6 5 3-pin jumper R1,R P330BACT-ND R P220BACT-ND R3 1 10K Variable Resistor 3362U-103-ND R5,R6,R8 3 10K P10KBACT-ND R P100BACT-ND RN k 6-pin resistor network R6.8K-ND SW1,SW2 2 Momentary push button, normally open P8006S-ND U1 1 Atmel AT89S8253 AT89S PI-ND Datasheet U2 1 74LS573 octal latch ND Datasheet U3 1 27C64 UV EPROM (optional) ND Datasheet U x32k RAM (or 6264) ND Datasheet U5 1 74LS138 3x8 decoder/mux ND Datasheet U6 1 74LS08 Quad 2-Input AND Gate ND Datasheet U7 1 74LS32 Quad 2-Input OR Gate ND Datasheet U8 1 74LS04 Hex Inverter ND Datasheet U9 1 74HC541 Octal Buffer/Driver ND Datasheet U10 1 U11 1 U12 1 MAX232 Dual RS232 Driver/Receiver 74LS125 Quad Tri-State Buffer Active Low 74HC126 Quad Tri-State Buffer Active High ND ND ND Datasheet Datasheet Datasheet U13 1 DS1307 real time clock (RTC) DS1307-ND Datasheet U14 1 U15 1 AT25010A 128x8 Serial EEPROM MN V Reset Supervisor AT25010A-10PI-2.7-ND MN13811-U-ND Datasheet Datasheet U16 1 LM7805 5V voltage regulator ND Datasheet X MHz crystal X139-ND X khz crystal ND 1 40-pin IC Socket A9440-ND 2 28-pin IC Socket A9428-ND 2 20-pin IC Socket A9420-ND 2 16-pin IC Socket A9416-ND 5 14-pin IC Socket A9414-ND 2 8-pin IC Socket A9408-ND pin breakaway headers for J7-J12, JP1-JP6 16x2 LCD (left side 2x7 connector) WM6436-ND ND or ND 1 4x4 Keypad GH5003-ND 1 5W Heatsink for 7805 HS121-ND 1 Wall transformer, 12VAC 750MA, 2.1mm MT7119-ND 4 Bumpons Hemispheres.50X.14 Clear SJ ND Microcontroller Port Pin Usage Name Pin Function/Connection Port 1 P1.0 1 LED/Direct LCD DB0. Used to control the D6 LED if JP1 is connected. Also used as DB0 when the LCD is connected as a direct-connection. P1.1 2 I2C SDA/Direct LCD DB1. Used as the SDA line to access the DS1307 via I2C. Also used as DB1 when the LCD is connected as a direct-connection. P1.2 3 I2C SCL/Direct LCD DB2. Used as the SCL line to access the DS1307 via I2C. Also used as DB2 when the LCD is connected as a direct-connection. P1.3 4 Direct LCD DB3. Used as DB2 when the LCD is connected as a direct-connection. P1.4 5 SPI SS/Direct LCD DB4. Used to select the AT25010A for SPI access. Also used as DB4 when the LCD is connected as a direct-connection. P1.5 6 SPI MOSI/Direct LCD DB5. Used as MOSI when communicating with the AT25010A via SPI and when in AT89S8252 ISP mode. Also used as DB5 when the LCD is connected as a direct-connection. P1.6 7 SPI MISO/Direct LCD DB6. Used as MISO when communicating with the AT25010A via SPI and when in AT89S8252 ISP mode. Also used as DB6 when the LCD is connected as a direct-connection. P1.7 8 SPI SCK/Direct LCD DB7. Used as SCK when communicating with the AT25010A via SPI and when in AT89S8252 ISP mode. Also used as DB7 when the LCD is connected as a direct-connection. Port 3 P RXD. Connected to the MAX232 for RS-232 serial communication. P TXD. Connected to the MAX232 for RS-232 serial communication. P AT25010A Write Protect. Connected to the -WP pin of the AT25010A serial EEPROM, active low. When low the AT25010A will be write protected. When high the AT25010A will not be write protected. P Direct LCD E/Interrupt 1 Button. Used to drive the LCD E line when the LCD is connected as a direct-connection. Also connected to momentary push-button. If button is pressed this line will be brought low which may activate an external 1 interrupt. P Direct LCD RW. Used to drive the LCD RW line when the LCD is connected as a direct-connection. Not used if LCD is connected as memory-mapped device. P Direct LCD RS. Used to drive the LCD RS line when the LCD is connected as a direct-connection. P WR. Asserted automatically by the microcontroller to write to external memory/memory-mapped devices with the MOVX instruction. P RD. Asserted automatically by the microcontroller to read from external memory/memory-mapped devices with the MOVX instruction. Port 2 and Port 0 Both ports 2 and 0 are connected to the address bus and are driven automatically by the microcontroller. of the pins are used by the SBC for any other functions. Jumper Settings Jumper Function/Description JP1 P1.0 LED Enable. If JP1 is connected then P1.0 will control LED D6. JP2 JP3 JP4 JP5 JP6 External Access. If JP2 is jumpered to pin 1 (Vcc) then the microcontroller will execute code from the microcontroller's on-chip program memory. If JP2 is jumpered to pin 3 (ground) then the microcontroller will execute code from external EPROM. In this case be sure that a programmed EPROM is installed in the circuit. Eprom. Jumper pins 1 and 2 for 64K or pins 2 and 3 for 32K Dallas ISP. If JP4 is jumpered between pins 1 and 2, the DTR pin of the DB9 RS-232 port will drive enable pins of U11 and thereby permit Dallas DS89C420 ISP programming. If JP4 is jumpered between pins 2 and 3 then U11 is permanently disabled and Dallas ISP will not be possible. Reset Selection. If JP5 is jumpered to pin 1 then the microcontroller's reset pin will be driven by a traditional resetcapacitor network with capacitor C15. If JP5 is jumpered to pin 3 then the MN13811 reset supervisor will be used to generate the reset signal. RTC Battery Backup. JP6 may be used to attach a battery to the DS1307 RTC to drive the clock when the SBC's power is removed. The center pin is Vcc while the left and right pins are ground. JP7 Power. A place to hook into the power supply. Pins 1 and 3 are ground. Pin 2 is +5V Memory Map Address Range 0000h - 3FFFh 4000h - 4FFFh 5000h - 5FFFh 6000h - 6FFFh 7000h - 7FFFh 8000h - FFFFh Function EPROM, if JP2 selects EPROM code execution. LCD Memory-Mapped. Specific addresses access memory-mapped LCD. 4000h 4001h 4002h 4003h Write Command to LCD Write Text to LCD Read Command Register from LCD Read Text from LCD Keypad Memory-Mapped. Specific address access memory-mapped keypad. 500Eh Read keypad row 0 500Dh Read keypad row 1 500Bh Read keypad row h Read keypad row 3 Other 1. Can be used to enable user memorymapped devices connected via pin 6 of J11. Other 2. Can be used to enable user memorymapped devices connected via pin 7 of J11. Program/RAM. Can serve as XRAM or RAMbased program memory. If a 32k RAM IC is used (62256) then this RAM will occupy all of 8000h - FFFFh. If an 8k RAM IC is used (6264) then this RAM will occupy E000h - FFFFh. Notes: EPROM. The EPROM socket is made available primarily for those that wish to use the SBC with a microcontroller that does not include on-chip code memory. In this case the user program or monitor must be loaded into an EPROM and JP2 must be configured to the 2-3 setting. Non-EPROM Use. If a microcontroller with on-chip code memory is being used (such as an Atmel AT89S8252, Dallas DS89C420, etc.) then the EPROM may be completely omitted. Programming the 8052.com SBC with ISP The 8052.com SBC was designed to permit in-system programming (ISP) with the Atmel AT89S8252, AT89S8253, and the Dallas DS89C420 microcontrollers. This means that if the SBC is used with one of these microcontrollers, the on-chip code memory of the microcontroller may be programmed, read, and erased without anything more than a serial or parallel cable and appropriate software. In-System Programming and Atmel Microcontrollers If your 8052.com SBC has an Atmel AT89S8252 or an Atmel AT89S8253 then you may use the VisISP-52 software to perform insystem programming with the SBC. This Windows software was developed specifically to download firmware to the 8052.com SBC. VisISP-52 requires a standard 25-pin parallel cable to connect the PC to the 8052.com SBC. In-System Programming and Dallas DS89C420 If your 8052.com SBC has a Dallas DS89C420 then you may use the Microcontroller Tool Kit (MTK) application from Maxim- Dallas Semiconductor to perform the in-system programming. A full explanation of how to do this is explained in this application note. MTK requires a standard serial cable to connect the PC to the 8052.com SBC. Introduction to VisISP-52 VisISP-52 is a Windows application that will run on all modern versions of Windows (Win95, Win98, Win2000, WinME, and WinXP) and which will allow supported microcontrollers to be programmed in-system . It was developed specifically to program the Atmel AT89S8252 and AT89S8253 installed in an 8052.com SBC but should work equally well for any other design that uses a compatible ISP and one of the supported microcontrollers. Installing VisISP-52 To install VisISP-52 on your computer, simply download the following installation program and run it. This will install the application on your computer and add the appropriate icons to your Programs menu. You may then launch the program normally. Download VisISP-52 v1.0 Installation Program (3.4MB) Note: You may need to be logged in as 'Administrator' in Win2000, WindowsXP, and Windows NT in order to install the program. Using VisISP-52 to Load Programs on the Microcontroller VisISP-52's interface is very straight-forward as is pictured below. A single window with minimal menu options provides access to the primary features of the program: Writing new firmware to the microcontroller, reading the firmware that is currently in the microcontroller, and erasing the microcontroller's memory. Before proceeding, make sure you've selected the right microcontroller in the Microcontroller drop-down window. At this time, VisISP-52 only supports the Atmel AT89S8252 and AT89S8253. To Write Firmware to the Microcontroller: In order to write firmware to the microcontroller, first select the HEX file you wish to download by pressing the file button to the right of the File to Program prompt. You will be allowed to select a HEX file which will be loaded into memory. Once you've selected the file, you may download it to the microcontroller by pressing the Write button. A progress window will be displayed as the file is transferred to the microcontroller. To Read Firmware from the Microcontroller: You may read the contents of a microcontroller by pressing the Read button. This will download the program memory from the microcontroller to the PC. When the download is complete you will be prompted to enter a name for the HEX file that you wish to write the data to. Note that you will not be able to download firmware if the microcontroller has a security lock bit set to prohibit such downloading. To Erase the Microcontroller: You may erase the microcontroller by pressing the Erase button. The erase process is very quick but is subsequently followed by a verification phase in which VisISP-52 will read the entire contents of the microcontroller's memory to verify that it was, in fact, erased. You may cancel this verification process at any time without affecting the erase process which is completed almost immediately. Options: The Options menu allows you to configure the ports (LPT port to which the SBC hardware is connected). You may also toggle the Quick Program Mode. This option only applies to the AT89S8252. When the Quick Program Mode is selected, VisISP- 52 will only download those bytes which are contained in the selected HEX file but will leave all other bytes alone. This means that if the HEX file only contains 2k of data, only 2k will be written to the AT89S8252 while the other 6k of the AT89S8252 will not be affected. If this option is not selected then the remaining 6k will be filled with FFh data. ISP Hardware Since the ISP circuit of the 8052.com SBC was originally developed to operate with the AT89S8252 and SP89 , VisISP-52 will only work with ISP circuits that are compatible with the original SP89 parallel port pin-out. The 8052.com SBC meets this compatability requirement. If you are going to include an ISP circuit in your own hardware and you wish it to be compatible with VisISP-52, use the following pin-out: Parallel Port Microcontroller Connection/Function Pin 2 (D0) SCK/P1.7. The D0 pin of the parallel port drives the SCK/P1.7 pin on the microcontroller. SCK is the SPI clock which is generated by VisISP-52 and allows the PC to clock data into and out of the microcontroller. 3 (D1) RST/pin 9. The D1 pin of the parallel port drives the RST pin of the microcontroller. This allows VisISP-52 to put the microcontroller into reset mode. This is necessary because ISP occurs with reset driven high. 8 (D6) ISP Enable. The D6 pin of the parallel port should drive a buffer IC such as the 74HC126 such that the other input lines (D0, D1, and D7) are only connected to the microcontroller when this line is driven high by VisISP-52. When this line is low, the other three input lines should not be connected
Recommended
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks