Øvelse+2+-+Bus+Timing

= = Exercise 2 - Bus timing

Øvelses Steps
I skal beregne værdierne opsætningsparametrene for OMAP processorens GPMC registre. På jeres øvelsesblog skal opgaveløsningen indeholde følgende:


 * Kort beskrivelse af hvordan at OMAP og DM9000 er forbundet. (Hvilken chip select, hvor mange data bits?)
 * Ud fra databladet Devkit8000 schematics konkluderes, DM9000 bruger chip-select CS6 og køre med 16 databit.

Reading



 * CSONTIME** **=** 0, da CS# og CMD ligger overpå hinanden i DM9000 datablad.


 * OEONTIME**, skal være større end 0, da det ellers risikeres at enheden ikke er klar. Her vælges en clock længere end 0 ns. En clock varer 10 ns og **OEONTIME** bliver 10 ns.


 * OEOFFTIME,** tiden der går før læsning er færdig, altså (T1+T2). T1(OEONTIME) er sat til 10 ns. T2 kan aflæses i databladet for DM9000 og skal være mindst 10 ns (sættes til 20ns), OEONTIME bliver altså 30 ns.


 * CSRDOFFTIME,** tiden fra CS til der kan læses. altså (T1+T2+T5), T1 = 10 ns, T2 = 20 ns, T5 = 10 ns, der tilføjes en clockcycle for at minimerer fejl. **CSRDOFFTIME = 40 ns.**


 * RDACCESSTIME,** tiden til læsning startes. T1+T3, (10ns + 3ns) = 13ns, men da der regnes i clk, **20ns**


 * RDCYCLETIME -** Total read cycle time, fra læsning begyndes til denne afsluttes -> (T1+T2+T6), da T1 = 10ns, T2 = 20ns og T6 = 30ns (skal være min 2clk, så sættes til 3) bliver **RDCYCLETIME = 60ns**


 * CYCLE2CYCLEDELAY -** Chip-select high pulse delay between successive accesses, Tiden mellem to high-pulses i CS-readings =>T6 - T5 - T1 = 30ns - 10ns - 10ns = 10 ns = 1clk

Writing


Diagram for DM9000 netværkscontroller.

Værdierne for T1, T2.....T8 slåes op i databladet for DM9000


 * WEONTIME** > 0, og derfor sætte den til 1 clk, altså 10ns


 * WEOFFTIME =** T1 +T2 = 2clk = 20ns


 * CSWROFFTIME =** (T1+T2+T5), T1 = 10 ns, T2 = 20 ns, T5 = 10 ns (min 0ns og altså 10ns), der tilføjes en clockcycle for at minimerer fejl. **CSWROFFTIME = 40 nn**


 * WRCYCLETIME =** (T1+T2+T6), da T1 = 10ns, T2 = 20ns og T6 = 30ns (skal være min 2clk, så sættes til 3) bliver **WRCYCLETIME = 60ns**


 * CYCLE2CYCLEDELAY,** Tiden mellem to high-pulses i CS-readings =>T6 - T5 - T1 = 30ns - 10ns - 10ns = 10 ns = 1clk