AT COMMAND SET: attention
Các lệnh bắt đầu bằng AT or at (not At or aT) để modem detects
tốc độ và format (ngoại trừ 2 lệnh '+++' và A/ - repeat last
Cmmnd ) và kết thúc: Enter (0ah,0dh)
Command line: có thể có hơn 1 lệnh, chỉ cần 1st có AT, cách
nhau dấu ' ' và không quá 40 char/cmmnd line.
Các lệnh và Tham số
ATDT 048692463 Dial using touch Tone
ATDP 048696125 Dial Pulse
ATT/ ATP default tone/ pulse
O end of C line, return O mode
; end of C line, stay C mode
after executing
@ wait for 5s hoặc silent
• VÝ dô:
• ATDT 9,3456789 Kết nối từ máy trong tổng đài
• ATXn Hayes Smartmodem compatible
• Other Commands:
• ATE0/ 1 Disable/ Enable Echo
• +++ Esc Char switch to command mode
• ATHn 0:On-Hook (hangup),1: Off-Hook
• ATLn 0/1/2/3 volume of speaker
• ATMn 0: speaker off, 1: on until DCD, 2: on
• ATNn 0: connect @ DTE rate, 1: auto rate negot.
• ATO return to O mode
• ATQn 0: result code En, 1: result code Dis
• ATVn 0: digit, 1: word
• ATZ hangup, reset to default settings
• A/ Repeat last command (re dial)
• Các modem đều có bộ lệnh riêng, Ref. User's Guide Man
65 trang |
Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 479 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Thiết bị ngoại vi và kỹ thuật ghép nối - Chương 5: Digital interfacing - Bùi Quốc Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1P&I Ch5-Digi In/Out 1
Ch 5. DIGITAL INTERFACING
Ghép nối hệ trung tâm với Thiết bị ngoại vi qua các tín
hiệu logic 1/0
- PARALLEL IN/OUT
- PORTS: PRINCIPLE, PPI, CENTRONICS/LPT
- PCMCIA, DUAL PORTED RAM.
- INTERCACING TO DEVICES: KEY PAD, LED,
TEXT PANEL, ENCODER, STEP MOTOR, ...
- HI-POWER INTERFACE: RELAY, SCR, TRIAC,
POWER MOSFET, IGBT...
- SERIAL IN/OUT: SYNC, ASYNC,
- RS-232, RS-485, RS-422
- MODEM...
P&I Ch5-Digi In/Out 2
5.1. parallel interface: 5.1.1. nGuyªn lý
• In/Out nhiều bit đồng thời, nhanh, gần
• a. A Port Line (1bit port):
– Output Port: Latched Output (chốt ra), D_Flip-Flops
– Unlatched Input, hình 5.1. single IO line/pin
2P&I Ch5-Digi In/Out 3
• D Flip-Flop (D trigger):
– Là 1 trong những phần tử cơ bản của hệ
dãy,
– D – data, lưu giữ 1 bit số liệu.
– 4/6/8 D flip-flop => tạo ra 4/6/8 bit register,
nhiều registers đóng trong 1 chip là SRAM.
P&I Ch5-Digi In/Out 4
– Output:
• Q - ứng với giá trị data input vào thời điểm có clock
• /Q – đảo của Q.
– Input:
• Data bit: 1 hoặc 0
• Clock, thường là sườn lên, ghi nhận giá trị của data
và lưu lại cho đến khi có bit số liệu khác ghi đè lên.
• [Có thể có] clear – xóa; Preset – đặt trước
– Có 2 loại: Transparent (HC373) và Master-
Slave (HC374)
3P&I Ch5-Digi In/Out 5
H. 501 b, c
MOSFET (Metal Oxide Semiconductor Field Effect Transistor)
P&I Ch5-Digi In/Out 6
• Write pin: bit 0 or 1, clock =
– Write bit 0: D flip-flop => Q = 0; -Q = 1 =>
gate = 1 => R(ds) MOSFET = ON => pin = 0
– Write bit 1 D flip-flop => Q = 1; -Q = 0 =>
gate = 0 => R(ds) MOSFET = OFF => pin = 1
• Read pin: (Input line– out “1” firstly)-
ReadPin = 0 (!) => open 3 state lower
buffer => 1/0 from pin => data bus (i)
• ReadLatch (Reading bit out previously) :
-ReadLatch = 0 (!) => open 3 state higher
buffer => 1/0 from pin => data bus (i)
4P&I Ch5-Digi In/Out 7
• Ý nghĩa Read Latch, ví dụ thông qua việc tạo 1
xung out, 2ms :
– x86, LPT port, bit0, g/n remainders
• mov dx, 378h ; LPT 1 data out port
• in al, dx ;
• or al,1 ;
• out dx,al ; set bit 0
• call delay(2) ;
• and al, 0feh ; reset bit
• out dx,al
– Atmega64, PA0:
• orl PA0, 1
• call delay(2)
• anl PA0, 0feh
P&I Ch5-Digi In/Out 8
5.1. PARALLEL INTERFACE: 5.1.1. NGUYÊN LÝ
Simple In-Out Ports:
Cổng ra đơn giản có chốt (latched output port,
based on 74 HC 374/HC373/HC273/HC574...,
8 bit Register), (fig. 5.2)
Cổng vào đơn giản không chốt (unlatched input
port, based on 3 state buffer - 74HC244)
Cổng vào có chốt (Latched Input Port), chú ý
status flag
5P&I Ch5-Digi In/Out 9
74LS273/373/374/574
Ứng dụng: ghép nối DAC, LED display
5.1. PARALLEL INTERFACE: 5.1.1. NGUYÊN LÝ
P&I Ch5-Digi In/Out 10
Port[Parallel_Out]:= solieu; Lệnh Pascal
Out Port: 74 HC 374:
CPU phát địa chỉ ra IO space => có t/h -IO CS
Phát data và -IOW => có t/h Clock = (Rising Edge) =>
data được chốt vào HC374
Ng/vi => OutControl = 0 => open 3 state output
6P&I Ch5-Digi In/Out 11
Hình 5.2c. Unlatched Input Port
Hình 5.2d. Latched Input Port
Unlatched Inport & latched Inport
P&I Ch5-Digi In/Out 12
IO port of Micro Controllers
• Ghép nối hiện đại, các mô hình port nói trên ít
dùng.
• Thông qua µC, các port: Intel8051, Motorola
MC68HC11s, Microchip PIC, ARM, Atmel
– Latched output,
– Unlatched input,
– Latch Reading
• Khi được y/c xây dựng ghép nối, trước hết
phải lưu ý đến hình 0.2
7P&I Ch5-Digi In/Out 13
c. Port song song có tín hiệu bắt tay/ trạng thái (outport): Case
Study:
Gửi 1 packet ra ngoại vi, cần đồng bộ giữa 2 phía
Peripheral chỉ đọc bộ đệm cổng khi có số liệu (cờ IBF thiết
lập, 1)
CS chỉ gửi số liệu ra tiếp theo khi byte/char trước đã được
đọc bởi Peripheral (OBE - Output Buffer Empty, xóa, 0)
Chú ý Time-Out-Error.
CPU gửi 1 character, set -OBE =1 (Out. Buf Empty)
Per: If IBF= 1 then đọc char (In. Buffer Full)
Bài tập: Lập trình (C/ Pascal/Asm) cho sơ đồ sau để gửi 1
packet n byte - Chú ý Timeout Error
5.1. PARALLEL INTERFACE: 5.1.1. NGUYÊN LÝ
P&I Ch5-Digi In/Out 14
OBE
IRQ
8P&I Ch5-Digi In/Out 15
5.1. parallel interface: 5.1.2. PROGRAMMABLE PORT
Ports:
Intel PPI 8255 (Programmable Peripheral Interface)
Motorola PIA 6821 (Progr. Interface Adaptor)
Z80 PIO (Parallel In/Out) ...
Flexible Specifics:
2..4 In/ Out Ports, single line direction define (PIA/ PIO)
Mode: IN/OUT w [w/o] handshake, bus trans-ceiver
Control/ status/ HSK: Edge (, ) or Level (hi, lo)
Case study 1: PPI 8255: Tự đọc
4 ports: PA, PB, PCH & PCL, 24 IO lines
3 modes M0, M1 & M2, (PA & PB, PC as HSK signals)
Đơn giản và hiệu quả
Case Study 2: Interface ISA bus – PPI 8255, (Fig. 5.3a)
P&I Ch5-Digi In/Out 16
Hình 5.3a. Ghép nối PPI 8255 với PC qua ISA bus (Mo
hinh cong song song cua iPC, Addr: 300h-303h, Mode 0
all, PA & PC In, PB Out
9P&I Ch5-Digi In/Out 17
• Cấu trúc:
– PPI8255, VXL
– 74HC245: Bi-directional Buffer, dùng để đệm
số liệu 2 chiều và đ/k 3 state
– GAL Lattice16V8, PLD – Programmable Logic
Device, dùng để tạo mạch giải mã địa chỉ cho
PPI
• Ứng dụng:
– Dùng để ghép nối với các thiết bị ngoại vi,
thông qua các hệ nhúng là iPC:
• DAC, ADC
• DI, DO
P&I Ch5-Digi In/Out 18
5.1. Parallel Interface: 5.1.3. CENTRONICS PORT
• Centronics Computer Inc. so called LPT; 2 LPT ports (not
available in near future) in PC
• Modes: SPP, EPP, ECP & IEEE 1284 (EPP+ECP)
• IRQ (7/ 5) & DRQ (1/ 3 - 8 bit channels) support for many
applications of Interface:
• Printer
• Local Area Network - LAN
• Ext. HDD, SemiDisk,
• Test Digital In/Out, ADC, DAC in many application
interfaces
• PC remote control (TV, Multi media, shut down...)
• Programmers (All 11P2) – nạp chip chuyên dùng
• Others
10
P&I Ch5-Digi In/Out 19
MODE 0: SIMPLE PARALLEL PORT - SPP (NORMAL MODE, OUTPUT
ONLY)
50..100kB/s, cable 10' max - 25/36 lines - Ground twisted pair, Base Addr:
378h - LPT1 & 278h - LPT2
Data Out port, Addr. X78h - I/O space, TTL 0..5V,
Open Coll. Buffered - 8 bit latched out, back read-latch
LPT: send control & printed characters to Printer
Control Out Port: X7Ah, TTL (x=3/2)
4 bit latched out, back read-latch, dùng software. Đối với các thiết bị, 4 tín
hiệu này được set (1) và reset (0) bằng phần mềm
LPT: /Strobe (b0), AutoFeed (b1), /Init (b2), SLCT(b3)
IRQ_EN (b4), not outlet
Status In, X79h, Unlatched, TTL (0..5V): Printer status
5 bit: b3..b7: Err, SLCT_IN, PE, -Ack, Busy
5.1. Parallel Interface: 5.1.3. Centronics Port
P&I Ch5-Digi In/Out 20
5.1. Parallel Interface: 5.1.3. Centronics Port
11
P&I Ch5-Digi In/Out 21
Các hoạt động của LPT Port
• Data port:
• Outport: gửi 1 byte ra cổng data và LPT
Mov dx, 378h ;Data port của LPT1
Mov al, 41h ; Mã ASCII của chữ A
Out dx, al ; Gửi ra cổng LPT
Mov dx, 37Ah ; Gửi xung strobe, nhập dx địa chỉ cổng
; Control
In dx, al ; Đọc số liệu đang có từ control port
And al,1111 1110b ; giữ nguyên 7 bit cao, xóa bit 0
Out dx,al ; cho bit 0 của đ/c 37A=0, only
Nop ; trễ 1 chu kỳ máy
Or al,0000 0001b ; đặt bit 0 (strobe bit) = 1, các bit khác
; giữ nguyên
Out dx,al ; gửi ra cổng LPT. Mã chữ A được máy
; in n ận
P&I Ch5-Digi In/Out 22
– Inport: đọc 1 byte data gửi ra trước đó
• Mov dx, data_port ; địa chỉ 378h
• In al, dx
• Control Outport, chỉ dùng 4 bit b0..b3
– Gửi 4 bit ra:
• Mov dx, 37Ah
12
P&I Ch5-Digi In/Out 23
• Mov al, control
• Out dx,al
– Đọc 4 bit gửi ra trước đó:
• Mov dx, control_port
• In al, dx
• Status Port: Chỉ đọc trạng thái, unlatched, dùng 5
bit cao, b3..b7
• Mov dx, Status_port
• In al, dx.
• Các thử nghiệm:
– Digital In: đếm khoảng thời gian,
– Digtal Out: điều khiển logic đa điểm liên động,
– Ghép nối DAC để tạo tín hiệu, ADC để đo lường
P&I Ch5-Digi In/Out 24
5.1. parallel interface: 5.1.3. centronics port
• Enable Int Req:
mov dx, 37Ah; LPT 1 control
in al, dx
or al, 0001 0000b
out dx, al ;
PASCAL:
Port[BA+2]:=Port[BA+2] or $10;
{set bit 4 only}
• Disable:
Port[BA+2]:=Port[BA+2] and $EF;
{Reset bit 4 only}
13
P&I Ch5-Digi In/Out 25
5.1. parallel interface: 5.1.3. centronics port
Mode 1: enhanced parallel port - epP
• Xircom, 1992, Hi speed - 2 MB/s (DMA, 1 ISA bus cycle),
bi-directional port, ghÐp nèi víi Ext HDD, Local Network...
Base Addr 378h hoÆc 278h
• 8 Registers:, cã t¬ng thÝch víi SPP,
• Offset 0: SPP data , R/W data lines, w/o HSK
• Offset 1: SPP status, Read (b3..b7), b0 timeout
• Offset 2: SPP control, R/W 4bit C0..C3, C4: IRQ En, C5:
byte dir(ection) - chiÒu sè liÖu
• Offset 3: EPP addr, R/W addr cycle w HSK (b¾t tay)
• Offset 4: EPP data, R/W data cycle w HSK
• Others: may be used for 16/32, port config, user define
P&I Ch5-Digi In/Out 26
5.1. parallel interface: 5.1.3. centronics port
MODE 2: EXTENDED CAPABILITIES PORT - ECP
MS-HP, 1993, 2..5 MB/s (1 ISA bus cycle), bi directional port,
Ext HDD, Network... extension sys bus
16 FIFO byte buffer để gửi/ nhận, DMA: Mem buffer
Có thể ghép nối với các ngoại vi chậm khi dùng Rdy
Mô phỏng, tương thích hđ của SPP, EPP mode
R/W: data & commands:
OUT -C1 (HostAck); IN -S7 (Periphiral. Ack).
-C1/ -S7 = 1 (sending data); 0 (command)
Command: b7=1, b0..6: channel addr, b7=0, b0..6 run-length
count for data compression mode (đếm các byte giống nhau -
graphics, hardware)
14
P&I Ch5-Digi In/Out 27
5.1. parallel interface: 5.1.3. centronics port
MODE 2: EXTENDED CAPABILITIES PORT -
ECP
Many chip (SMC's super IO...) hỗ trợ decompress,
phần mềm gửi ra phải 'compress'
6 registers: 3 SPP reg và 3 ECP reg
Base addr + 400h: data FIFO & Config A-Read only
Base addr + 401h: Config B (interrupt, DMA...)
Base addr + 402h: Extended Control Register
P&I Ch5-Digi In/Out 28
5.1. Parallel Interface: 5.1.3. Centronics Port
Mode 3: ieee 1284 ( epp + ECP ), 1994, upto 5 MB/s
• IEEE 1284 standard - document: defines/ describes protocols
for Parallel-port Communication.
• Include: 1284 port/ 1284 cable/ 1284 Peri.
• 5 communication modes: (Register use - Table 11-1 p206,
Parallel Port Complete)
• Compatibility Mode: Host sends a byte to Peri. (with Busy vµ
-Ack)
• Nibble Mode: Peri. to Host 4 bit, remainder - HSK
• Byte Mode: 8 bit, bi-dir
• EPP Mode: 8 bit, bi-dir, hi-speed
• ECP Mode: 8 bit, bi-dir: data, addr, compression
15
P&I Ch5-Digi In/Out 29
5.1. Parallel Interface: 5.1.4. Dual Ported RAM
Để chuyển mảng số liệu giữa 2 hệ VXL (Master-Slave) với tốc độ
cao, gần, ... (Switching Systems, PLCs, Port Graphics
Accelerator...)
SRAM, dung lượng từ 1KB đến 64KB
Multiple Reads & Writes đồng thời
Dùng các tín hiệu:
2 x n bit Addr for 2 sides: Left - Right => 2n mem loc.
2 x 8 [16] bit of Data bit (lines)
Các tín hiệu điều khiển (RD, WR, CS) và trạng thái
Các tín hiệu HSK/Arbitor
Hãng: Integrated Device Technology Inc. & Others; chip IDT
7707, 32Kbyte DPR
Ví dụ ứng dụng: Ghi 32 kênh điện thoại/fax đồng thời
P&I Ch5-Digi In/Out 30
Hình 5.5b. Dual ported Static RAM
16
P&I Ch5-Digi In/Out 31
5.1. Parallel Interface: 5.1.5. PCMCIA/PC Card
PERSONAL COMPUTER MEMORY CARD
INTERNATIONAL ASSOCIATION, VER 2.1; PC CARD
STANDARD (5.0) 1996
Là chuẩn của nhiều tổ chức/ công ty: >500 members
PC card device - credit card size adaptor: nhỏ, dễ mang, hot
plugability, tin cậy khi môi trường thay đổi, 68 pin connector
Devices: Flash, SRAM, modem, LAN (wire & wireless), disk, audio
w DSP, GPS...
16 bit data path (PCMCIA 2.1/ PC Card Standard 5.0)
3.3 and/or 5 V
Dùng với nhiều loại bus
P&I Ch5-Digi In/Out 32
17
P&I Ch5-Digi In/Out 33
5.1. parallel interface: 5.1.5. PCMCIA
Kiến trúc phân nhiều tầng để đảm bảo tính vận hành
độc lập với phần cứng:
Socket service: Device driver - system manufacturer
Card service: Device driver (chương trình điều khiển) -
Operating System Vendor
Client Drivers/ Client Enablers, Device Driver tạo các
y/c tới hệ thống: do hãng chế tạo Card cấp
Enablers/ Point Enablers: Driver chuyên để thông tin
trực tiếp Host Adaptor
P&I Ch5-Digi In/Out 34
5.1. parallel interface: 5.1.5. PCMCIA
PC Card Standard - CardBus:
• 32 bit transfer
• Based PCI specification
• 33MHz/ 132 MB/s
• BusMasster support
• Compatible w 16 bit card
18
P&I Ch5-Digi In/Out 35
5.1. Parallel interface: 5.1.6. LED Interface
a. Khái niệm: LED? Light
Emitting Diode
• Color:
– Red, Green, Yellow,
– Amber, R+G
– Infra Red, UV
– LASER: Light
Amplification by
Stimulated Emission of
Radiation
– Blue, Cyan ...
• Symbol & characteristics H×nh 5.7a. LED
P&I Ch5-Digi In/Out 36
19
P&I Ch5-Digi In/Out 37
• Package and Applications:
– Single point, status of devices
– 7 segment/ 16 segment, Arabian digit, char
– Matrix 8x8 / 16 x 16, character box, graphics modules
• Độ sáng: Indoor, Outdoor (super light) and semi
outdoor. Độ sáng phụ thuộc vào từng loại pha tạp, từ
150mcd (normal) đến 7000mcd (super light)
• Đặc tính LED: là diode phân cực thuận, tùy pha tạp =>
cho nhiều mầu khác nhau và điện áp thuận từ
1.5V..2.1V và 3.2.. 3.5V.
• TriColor: Red – Green – Blue => PWM driving => Full
color 16,7M colors (3 byte)
5.1. Parallel interface: 5.1.6. LED Interface
P&I Ch5-Digi In/Out 38H 5.7b. An example of LED’s characteristics (Amber )
20
P&I Ch5-Digi In/Out 39
• Tính toán mạch điều khiển LEDs:
– LED sáng tĩnh – sáng liên tục – Static Mode:
• Chọn độ sáng tương đối;
• Tra bảng =>dòng điện thuận I, từ 10 đến 20mA
(đồ thị A, hình 5.7b);
• Tra bảng => điện áp thuận U, từ 1.6 đến 3.4V (đồ
thị B, hình 5.7b);
• Tính R1 = (Vcc – UF)/IF.
• Ví dụ: Vcc=5V, chọn RLI = 2 => IF=20mA =>
UF= 2V
=> R = (Vcc – UF)/20mA = 150 Ohm
P&I Ch5-Digi In/Out 40
– LED chế độ quét, Scan Mode: ()
• Mạch điện tử sẽ điều khiển sáng 1 nhóm
phần tử trong toàn bộ bảng ở 1 khoảng
thời gian (ms), rồi điều khiển nhóm phần
tử tiếp theo... cho đến hết vòng. Với điều
kiện phải hiện được 50- 120 frames/s.
• Tùy thuộc độ sáng và môi trường (in/out
door) => thiết kế độ rỗng (duty cycle)
của từng phần tử. Thường được chọn: 1,
½, ¼. 1/8 và 1/16
21
P&I Ch5-Digi In/Out 41
– Tính toán mạch: cũng giống như cách tính
mạch sáng tĩnh, thường chọn hệ số sáng tương
đối từ 2 đến 4.
– Chú ý:
• Hệ số rỗng có thể chọn: ½, ¼, 1/8 và 1/16 tùy thuộc
độ sáng yêu cầu và dùng LED outdoor
• Độ an toàn, tuổi thọ LED, giá trị giới hạn của IF, đến
mức nào đó – nói chung, LED không sáng thêm khi
IF >50mA
• Góc bố trí ngược sáng/thuận sáng
• View angle
P&I Ch5-Digi In/Out 42
5.1. parallel interface: 5.1.6. led interface
7406, ULN 2003... Open
Collector Inverter
Buffer: upto 30V – 50-
500mA;
Transistor npn: C945 – khi
outport = 1 => LED
sáng
Transistor pnp: A564, khi
outport=0 => LED sáng;
Một số outport cho phép
drive trực tiếp sink upto
80 mA
22
P&I Ch5-Digi In/Out 43
Hình 5.7d. Sơ đồ 2 loại LED 7 segment
b. Ghép nối 7 segment LEDs: Mầu gì? Kích
thước? CA/CC
P&I Ch5-Digi In/Out 44
Sơ đồ điều khiển 6 x CC 7seg LEDs – hình 5.7e:
• Có 6 cathodes và 48 anodes.
•Vì đ/k chế độ quét – trong 1 thời điểm chỉ sáng 1 LED
(tuân thủ theo) => giảm thiểu phần cứng, tăng tính
mềm dẻo của hiển thị - dùng phần mềm điều khiển,
không dùng ICs BCD/7 seg!
– 6 anodes a nối chung; 6 anodes b nối chung... 6 anodes pnt
nối chung => chỉ có 8 anodes (a..g và pnt)
– Muốn sáng số mấy (0, 1, ...9) => gửi mã 7 thanh qua các
anodes;
– Muốn sáng 1 trong số 6 LED => điều khiển ON cathode
LED đó trong 1 thời gian t và là duy nhất.\
–Tính t : theo số LED, số frames/sec (50..60 fps)
23
P&I Ch5-Digi In/Out 45
P&I Ch5-Digi In/Out 46
5.1. parallel interface: 5.1.6. led interface
DRIVING 6 X 7 SEGMENT COMMON CATHODE LEDS:
disbuf: 6 byte chứa mã 7(8) seg cần hiện thị với qui ước thanh nào
sáng, bit tương ứng =1, N: counter
Main Program: Burn LEDs (Có thể do ngắt Timer gọi) gồm:
(1) Init: turn-off LEDs (out 2nd LS-574 = 0s); N=0;
(2) !(disbuf+N), (tvdn) => 1st LS-574; turn On LED[N]: 2nd
LS-574, bitN = 1 (only); [delay(1..2 ms) nếu polling];
(3) Turnoff LED[N]: 2nd LS-574 = 0s; Inc N ; If N = 6 then N=0;
(4) Goto(2)
24
P&I Ch5-Digi In/Out 47
P&I Ch5-Digi In/Out 48
Drive LED & Keypad
• 6 x 7seg. CC LEDs 6 bytes DisBuf chứa 7Seg code
1. Init: PA&PB out, PC in, N=0, turn-off LEDs PB0..PB5=0s
2. !(DisBuf(N) => PA
3. PB(N) = 1 (only)
4. Delay for 1..2ms
5. Inc N, if N = 6 then N=0, PA = FFh
6. Goto (2),
• Keypad mxn: Khi có KeyInt:
1. Delay 5-10 ms for debouncing, PA=FF tránh hi curent for LED
2. Xác định hàng cột: (PB) mã cột, đọc PC => mã hàng, encoding mã
hàng cột thành scancode 5 bit cất vào key buffer, set key flag = 1
3. Delay for key releasing
4. Delay 5-10 ms for keybouncing again
5. Iret
25
P&I Ch5-Digi In/Out 49
P&I Ch5-Digi In/Out 50
• LED driver 74xx595:
– Shift Register: để dịch data của frame thứ i+1, trong lúc
frame thứ i đang hiện
– Output upto 40mA sink – grounded tightlly
– Data & clock dùng để dịch data theo kiểu đồng bộ
– Latch signal: dùng để chuyển nội dung từ Shift Register
sang Latched Buffer
• Nếu có nhiều tầng LED, cần có những bộ đệm (vd
74HC244) sau một số tầng để đệm các tín hiệu
Clock, Clear, Latch Data cũng được đệm để
tranh lệch đồng bộ với các tín hiệu khác
• Điện trở đệm tính như static mode, IF=10..20mA
Buring CA LEDs with driver HC595
26
P&I Ch5-Digi In/Out 51
Ch/tr điều khiển
1. N LED, tạo n byte DisBuf, chứa 7 seg code,
i=0; Latch=0, Clock=0
2. (DisBuf+i) => serial out
2.1. j=0
2.2. Bit 7-j => data out, clock = 1 then clock = 0
2.3. Inc(j), if j=8 then (3)
2.4. Goto 2.2.
3. Display: Latch=1 then Latch=0
4. Inc(i), if i=n+1 then STOP
P&I Ch5-Digi In/Out 52
5.1. parallel interface: 5.1.6. led interface
c. drive 8 x 8 matrix char box:
disbuf: 8 byte chøa font
Main Program: Burn LEDs
1. Init: turnoff rows: disable LS138(s) ;
n=0;
2. (disbuf+n) => LS164; shift afap; turn
on row[n]; delay(1-1.5);
3. turnoff row[n]: disable LS138(s);
4. Inc (n) ; If n = 8 then n=0;
5. Goto(2)
Smooth left/ right shifting?
Color: 4/ 16M color
LED duty cycle ! Độ rỗng thời gian
Tiếng Việt? mỵ Ổ
27
P&I Ch5-Digi In/Out 53
P&I Ch5-Digi In/Out 54F. 5.x LED module 32x16x4 color, CED-05
28
P&I Ch5-Digi In/Out 55
P&I Ch5-Digi In/Out 56
F5.x. Electronics Graphics LED Board
192x128x65,536Color x 50Hz
29
P&I Ch5-Digi In/Out 57
5.1. Parallel interface: 5.1.7. LCD panel interface
Công nghệ LCD Liquid Crystal Display, hiện text/ graphics
Độ phân dải:
1 line x 16 character box, 5x7 (7x9) dot matrix/character box
2 line x 16 character box
4 line x 20 character box
Graphics (64 x 128) hoặc (128 x 256) dot graphics - font down
loadable, color (16/4096/64K/16,7M).
ASCII, 128 characters/ set, 8 user fonts
or APA: All Points Addressable - graphics
Back light. Công suất tiêu thụ nhỏ
Dùng cho các hệ nhỏ, mang xách, máy đo... (Embedded
Systems)
P&I Ch5-Digi In/Out 58
Hình 5.10a. Text LCD Pannel
30
P&I Ch5-Digi In/Out 59
Hình 5.10b. Cấu trúc của Graphics LCD Panel
P&I Ch5-Digi In/Out 60
• Signals:
– DB0..DB7 8 bit data bus (Moto typed) – 4 bit
interface available, 2 times in/out for a byte
– CS1/2 chip select .
– RD/WR và E: Motorola bus type
– RS: Register Select: Data or Address Register
• RS = 0 => Addr Reg
• RS = 1 => Data Reg; {giống như đọc/ghi CMOSRAM}
– BL : Back Light, adjustable: ánh sáng nền
31
P&I Ch5-Digi In/Out 61
Hình 5.10c. Tín hiệu và giản đồ thời gian ghi LCD panel
P&I Ch5-Digi In/Out 62
Read/Write LCD information
• 4 line x 20 column LCD => 80 char boxes
• Write Addr Reg first (RS=0)
• Write Data Reg after (RS=1)
• MSB = 1 Address > 7Fh => control registers
• Ví dụ 1 chu kỳ đọc/ghi LCD panel – 8 bit bus:
E = 0
Phát địa chỉ tạo Chip Select và chọn Reg
Tạo tín hiệu R/W
E = 1, delay for 1s or more
E = 0
Data out
Disabling Addr, data, R/W
E = 1.
32
P&I Ch5-Digi In/Out 63
5.1. Discrete Interface: 5.1.8. Encoder
P&I Ch5-Digi In/Out 64
5.1. parallel interface: 5.1.8. encoder
Dùng để ghép nối đo lường dịch chuyển cơ học: chiều dài, vận tốc (cđ
thẳng và quay), gia tốc, định vị, robot
Công nghệ vật liệu từ - nam châm vĩnh cửu hoặc quang - hồng ngoại/
laser, hi resolution ADC. Đĩa mã (absolute enc.)...
Độ phân ly cao: dảI rộng: 256 ... upto 500 kc/t (counts/turn), chịu shock
(upto 10s g)
Tốc độ upto 10k rpm, mô men cản downto 10-3 Nm)
Output: các xung lệch 90O,
Tín hiệu ra TTL hoặc vi sai (truyền xa) hoặc (binany, BCD, GrayCode
formatted),
Manufacturers: Tamagawa Seiki, Epson, Hewlett-Packard, Nidec...
33
P&I Ch5-Digi In/Out 65
5.1. parallel interface: 5.1.8. encoder
P&I Ch5-Digi In/Out 66
Inteface với Encoder
• Dùng VĐK:
– Đo tốc độ, chiều dà, năng suất sản phẩm
– Xác định được chu kỳ của xung ngay trước đó
– => độ lệch pha 1/4T
• => chiểu quay/hướng chuyển động: xem sớm pha
hay chậm pha
• Tốc độ chuyển động, tốc độ góc: số xung/t
• Clearance 1/8T.
34
P&I Ch5-Digi In/Out 67
5.1. parallel interface: 5.1.8. encoder
P&I Ch5-Digi In/Out 68
Absolute Encoder
– Xác định vị trí trong 1
vòng
– 10..12 bit output
– Binary or Gray Code
– Ví dụ 10 bit Abs Enc. +
giảm tốc bánh răng, để định
vị 1km => độ phân ly 1m
– Ghép nối cổng song song
với thanh ghi dịch
– BT: thiết kế hệ định vị 3D
container cho Sai Gon New
Port: 1000x500x15m
35
P&I Ch5-Digi In/Out 69
5.1. Parallel interface: 5.1.9. Step motor
Hình 5.12a. Step Motor
P&I Ch5-Digi In/Out 70
36
P&I Ch5-Digi In/Out 71
5.1. parallel interface: 5.1.9. step motor
Là motor (có stator và rotor) được điều khiển quay theo từng
bước (góc, chiều)
Interface: để biến các tín hiệu xung/ số thành chuyển động cơ
học chính xác, quay và tịnh tiến.
Dải rộng tham số về:
Góc (step/turn, ước số của 360O)
Dải rộng Công suất và Mô men (torque),
Lắp trục vits, dây đai => chuyển động tịnh tiến
2 cuộn hoặc 4 cuộn dây
Ứng dụng: Robot, Printer, Floppy Disc drive, Scanner...
Tính toán mạch ghép công suất: theo chỉ dẫn dòng
P&I Ch5-Digi In/Out 72
H 5.12b. Symbolic Diagram for Step Motor, Giant
Magnetic Resistance Material
37
P&I Ch5-Digi In/Out 73Hình 5.12c. 1 sơ đồ điều khiển Step Motor 4 cuộn dây
P&I Ch5-Digi In/Out 74
Hình 5.12d. Các sơ đồ nối dây cho step motor
38
P&I Ch5-Digi In/Out 75
Hình 5.12e. Sơ đồ điều khiển cầu motor 2 cuộn dây
P&I Ch5-Digi In/Out 76
• STEP ANGLE:
– Step angles for steppers are available in a range
from 0.72° to 90°.
– Standard step angles steppers are:
• 3.6º — 100 steps per rev.
• 7.5° — 48 steps per rev.
• 15° — 24 steps per rev.
• 18° — 20 steps per rev.
– A movement of any multiple of these angles is
possible. For example, six steps of a 15°
stepper motor would give a movement of 90°.
39
P&I Ch5-Digi In/Out 77
• ACCURACY:
– A 7.5° stepper motor, either under a load or no load
condition, will have a step-to-step accuracy of 6.6% or 0.5º.
This error is non cumulative so that even after making a full
revolution, the position of the rotor shaft will be 360º ± 0.5º.
– The step error is non cumulative. It averages out to zero
within a 4-step sequence which corresponds to 360 electrical
degrees. A particular step characteristic of the 4-step is to
sequence repeatedly using the same coil, magnetic polarity
and flux path. Thus, the most accurate movement would be
to step in multiples of four, since electrical and magnetic
imbalances are eliminated. Increased accuracy also results
from movements which are multiples of two steps.
– Keeping this in mind, positioning applications should use 2
or 4 steps (or multiples thereof) for each desired measured
increment, wherever possible.
P&I Ch5-Digi In/Out 78
• TORQUE: The torque produced by a specific
stepper motor depends on several factors:
– The Step Rate
– The Drive Current Supplied to the Windings
– The Drive Design
• HOLDING TORQUE
– At standstill (zero steps/sec and rated current), the
torque required to deflect the rotor a full step is called
the holding torque. Normally, the holding torque is
higher than the running torque and, thus, acts as a
strong brake in holding a load. Since deflection varies
with load, the higher the holding torque the more
accurate the position will be held. Note in the curve
below in Fig. 4, that a 2-step deflection corresponding
to a phase displacement of 180, results in zero torque.
A 1-step plus or minus displacement represents the
initial lag that occurs when the motor is given a step
command.
40
P&I Ch5-Digi In/Out 79
5.1. parallel interface: 5.1.9. hi power interface
Là các mạch ghép nối máy tính/ VXL với các thiết bị có điện thế
cao/ dòng điện lớn như lò nung [sấy] điện trở, lò cao tần,
motor (ac và dc) công suất lớn, đèn, motor ..
Điều khiển thiết bị điện xoay chiều (ac) có cách ly:
Relay, hình 5.13a:
Dùng Relay để cách ly [và relay trung gian],
Điều khiển công suất ON-OFF (lò điện, motor)
Triac/ Solid State Relay : hình 5.13b:
Điều khiển công suất vô cấp
Dễ gây nhiễu cho lưới điện, phải có Line Filter
Điều khiển thiết bị một chiều (dc): Hình 5.14.
Thyristor (SCR - Silicon Controlled Rectifier)
P&I Ch5-Digi In/Out 80
Hình 5.13. Hi Power ac Load Interface: điều chỉnh đóng
cắt (a) và vô cấp (b)
41
P&I Ch5-Digi In/Out 81h×nh 5.13a. Thyristor (SCR)
P&I Ch5-Digi In/Out 82
Hình 5.13b. Sơ đồ chỉnh lưu 1/2 chu kỳ, tải R-L
42
P&I Ch5-Digi In/Out 83
Hình 5.13c. Chỉnh lưu cầu 1 phase và 3 phase (6 tia)
P&I Ch5-Digi In/Out 84
Hình 5.14. Điều chỉnh công suất vô cấp dc dùng VXL, có
phản hồi (feedback).
43
P&I Ch5-Digi In/Out 85
H5.14b. Đồ thị thời gian điều khiển 1 phase SCR
Bridge
P&I Ch5-Digi In/Out 86
H×nh 5.15. Hi-Power Interface: Power MOSFET (a) vµ IGBT
(Insulated Gate Bipolar Transistor) – kiểu switching
44
P&I Ch5-Digi In/Out 87
5.2. Serial in/out: 5.2.1. Khái niệm
KHÁI NIỆM:
Thông tin trong Hệ VXL/ Máy tính: byte, word (//)
Khi truyền 'xa': serialize - byte => bit stream => lên đường
truyền => bit stream => byte (deserialize): giảm thiết bị
thu phát và đường truyền
=> giảm (chi phí, kích thước) vs Tốc độ chậm,
Mô hình: Hình 5.20.
Central System: CPU, mem, controllers, sys bus...
Serial port:
Symbols:
UART/USART (Universal [Synchronous]
Asynchronous Receiver - Transmitter)
ACIA: Async. Communication Interface Adaptor,
Motorola
P&I Ch5-Digi In/Out 88
45
P&I Ch5-Digi In/Out 89
5.2. Serial interface: 5.2.1. khái niệm
Serial ports:
Nhiệm vụ/chức năng:
Vào ra nối tiếp: Biến đổi byte => dòng bit [thêm start/ stop/
parity] gửi lên đường truyền; dòng bit => byte , loại các bit
không mang tin, kiểm tra lỗi thu.
Ghép nối với hệ trung tâm: các bus/ tín hiệu addr, data,
control bằng phương pháp Polling, Interrupt hoặc DMA
(ít).
Ghép nối với đường truyền [via modem]: TxD, RxD
Ghép nối modem: qua các tín hiệu bắt tay -RTS, -CTS, -
DSR, -DTR, -CD, -RI (low active signals)
Ví dụ: UART 8250, 16450, 16550A (Intel, NS...), ACIA 6850
Motorola, USART 8251 - Intel
P&I Ch5-Digi In/Out 90
5.2. serial interface: 5.2.1. khái niệm
MODEM: là thiết bị biến đổi bit (0/1) thành tín hiệu vật lý, phù
hợp với môi trường truyền xa (Điều chế - Modulation) và
ngược lại (Giải điều chế - Demodulation), gồm:
Ví dụ: Converter/ driver:
Maxim 232/ ICL 232 (232 modem): TTL EIA 232,
Single end, so với Gnd:
-3V .. -15 V '1'
+3V .. +15 V '0'
Đơn giản, 100 feet @ 9600 bps, dễ bị nhiễu
Thường dùng để ghép nối các thiết bị thông minh,
gần, máy thí nghiệm, đo lường, điều khiển,
Switching System, PLC...
46
P&I Ch5-Digi In/Out 91
5.1. Serial Interface: 5.2.1. Khái niệm
Max 485/ SN 75 116 TI ... (485/422 modem): Vi sai - Differential,
so điện áp giữa 2 tín hiệu với nhau. Mỗi kênh truyền 2 sợi dây
a và b – 7576/75176/75116
[V(a) - V(b)] > 100 mV..5V => '1' và
[V(a) - V(b)] '0'
5000' @ 1Mbps, thực tế có thể truyền xa vài km, giảm tốc độ.
Thường dùng trong các xí nghiệp công nghiệp
Current Sourcer - nguồn dòng điện : 0 và 20 mA [hoặc 20 và 60
mA, telex]
Chịu nhiễu tốt
Truyền xa, tùy thuộc điện trở R đường dây,
Thường có cách ly quang học.
P&I Ch5-Digi In/Out 92
Mô hình bus RS-485
SN75176
47
P&I Ch5-Digi In/Out 93
• ASK: Amplitude Shift Keying, H×nh 5.21a.
• FSK: Frequency Shift Keying, H×nh 5.21b.
• DTMF: Dual Tone Multi Frequency,
5.1. Serial Interface: 5.2.1. Khái niệm
P&I Ch5-Digi In/Out 94
Dual tone multi-frequency
• Bàn phím số có 4 hàng, 4 cột, mỗi hàng/cột
mang 1 tần số từ 697 đến..1633Hz - tone
• Dual tone: tần số của hàng và cột của phím
tương ứng – khi bấm sẽ được cộng với nhau
và phát lên kênh
• Các vi mạch ứng dụng dịch vụ điều khiển
xa qua mạng điện thoại
– Giải mã tone BCD: Mitel MT8880
– CODEC: TP 3057
48
P&I Ch5-Digi In/Out 95
P&I Ch5-Digi In/Out 96
• H. 5.21c. PSK: Phase Shift Keying
H. 5.21d.
QAM:Quaternary
Amplitude
Modulation
49
P&I Ch5-Digi In/Out 97
Khái niệm truyền tin đồng bộ và không đồng bộ:
Thông tin thường được đóng gói thành các gói tin - package.
=> packets
Đồng bộ:
Trong 1 packet: byte - byte, bit - bit, không có dấu hiệu
phân cách.
Tốc độ truyền do sender: clock (cùng với data) hoặc chỉ
xuất hiện vào thời điểm đầu trong gói tin (sync.
character).
Tốc độ cao, khó, tỷ lệ các bit không mang tin nhỏ, truyền
gần - LAN
5.1. Serial Interface: 5.2.1. Khái niệm
P&I Ch5-Digi In/Out 98
Truyền tin không đồng bộ: Asynchronous Comm.
Mỗi ký tự/byte đều có 1 xung/sườn đồng bộ (sườn xuống của
start).
Clock của 2 phía thu và phát có thể lệch nhau khoảng 3-6..%:
Ví dụ: 10 bit format 8,n,1; T: time of frame; t: time of bit,
T độ lệch cho phép Tphát và Tthu.
T < 1/2 t (tvdn = 5%).
Có khoảng 'trống' giữa 2 characters, trạng thái 1.
50
P&I Ch5-Digi In/Out 99
Tỷ lệ các bit không mang tin lớn (start, stop,
parity), lến đến 33% (ví dụ: format 1 start, 8 data, 1
PE, 2 stop)
Đơn giản, dễ lập trình, dễ ghép nối.
Đặc biệt được chấp nhận rộng rãi: thiết bị ngoại vi thông
minh, đo lường điều khiển, modem...
P&I Ch5-Digi In/Out 100
5.2. Serial Interface: 5.2.1. Khái niệm
(c) Hình 5.22. Ba mô hình đường truyền: Simplex (a),
Half duplex (b) và [full] duplex
51
P&I Ch5-Digi In/Out 101
5.2. serial interface: 5.2.2. EIA/TIA (RS)-232C/V24
EIA/TIA 1969, Electronics (Telecommunication) Industry
Association, cho việc truyền tin không đồng bộ, [truyền qua
mạng điện thoại]. RS: Recommended Standard
Nhiều nhược điểm so với các chuẩn khác: tốc độ chậm, khoảng
không xa, single end signals - dễ nhiễu, tỷ lệ bít không mang tin
lớn. . . nhưng . . .
Rất thông dụng, có trong hầu hết các thiết bị số (máy tính, máy
điều khiển số, máy đo thông minh... và họ vi điều khiển, Global
PS, Gyro Compass, PLC, Switching System...
Là cửa ngõ trao đổi thông tin giữa các hệ VXL không cùng chuẩn
(số bit, bộ lệnh, tốc độ...)
P&I Ch5-Digi In/Out 102
5.2. serial interface: 5.2.2. chuÈn EIA/TIA-232c/v24
5.2.2.1. FORMAT of FRAME/ CHARACTER:
1 start bit = 0, đương nhiên, thường không nhắc lại
5/ 6 / 7/ 8 data bit, D0 – first. 5 và 6 not use today
[Parity bit - PE/ PO] – ít dùng vì đã có kiểm soát chung bởi
giao thức
1/ 1.5/2 stop bit = 1s – thường dùng 1 bit
H. 5.23. RS-232 Frame trên đường truyền
52
P&I Ch5-Digi In/Out 103
5.2. Serial Interface: 5.2.2. RS232C/V24
5.2.2.2. MÔ HÌNH VÀ CÁC TÍN HIỆU:
P&I Ch5-Digi In/Out 104
Các tín hiệu truyền tin:
TxD - Transmit Data: Serial data out + bit không mang tin
RxD - Receive Data: Serial data in + bit không mang tin
Signal Ground: 0 Volt. Reference for Single End Signals
Modem handshaking/ status signals (Low active):
-RTS : Request To Send, Out - DTE
-CTS : Clear To Send, In - DTE
-DTR : Data Terminal Ready, Out
-DSR : Data Set Ready, In
-RI : Ring Indication, In: báo chuông
-CD : [Data] Carrier Detect, In: mất sóng mang - đứt dây, mất điện
remote terminal....
53
P&I Ch5-Digi In/Out 105
5.2.2.3. MỨC TÍN HIỆU:
Các tín hiệu RS232 có mức áp:
-3V .. -15V => logic 1, so called 'Mark'
+3V .. +15V => logic 0, so called 'Space'
Các vi mạch dùng để biến đổi: 232 modems/ converters
Motorola MC-1488 (Driver: TTL to 232) và MC-1489 (Receiver:
232 to TTL), 3 nguồn cấp : +5V, +12V, -12V, cổ
Maxim 232 hoặc Intersil - ICL 232: là 232 'modem' ; Single
Power Supply +5V. Bên trong có các bộ đổi nguồn: Doubler và
Inverter => +10V và -10V, Hình 5.25
P&I Ch5-Digi In/Out 106
H. 5.25. MAXIM 232 IC
54
P&I Ch5-Digi In/Out 107
5.2.2.4. TỐC ĐỘ TRUYỀN TIN:
Đơn vị tính là bps (bit per second)
Các tốc độ RS-232 : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800
và 9600, BIOS support
Thêm: 19.200, 38.400, 57.600 và 115.200
Dùng Xtal (quartz, Thạch anh) 1.8432 MHz
16 chu kỳ clock => truyền (thu hoặc phát) được 1 bit
Thường trong các cổng truyền tin, tốc độ được tính theo:
1.8432 x 106
Baud rate (bps) = ------------------------- ;
16 (m x 256 + n)
m-n: số chia 16 bit, n : low divisior, m: hi divisior
P&I Ch5-Digi In/Out 108
5.2.2.5. KHOẢNG CÁCH :
Distance x baud rate product !
Tùy thuộc môi trường, cáp truyền, nhưng:
@ 9600 bps, L < 100‘ ~ 33m
@ 19.200 bps, L<50' ~ 16,5 m
5.2.2.6. CONNECTOR - JACK:
D shell 9 hoặc 25 pin [DB9 hoặc DB25] connector
Male - Female
55
P&I Ch5-Digi In/Out 109
5.2. serial interface: 5.2.3. PC's rs-232 ports
Tên gọi: so called:
RS 232C/ V24/ EIA 232
Communication port (Comm/ Com)
Asynchronous [Async] port
Serial port
UART Intel 8250/ National Semiconductor 16450, 16550,
16550A
Properties:
Ports Comm1 Comm2 Comm3 Comm4
BaseAddr 3F8h 2F8h 3E8h 2E8h
IRQ 4 3 Option Option
HRQ (Option)
P&I Ch5-Digi In/Out 110
5.2. serial interface: 5.2.3. PC RS232 ports
UART 8250, Universal Asynchronous Receiver-Transmitter (KT
VXL, tác giả MTV)
CS interface: 8bit data, IRQ (for Trans, Rec, Modem &
Errors), -CS, -RD, -WR và 3 Reg Select bits => 1 of 8
Modem Interface: RTS-CTS, DTR-DSR, CD và RI
Line [Modem] Control Registers : để định format of character
và chế độ hoạt động cho port và modem.
Divisor Latches: định tốc độ truyền (thu và phát)
Line [Modem] Status Registers đọc trạng thái, Errors để hoạt
động polling và Int.
UART NS 16550A: compatible 100% 8250
FIFO buffers for Rec và Trans 2x16 byte,
Hoạt động: polling, interrupt [có thêm] DMA
Tham khảo UART 16550A @ site: www.national.com
56
P&I Ch5-Digi In/Out 111
P&I Ch5-Digi In/Out 112
HOẠT ĐỘNG CỦA COMM PORT: SETTING &
TRANSCEIVE
SETTING/ INITIALIZING - KHỞI TẠO:
Selecting Port: BaseAddr:= $2F8 {Comm2}
Formats of character: (Line Control Register - BA+3) Vídụ
9600, 8(7), N(PE/ PO), 1(2):
Port[BaseAddr+3]:= 3; {8, n, 1, 3F8+3}
Baud rate Setting: DLAB (bit7 of LCR) = 1, nạp Low Div và
Hi Div. Khi setting baudrate, DLAB=1, otherwise=0
Port[BaseAddr+3] := Port[BaseAddr+3] or $80; {DLAB=1
only}
Port[BaseAddr+0] := 12; {xf8h, Low divisor, n}
Port[BaseAddr+1] := 0; { xf9h, Hi divisor , m}
Port[BaseAddr+3] := Port[BaseAddr+3] and $7F;{DLAB=0 !}
57
P&I Ch5-Digi In/Out 113
• Line Control Register: XFBh – BaseAddr+3
– b1, b0 : 11 10 01 00
– 8 7 6 5 data bit, 5 và 6 bit không dùng.
– b2 : 0 => 1 stop bit; 1 => 2 stop bit
– b3: 0 – non parity, 1: parity
– b4: (chỉ có nghĩa khi b3=1) 0=> PO, 1=> PE
– b5: 0: normal, 1: Stuck parity (PE)
– b6: Space Out: 0, normal, 1: space out
– b7: DLAB: divisor latch access bit. Dùng để truy
nhập số chia, định tốc độ truyền. 0: normal, 1: BA –
(XF8) low divisor, BA+1 (XF9) – hi divisor
– Ví dụ: 7, PE, 2 LCR = 0001 1110b 1Eh
P&I Ch5-Digi In/Out 114
1.8432 x 106 cps
• Công thức tính: Baud rate (bps) = --------------------- ;
16 (m x 256 + n)
n : low divisior, m: hi divisior
600 bps m=0, n = 192
1200 bps m=0, n= 96;
2400 bps m=0, n= 48
4800 bps m=0, n= 24
9600 bps: m=0, n= 12
19200 bps m=0, n= 6
38400 bps m=0, n= 3
57600 bps m=0, n = 2
115200 bps m=0, n= 1 max rate
Nạp cả m và n khi DLAB = 1
58
P&I Ch5-Digi In/Out 115
HOẠT ĐỘNG TRANS-CEIVING
Line Status Register LSR, BA+5, các bit/ cờ TT:
b0 = 1 => IBF data received, = 0 khi CPU đọc Receice Buffer,
RxR - xF8h
b1 = 1 => OE, Overrun Err, mất số liệu, bị sl sau đè lên
b2 = 1 => PE, Parity Err, Vd đặt PE, thu về số bit 1 lẻ
b3 = 1 => FE, Framing Err, sai stop bit, sai clock 2 phía
b4 = 1 => BI, BreakInt, t(space)> t(full char)
b5: THRE: Transmit Hold Reg Empty
b6: Data Transmitted
b7: Not Use
Và chú ý TimeOut !!!
Thủ tục thu 1 packet được mô tả Hình 5.26:
5.2. serial interface: 5.2.3. PC RS-232 ports
P&I Ch5-Digi In/Out 116
5.2. serial interface: 5.2.3. PC rs-232 ports
HOẠT ĐỘNG: POLLING, sau setting, thu;phát tin giống như song
song
Transmitting: Line Status Register LSR, BA+5
Sending 1 char: Thanh ghi giữ sl phát TxR, Base Addr+0
Port[BA+0]:= sent_char; ghi ra thanh ghi phát
Sending 1 packet n byte.
bit 5 (of LSR) = 1 => THRE (Trans Hold Reg Empty):
For i:= 1 to n do
Begin {0010 0000}
Repeat Until Port[BA+5] and $20 0; {test bit 5}
Port[BA+0]:= xau_ky_tu[i]
End;
{không cần kiểm tra TimeOut hoặc lỗi ?}
59
P&I Ch5-Digi In/Out 117
Hình 5.26. Lưu đồ Thu 1 packet qua Comm Port - Polling
P&I Ch5-Digi In/Out 118
Rec Proc Near ; Bien Cobao ket qua
mov bp, offset Tx_Buffer ; Init Array of Receiving
mov cx, n ; Init counter of Packet
Rec1: mov bx, TOC ; Init TOC, tre 1s
Rec2: call @delay ; delay khoang 50us
dec bx
jne Rec3
mov bl, 0FFh
mov Cobao, bl ; Loi Time Out
jmp Ketthuc
Rec3: mov dx, BaseAddr+5 ; Line Status Reg
in al, dx
test al, 00000001b ; IBF
je Rec2
60
P&I Ch5-Digi In/Out 119
mov dx, BaseAddr+0 ; Rx Register
in al, dx
mov [bp], al ; Cat ket qua
mov dx, BaseAddr+5 ; LSR
in al, dx
and al, 00011110b ; any error?
jne Rec31
inc bp ; next char
loop Rec1
mov bl, 0
mov Cobao, bl ; PERFECT RETURN
jmp Ketthuc
Rec31:test al, 00000010b ; Overrun Error?
je Rec4
mov bl, 1
mov Cobao, bl ; Loi 1
P&I Ch5-Digi In/Out 120
Rec4: test al, 00000100b
je Rec5
mov bl, 2
mov Cobao, bl ; Loi 2
Rec5: test al, 00001000b
je Rec6
mov bl, 3
mov Cobao, bl ; Loi 3
Rec6: mov bl, 4
mov Cobao, bl ; Loi 4
Ketthuc: ret
Rec Endp
61
P&I Ch5-Digi In/Out 121
INTERRUPT SETTING
IRQ 4 - Comm1, IRQ3 - Comm2.
Interrupt Enable Register - IER, BA+1, 4 lowest bit. b(i) = 1
=> Enable; b(i) = 0 => Disable.
b0 : Thu xong 1 byte/ char
b1 : TxR Empty
b2 : 1 of 4 Errors of Receive Action
b3 : MODEM IRQ
Interrupt Identification Register: BA+2, Đọc II Reg để biết nguồn
ngắt, có 4 mắc ưu tiên cố định, dùng b1 và b2:
xxxxx11x Highest Prio., 1 of 4 lỗi thu
xxxxx10x Thu xong 1 char/ byte
xxxxx01x Phát xong 1 char/ byte
xxxxx00x hoặc của 1 of 4 modem HSK signals.
P&I Ch5-Digi In/Out 122
5.2. serial interface: 5.2.4. Hayes modems
Do Công ty Hayes Microcomputer Product Inc. giới thiệu vào đầu
80s, tốc độ 300...2400bps, over telephone line
Có bộ lệnh (command set) và trả lời (response set), được dùng như
các lệnh chuẩn AT (standard modem).
Tín hiệu:
TxD, RxD, Gnd,
CD, RI. [Thêm] DTR-DSR, [RTS-CTS]
Chế độ hoạt động: Command và Data (Online) Modes
Command Mode: modem nhận lệnh từ CS qua RS-232 port và
thực hiện lệnh - không truyền tin.
Khi thiết lập xong kết nối với remote modem => online mode
(data mode) và chỉ truyền tin, không nhận lệnh.
62
P&I Ch5-Digi In/Out 123
H×nh 5.27. Block diagram of Hayes Compatible Data-Fax Modem
P&I Ch5-Digi In/Out 124
Khi mất sóng mang (remote modem has hungup) trở về command
mode không disconnecting để đợi
guard time (default 1s)
Escape command: +++
Lệnh gửi từ máy tính: software hoặc gõ trực tiếp từ bàn phím qua
RS-232 port
Char gửi từ máy tính 1 trong 2 formats:
7,PE,1 hoặc
8,N,1
Khi truyền 110 bps => 2 stop bit
Khi nhận command, modem gửi về result code. Option:
Digit code - for controlling modem by software
Word code - for controlling modem by keyboard
63
P&I Ch5-Digi In/Out 125
RESULT CODES:
DIGIT Word Meaning
0 OK Cmmnd executed
1 CONNECT Connect @ 0..300bps
2 RING ring signal detected
3 NO CARRIER mất sóng mang
4 ERROR error in cmmnd line
5 CONNECT 1200
6 NO DIALTONE Không có quay số
7 BUSY Báo bận
8 NO ANSWER Không trả lời
10 CONNECT 2400
P&I Ch5-Digi In/Out 126
AT COMMAND SET: attention
Các lệnh bắt đầu bằng AT or at (not At or aT) để modem detects
tốc độ và format (ngoại trừ 2 lệnh '+++' và A/ - repeat last
Cmmnd ) và kết thúc: Enter (0ah,0dh)
Command line: có thể có hơn 1 lệnh, chỉ cần 1st có AT, cách
nhau dấu ' ' và không quá 40 char/cmmnd line.
Các lệnh và Tham số
ATDT 048692463 Dial using touch Tone
ATDP 048696125 Dial Pulse
ATT/ ATP default tone/ pulse
O end of C line, return O mode
; end of C line, stay C mode
after executing
@ wait for 5s hoặc silent
64
P&I Ch5-Digi In/Out 127
• VÝ dô:
• ATDT 9,3456789 Kết nối từ máy trong tổng đài
• ATXn Hayes Smartmodem compatible
• Other Commands:
• ATE0/ 1 Disable/ Enable Echo
• +++ Esc Char switch to command mode
• ATHn 0:On-Hook (hangup),1: Off-Hook
• ATLn 0/1/2/3 volume of speaker
• ATMn 0: speaker off, 1: on until DCD, 2: on
• ATNn 0: connect @ DTE rate, 1: auto rate negot.
• ATO return to O mode
• ATQn 0: result code En, 1: result code Dis
• ATVn 0: digit, 1: word
• ATZ hangup, reset to default settings
• A/ Repeat last command (re dial)
• Các modem đều có bộ lệnh riêng, Ref. User's Guide Man.
P&I Ch5-Digi In/Out 128
Case study: Adding a Comm to uC
• Init: 9600, 8, n, 1, P20=1 (P20 thay cho
Pij), TxBuff , RxBuff byte
• Transmitting a char:
– TxBuff = transmit byte
– Start bit: P20=0, delay 104 us
– For i=0 to 7 do (P20= TxBuff(i), delay 104 us)
– Stop bit: P20=1, delay 104us
• Receiving a char: khi nhận start bit,
ISR được gọi từ INT0:
– Delay 52us, If P20=1 then iret (not start) else
• For i= 0 to 7 do (RxBuff(i)=P20, delay 104us)
• If P20 = 0 then framing Error
• iret
65
P&I Ch5-Digi In/Out 129
BÀI TẬP CHƯƠNG 5 (1 OF 2)
Thiết kế mạch cổng INPUT có trạng thái vs H5.3
Mạch ghép nối, tín hiệu trạng thái báo ngắt – Disable/Enable
Xây dựng mạch ghép nối PC và PPI 8255 qua ISA bus
Theo hình 5.7, xây dựng mạch ghép nối n CA-LEDs and/or
keypad + chương trình điều khiển, với hệ Vi xử lý bất kỳ.
Theo hình 5.8 và 5.9, tạo 16 x (8x16) char box board và DD để
hiện 1 thông báo.
T/k Color Char board: 2 LED Green/Red => 4 color
Bài tập dài:
Nghiên cứu và lập trình vào ra LPT với SPP, EPP, ECP và
IEEE 1284 modes
Thiết kế giao thức và xây dựng ch/tr truyền file giữa 2 máy
tính qua LPT theo SPP và các mode trên
Tạo Bill board tiếng Việt 16 row-80 column
P&I Ch5-Digi In/Out 130
BÀI TẬP CHƯƠNG 5 (2 OF 2)
Xây dựng mạch ghép nối 2 encoders theo chiều X và Y để xác
định tọa độ của một động tử (positioner) - tỷ lệ length/count đã
cho (có thể dùng Timer 8254)
Ghép nối Step motor [và Encoder] để điều khiển 1 thiết bị như
máy khoan định vị bằng chương trình, máy cắt vải, giấy, máy
vẽ, khoan toạ độ, automobile ...
Xây dựng sơ đồ chi tiết để điều khiển các tải công suất lớn:
motor, gen-set field wild dc, ac (lò, đèn)
Thuần thục lập trình cho các cổng RS-232/V24 trong máy tính và
các thiết bị khác.
Truyền tin giữa máy tính và Embedded System (ES) qua RS-232:
chat & file
Truyền tin giữa 2 máy qua Hayes modem: chat & file
Các file đính kèm theo tài liệu này:
- bai_giang_thiet_bi_ngoai_vi_va_ky_thuat_ghep_noi_chuong_5_di.pdf