![Intel IXP45X Скачать руководство пользователя страница 818](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092818.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—Operating System Timer
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
818
Order Number: 306262-004US
18.4
Theory of Operation
The OST supports four timers, the first is a watchdog timer, the second a free-running
timestamp timer and the last two are general-purpose timers capable of generating
interrupts at predetermined intervals.
All of the registers/counters operate on the APB bus clock by default. By writing a value
into separate configuration and prescale registers, a prescaled enable can be used for
each timer. Each timer, except for watchdog timer, can also enable a 3/4 scale function
to emulate a 20-ns clock from a 66.667-MHz input clock. The 3/4 scaler can also be
used in combination with the prescaler.
18.4.1
Watchdog Timer Operation
The watchdog timer is used by the software to monitor inactivity. The watchdog timer is
composed of four components:
• A 32-bit writable down counter — (
ost_wdog
)
• A 3-bit enable register — (
ost_wdog_enab
)
• A 16-bit key register — (
ost_wdog_key
)
• A 5-bit status register — (
ost_sts)
The ost_wdog_key register can be written at any time over the APB bus. However, all
the watch-dog registers can only be written to when the ost_wdog_key register
contains the value 0x482E (this value referred to from here on as “key-value”). A write
Figure 187. Operating System Timer Block Diagram
B4318-01
APB Interface
Ost Status
Register
ost_ts_int
ost_time0_int
ost_time1_int
ost_wdog_int
ost_wdog_reset
General Purpose
Timer 0
Reload Register 0
Timestamp Timer
General Purpose
Timer 1
Watchdog Timer
WD Enable Register
WD Key Register
Timestamp *
Compare register
OST_config0 *
Reload Register 1
OST_config1 *
Timestamp config *
pclk
pclk
Timer
Outputs
sc_en
ts_
prescale
sel
sel
'1'
sel
pclk
sc_en
tim0_
prescale
'1'
sel
pclk
sc_en
tim1_
prescale
'1'
sel
sel
pclk
pclk
pclk
en
en
en