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: tvh42th@gmail.com
Tài liệu tham khảo
1. Microprofessors and microcpmputers hardware and softwware, Ronaid
2. J.Tocci, Frank J.Ambrosio, Prentice Hall, 2003 Interfacing Sensors To The Pc, Willis J.Tompkin, Jonh G.webster,Prentice Hall, 1998
1
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
Chương 1: Giao thức ghép nối
n Tín hiệu
n Format
n Tốc độ In/Out
n Lỗi vàki ểm soát lỗi
n Bộ lệnh vàtr ả lời
n 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:
n Analog/Digital
format, mức logic,…
n Digital: Trạng thái của sự vật, hiện tượng,…
n 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
n 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
1.1 Tín hiệu (tiếp)
USB, …hay các bus trên chu ẩn RS485)?
n Nếu dùng bus => Standard bus hay không (ISA, I2C,
n IDE vàLPT –Mode 0 cables làbus? T ại sao?
quan đến tốc độ
n Khoảng cách: Xa/gần => Serial, Parallel, có liên
n Xa: Daisy chain cho tín hiệu hoặc nguồn cấp…
n Control signals
n Status signals
n Handshaking sighals
1.1 Tín hiệu (tiếp)
n Các tín hiệu điều khiển trạng thái
n Nối các thiết bị cókho ảng cách từ vài đến vài chục m,
output của port (modul) thứ i nối với input của i+1. Đặc biệt ở các Field Buses, cóth ể lên tới km
n Dùng cho cả tín hiệu \\và n ối tiếp, nguồn cấp,
handshaking,…
……
n Daisy chain
CPU
……
IO_0
IO_1
IO_n
2
1.1 Tín hiệu (tiếp)
mức U/I
n Direction: In/Out, chúý v ề chiều của dòng điện
n Voltage/Current/Optical/Wave
n Chúý Input Voltage
n Mức điện áp: Mức áp? (TTL, CMOS, …)
n Single End (đơn cực) Differrential signal:
n Single End signed:
n Tín hiệu so với một điện thế chuẩn, thường làGND (0 Volt)
n Ví dụ: Các tín hiệu trên bus (data, add, control)
n Cón tín hi ệu => cóít nh ất n+1 dây dẫn
n Nhạy cảm với nhiễu, tốc độ thấp hơn so với cùng chuẩn
1.1 Tín hiệu (tiếp)
n Differential Signal: Tín hiệu vi sai n n tín hiệu => 2*n dây dẫn ở phía thu
n (Va –Vb)>100mV=> logic 1, tùy thuộc vào chuẩn được áp dụng n (Va –Vb)<100mV=> logic 0
n Thu: Nếu cóhai dây cócùng kích th ước, độ dài, trở kháng,…và g ần nhau, thì mọi trên h được loại trừ => chịu được nhiễu rất tốt vìphía thu
n Uin = k(Va –Vb) => nh ững thành phần giống nhau được loại bỏ
n Khoảng cách lớn, tốc độ cao. n IC: SN75176 của TI làví d ụ n Địa chỉ ứng dụng: USB cable, Profibus,…
Đơn cực
A
C
Đơn cực
n Tính chất vật lý của tín hiệu: làhàm c ủa thời gian,
B
Vc = k(Va –Vb)
3
+ -
1.1 Tín hiệu (tiếp)
n Khả năng phối hợp tải – dòng điện ra:
n Số tải n Chiều dòng điện Sink hay Source
n Nối chung/ghép nối bus đơn giản: 3 state, Mux, Switch.
n Hot swap –hot plugible: yêu c ầu Vcc vàtín hi ệu
n Cách ly (isolation): Relay, Opto coupler, IrLED
n Bus slot, Connecter, chuẩn, số chân (pin)
1.1 Tín hiệu (tiếp)
Sourse
R
LED
MCU
5V
Outport Buffer
Sink
R
LED
5V
4
Hình: Sink Sourse connection
1.1 Tín hiệu (tiếp)
5V
1.1 Tín hiệu (tiếp)
Hình: Open collecter
n D shell: DB9, DB25,…
n DIN
n Connecter
n Flat
n Coaxial,
n Shield: Cho tín hiệu hoặc
nguồn cấp
n Twisted Pair: 5, 6
n Vi sai
n Optical Fiber
n Cable
5
Hình: Connecter
1.2 Format
VD: 1 số đo nhiệt độ 12 bits, dải giátr ị 0 đến 9990C. Khi lưu
trong CSDL, truyền tin:
n 12 bits (1,5 byte) tiết kiệm bộ nhớ, thời gian truyền
n ASCII: 3 characters: Dễ quản lý, kiểm soát sai, hiển thị
n Thông tin được định dạng theo: binary/hex (ASCII)
Digi-Oscillocope,…)
n 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.
n Content: nội dung tin –mang thông tin
n Tailer: Mã bắt tay kết thúc, [mã kiểm lỗi] –không mang tin
1.2 Format (tiếp)
n Lượng tin lớn => khi trao đổi (với DAS, PLC, GPS,
PID
Data
CRC16
8 bits 0 –1023 bytes 16bits
Hình: USB data packet format
n 1 start bit = 0
n 5/6/7/8 data bit, D0 first
n [parity: Even/odd]
n 1/1.5/2 stop bit = 1
6
n 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:
1.3 Tốc độ In/Out
n 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:
n Chỉ ra các “bottle_neck”, khắc phục được => xuất hiện các “bottle
n Phụ thuộc vào khoảng cách –tích s ố (k/c và tốc độ)
n Nhiễu: theo công thức của Shannon bps = BW log2(1+P/N). Với BW:
neck” ở mức độ thấp hơn
n Đường truyền: (công nghiệp) cáp đồng trục, cáp quang, wireless,…)
n Synchronous/Asynchronous
n 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
bandwidth, P/N: tỷ số công suất tín hiệu/nhiễu
truyền xa/chuyển đổi tín hiệu. Nhiều phương pháp (hardware, Software) hỗ trợ để kiểm tra:
n Khi trao đổi thông tin thường gây ra lỗi, đặc biệt
n 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
n [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
n CRC, ECC,…vi m ạch/software –subroutine
n Parity, 1 hoặc 2 chiều
7
n Redundancy (RAID), thừa dư
1.5 Bộ lệnh vàtr ả lời
n 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ứng
n Các câu lệnh phần mềm => bớt tín hiệu và cổng phần
n Tập hợp các yêu cầu từ CS –command set
n Tập hợp các trả lời, trạng thái – result/response/reaction set
n Data down/up
grammar)
1.6 Kịch bản
n Symtax of command and response (structure and
Slave Master n Liệt kê các trường
ACK
ACK
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,…
NACK
t
n Thường xây dựng theo liểu Step List hoặc chart
8
n Timeout Hình: Scenario Chart n …
Ví dụ: giao thức giữa PC và VĐK trong việc trao
đổi dữ liệu (U, I, t0,…)
n Tín hiệu?
n Format?
n Tốc độ?
n Lỗi?
n Lệnh vàtr ả lời?
n 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
máy tính (gtrị và dạng biểu đồ).
9
n ….
Chương2: Giao di ện Bus
n Khái niệm về Bus ghép nối -In/Out Buses
n ISA Bus
n USB
n Philips I2C
2.1 Khái niệm về Bus ghép nối
n LàPCB (Printed Circuit Board), Cable (Copper/Optic), Slot, Connector…
n 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
Profi,…)
n Bus song song (n bit) hoặc nối tiếp (I2C, USB,
n Address n Data n Control/Status/Handshake/datacheck n Power susply
1
n IO Buses, Mem, CPU, Local Buses n Thành phần (physical lines/time sharing:
2.2Industry Small Architecture Bus n ISA, 1984, IBM, PC-104 bus n Để 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. n 8/16 bits for data transfers n 4,77=>8,33 MHz/11.1MHz =>
2.75MWps/5.5MWps max, DMA 16
keyboard, mouse,…
2.2Industry Small Architecture Bus ( tiếp)
(http://pinouts.ru/Slots/ISA_pinout.shtml)
n Only 1 BusMaster, CPU hoặc DMAC, w AEN n No data integrity, không kiểm tra parity n Dùng để ghép nối với các thiết bị chậm, kiểu ký tự:
2
Hình: ISA Bus
2.2USB
2.2 USB (tiếp)
Hình: USB logo
Tiers
n Chia thành nhiều
n Các Tiers nối với các thiết bị: Hub hoặc chức năng
Hub(s)
n Mỗi Tier có
3
Hình: USB topology
2.2 USB (tiếp)
n Hub, mở rộng thêm thiết bị nối vào USB n Các thiết bị chức năng JoyStick, KeyBoard, Printer,
Digital Camera,…
n Chỉ có một USB host (USB controller trong hệ n Devices, có2 lo ại
n USB Protocol n Chuẩn Hđ của USB: config vàreset n Communication Standard
2.2 USB (tiếp)
n Các thiết bị chuẩn interface USB theo:
n 1.5Mbps –Low speed moade và12 Mbps (Revision 1.1)
n Nguồn cấp +5V, vài metre
n Power management
n Revision 2.0: 480Mbps
n Ưu điểm:
n Tín hiệu vi sai phát/thu, bọc kim, chống nhiễu n CRC Protection đối với data & control fields n Tự phát hiện attach/detach, xác định cấu hình các thiết bị
tự động ở mức hệ thống
n TimeOut đối với trường hợp mất tin/gói tin lỗi
4
n Thông số kỹ thuật:
2.2 USB –connecter (tiếp)
2.2 USB –signal (tiếp)
5
Hình: Signal
2.2 USB –signal (tiếp)
Token Packet Format
Start-Of-Frame (SOF) Packet Format
Data Packet Format
2.3 Philips I2C Bus
Handshake Packet Format
nhúng (embeded system) như: mobil phone, TV, ATM,…
n Dùng nhiều trong các hệ thống
dùng phần mềm để định cấu hình
n Không cần dùng bus interface chip(s), built-in n Intergrated addressing & data transfer, cho phép
dùng các mạch addr decoder và“glue logic”, dùng phần mềm
n Đơn giản để ghép nối, nhiều µC hỗ trợ I2C n Đơn giản tìm lỗi, khoanh cùng lỗi nhanh n Giảm thiểu kích thước: 2 wire serial, không cần
Fast mode, 3,4Mbps HiSpeed mode
6
n Truyền đồng bộ, 100Kbps standard mode, 400Kps
2.3 Philips I2C Bus (tiếp)
SCL
SDA
Device_0
Device_1
Device_2
Device_3
Device_4
Device_5
Device_6
2.3 Philips I2C Bus (tiếp)
Hình: I2C Topology
SCL
SDA
Slave_0
Master_0
Slave_1
Slave_2
Master_1
Cóth ể cónhi ều Masters, trong một thời điểm chỉ có 1 Master hoạt động
Slave_3
Slave4
7
Hình: Configuration with 2 masters
2.3 Philips I2C Bus (tiếp)
2.3 Philips I2C Bus (tiếp)
Hình: Start and stop
8
Hình: Data transfer
2.3 Philips I2C Bus (tiếp)
5V
2.3 Philips I2C Bus – một số chip(tiếp)
Hình: Open collecter
9
n Atmega, PIC,… n EEPROM, RAM,… n RTC,…
Bài tập chương 2
1.Vi ết chương trình giả lập I2C
10
Chương 3: Digital Interface
n Parallel Interface
n Serial Interface
3.1 Parallel -principle
khoảng cách gần
n In/Out nhiều bit đồng thời, tốc độ nhanh nhưng
n Output Port: latched Output (chốt ra), D-Flip-Flops n Unlatched In Input
1
n Một đầu IO
3.1 Parallel -principle
n Là một dãy những phần tử cơ bản của dãy n D – data, lưu trữ một bit số liệu n 4/6/8 D flip-flop => tạo ra 4/6/8 bits register, nhiều
register đóng trong một chip làSRAM
3.1 Parallel –principle
D Flip –Flop n Output:
n Q - ứng với giátr ị data input vào thời điểm cóclock n /Q – đảo của Q.
n D Flip –Flop (HC373, 374)
n Data bit: 1 hoặc 0 n 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 n [Cóth. có] clear –xóa; Preset – đặt trước n Có2 lo.i: Transparent (HC373) vàMaster-
n Slave (HC374)
2
n Input
3.1 Parallel –principle
D Flip –Flop n Write pin: bit 0 or 1, clock = ↑
n Write bit 0: D flip-flop => Q = 0; /Q = 1 => gate = 1 =>
R(ds) MOSFET = ON => pin = 0
n Write bit 1 D flip-flop => Q = 1; /Q = 0 => gate = 0 =>
R(ds) MOSFET = OFF => pin = 1
ReadPin = 0 (!) => open 3 state lower buffer => 1/0 from pin => data bus (i)
n Read pin: (Input line–out “1”firstly)
ReadLatch = 0 (!) => open 3 state higher buffer => 1/0 from pin => data bus (i)
3.1 Parallel -principle
n ReadLatch (Reading bit out previously):
+5V
U38
Data
3 4 7 8 13 14 17 18
2 5 6 9 12 15 16 19
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
2
IOW
11
1
CLK
3
1
CS
OE
74LS02
74LS374
Strobe
3
n Ứng dụng ghép nối LED, DAC,…
3.1 Parallel -principle
3.1 Parallel -principle
n Ứng dụng ghép nối LED, DAC, ADC, …
4
n Latched Input Port n Unlatched Inport n Latched Inport
3.1 Parallel -principle
3.1 Parallel -principle
n Output Port
5
n Ghép nối PPI 8255 với PC qua ISA bus n Addr: 300h-303h, Mode 0 all, PA & PC In, PB Out
3.1 Parallel -principle n Một cổng IO n Cổng cótín hi ệu bắt tay/trạng thái
n Cổng ra đơn giản cóch ốt (74HC 374/373/273,…) n Cổng vào đơn giản ko chốt (74244, 74245,…) n Cổng vào cóch ốt
n Gủi một packet ra ngoại vi, cần đồng bộ giữa hai phía n Peripheral chỉ đọc bộ đệm cổng khi có số liệu.
3.1 Parallel -LPT n Data port
n Out port: Gửi một byte ra cổng
n Mov dx, 378h n Mov al, solieu n Out dx, al
n In port: Đọc giátr ị ở cổng
n Mov dx, 378h n In al, dx
n Cổng cótín hi ệu bắt tay/trạng thái
n Gủi 4 bit
n Mov, dx, 37Ah n Mov al, control n Out dx, al
6
n Control Outport, chỉ dùng 4 bit: b0…b3
3.1 Parallel -LPT
n Đọc 4 bit
n Out dx, al n Mov, dx, 37Ah n Out al, dx
n Control Outport, chỉ dùng 4 bit: b0…b3
n Mov dx, 378h n In al, dx
3.1 Parallel -LED
n Status Port: chỉ đọc trạng thái, unlatched
Diode n Color:
n Red, Green, Yellow, n Amber, R+G n Infra Red, UV n LASER: Light
Amplification by Stimulated Emission of Radiation n Blue, Cyan ...
n LED: Light Emitting
characteristics
7
n Symbol &
3.1 Parallel -LED
n Single point, status of devices n 7 segment/ 16 segment, Arabian digit, char n Matrix 8x8 / 16 x 16, character box, graphics modules
n Package and Applications:
semioutdoor. Độ sáng phụ thuộc vào từng loại pha tạp, từ150mcd (normal) đến 7000mcd (super light)
n Ðộ sáng: Indoor, Outdoor (super light) and
n Đặ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.
=> Fullcolor 16,7M colors (3 byte)
3.1 Parallel -LED
8
n TriColor: Red –Green –Blue => PWM driving
3.1 Parallel -LED
Ví dụ: Vcc=5V, Chọn RLI = 2 => IF=20mA => UF= 2V => R = (Vcc –UF)/20mA = 150 Ohm
3.1 Parallel -LED
LED chế độ quét, Scan Mode: n Mạch điện tử sẽ điều khiển sáng 1 nhóm ph ần tử trong toàn b ộ bảng ở một 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 th ực hi ện 50=>120 frames/second
n Tính toán mạch điều khiển LEDs: n LED sáng tĩnh –sáng liên t ục –Static Mode: n Chọn độ sáng tương đối n Dòng thuận I, tư 10 đến 20mA n Điện áp thuận U, từ 1.6 đến 3.4V n Tính R1 = (Vcc –U)/I.
9
n Tùy thuộc độ sáng và môi trường (in/outdoor) => thiết kế độ rỗng (duty cycle) của từng phần tử. Thường được chon là1, ½, ¼, 1/8 và1/16
3.1 Parallel -LED
n 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 độ sáng từ 2cd=>5cd.
n Hệ số sáng cóth ể chọn là: 1, ½, ¼, 1/8 và 1/16 độ sáng
yêu cầu vàdùng LED outdoor
n Độ 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 s ẽ không sáng thêm khi IF>50mA
n Chúý:
3.1 Parallel -LED Kết nối LED n 7406, ULN 2003... Open
Collector
n Góc bố trí ngược sáng/thuận sáng n View angle
khi outport = 1 => LED sáng
n Inverter Buffer: upto 30V, 50-500mA; n Transistor npn: C945 –
R
drive trực tiếp, sink/sourse upto 40mA
10
n Transistor pnp: A564, n khi outport=0 => LED n Môtl số outport cho phép
3.1 Parallel -LED Kết nối LED
3.1 Parallel –LED (7 seg)
LED 7 đoạn, màu, kích thước, CA/CC?
11
3.1 Parallel -LED (7 seg)
3.1 Parallel -LED (7 seg) n Điều khiển LED
12
n Kết nối
3.1 Parallel -LED (7 seg) n Có 4 LED (32 pins) n Điều khiển chế độ quét –ch ỉ 01 LED sáng trong
một thời điểm => 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 n Muốn sáng (0, 1, …9) => g ửi mã 7 thanh qua các
anodes
n Muốn sáng LED nào, điều khiển ON Anode LED đó
trong một thời gian t vàlàduy nh ất n Tính t: theo số LED và50÷100 fps
3.1 Parallel –LED (Matrix) Màu, số màu, kích thước?
0 0 0 10 0 0 0 0 0 10 10 0 0 0 10 0 0 10 0 0 10 0 0 10 0 0 1 1 1 1 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 0
13
3.1 Parallel –LED (Matrix) n Có8 hàng, 8 c ột n Điều khiển chế độ quét –ch ỉ 01 LED sáng trong một thời
điểm, dùng 74138 để chọn hàng
3.1 Parallel –LED (Matrix)
14
n Kết nối LED
3.1 Parallel –LED (Matrix) void Shift_Right(void) {
char tmp; tmp = Row_00[numLED-1] & 0x01;
for(i=(numLED-1); i>0; i--) { if(Row_00[i-1] & 0x01) Row_00[i] = (Row_00[i]>>1) | 0x80; else Row_00[i] = (Row_00[i]>>1) & 0x7F; }
if(tmp) Row_00[0] = (Row_00[0]>>1) | 0x80; else Row_00[0] = (Row_00[0]>>1) & 0x7F; }
3.1 Parallel –LED (Matrix) void Shift_Right(void) {
char tmp; tmp = Row_00[row][numLED-1] & 0x01;
for(i=(numLED-1); i>0; i--) { if(Row_00[row][i-1] & 0x01) Row_00[row][i] = (Row_00[row][i]>>1) | 0x80; else Row_00[row][i] = (Row_00[row][i]>>1); }
15
if(tmp) Row_00[row][0] = (Row_00[row][0]>>1) | 0x80; else Row_00[row][0] = Row_00[row][0]>>1; }
3.1 Parallel –LED (Matrix) PORTD.5 #defineLED_SCK PORTD.6 #defineLED_RCK PORTD.7 #defineLED_data #defineTIME_595 20 void Out_74595(char data) {
char i; LED_RCK = 0; for(i=0; i<8; i++) {
LED_SCK = 0; LED_data = (data & 0x01); data = data>>1; delay_us(TIME_595); LED_SCK = 1; delay_us(TIME_595);
3.1 Parallel –LED (LCD)
16
} LED_RCK = 1; }
3.1 Parallel –LED (LCD)
text/graphics n Độ phân giải
n 1 line x 16 character box, 5x7 (7x9) dot matrix/character
box
n 2 line x 16 character box n 4 line x 20 character box n Graphics (64 x 128) hoÆc (128 x 256) dot graphics – font down loadable, color (16/4096/64K/16,7M). n ASCII, 128 characters/ set, 8 user fonts or APA:
All Points Addressable -graphics n Back light: Công suất tiêu thụ nhỏ n Dùng cho các hệ nhỏ, mang xách, máy đo,…
(Embedded Systems)
3.1 Parallel –LED (LCD)
17
n Công nghệ LCD Liquid Crystal Display, hiện
3.1 Parallel –LED (LCD)
3.1 Parallel –LED (LCD)
Read/Write LCD information n 4 line x 20 column LCD => 80 char boxes n Write Addr Reg first (RS=0) n Write Data Reg after (RS=1) n MSB = 1 Address > 7Fh => control registers n Ví dụ một chu kỳ đọc/ghi LCD panel –8 bit bus:
n E = 0 n Phát địa chỉ tạo Chip Select vàch ọn Reg n Tạo tín hiệu R/W n E = 1, delay for 1 µs or more n E = 0 n Data out n Disabling Addr, data, R/W n E = 1.
18
3.1 Parallel –Encoder
3.1 Parallel –Encoder
n 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 n Công nghệ vật liệu từ -nam châm v ĩnh cửu hoặc quang –
hồng ngoại/laser
n Độ phân ly cao: upto 224 , chịu shock,..
Tốc độ upto 10k rpm, mômen cảm downto 10-3Nm
n n Output: các xung lệch nhau 900 (incremental), n bits
n
(absolute) Tín hiệu ra TTL hoặc vi sai (truyền đi xa)
n Manufacturers: Tamagawa Seiki, Hewlett-Packard,
Epson...
19
3.1 Parallel –Encoder
3.2 Serial in/out -Principle
n
Thông tin trong Hệ VXL/Máy tính: byte, word (//) n Khi truyền đi “xa” : serialize - byte => bit stream => lên
n
đường truyền=> bit stream => byte (deserialize): giảm thiết bị thu phát và đường truyền => Giảm chi chi phí, kích thước vs tốc độ chậm
n Mô hình dưới:
Modem
Trans Line
Central System
UART/ SIO
Coupler/ Trans- Receive
20
3.2 Serial in/out -Principle
Serial ports: n Nhiệm vụ/ chức năng n 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.
n Ghép nối với hệ trung tâm: các bus/tín hiệu addr, data, control bằng các phương pháp polling, Interrupt hoặc DMA (ít)
n Ghép nối với đường truyền [via modem]: TxD, RxD n Ghép nối modem: qua các tín hiệu bắt tay /RTS, /CTS,
/DSR, /DTR, /CD, /RI (low active signals)
n Ví dụ: UART 8250, 16450, 16550A (Intel, NS...), ACIA
6850 Motorola, USART 8251 -Intel…
3.2 Serial in/out -Principle
Modem: n 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ế- Demoulation)
n Maxim 232/ ICL 232 (232 modem): TTL <=> EIA
232, Single end, so với Gnd:
n -3V .. -15 V <=> '1' n +3V .. +15 V <=> '0‘ n Đơn giản, 100feet @ 9600 bps, dễ bị nhiễu n Thường dùng để ghép nối các thiết bị thông minh, gần: máy thínghi ệm, máy đo lường, Switching system, PLC, …
21
n Ví dụ: Converter/ driver:
3.2 Serial in/out -Principle
tốc độ
n Thường dùng trong công nghiệp
n Max 485/ SN 75 116 TI ... (485/422 modem): Vi sai - Differential, so điện áp giữa 2 dây tín hiệu với nhau. Mỗi tín hiệu gồm 2 dây a vàb – 7576/75176/75116 n [V(a) -V(b)] > 100 mV..5V => '1' n [V(a) -V(b)] < -100 mV.. –5V => '0' n 5000feet @ 1Mbps, thực tế cóth ể lên tới vài km, giảm
[hoặc 20 và60 mA] n Chịu nhiễu tốt n Truyền đi xa, tùy thuộc vào R của dây dẫn n Thường cócách ly quang h ọc
3.2 Serial in/out -Principle
n Current Sourcer –Ngu ồn dòng điện: 0 và20 mA
22
n RS 485 Bus
3.2 Serial in/out -Principle
3.2 Serial in/out -Principle
n ASK: Amplitude Shift Keying n FSK: Frequency Shift Keying n PSK: Phase Shift Keying
- package. => packets
n Truyền tin đồng bộ và không đồng bộ n Thông tin thường được đóng gói thành các gói tin
n Trong 1 packet: byte -byte, bit -bit, không có d ấu hiệu
phân cách.
n Tốc độ truyền do sender: clock (cùng với data) hoặc xuất hiện lần đầu tại đầu gói tin (sync. character). n Tốc độ cao, khó, tỉ lệ bit không mang tin nhỏ, truyền
gần LAN
23
n Đồng bộ:
3.2 Serial in/out -Principle
3-6%
n Ví dụ: 10 bit format 8, n, 1; T: time of frame; t: time of
bit, ΔT: thời gian lệch giữa Tphát và Tthu.
n Δ T < 1/2 t (5%). n Cókho ảng trống gữa 2 byte/ký tự n data, 1 PE, 2 stop
3.2 Serial in/out -Principle
n Truyền tin không đồng bộ: Asynchronous Comm. n Mỗi ký tự/byte đều có 1 sườn/xung đồng bộ (start). n Clock của phía thu vàphát cóth ể lệch nhau khoảng:
n 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, 1PE, 2 stop)
n Đơn giản, dễ lập trinh, dễ ghép nối n Đặ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,…
24
n Truyền tin không đồng bộ: Asynchronous Comm.
3.2 Serial in/out -Principle
Simplex
Talker
Litsener
Half duplex
S1
S2
[Full] duplex
S1
S2
3.2 Serial in/out -Principle
n Truyền tin không đồng bộ: Asynchronous Comm.
25
n Truyền tin không đồng bộ: Asynchronous Comm.
3.2 Serial in/out -Principle
n Truyền tin không đồng bộ: Asynchronous Comm.
Bài tập
1.Thi ết kế mạch điều khiển 6 x LED 7 đoạn 2.Thi ết kế mạch điều khiển 4 LED ma trận 8x8 3. Đo khoảng dịch chuyển, vận tốc (encoder)
26
Chương4: Analog Interface
n Analog Signal Interface Overview
n Analog Electronics -Conditioner
n Digital to Analog Converters
n Analog to Digital Converters
4.1 Analog Signal Interface Overview
A A1
n Là một hàm của 1 (hoặc nhiều) biến độc lập, đại lượng vật lý theo th ời gian: nh ư ti ếng nói, nhiệt độ,…theo th ời gian: A = f(t, h)
A0
0
t
t0
t1
khoảng thời gian t0 => t1
n Xuất hiện liên tục trong
1
n Giátr ị biến thiên liên tục trong kho ảng biên độ từ A0 => A1, cóth ể đa trị.
4.1 Analog Signal Interface Overview
4.1 Analog Signal Interface Overview
n Rời rạchóa v ề thờigian n Rời rạchóa v ề giátr ị
n Trongth ực tế: Rời rạchóa n TrongMáytính s ố, thôngtin thu v ề:
cáctínhi ệu về thờigianvàgiátr chuyển đổiADC t ạoracáctínhi n Xử lý, cấtvàokho s ố liệu n Truyền đixa n Tái tạo lạihay t ổng hợptínhi ệu: Dùngthi ết bị DAC tạo
lạicáctínhi ệuanalog
2
n => Để máytínhthuth ập, cầnph ải“r ời rạchóa” ị, dùngthi ết bị ệu số, để:
4.1 Analog Signal Interface Overview
ADC
...
Storage
CPU, Mem
Đối tượng vật lý, công nghệ
...
DAC
4.1 Analog Signal Interface Overview
3
4.1 Analog Signal Interface Overview
n Làcácquátrìnhcôngngh
ệ như: dâychuy ềnlàmgi ấy; phối-trộn-nghiền-nung=> s ảnxu ấtcement; dâychuy ền luyện-nung-cánthép; s ảnxu ất-trộnphânbónNPK, các nhàmáy điện,…
n Process:
n Là vậtli ệu/thiết bị dùng để chuyển đổicác đại lượng vật lýkhông điện tử (T, Ph,…) thànhtínhi ệu điện(u, I, R, f) n Vậtli ệu: do đặctính t ự nhiên của vậtch ất–ví d ụ Pt100,
cặpnhi ệt điện,…
n Thiết bị: Có sự giacông, ch ế tác–ví d ụ LM35,…
n Sensors:
n Vìtínhi ệu từ Sensors rấtnh ỏ, cóth ể cónhi ễuvàphi
tuyến=> có m ạch điện từ analog để xử lýtínhi ệu: khuếch đại, lọcnhi ễu, bùphi tuy ến,…chophù h ợp.
4.1 Analog Signal Interface Overview
n Conditioners:
4
n MUX: analog multiplexer n Trích mẫuvàgi ữ -Sample & Hold n ADC: analog to digital convertor: n Central system: hệ nhúng/MT: n DAC: digital to analog convertor n Mạch điện tử analog n Actuators: Cơ cấuch ấphành
4.2 Analog Electronics -Conditioner
n Operational Amplifiers -OpAmps–khu ếch đại thuậttoán để tạocác b ọ conditioners –chu ẩnhóa tínhi ệu
4.2 Analog Electronics -OPAMP
n Analog Switches & Analog Multiplexers n Reference Voltage Sourcers–ngu ồnápchu ẩn n Sample & Hold –Trích m ẫuvàgi ữ n ConverssionErrors –Sai s ố chuyển đổi n …
n 2 chântínhi ệuInv.InpvàNon Inv.Inp n Chân output n Nguồn cấp: +Vcc, -Vcc(GND) n Chỉnhoffset n Cóthêmchân n ối tụđể bù tần số
5
n Làvi m ạchkhu ếch đại, xử lýtínhi ệu từ 0Hz n Tínhi ệu gồm:
4.2 Analog Electronics -OPAMP n Xử lýtínhi ệuDC (0Hx up) n Hệ số khuếch đại lớn, từ kilo…Mega…and even
more…
E1
E2
LOAD
Rin
r1
r2
4.2 Analog Electronics -OPAMP
n Trở vào lớnvài K Ωđế n10 12Ω, trở ranh ỏ, tốtcho các mạchghép n ốianalog, ph ối hợptr ở kháng.
6
n Comparator
4.2 Analog Electronics -OPAMP
4.2 Analog Electronics -OPAMP
n NON Inverting Amp
7
n Inverting Amp
4.2 Analog Electronics -OPAMP
4.2 Analog Electronics -OPAMP
n Adder (Mixer)
8
n Differential
4.2 Analog Electronics -OPAMP
4.2 Analog Electronics -OPAMP
n Instrumentation
9
n Integrator
4.2 Analog Electronics -OPAMP
4.2 Analog Electronics -OPAMP
n Differentiator
Uout = Uin
10
n Follower
4.2 Analog Electronics -OPAMP
4.2 Analog Electronics -OPAMP
Một số lưu ý khi dùng n Hệ số khuếch đại chọn tùy thuộc các mạch:
n Mạch kđ thông thường (đảo dấu và không đảo dấu: vài lần đến 10 lần), nếu hệ số khuếch đại lớn thìnhi ều tầng => ổn định và dễ dàng kiểm soát.
n Mạch khuếch đại vi sai (Differential apmlifier):
từ 10 => 50 lần, vào vi sai –ra vi sai (Instrumentation Ampl): 30 => 100 lần
n Chọn hệ số khuếch đại càng lớn: n Băng thông giảm bấy nhiêu lần n Điện trở vào giảm bấy nhiêu lần n Độ ổn định của mạch giảm: trôi zero theo thời gian, nhiệt độ, …
11
n I/U converter
4.3 Digital to Analog Converters
áp, liên tục về thời gian, rời rạc về giátr ị.
n Digital to Analog: số => tín hiệu dòng điện/điện
n Công nghệ chế tạo n Số bit (reslution) n Thời gian chuyển đổi 10s ns .. 100s ns, n Cấu trúc: Built-in latched –ghép n ối trực tiếp với bus/unlatched cần cóout-port, bus 8 hay 16 bit
n Signed – điện áp ra 2 dấu hoặc unsnigned – điên áp ra
1 dấu
4.3 Digital to Analog Converters
n Phân loại:
n Tổng hợp tín hiệu n Đàn Organ n Phát tín hiệu chuẩn n Voice chip
n VGA/SVGA: RAM-DAC n Tái tạo: Âm thanh số, MP3, CD, … n Ghép nối giữa các hệ thống (PC, PLC, …) => bộ điều
khiển analog, tạo ra các Setpoint
n Bộ nhân tín hiệu analog –4 góc: nhân h ệ số với Uin
thay cho Uref
12
n Ứng dụng
4.3 Digital to Analog Converters n Nguyên lý cấu trúc vàho ạt động
4.3 Digital to Analog Converters
R-2R Ladder DAC: n Là phương pháp dùng lưới điện trở R-2R chia
cây nhị phân dòng điện
13
n Đơn giản n Chính xác cao n Chuyển đổi nhanh n Rẻ n Trên thị trường dùng phương pháp này
4.3 Digital to Analog Converters
R-2R Ladder DAC: n Mạng R-2R nối kiểu cây nhị phân n Khi bi = 0 or 1 => ki R or L, Non Inv.Inp of OpAmp
grounded => Inv. Inp = #0V => ki luôn đóng xuống đất bất kể bi = x
4.3 Digital to Analog Converters
R-2R Ladder DAC: n Nếu muốn thay đổi giátr ị? n Ví dụ: Uref = 5,12V, n = 10
=> Uout = ?
14
4.3 Digital to Analog Converters
R-2R Ladder DAC: Tạo các tín hiệu cơ bản
4.3 Digital to Analog Converters R-2R Ladder DAC: Sóng điều chế
15
4.3 Digital to Analog Converters R-2R Ladder DAC, tham khảo n Tra cứu các vi mạch DAC: (pdf files) n www.national.com/product/interface/ad-da
n DAC0808 -single pole, 8 bit, 100ns n DAC0800 -signed voltage output, 8 bit, 100ns n DAC0832 -latched 8 bit dac -bus interface directly, n DAC1210 -latched 12 bit dac –8/16 bit bus interface
directly, 200ns
4.3 Digital to Analog Converters
R-2R Ladder DAC
16
4.3 Digital to Analog Converters
R-2R Ladder DAC
4.3 Analog to Digital Convertors
n
n
Làthi ết bị cóhai ch ức năng (lượng tử hóa): n Rời rạc hóa tín hiệu về thời gian n Rời rạc hóa tín hiệu về biên độ Phân loại:
n n Chuyển đổi gián tiếp: u(t) => time (đại lượng trung gian) => code n Chuyển đổi trực tiếp: u(t) => code n Chuyển đổi phi tuyến: CODE (TP3057 –Mitel hay AC’97 Intel)
17
Theo từng ứng dụng: ADC để xử lý tín hiệu và đo
4.3 Analog to Digital Convertors
n u(t) => Time Interval/f/T => code n Chậm, rẻ tiền ($s), độ phân ly vàchính xác cao n Dùng trong đo lường, thu thập số liệu trong công nghiệp…
không cần nhanh, loại được nhiễu
n Chuyển đổi gián tiếp: Tích phân hai sườn dốc
n Nhanh, độ phân ly thấp hơn [đắt tiền], dùng để thu thập và
xử lý tín hiệu biến thiên nhanh
n Chuyển đổi kiểu xấp xỉ liên tiếp: 10k …10MSps n Chuyển đổi song song: 10M …500 MSps
4.3 Analog to Digital Convertors
n Chuyển đổi trực tiếp: u(t) => code
n u(t) => Time Interval/f/T => code n Chậm, rẻ tiền ($s), độ phân ly vàchính xác cao n Dùng trong đo lường, thu thập số liệu trong công nghiệp…
không cần nhanh, loại được nhiễu
n Chuyển đổi gián tiếp: Tích phân hai sườn dốc
n Nhanh, độ phân ly thấp hơn [đắt tiền], dùng để thu thập và
xử lý tín hiệu biến thiên nhanh
n Chuyển đổi kiểu xấp xỉ liên tiếp: 10k …10MSps n Chuyển đổi song song: 10M …500 MSps
18
n Chuyển đổi trực tiếp: u(t) => code
4.3 Analog to Digital Convertors
Tín hiệu u(t) liên tục, trong nócóch ứa thành phần fmax, (năng lượng của tín hi ệu fmax = 0) thìcóth ể khôi phục lại tín hi ệu không bị sai từ những giátr ị gián đoạn, với điều kiện:
fSAMPLE >= 2fMAX
n Ðịnh lý lấy mẫu Shannon -Kochennicov:
không quádày => lãng phí(t xử lý, bộ nhớ); lấy thưa thì sẽ bị sai
4.3 Analog to Digital Convertors n Dual Slope Integration ADC:
19
n Định lý này cótính pháp lý n Để kỹ sư hi ểu số mẫu tối thi ểu bao nhiêu là đủ, ốc độ ADC, th ời gian
4.3 Analog to Digital Convertors
4.3 Analog to Digital Convertors
n Successive Approximation ADC:
n In: -2V..2V, Out: -1999 => 1999, 4.000 counts <=> 12 bit, n LED 7 Seg drive directly w current soursers for display n Converssion time: 20..40ms
n Successive Approximation ADC, ICs: n ICL 7107
n Inp: -0.2V…+02.V ho.c -2V..+2V, 40.000 count > 15bit,
Out: -19999 => +19999, 400 ms converssion time n De-Multiplexed Out BCD for 5 digits of 7 Seg, scanned
n ICL 7135
n Inp: -2V..+2V, Out: 12 bin + pole, 8/16 bit interface to CS
20
n ICL 7109, w REF & Clock
4.3 Analog to Digital Convertors
4.3 Analog to Digital Convertors
n Interfacing to the ICL -7135 ADC:
21
n Successive Approximation ADC:
Bài tập
1. Viếtch ươngtrình t ạocáctínhi
ệu cơ bản(vuông, r ăng
cưa, sin, tam giác,…)
2. Giả lậpDAC b ằngph ần mềm.
3. Thiết kế mạch đonhi ệt độ
4. …
22
Chương6: Bànphím
n Keypad
n Keyboard
6.1 Keypad –bànphím4x4
S901
S902
S903
S904
K0
K1
K2
K3
K4
S911
S912
S913
S914
K5
S921
S922
S923
S924
K6
S931
S932
S933
S934
K7
1
6.1 Keypad –bànphím4x4
n Đọcbànphím n Quétvòng? n Sử dụngng ắt?
n Kiểmtrath ờigian c ủabit tr ạngthái(0 or 1) đủ “dài” n Dùng tụđể lọcnhi ễu đầuvào
6.1 Keypad –bànphím4x4
2
n Chốngrung
keypad_out PORTA keypad_in
PINA
6.1 Keypad –bàn phím 4x4 #define #define flashcharrow[4] = {0xEF, 0xDF, 0xBF, 0x7F}; DDRA = 0xF0; for(i=0; i<4; i++) {
keypad_out = row[i]; key = keypad_in & 0x0F; if(key!=0x0F) break;
} if(i<4)
key *= (i+1);
else
key = 0;
6.1 Keypad –bànphím4x4
3
6.1 Keypad –Resistor matrix & ADC
If the key "5" is pressed, a voltage divider gets active:
* 1k + 820 Ω = 1,82k to ground,
* 3,3k + 680 Ω + 180 Ω = 4,16k to plus.
At an operating voltage of 5 Volt a divided voltage of:
5 *1,82/(1,82+4,16) = 1,522 Volt
6.2 Keyboard –PC Keyboard
AT keyboard goàmmoätma traänlôùncaùcphím, taátcaû ñöôïcgiaùmsaùtbôûimoätboäxöûlyùon-board. Boäxöûlyù khaùcbieätnhautöøbaønphímnaøyñeánbaønphím khaùc( chip thoângduïnggoàm8048, 8049, 6868 vaø 6805) nhöngtaátchuùngcôbaûnlaømgioángmoätvieäc: Giaùmsaùtnhöõngphímñöôïcnhaán/ thaûvaøgôûidöõ lieäutöôngxöùngtôùimaùychuû. Boäxöûlyùnaøychaêm soùctaátcaûdöõlieäuravaøñeämbaátcöùdöõlieäunaøovaøo boäñeäm16-byte cuûanoùneáucaàn. Taátcaûvieäcgiao tieápgiöõamaùychuûvaøbaønphímduøngPS/2 protocol.
4
6.2 Keyboard –PC Keyboard
6.2 Keyboard –PC Keyboard
n The keyboard sends data to the host in 11-bit words
code (LSB first), followed by an odd parity bit and terminated with a ‘1’stop bit.
n Contain a ‘0’start bit, followed by 8-bits of scan
around 20 -30KHz) when the data is sent, and data is valid on the falling edge of the clock.
5
n The keyboard generates 11 clock transitions (at
6.2 Keyboard –PC Keyboard
Keyboard to Host
Host to Keyboard
6

