MÔN HỌC Thiết kế board
giao tiếp
(Interface Board Design)
By Trần Văn Hùng Mechatronics
Dept
http :// www . ntu . edu . vn/
Email:
Tài liệu tham khảo
1.
Microprofessors and microcpmputers hardware and softwware, Ronaid
J.Tocci, Frank J.Ambrosio, Prentice Hall, 2003
2. Interfacing Sensors To The Pc, Willis J.Tompkin, Jonh G.webster, Prentice
Hall, 1998
3. Microprocessor Interfacing techniques, R. Zaks & A. Lease, Sybex
4. Micro Processor and Interfacing, D. Hall, McGraw Hill;
5. Parallel port complete, J.Axelson, LakeViewReseach
6. Mastering Serial Communication, P.W.Gofton, Sybex
1
Nội dung chương trình
Ch01: Giao thức ghép
nối Ch02: Giao diện bus
Ch03: Giao diện số
Ch04: Giao diện tương tự
Ch05: Vi điều khiển
Ch06: Bàn phím
Các bài toán
1. Thiết kế mạch điều khiển ánh sáng theo chương trình định trước
2. Thiết kế mạch trang trí bằng đèn LED
3. Thiết kế mạch nhận dạng điểm phục vụ (thêm ít nhất 2IC)
4. Thiết kế mạch đo lượng mưa
5. Thiết kế mạch điều khiển nhiệt độ không khí
6. Thiết kế mạch điều khiển nhiệt độ dung dịch
7. Thiết kế mạch đồng hồ điện tử
8. Thiết kế mạch tính thời gian cho các môn điền kinh
9. Thiết kế bảng quang báo
10. Thiết kế mạch khoá điện tử
11. Thiết kế mạch điều khiển thiết bị bằng remote
12. Kết nối bàn phím máy tính với VXL, hiển thị ký tự lên LCD
13. Thiết kế mạch điều khiển Robot chạy theo qũy đạo (sd motor bước)
14. Thiết kế mạch điều khiển tốc độ động cơ DC
15. Thiết kế mạch điều khiển góc quay của môtơ, ổn tốc cho motor.
2
Chương 1: Giao
thức ghép nối
Tín hiệu
Format Tốc
độ In/Out Lỗi
và kiểm soát lỗi
Bộ lệnh và trả
lời Kịch bản
1.1 Tín hiệu
Khi thiết kế, xây dựng ghép nối máy tính, cần
chú ý đặc biệt tới các tín hiệu theo yêu cầu:
Analog/Digital
Digital: Trạng thái của sự vật, hiện tượng,…
format, mức logic,…
Analog: Áp/dòng, dải đo, độ phân ly, thời gian
tác động, độ chính xác, độ lặp lại,… giá trị đo
Hơn một thiết bị? => bus/mạng hay không?
=> dùng bit (trường) địa chỉ - tùy từng người
1.1 Tín hiệu (tiếp)
Nếu dùng bus => Standard bus hay không (ISA,
I
2
C, USB, … hay các bus trên chuẩn RS485)?
IDE và LPT – Mode 0 cables là bus? Tại sao?
Khoảng cách: Xa/gần => Serial, Parallel, có liên
quan đến tốc độ
Xa: Daisy chain cho tín hiệu hoặc nguồn cấp…
1
Các tín hiệu điều khiển trạng thái Control
signals Status signals Handshaking sighals
1.1 Tín hiệu (tiếp)
Tính chất vật lý của tín hiệu: là hàm của thời
gian,
mức U/I
Direction: In/Out, chú ý về chiều của dòng điện
Voltage/Current/Optical/Wave Chú ý Input
Voltage Mức điện áp: Mức áp? (TTL, CMOS, …)
Single End (đơn cực) Differrential signal:
Single End signed:
Tín hiệu so với một điện thế chuẩn, thường là GND (0 Volt)
Ví dụ: Các tín hiệu trên bus (data, add, control) Có n tín hiệu
=> có ít nhất n+1 dây dẫn Nhạy cảm với nhiễu, tốc độ thấp hơn
so với cùng chuẩn
2
1.1 Tín hiệu (tiếp) Khả năng phối
hợp tải – dòng điện ra:
Số tải
Chiều dòng điện Sink hay Source
Nối chung/ghép nối bus đơn giản: 3 state,
Mux, Switch.
Hot swap – hot plugible: yêu cầu Vcc và tín
hiệu Cách ly (isolation): Relay, Opto coupler,
IrLED Bus slot, Connecter, chuẩn, số chân (pin)
3
4
1.1 Tín hiệu
(tiếp)
MCU
Outport
Buffer
LEDR
V5
5V
Sourse
LEDR
Sink
Hình: Sink Sourse connection
1.1 Tín hiệu
(tiếp)
Hình: Open collecter
5V
1.2 Format
Thông tin được định dạng theo: binary/hex
(ASCII)
VD: 1 số đo nhiệt độ 12 bits, dải giá trị 0 đến 999
0
C. Khi lưu
trong CSDL, truyền tin:
12 bits (1,5 byte) tiết kiệm bộ nhớ, thời gian truyền ASCII: 3
characters: Dễ quản lý, kiểm soát sai, hiển thị
Lượng tin lớn => khi trao đổi (với DAS, PLC,
GPS,
Digi-Oscillocope,…)
Header: [tên (bản tin, gói), số thứ tự, ktự bắt tay, ktự
đồng bộ, số ktự/byte trong gói,…] – không mang tin.
Content: nội dung tin – mang thông tin Tailer: Mã
bắt tay kết thúc, [mã kiểm lỗi] – không mang tin
1.2 Format (tiếp)
8 bits 0 – 1023 bytes 16bits
PID Data CRC16
Hình: USB data packet format
Byte số liệu/character/frame: (truyền không đồng
bộ, RS-232, RS-485, RS-422): được định dạng
thành 1 frame:
5
1.1 Tín hiệu
(tiếp)
Connecter
D shell: DB9, DB25,…
DIN
Cable
Flat
Coaxial,
Shield: Cho tín hiệu hoặc
nguồn cấp
Twisted Pair: 5, 6
Vi sai
Optical Fiber
Hình: Connecter
1 start bit = 0 5/6/7/8 data bit, D0 first [parity:
Even/odd] 1/1.5/2 stop bit = 1
1.3 Tốc độ In/Out
Xuất phát từ: Nhu cầu trao đổi thông tin của hệ (tốc độ và
khoảng cách) => chọn kiểu truyền thích hợp, có liên quan
đến tín hiệu:
Chỉ ra các “bottle_neck”, khắc phục được => xuất hiện các “bottle
neck” ở mức độ thấp hơn
Phụ thuộc vào khoảng cách – tích số (k/c và tốc độ) Nhiễu: theo
công thức của Shannon bps = BW log
2
(1+P/N). Với BW: bandwidth,
P/N: tỷ số công suất tín hiệu/nhiễu
Đường truyền: (công nghiệp) cáp đồng trục, cáp quang, wireless,…)
Synchronous/Asynchronous Modulation/Demodulation…=>Tốc
độ bao nhiêu kbps/kBps?
VD: LPT: SPP mode: 50…100kBps;
RS-232: 2400/4800/9600/19200/…bps
1.4 Lỗi và kiểm soát lỗi
Khi trao đổi thông tin thường gây ra lỗi, đặc biệt
truyền xa/chuyển đổi tín hiệu. Nhiều phương pháp
(hardware, Software) hỗ trợ để kiểm tra:
[Block] check sum – BCC, phần mềm: tính tổng
của tất cả các ký tự, các byte. Kết quả có thể lấy 1
byte
VD: ROM BIOS, Ext BIOS started @ chẵn 2K, 2 ô đầu là
mã 0x55 và 0xAA, độ dài của mảng ROM là 512 byte;
checksum bù 2 sao cho tổng của tất cả các byte và mã
checksum luôn bằng zero
CRC, ECC,… vi mạch/software – subroutine
Parity, 1 hoặc 2 chiều Redundancy (RAID),
thừa dư
1.5 Bộ lệnh và trả lời
Khi ghép Intelligent Devices (Computerized
devices – mouse, KB, Printer, modem, FDC,
HDC, RTU…) có nhiều tham số, chế độ hoạt
động => xây dựng bộ lệnh
(command set) và thông tin trả về (response set)
Các câu lệnh phần mềm => bớt tín hiệu và cổng
phần
cứng
6
Tập hợp các yêu cầu từ CS – command set
Tập hợp các trả lời, trạng thái –
result/response/reaction set Data down/up
Symtax of command and response (structure
and
grammar)
Ví dụ: giao thức giữa PC và VĐK trong việc trao
đổi dữ liệu (U, I, t
0
,…) Tín hiệu? Format?
Tốc độ? Lỗi? Lệnh và trả lời? Kịch bản?
….
1.7 Bài tập
1. Viết chương trình giả lập RS-232
2. Viết chương trình để nhập ký tự trên máy tính rồi
hiển thị ký tự lên LCD
3. Đo giá trị nhiệt độ (độ ẩm, U, I,…) rồi hiển thị lên
7
1.6 Kịch bản
Liệt kê các trường
hợp rồi có thể áp các
phép toán xử lý tương
ứng để đảm bảo việc
ghép nối: không mất
tin, thừa tin, quẩn,
treo,…
Thường xây dựng
theo liểu Step List
hoặc chart
Timeout
…
t
Hình: Scenario Chart
Master
Slave
ACK
ACK
NACK
máy tính (gtrị và dạng biểu đồ).
8
Chương 2: Giao diện Bus
Khái niệm về Bus ghép nối - In/Out Buses
ISA Bus
USB
Philips I
2
C
2.1 Khái niệm về Bus ghép nối Là PCB
(Printed Circuit Board), Cable
(Copper/Optic), Slot, Connector… Nối nhiều thiết bị
slave [master], dùng chung: trong một thời điểm chỉ có một
talker – 1 hoặc nhiều listener
Bus song song (n bit) hoặc nối tiếp (I
2
C, USB,
Profi,…) IO Buses, Mem, CPU, Local
Buses Thành phần (physical lines/time
sharing:
Address
Data
Control/Status/Handshake/datacheck Power susply
2.2 Industry Small Architecture Bus
ISA, 1984, IBM, PC-104 bus
Để ghép thêm các card/ thiết bị I/O chuẩn với Mother
Board, 1…12Slots, hiện tại các máy thông thường
không dùng.
8/16 bits for data transfers
4,77=>8,33 MHz/11.1MHz =>
2.75MWps/5.5MWps max, DMA 16 Only 1
BusMaster, CPU hoặc DMAC, w AEN No data
integrity, không kiểm tra parity Dùng để ghép nối với
1
các thiết bị chậm, kiểu ký tự:
keyboard, mouse,…
2
2.2 Industry Small Architecture Bus (
tiếp
)
(
/>)
Hình: ISA Bus
2.2 USB
Hình: USB logo
2.2 USB (tiếp) Chỉ có một USB host (USB
controller trong hệ Devices, có 2 loại Hub, mở
rộng thêm thiết bị nối vào USB
Các thiết bị chức năng JoyStick,
KeyBoard, Printer,
Digital Camera,… Các thiết bị chuẩn
interface USB theo:
USB Protocol Chuẩn Hđ của
USB: config và reset Communication
Standard
2.2 USB (tiếp)
Thông số kỹ
thuật:
1.5Mbps – Low speed moade và 12 Mbps
(Revision 1.1) Nguồn cấp +5V, vài metre Power
management Revision 2.0: 480Mbps
Ưu điểm:
Tín hiệu vi sai phát/thu, bọc kim, chống nhiễu
CRC Protection đối với data & control fields
Tự phát hiện attach/detach, xác định cấu hình các
thiết bị
3
2.2 USB (ti
ế
p)
Chia thành nhi
ề
u
Tiers
Các Tiers nối với
các thiết bị: Hub
hoặc chức năng
Mỗi Tier có
Hub(s)
Hình: USB topology
tự động ở mức hệ thống TimeOut đối với
trường hợp mất tin/gói tin lỗi
4
2.2 USB – connecter (ti
ế
p)
2.2 USB – signal (ti
ế
p)
Hình: Signal
2.3 Philips I
2
C Bus
Dùng nhiều trong các hệ thống nhúng
(embeded system) như:
mobil phone, TV, ATM,…
Không cần dùng bus interface chip(s), built-in
Intergrated addressing & data transfer, cho phép
dùng phần mềm để định cấu hình
Đơn giản để ghép nối, nhiều µC hỗ trợ I
2
C Đơn
giản tìm lỗi, khoanh cùng lỗi nhanh Giảm thiểu
kích thước: 2 wire serial, không cần dùng các mạch
addr decoder và “glue logic”, dùng phần mềm
Truyền đồng bộ, 100Kbps standard mode, 400Kps
Fast mode, 3,4Mbps HiSpeed mode
5
2.2 USB – signal
(tiếp)
Token Packet Format
Start-Of-Frame (SOF) Packet Format
Data Packet Format
Handshake Packet Format
6
2.3 Philips I
2
C Bus (tiếp)
SCL SDA
Device_0
Device_2
Device_4
Device_6
Device_1
Device_3
Device_5
Hình: I
2
C Topology
2.3 Philips I
2
C Bus (tiếp)
Có thể có nhiều
Masters, trong một
th
ờ
i
đ
i
ể
m ch
ỉ
có
1 Master hoạt động
SCL SDA
Slave_0
Master_0
Slave_1
Master_1
Slave4
Slave_2
Slave_3
Hình: Configuration with 2 masters
7
2.3 Philips I
2
C Bus (tiếp)
Hình: Start and stop
2.3 Philips I
2
C Bus (tiếp)
Hình: Data transfer
Bài tập chương 2
1. Viết chương trình giả lập I
2
C
8
2.3 Philips I
2
C Bus (tiếp)
Hình: Open collecter
5V
2.3 Philips I
2
C Bus – một số chip(tiếp)
Atmega, PIC,…
EEPROM, RAM,…
RTC,…
9
Chương 3: Digital Interface
Parallel Interface
Serial Interface
1
3.1 Parallel - principle
In/Out nhi
ề
u bit
đồ
ng th
ờ
i, t
ố
c
độ
nhanh nh
ư
ng
kho
ả
ng cách g
ầ
n
M
ộ
t
đầ
u IO
Output Port: latched Output (chốt ra), D-Flip-Flops
Unlatched In Input
3.1 Parallel – principle
D Flip – Flop
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 tới khi có bít 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à MasterSlave
(HC374)
3.1 Parallel – principle
D Flip – Flop
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
2
3.1 Parallel - principle
D Flip – Flop (HC373, 374)
L mà ột dãy những phần tử cơ bản của dãy
D – data, lưu trữ một bit số liệu
4/6/8 D flip-flop => tạo ra 4/6/8 bits register, nhiều
register đóng trong một chip là SRAM
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)
3
3.1 Parallel - principle
Ứ
ng d
ụ
ng ghép n
ố
i LED, DAC, ADC, …
4
3.1 Parallel - principle
Latched Input Port
Unlatched Inport
Latched Inport
3.1 Parallel - principle
Output Port
3.1 Parallel - principle
Một cổng IO
Cổng có tín hiệu bắt tay/trạng thái Cổng ra
đơn giản có chốt (74HC 374/373/273,…) Cổng
vào đơn giản ko chốt (74244, 74245,…) Cổng vào
có chốt
Cổng có tín hiệu bắt tay/trạng thái Gủi một
packet ra ngoại vi, cần đồng bộ giữa hai phía
Peripheral chỉ đọc bộ đệm cổng khi có số liệu.
3.1 Parallel - LPT Data
port
Out port: Gửi một byte ra cổng Mov dx,
378h Mov al, solieu Out dx, al
In port: Đọc giá trị ở cổng Mov dx, 378h
In al, dx
Control Outport, chỉ dùng 4 bit:
b0…b3 Gủi 4 bit Mov, dx, 37Ah
Mov al, control Out dx, al
3.1 Parallel - LPT Control Outport, chỉ dùng 4
bit: b0…b3 Đọc 4 bit
Out dx, al Mov, dx,
5
3.1 Parallel - principle
Ghép nối PPI 8255 với PC qua ISA bus
Addr: 300h-303h, Mode 0 all, PA & PC In, PB Out
37Ah Out al, dx
Status Port: chỉ
đọc trạng thái,
unlatched
Mov dx, 378h In al, dx
3.1 Parallel - LED 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
semioutdoor. Độ 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
=> Fullcolor 16,7M colors (3 byte)
6
3.1 Parallel - LED
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