T狸m Hi畛u Giao Ti畉p USB (Universal Serial Bus)congtan94
油
Giao ti畉p USB Host And Device, USB 2.0 v USB 3.0, t畛c 畛 c叩c chu畉n USB, giao tiep USB, Universial serial bus, congtan94, chu畉n USB, nguy棚n l箪 ho畉t 畛ng USB
2. 1.1.1. a. Central Sub System CS:
+ CPU: Central Processing Unit:
Kh叩i ni畛m: L b畛 i畛u khi畛n trung t但m, th畛c hi畛n
c担ng vi畛c 動畛c giao 畉t trong b畛 nh畛 ch動董ng tr狸nh
b畉ng c叩ch th畛c hi畛n c叩c ph辿p x畛 l箪 l棚n c叩c bi畉n nh畛
ph但n v i畛u khi畛n thi畉t b畛 ngo畉i vi.
C担ng vi畛c bao g畛m:
T狸m l畛nh, gi畉i m達 l畛nh, [t狸m to叩n h畉ng, x畛 l箪 v c畉t k畉t
qu畉],
In/Out v畛i c叩c port ki畛u Interrupt v DMA 畛 i畛u khi畛n
thi畉t b畛 ngo畉i vi.
P&I-Ch1:Architecture
3
畉c tr動ng Specifications:
K鱈ch th動畛c to叩n h畉ng (bit): 4, 8, 12, 16, 32, 64...
T畛c 畛 x畛 l箪: Mips/Gips, clock multiplier,
Ki畉n tr炭c:
RISC (Reduced Instruction Set Computer)vs CISC (Complex
Instruction Set Computer),
DSP Digital Signal Processor,
Micro Controller (Micro Computer One Chip - All in one):
Atmel: ATmega nnn (8bit, RISC), AT91SAMnnn (ARM core)
MicroChip, PICxxx
Cypress: PSoC...
Pinning/Signalling (Data/Address - Mux, Control bus, IRQ, HRQ,
RD/WR...),
Register set,
Instruction set Addressing Modes,
Power Modes: Slow/ sleep/ power down modes, Mips/Wattage
...
P&I-Ch1:Architecture
4
2
3. + Memories (Semiconductor): K/n & ROM:
Kh叩i ni畛m:
L動u th担ng tin (ch/tr v s畛 li畛u) d畉ng nh畛 ph但n,
Dung l動畛ng l畛n (upto 100s Mega bit), t畛c 畛 truy
nh畉p nhanh (downto ns access time).
Physically: t鱈nh ch畉t v畉t l箪 nh動 th畉 no?
ROMs: Mask ROM, PROM, EPROM, EAROM, OTROM,
NonVolatile mem, ...
L b畛 nh畛 ch畛 畛c, v畉n l動u th担ng tin khi m畉t i畛n,
Package : byte
Access time:100..120ns
Ghi/n畉p n畛i dung: T/b畛 chuy棚n d湛ng (ROM Burner
/Programmator)
Shadow ROM?: copy n畛i dung t畛 ROM sang DRAM m畛i khi kh畛i
P&I-Ch1:Architecture
5
畛ng
Memories (Semiconductor): SRAM
L動u th担ng tin t畉m th畛i, kh担ng l動u 動畛c khi m畉t i畛n,
畛c v ghi 動畛c, [Read/Write Mem],
- Static RAM:
nhanh (80..3 ns),
byte/nibble package,
m畉t 畛 byte/chip nh畛 (upto 64/256 KB/ chip),
畉t, ti棚u th畛 c担ng su畉t nhi畛u,
- CMOS RAM: ch畉m v ti棚u th畛 c畛c 鱈t, less W.
Vd畛: MC 146818 RealTimeClock-CMOS RAM
D湛ng trong c叩c h畛 nh畛, cache memory.
P&I-Ch1:Architecture
6
3
4. Memories (Semiconductor): DRAM
Dynamic RAM - DRAM:
T畛c 畛/Access time (50-70ns), [10..20ns] Pre-fetched
M畉t 畛: bit/chip >> (1 Gbit/chip 1996, Korea),
bit package => DRAM bank,
Ti棚u th畛 W, c担ng su畉t nh畛.
Th担ng tin ch畛 l動u 動畛c 10ms => refreshing DRAM v畛i chu
k箪 @ 7,5ms => ph畛c t畉p.
D湛ng trong c叩c h畛 c坦 dung l動畛ng nh畛 l畛n: desktop, laptop,
server
P&I-Ch1:Architecture
7
Memories (Semiconductor): FLASH & Others
Flash memory:
- EAROM typed, 畛c 動畛c, xo叩 t畛ng bank, ghi l畉i 動畛c t畛ng byte.
- Th担ng tin l動u 動畛c 20 nm, d湛ng nhi畛u hi畛n t畉i v t動董ng lai:
BIOS, diskchip, USB stick Mem, uC...
- Serial EAROM/FLASH: d湛ng 畛 l動u configuration, d湛ng bus
I2C (Philips). V鱈 d畛 畛ng d畛ng : th畉 vi m畉ch, TV, ...
Dual [Quad] Ported RAM: Switching Sys., PGA
RAM-DAC: VGA, VoiceChip
PCMCIA
....
P&I-Ch1:Architecture
8
4
5. Memories (Semiconductor): Logically:
B畛 nh畛 ch動a th担ng tin g狸?
Program memory:
Ch畛a ch/tr ang th畛c hi畛n
Data memory:
C叩c bi畉n ng畉u nhi棚n, c叩c bi畉n c坦 c畉u tr炭c,
c叩c s畛 li畛u c坦 ki畛u truy nh畉p 畉c bi畛t (FIFO, LIFO)
P&I-Ch1:Architecture
9
Controllers: [Optional], vi m畉ch, n但ng hi畛u nang
(performance) h畛 th畛ng, bao g畛m:
+
- B畛 i畛u khi畛n 動u ti棚n ng畉t PIC Priority Interrupt
Controller, Intel 8259A
- B畛 i畛u khi畛n truy nh畉p tr畛c ti畉p b畛 nh畛 DMAC
Direct memory Access Controller, Intel 8237A.
- Timer: m畉ch t畉o c叩c kho畉ng th畛i gian, PITProgrammable Interval Timer, Intel 8254.
- M畉ch qu畉n tr畛 nh畛: MMU- Memory Management
Unit, sau ny, th動畛ng 動畛c built on chip v畛i CPU.
Bus controller/Arbitor
P&I-Ch1:Architecture
10
5
6. System Bus: K/n
PCB (Printed Circuit Board)/ Cable (Twisted pairs, flat..),
slot, connector... d湛ng 畛 chuy畛n thong tin v nng l動畛ng.
N畛i h董n 1 slave/master device, time sharing (d湛ng chung)
Th担ng tin: Address, data, control, status, Power Supply
Chi畛u (dir), 3 state (Hi Z), Loading
ADDRESS BUS:
T畛 c叩c BusMaster (CPU, DMAC, PCI host Controller) 畉n
SlaveDevices (Mem, Ports) 畛 ch畛n/ ch畛 t畛ng IO/ Mem location
trong t畛ng chu k畛 bus
n Addr bit 2n Mem Locations & 2m IO Locations, m<n. C叩c
CPU 32bit, Addr v Data sharing - multiplexed
P&I-Ch1:Architecture
11
System Bus : Data bus
DATA BUS:
S畛 bit (th動畛ng) ph湛 h畛p v畛i k鱈ch th動畛c ALU
(8/16/32/64 bit)
Chuy畛n Op-code (m達 l畛nh) trong chu k畛 m叩y M1,
- CPU <= Program Memory, trong c叩c bus cycle M1
V畉n chuy畛n data:
- CPU <=> Data memory,
- CPU <=> IO Ports v
- Data Memory <=> IO Ports, DMA
P&I-Ch1:Architecture
12
6
7. System Bus : CONTROL/STATUS BUS:
g畛m c叩c t鱈n hi畛u control bus:
Control/ Response: CPU to Others (MEMR, MEMW, IOR,
IOW, INTA, HLDA, BHE...), from CPU
Status/Request to CPU: IRQ, HRQ, Ready, ... to CPU
P&I-Ch1:Architecture
13
System Bus: Power Supply:
+5V 5%, 10 畉n 20 Amp, c畉p cho c叩c Vi m畉ch s畛,
RedWire. (3.3V and less)
Ground, Gnd, 0V, signal reference ground, chassis,
BlackWire.
+12V 10%, 1Amp, c畉p cho c叩c m畉ch analog, motors,
RS232, YellowWire.
-12V 10%, 1Amp, (nh動 tr棚n), BlueWire.
- 5 V5%, 0.5 Amp, analog circuitries, WhiteWire.
Power good: OrangeWire
- MicroControlled Power Supply
P&I-Ch1:Architecture
14
7
11. IO buses:
Expansion bus, IO bus, IO system, ...
ISA, EISA, MC, PCI, USB, IEEE 1394,
SSA, IEEE 488, SATA ...
P&I-Ch1:Architecture
21
1.1.1.C. INTERFACE:
Ch/tr i畛u khi畛n Device Driver:
- K/n: Hardware or Software?
+ Software: s畉n ph畉m c畛a NN l畉p trinh
+ Hardware: lu担n gan li畛n v畛i IO hardware
Li棚n k畉t System Programs and/or Application Programs v畛i IO
hardware (SPIs v APIs).
C叩c hm c畛a thi畉t b畛, BIOS, OS ho畉c theo 畛ng d畛ng: SLLs,
DLLs, DRVs, ...
Hi畛n 1 x但u k箪 t畛:
mov ah,9
mov dx,offset xau
int 21h
mov ah,0
int 16h ; BIOS same
mov ah,1
int 21h
P&I-Ch1:Architecture
22
11
12. Case study PC layers
Fig. 1b: PCs Layers (IBM PC Institute) a
P&I-Ch1:Architecture
23
1.1.2. KI畉N TRC MY TNH HI畛U NNG CAO - HI PERFORMANCE
ARCHITECTURE (SERVER, DESKTOP, LAPTOP)
P&I-Ch1:Architecture
24
12
13. 1.1.2. HI-PER. ARCHITECTURE:1.1.2.a. Local Buses:
V鱈 d畛 VESA VL-Bus 2.0 [late 1993], Memory [1985].
Also called system/host/processor bus.
Ch畛 li棚n k畉t CPU, MMU (g畛m Cache, DRAM, shadowed ROM )
v PCI Host [Bridge],
鱈t, g畉n, unbuffered (direct connected to Processor);
33, 66, 100, 133, 200, 400, 800 MHz... clock.
32 bit A/D (16 bit support also), burst mode, max 132 MBps,
Addr
D0
D1
D2
(data 4 byte)
D3
D4
H.1.3. V鱈 d畛 burst mode:
P&I-Ch1:Architecture
25
1.1.2. HI-PER ARCHITECTURE:1.1.2.b. Hi Speed Bus:
Peripheral Component Interconnect - PCI
- 5/1993, Intel Ver. 2.0, Open Standard,
- Local bus, m畛c trung gian gi畛a Local v c叩c bus chu畉n
kh叩c (ISA, MC, EISA) th担ng qua PIC Bridge/Controller.
- C坦 ki畛m tra parity cho Addr v Data
- Auto configuration of all PCI devices, share the same IRQ.
- Disabling IRQ => c畉m ton b畛 PCI devices.
- No DMA, device on PCI bus l bus master (T畛t cho vi畛c
d湛ng MultiTasking OS).
- Burst mode: 32 bit @33MHz --> 96..132MBps, tu畛
thu畛c s畛
byte (t畛 32 byte 畉n 4KB). Option 64bit @33MHz -->
264MBps
- Most Platforms use:Intel, DEC Alpha, PowerPC, Spark
- Modern OS: Block Typed Devices: t畉n su畉t v畉n chuy畛n
cao, nhanh, data block
P&I-Ch1:Architecture
26
13
14. 1.1.2. HI-PER ARCHITECTURE:1.1.2.c. Expansion Bus:
- So called: standard buses, expansion bus, slots, IO
bus, IO
system, channel bus): ISA, EISA, MC...
- MC bus: 32 bit, 10MHz, 20..40MBps, 15 BusMaster, Auto
config, 1987, IBM
- EISA bus: 32 bit, 8,33 MHz, 33MBps, 4 BMs, AutoConfig
(EISA card only), 1989, Compaq
- ISA (Industry Small Architecture), AT bus:
- Spec. 8/16 bit (data), 8MHz..11MHz, 5..5 MBps
max, 1 Bus Master, no PnP, 1984, IBM.
- R畉t ph畛 bi畉n, c嘆n t畛n t畉i l但u, Espec. @ iPC,
- H畉n ch畉 s畛 IRQs, 4 DRQs,
- D湛ng DIP switch/jumper 畛 config.
- No data integrity features (no party checking)
- Modern OS: Character Typed Devices
P&I-Ch1:Architecture
27
1.2. HO畉T 畛NG C畛A H畛 TH畛NG:
Reset,
Opcode fetch and Execute,
Interrupt,
DMA - halt &
Ready (wait state - ws)
P&I-Ch1:Architecture
28
14
15. 1.2. HO畉T 畛NG:1.2.1. L動u 畛 t畛ng qu叩t:
reset
ProgCounter = ResetAddr/vector
DMA?
n
y
IRQ?
Machine
On Halt
y
y
n
y
OpCode Fetch
DMA?
n
y
MaskOn
n
PC = Intr. Vector
OpCodeDecode
Execute
H狸nh 1.3. L動u 畛 t畛ng qu叩t c畛a VXL (Motorola),
Training courses
P&I-Ch1:Architecture
29
1.2. HO畉T 畛NG: 1.2.2. Reset :
Cold Start: B畉m n炭t reset/Power-On =>Xo叩 tr畉ng th叩i hi畛n hnh,
c畉m ng畉t, DMA. CPU 動畛c kh畛i t畉o (PC-Program Counter (ho畉c
CS:IP), Flags v SP...). C叩c thi畉t b畛 trong h畛 c湛ng 動畛c reset.
(Sau khi reset, CPU s畉 tim v t/h l畛nh v畛i c叩c th畛 t畛c sau)
Warm Start: do l畛nh g畛i, (Int 19h, Ctrl_Alt_Del)
POST (Power On Self Test - ch/tr monitor/ BIOS) 畛 ki畛m tra m畛i
thi畉t b畛 theo nguy棚n t畉c ghi v 畛c l畉i (Registers, RAM) ho畉c 畛c
v ki畛m tra Check Sum (ROM).
Initializing - kh畛i t畉o: 畉t c叩c tham s畛 => configuring.
[M叩y t鱈nh - N畉p h畛 i畛u hnh ].
P&I-Ch1:Architecture
30
15
23. Scan procedure (Fig 904a)
PC keyboard: 15 col 8 row
1. i=0
2. Col (i) =0 only, delay(1)
3. If Rows <> 1111 1111 then (5)
4. Inc (i), if i>15 then goto (1)
5. Delay for debouncing. Read Row code, Read Col code,
encode Col-Row.
6. Convert R-C => KB Scanned code
7. Sending to PC bit by bit.
8. Polling for key releasing and delay for debouncing
9. Goto (2)
P&I-Ch1:Architecture
45
P&I-Ch1:Architecture
46
23
25. Bi t畉p ch動董ng 1
T狸m hi畛u bus ISA (Ch4), thi畉t k畉 m畉ch logic
畛 ch竪n c叩c ws cho ISA slot khi CPU 畛c/
ghi 1 畛a ch畛 c畛ng
T畉o m畉ch ki畛m tra parity - 74HC280
P&I-Ch1:Architecture
49
25