The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

This application note describes generate Pulse Width Modulation (PWM)


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Pulse Width Modulation Generation Using AT91 Timer/Counter
This application note describes generate Pulse Width Modulation (PWM) signal, tunable frequency duty cycles, using AT91 Timer/Counter (TC).
Timer/Counter Overview
AT91 series microcontrollers feature Timer Counter block which includes three identical 16-bit timer counter channels. Each channel independently programmed, through operating modes, perform wide range functions including frequency measurement, event counting, interval measurement, pulse generation, delay timing, pulse width modulation interrupt generation. Each Timer Counter channel external clock inputs, internal clock inputs, multi purpose input/output signals, which configured user. Each channel drives internal interrupt signal, which programmed generate processor interrupts Advanced Interrupt Controller (AIC). three Timer Counter channels independent identical operation. Each Timer Counter channel organized around 16-bit counter. value counter incremented each positive edge selected clock. When counter reached value 0xFFFF passes 0x0000, overflow occurs COVFS TCx_SR (Status Register) set. current value counter accessible real-time reading TCx_CV. trigger reset counter. this case, counter value passes 0x0000 next valid edge selected clock.
AT91 ARM® Thumb® Microcontrollers Application Note
2682B-ATARM-03-Oct-03
Timer/Counter Operating Each Timer Counter channel operate independently different modes: Modes Capture Mode provides measurement signals.
Waveform Mode provides wave generation. Timer Counter Operating Mode programmed with WAVE Channel Mode Register (TCx_CMR). Capture Mode, TIOA TIOB configured inputs. Waveform Mode, TIOA always configured output TIOB output selected external trigger.
Trigger
Common Triggers
trigger resets counter starts counter clock. Three types triggers common both modes, fourth external trigger available each mode. following triggers common both operating modes: Software Trigger: Each channel software trigger, available setting SWTRG TCx_CCR. SYNC: Each channel synchronization signal SYNC. When asserted, this signal same effect software trigger. SYNC signals channels asserted simultaneously writing TC_BCR (Block Control) with SYNC set. Compare Trigger: implemented each channel provide trigger when counter value matches value CPCTRG TCx_CMR.
External Trigger
Timer Counter channel also configured have external trigger. Capture Mode, external trigger signal selected between TIOA TIOB. Waveform Mode, external event programmed following signals: TIOB, XC0, XC2. This external event then programmed perform trigger setting ENETRG TCx_CMR. external trigger used, duration pulses must longer than system clock (MCK) period order detected.
Generation Using AT91 Timer/Counter
2682B-ATARM-03-Oct-03
Generation Using AT91 Timer/Counter
Timer/Counter Block Diagram
Figure Timer/Counter Block Diagram
MCK/2 MCK/8 MCK/32 MCK/128 MCK/1024
Parallel Controller TCLK0 TIOA1 TIOA2 TCLK1 TCLK2 TC0XC0S
SYNC
TCLK0 TCLK1 TCLK2 TIOA0 TIOB0
Timer/Counter Channel
TIOA
TIOA0
TIOB
TIOB0
TCLK0 TCLK1 TIOA0 TIOA2 TCLK2 TC1XC1S
SYNC
Timer/Counter Channel
TIOA
TIOA1
TIOB
TIOB1
TIOA1 TIOB1
TCLK0 TCLK1 TCLK2 TIOA0 TIOA1
Timer/Counter Channel
TIOA
TIOA2
TIOB
TIOB2
SYNC
TIOA2 TIOB2
TC2XC2S
Timer Counter Block Advanced Interrupt Controller
2682B-ATARM-03-Oct-03
Clock Source
Each channel independently select internal external clock source counter: Internal clock signals: MCK/2, MCK/8, MCK/32, MCK/128, MCK/1024 External clock signals: XC0,
three-bit TCCLKS field mode register TCx_CMR determines whether counter clocked five internal clock sources (MCK/x) three external clock sources (TCLKx). selected clock inverted with CLKI TCx_CMR (Channel Mode Register). This enables counting opposite edges clock. burst function allows clock validated when external signal high. BURST parameter Mode Register defines this signal (none, XC0, XC1, XC2). Note: cases, external clock used, duration each levels must longer than system clock (MCK) period. external clock frequency must least times lower than system clock (MCK). Figure Timer/Counter Clock Source
CLKS
TCx_CMR[2:0]
MCK/2 MCK/8 MCK/32 MCK/128 MCK/1024
Burst
TCx_CMR[5:4]
CLKI
TCx_CMR[3]
Clock Counter
BURSTCLK
maximal counter duration when internal clock used determined internal clock prescaler number:
maximal counter duration (seconds) counter resolution
where
Table Maximum Counter Duration
MCK/2 MCK/8 MCK/16 MCK/128 MCK/1024 26.21ms 104.8ms 419.4ms 1.68s 13.42s
13.10ms 52.4ms 209.7ms 838.8ms 6.71s
6.55ms 26.22ms 104.86ms 420.4ms 3.36ms
3.97ms 14.89ms 63.86ms 254.2ms 2.03s
1.98ms 7.45ms 31.98ms 127.1ms 1.02s
Generation Using AT91 Timer/Counter
2682B-ATARM-03-Oct-03
Generation Using AT91 Timer/Counter
Pulse Width Modulation Generation
waveform mode entered setting WAVE (bit Mode Register) forces TIOA output pin. TIOB used either output (dual waveform mode) input (single waveform mode). Waveform Operating Mode allows Channel generate signals with same frequency independently programmable duty cycles, generate different types one-shot repetitive pulses. Waveform Operating Mode, used compare registers. compare registers generate counter reset (RC) waveform modification (RA, when counter reaches value programmed them. Compare used control TIOA output. Compare used control TIOB configured output). Compare programmed control TIOA and/or TIOB outputs. Compare also generate trigger CPCTRG trigger resets counter that control period waveforms. Each these events programmed set, clear toggle output defined corresponding parameter TCx_CMR.
Application Example
AT91 Timer/Counter generation frequency with duty cycle TIOA duty cycle TIOB. This application example based AT91EB40A Evaluation Board applicable AT91 products. compare generate trigger CPCTRG Mode Register trigger resets counter signal period controlled Compare register. duty cycle TIOA TIOB controlled Compare registers respectively. trigger event sets TIOA TIOB then TIOA toggled TIOB shown below Figure Figure Dual Pulse Width Modulation Generation
Counter
Timer configuration
TIOA
TIOB
Trigger
Master Clock AT91EB40A Evaluation Board MHz. value needed compare register assure timer period (1kHz fre5
2682B-ATARM-03-Oct-03
quency) must established. frequency controlled compare register minimal prescaler value required select timer clock must first determined. maximal counter value 0xFFFF (65535): 66000000 0.001 1.007 65535 65535 value 1.007 Therefore, timer clock must least MCK/2 (33000000Hz) have compare period 1ms. application, required compare register values must calculated using following equation:
Compare Value
Where desired timer compare period (second) timer clock frequency(Hertz) Compare register 33000000 1000 33000 80E8 Fpwm 1000 duty cycle TIOA, compare register 33000 9900 26AC duty cycle TIOB, compare register 33000 16500 4074
Generation Using AT91 Timer/Counter
2682B-ATARM-03-Oct-03
Generation Using AT91 Timer/Counter
Software Code
following software code example generates dual 1kHz with duty cycle TIOA duty cycle TIOB using Timer/Counter waveform mode AT91EB40A Evaluation Board applicable entire AT91 series.
//*-//*The software delivered without warranty condition kind, either express, implied statutory. This includes //*without limitation warranty condition with respect merchantability fitness particular purpose, against //*infringements intellectual property rights others. //*-//* File Name Object Author wave_pwm.c AT91EB40A Timer Counter Dual generation AT91 Application Group
//*-//* Configure channel Timer Counter(TC) AT91EB40A dual waveform generation frequency 1kHz clock selected Register compare toggle TIOA1 when reached Register compare toggle TIOB1 when reached Register compare toggle TIOA1 TIOB1 when reached //*-
#define #define #define #define #define
TC1_CCR TC1_CMR TC1_RA TC1_RB TC1_RC
((volatile unsigned 0xFFFE0040) ((volatile unsigned 0xFFFE0044) ((volatile unsigned 0xFFFE0054) ((volatile unsigned 0xFFFE0058) ((volatile unsigned 0xFFFE005C)
#define
PIO_PDR
((volatile unsigned 0xFFFF0004)
TC_CMR: Timer Counter Channel Mode Register Bits Definition #define #define #define #define #define #define #define #define #define #define TC_CLKS_MCK20x0 TC_EEVT_XC0 TC_CPCTRG TC_WAVE TC_ACPA_TOGGLE_OUTPUT TC_ACPC_TOGGLE_OUTPUT TC_ASWTRG_SET_OUTPUT TC_BCPB_TOGGLE_OUTPUT TC_BCPC_TOGGLE_OUTPUT TC_BSWTRG_SET_OUTPUT 0x400 0x4000 0x8000 0x30000 0xC0000 0x400000 0x3000000 0xC000000 0x40000000
TC_CCR: Timer Counter Control Register Bits Definition #define #define #define TC_CLKEN TC_CLKDIS TC_SWTRG
Controller
2682B-ATARM-03-Oct-03
#define #define
PIOTIOA1 PIOTIOB1
Timer Signal Timer Signal
//*-//* Function Name main Object: Timer Counter configuration generate Dual generation //*-int main void Begin *TC1_CCR TC_CLKDIS *PIO_PDR (1<<PIOTIOA1) (1<<PIOTIOB1) Disable Clock Counter Define TIOA1 TIOB1 peripheral
Timer/Counter mode configuration *TC1_CMR TC_BSWTRG_SET_OUTPUT TC_BCPC_TOGGLE_OUTPUT TC_BCPB_TOGGLE_OUTPUT TC_ASWTRG_SET_OUTPUT TC_ACPC_TOGGLE_OUTPUT TC_ACPA_TOGGLE_OUTPUT TC_WAVE TC_CPCTRG TC_EEVT_XC0 TC_CLKS_MCK2 Compare registers initialization *TC1_RC 0x80E8 *TC1_RB 0x4074 *TC1_RA 0x26AC 1kHz generation duty cycle TIOB1 duty cycle TIOA1 BSWTRG BCPC BCPB ASWTRG ACPC ACPA software trigger TIOB
Register compare toggle TIOB Register compare toggle TIOB software trigger TIOA
Register compare toggle TIOA Register compare toggle TIOA Waveform mode Register compare trigger enable external event (TIOB=output)
WAVE CPCTRG EEVT
TCCLKS
*TC1_CCR TC_CLKEN *TC1_CCR TC_SWTRG
Enable Clock counter Trig timer
(;;) }//* return(0) }//*End
Generation Using AT91 Timer/Counter
2682B-ATARM-03-Oct-03
Atmel Corporation
2325 Orchard Parkway Jose, 95131, Tel: 1(408) 441-0311 Fax: 1(408) 487-2600
Atmel Operations
Memory
2325 Orchard Parkway Jose, 95131, Tel: 1(408) 441-0311 Fax: 1(408) 436-4314
RF/Automotive
Theresienstrasse Postfach 3535 74025 Heilbronn, Germany Tel: (49) 71-31-67-0 Fax: (49) 71-31-67-2340 1150 East Cheyenne Mtn. Blvd. Colorado Springs, 80906, Tel: 1(719) 576-3300 Fax: 1(719) 540-1759
Regional Headquarters
Europe
Atmel Sarl Route Arsenaux Case Postale CH-1705 Fribourg Switzerland Tel: (41) 26-426-5555 Fax: (41) 26-426-5500
Microcontrollers
2325 Orchard Parkway Jose, 95131, Tel: 1(408) 441-0311 Fax: 1(408) 436-4314 Chantrerie 70602 44306 Nantes Cedex France Tel: (33) 2-40-18-18-18 Fax: (33) 2-40-18-19-60
Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom
Avenue Rochepleine 38521 Saint-Egreve Cedex, France Tel: (33) 4-76-58-30-00 Fax: (33) 4-76-58-34-80
Asia
Room 1219 Chinachem Golden Plaza Mody Road Tsimshatsui East Kowloon Hong Kong Tel: (852) 2721-9778 Fax: (852) 2722-1369
ASIC/ASSP/Smart Cards
Zone Industrielle 13106 Rousset Cedex, France Tel: (33) 4-42-53-60-00 Fax: (33) 4-42-53-60-01 1150 East Cheyenne Mtn. Blvd. Colorado Springs, 80906, Tel: 1(719) 576-3300 Fax: 1(719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride 0QR, Scotland Tel: (44) 1355-803-000 Fax: (44) 1355-242-743
Japan
Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan Tel: (81) 3-3523-3551 Fax: (81) 3-3523-7581
Literature Requests
www.atmel.com/literature
Disclaimer: Atmel Corporation makes warranty products, other than those expressly contained Company's standard warranty which detailed Atmel's Terms Conditions located Company's site. Company assumes responsibility errors which appear this document, reserves right change devices specifications detailed herein time without notice, does make commitment update information contained herein. licenses patents other intellectual property Atmel granted Company connection with sale Atmel products, expressly implication. Atmel's products authorized critical components life support devices systems.
Atmel Corporation 2003. rights reserved. Atmel combinations thereof, registered trademarks Atmel Corporation subsidiaries. Thumb Powered registered trademarks Ltd. Other terms product names trademarks others.
Printed recycled paper.
2682B-ATARM-03-Oct-03

Other recent searches


ULN2001A - ULN2001A   ULN2001A Datasheet
ULN2002A - ULN2002A   ULN2002A Datasheet
ULN2003A - ULN2003A   ULN2003A Datasheet
ULN2004A - ULN2004A   ULN2004A Datasheet
ULQ2003A - ULQ2003A   ULQ2003A Datasheet
ULQ2004A - ULQ2004A   ULQ2004A Datasheet
Q62702-P20 - Q62702-P20   Q62702-P20 Datasheet
Q62702-P3583 - Q62702-P3583   Q62702-P3583 Datasheet
Q62702-P43-S3 - Q62702-P43-S3   Q62702-P43-S3 Datasheet
Q62702-P3584 - Q62702-P3584   Q62702-P3584 Datasheet
Q62702-P43-S4 - Q62702-P43-S4   Q62702-P43-S4 Datasheet
IMB3A - IMB3A   IMB3A Datasheet
GTLP16T1655 - GTLP16T1655   GTLP16T1655 Datasheet
CXD2719Q - CXD2719Q   CXD2719Q Datasheet
ALA030 - ALA030   ALA030 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive