ET-BASE ARM2103

From HvWiki

Jump to: navigation, search

Contents

Main features

  • ARM7TDMI-S core with fast multiplier supporting 32 bit ARM and 16 bit THUMB instruction sets.
  • Built in bootloader using a standard RS-232 interface. Second RS-232 interface.
  • 19.6608 MHz crystal gives 58.98 MHz maximum CPU clock available from programmable on-chip phase-locked loop oscillator. Real Time Clock with 32768 Hz crystal and battery. Watchdog timer.
  • 8 kB on-chip Static RAM, 32 kB on-chip Flash Program Memory
  • Two 32 bit timers with 32 bit prescalers, capture and compare.
  • Two 16 bit timers with 16 bit prescalers, capture and compare.
  • 32 general purpose I/O lines (5 V tolerant).
  • Eight channel multiplexed 10-bit A/D converter with conversion time as low as 2.5 µs.

Hints and tips

  • The memory acceleration module (MAM) may be unstable in mode 2 at high frequencies or low voltages. Set it to mode 1 or 0 to be sure of correct behaviour. Increasing the core voltage from 1.8 V to 2 V helps.
  • The 32x32 multiplier with the full 64 result is not available through C but can be accessed through inline assembly langauge.
  • There is no division in hardware so avoid divisions in time critical code.
  • There is no floating-point hardware so use fixed-point where speed is important.


Special pins

  • P0.0 - Transmit → MAX3232
  • P0.1 - Receive ← MAX3232
  • P0.8 - Transmit → MAX3232 (Selectable by jumper)
  • P0.9 - Receive ← MAX3232 (Selectable by jumper)
  • P0.2 - Open drain according to Errata 1.5
  • P0.3 - Open drain according to Errata 1.5
  • P0.14 - Load button (22 kΩ pull-up to 3.3 V)
  • P0.17 - 10 kΩ pull-up to 5 V for LCD enable (Hand soldered, depends on revision?)
  • P0.27 - 100 kΩ pull-up to 3.3 V
  • P0.28 - 100 kΩ pull-up to 3.3 V
  • P0.29 - 100 kΩ pull-down to Gnd
  • P0.30 - 100 kΩ pull-up to 3.3 V
  • P0.31 - 100 kΩ pull-up to 3.3 V

Power usage

Power down does not include A/D, shut it down separately. The LED, voltage regulators and the RS-232 circuit seems to use about ?? mA. Measurements are with all busses at 60 MHz. Input voltage 5 V ± 10 %.

  • Normal ?? mA
  • All devices off ?? mA
  • Idle ?? mA
  • Power off ?? mA


A simple frequency generator

// Frequency on P0.5 = PCLK / ((T0MR0 + 1) * 2)
PINSEL0 |= 2<<10;		// P0.5 - Match 0.1 (TIMER0) 
T0EMR = 3<<6; 			// Toggle corresponding External Match output pin
T0MR0 = 2;			// Number of cycles - 1 between toggles
T0MCR = 1<<1;			// Reset Timer0 on MR0 match
T0PC = 0;			// Prescaler = 0
T0TCR = 2;			// Reset Timer0
T0TCR = 1;			// Start Timer0

A simple frequency counter

// Resolution is 1 Hz, maximum frequency PCLK/2 
#define PCLK 58982400		// Maximum frequency while using PLL and standard crystal
PINSEL0 |= 1<<21;		// CAP1.0 (Timer 1) - P0.10 (counter input)
T1PC = 0;			// Prescaler1 = 0
T1CTCR = 1;			// Counter Mode: TC is incremented on rising edges on the CAP input selected by bits 3:2.
T1TCR = 2;			// Reset timer1
T0PC = 0;			// Prescaler0 = 0
T0TCR = 2;			// Reset timer0
T0TCR = 1;			// Start timer0
T1TCR = 1;			// Start timer1
while(T0TC<PCLK);		// Wait exactly one second
frequency = T1TC;

External links

Personal tools