mÔn h - mientayvn.commientayvn.com/dien tu/tai_lieu/dien_dan/khac/thiet_ke_mach_giao_tiep... · 1...
TRANSCRIPT
1
MÔN HỌC
Thiết kế board giao tiếp(Interface Board Design)
By Trần Văn HùngMechatronics Dept
http://www.ntu.edu.vn/Email: [email protected]
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, Sybex4. Micro Processor and Interfacing, D. Hall, McGraw Hill;5. Parallel port complete, J.Axelson, LakeViewReseach6. Mastering Serial Communication, P.W.Gofton, Sybex
2
Nội dung chương trình
n Ch01: Giao thức ghép nối n Ch02: Giao diện busn Ch03: Giao diện sốn Ch04: Giao diện tương tựn Ch05: Vi điều khiểnn Ch06: Bàn phím
Các bài toán1. Thiết kế mạch điều khiển ánh sáng theo chương trình định trước2. Thiết kế mạch trang trí bằng đèn LED3. 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ưa5. 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ịch7. 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 kinh9. Thiết kế bảng quang báo10. Thiết kế mạch khoá điện tử11. Thiết kế mạch điều khiển thiết bị bằng remote12. Kết nối bàn phím máy tính với VXL, hiển thị ký tự lên LCD13. 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ơ DC15. Thiết kế mạch điều khiển góc quay của môtơ, ổn tốc cho motor.
1
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ệuKhi 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:nAnalog/DigitalnDigital: Trạng thái của sự vật, hiện tượng,…
format, mức logic,…nAnalog: Á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
nHơ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
2
1.1 Tín hiệu (tiếp)
n Nếu dùng bus => Standard bus hay không (ISA, I2C, USB, … hay các bus trên chuẩn RS485)?
n IDE và LPT – Mode 0 cables là bus? Tại sao?n Khoảng cách: Xa/gần => Serial, Parallel, có liên
quan đến tốc độn Xa: Daisy chain cho tín hiệu hoặc nguồn cấp…n Các tín hiệu điều khiển trạng thái
n Control signalsn Status signalsn Handshaking sighals
1.1 Tín hiệu (tiếp)n Daisy chain
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,…
CPU ……
……IO_0 IO_1 IO_n
3
1.1 Tín hiệu (tiếp)
n Tính chất vật lý của tín hiệu: là hàm của thời gian, mức U/In Direction: In/Out, chú ý về chiều của dòng điệnn Voltage/Current/Optical/Waven Chú ý Input VoltagenMứ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ẫnn 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 thun (Va – Vb)>100mV=> logic 1, tùy thuộc vào chuẩn được áp dụngn (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 thun 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,…
+-
AC
B
Đơn cực
Đơn cực
Vc = k(Va – Vb)
4
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ảin 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ệun Cách ly (isolation): Relay, Opto coupler, IrLEDn Bus slot, Connecter, chuẩn, số chân (pin)
1.1 Tín hiệu (tiếp)
MCU OutportBuffer
LEDR
5V
5V
Sourse
LEDR
Sink
Hình: Sink Sourse connection
5
1.1 Tín hiệu (tiếp)
Hình: Open collecter
5V
1.1 Tín hiệu (tiếp)
n Connectern D shell: DB9, DB25,…n DIN
n Cablen Flatn Coaxial,n Shield: Cho tín hiệu hoặc
nguồn cấpn Twisted Pair: 5, 6n Vi sain Optical Fiber Hình: Connecter
6
1.2 Formatn 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 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ềnn ASCII: 3 characters: Dễ quản lý, kiểm soát sai, hiển thị
n Lượng tin lớn => khi trao đổi (với DAS, PLC, GPS, 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 tinn Tailer: Mã bắt tay kết thúc, [mã kiểm lỗi] – không mang tin
1.2 Format (tiếp)
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:n 1 start bit = 0n 5/6/7/8 data bit, D0 firstn [parity: Even/odd]n 1/1.5/2 stop bit = 1
CRC16DataPID8 bits 0 – 1023 bytes 16bits
Hình: USB data packet format
7
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
neck” ở mức độ thấp hơnn 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:
bandwidth, P/N: tỷ số công suất tín hiệu/nhiễun Đường truyền: (công nghiệp) cáp đồng trục, cáp quang, wireless,…)n Synchronous/Asynchronousn 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ỗin 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:
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 byten 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 CRC, ECC,… vi mạch/software – subroutinen Parity, 1 hoặc 2 chiềun Redundancy (RAID), thừa dư
8
1.5 Bộ lệnh và trả lờin 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)
n Các câu lệnh phần mềm => bớt tín hiệu và cổng phần cứng
n Tập hợp các yêu cầu từ CS – command setn Tập hợp các trả lời, trạng thái –
result/response/reaction setn Data down/upn Symtax of command and response (structure and
grammar)
1.6 Kịch bảnn 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,…
n Thường xây dựng theo liểu Step List hoặc chart
n Timeoutn …
tHình: Scenario Chart
Master Slave
ACK
ACK
NACK
9
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?n ….
1.7 Bài tập1. Viết chương trình giả lập RS-2322. 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 LCD3. Đ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 đồ).
1
Chương 2: 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ốin 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
n Bus song song (n bit) hoặc nối tiếp (I2C, USB, Profi,…)
n IO Buses, Mem, CPU, Local Busesn Thành phần (physical lines/time sharing:
n Addressn Datan Control/Status/Handshake/datacheckn Power susply
2
2.2 Industry Small Architecture Busn ISA, 1984, IBM, PC-104 busn Để 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 transfersn 4,77=>8,33 MHz/11.1MHz =>
2.75MWps/5.5MWps max, DMA 16n Only 1 BusMaster, CPU hoặc DMAC, w AENn No data integrity, không kiểm tra parityn Dùng để ghép nối với các thiết bị chậm, kiểu ký tự:
keyboard, mouse,…
2.2 Industry Small Architecture Bus (tiếp)(http://pinouts.ru/Slots/ISA_pinout.shtml)
Hình: ISA Bus
3
2.2 USB
Hình: USB logo
2.2 USB (tiếp)
n Chia thành nhiều Tiers
n Các Tiers nối với các thiết bị: Hub hoặc chức năng
n Mỗi Tier cóHub(s)
Hình: USB topology
4
2.2 USB (tiếp)n Chỉ có một USB host (USB controller trong hện Devices, có 2 loại
n Hub, mở rộng thêm thiết bị nối vào USBn Các thiết bị chức năng JoyStick, KeyBoard, Printer,
Digital Camera,…n Các thiết bị chuẩn interface USB theo:
n USB Protocoln Chuẩn Hđ của USB: config và resetn Communication Standard
2.2 USB (tiếp)
n Thông số kỹ thuật:n 1.5Mbps – Low speed moade và 12 Mbps (Revision 1.1)n Nguồn cấp +5V, vài metren Power managementn Revision 2.0: 480Mbps
n Ưu điểm:n Tín hiệu vi sai phát/thu, bọc kim, chống nhiễun CRC Protection đối với data & control fieldsn 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ốngn TimeOut đối với trường hợp mất tin/gói tin lỗi
5
2.2 USB – connecter (tiếp)
2.2 USB – signal (tiếp)
Hình: Signal
6
2.2 USB – signal (tiếp)
Token Packet Format
Start-Of-Frame (SOF) Packet Format
Data Packet Format
Handshake Packet Format
2.3 Philips I2C Busn Dùng nhiều trong các hệ thống
nhúng (embeded system) như: mobil phone, TV, ATM,…
n Không cần dùng bus interface chip(s), built-inn Intergrated addressing & data transfer, cho phép
dùng phần mềm để định cấu hìnhn Đơn giản để ghép nối, nhiều µC hỗ trợ I2Cn Đơn giản tìm lỗi, khoanh cùng lỗi nhanhn 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
n Truyền đồng bộ, 100Kbps standard mode, 400Kps Fast mode, 3,4Mbps HiSpeed mode
7
2.3 Philips I2C Bus (tiếp)SCL SDA
Device_0
Device_2
Device_4
Device_6
Device_1
Device_3
Device_5
Hình: I2C Topology
2.3 Philips I2C Bus (tiếp)
Có thể có nhiều Masters, trong mộtthờ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
8
2.3 Philips I2C Bus (tiếp)
Hình: Start and stop
2.3 Philips I2C Bus (tiếp)
Hình: Data transfer
9
2.3 Philips I2C Bus (tiếp)
Hình: Open collecter
5V
2.3 Philips I2C Bus – một số chip(tiếp)n Atmega, PIC,…n EEPROM, RAM,…n RTC,…
10
Bài tập chương 2
1. Viết chương trình giả lập I2C
1
Chương 3: Digital Interface
n Parallel Interface
n Serial Interface
3.1 Parallel - principlen In/Out nhiều bit đồng thời, tốc độ nhanh nhưng
khoảng cách gầnn Một đầu IO
n Output Port: latched Output (chốt ra), D-Flip-Flopsn Unlatched In Input
2
3.1 Parallel - principlen D Flip – Flop (HC373, 374)
n Là một dãy những phần tử cơ bản của dãyn D – data, lưu trữ một bit số liệun 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 – principleD Flip – Flopn Output:
n Q - ứng với giá trị data input vào thời điểm có clockn /Q – đảo của Q.
n Inputn Data bit: 1 hoặc 0n 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ênn [Có th. có] clear – xóa; Preset – đặt trước
n Có 2 lo.i: Transparent (HC373) và Master-n Slave (HC374)
3
3.1 Parallel – principleD Flip – Flopn 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
n Read pin: (Input line– out “1” firstly)ReadPin = 0 (!) => open 3 state lower buffer => 1/0 from pin => data bus (i)
n ReadLatch (Reading bit out previously):ReadLatch = 0 (!) => open 3 state higher buffer => 1/0 from pin => data bus (i)
3.1 Parallel - principlen Ứng dụng ghép nối LED, DAC,…
Data U38
74LS374
D03
D14
D27
D38
D413
D514
D617
D718
OE1
CLK11
Q0 2
Q1 5
Q2 6
Q3 9
Q4 12
Q5 15
Q616
Q7 19
74LS02
2
31
+5V
IOWCS
Strobe
4
3.1 Parallel - principlen Ứng dụng ghép nối LED, DAC, ADC, …
3.1 Parallel - principlen Latched Input Port
n Unlatched Inportn Latched Inport
5
3.1 Parallel - principlen Output Port
3.1 Parallel - principlen Ghép nối PPI 8255 với PC qua ISA busn Addr: 300h-303h, Mode 0 all, PA & PC In, PB Out
6
3.1 Parallel - principlen Một cổng IOn 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 Cổng có tín hiệu bắt tay/trạng tháin Gủi một packet ra ngoại vi, cần đồng bộ giữa hai phían Peripheral chỉ đọc bộ đệm cổng khi có số liệu.
3.1 Parallel - LPTn Data port
n Out port: Gửi một byte ra cổngn Mov dx, 378hn Mov al, solieun Out dx, al
n In port: Đọc giá trị ở cổngn Mov dx, 378hn In al, dx
n Control Outport, chỉ dùng 4 bit: b0…b3n Gủi 4 bit
n Mov, dx, 37Ahn Mov al, controln Out dx, al
7
3.1 Parallel - LPTn Control Outport, chỉ dùng 4 bit: b0…b3
n Đọc 4 bitn Out dx, aln Mov, dx, 37Ahn Out al, dx
n Status Port: chỉ đọc trạng thái, unlatchedn Mov dx, 378hn In al, dx
3.1 Parallel - LEDn LED: Light Emitting
Dioden Color:
n Red, Green, Yellow,n Amber, R+Gn Infra Red, UVn LASER: Light
Amplification by Stimulated Emission of Radiation
n Blue, Cyan ...n Symbol &
characteristics
8
3.1 Parallel - LED n Package and Applications:
n Single point, status of devicesn 7 segment/ 16 segment, Arabian digit, charn Matrix 8x8 / 16 x 16, character box, graphics modules
n Ðộ 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)
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.
n TriColor: Red – Green – Blue => PWM driving => Fullcolor 16,7M colors (3 byte)
3.1 Parallel - LED
9
3.1 Parallel - LED 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 đốin Dòng thuận I, tư 10 đến 20mAn Điện áp thuận U, từ 1.6 đến 3.4Vn Tính R1 = (Vcc – U)/I.
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ù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
10
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 Chú ý:
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 Góc bố trí ngược sáng/thuận sángn View angle
3.1 Parallel - LED Kết nối LEDn 7406, ULN 2003... Open
Collectorn Inverter Buffer: upto
30V, 50-500mA;n Transistor npn: C945 –
khi outport = 1 => LED sáng
n Transistor pnp: A564,n khi outport=0 => LED n Môtl số outport cho phép
drive trực tiếp, sink/sourse upto 40mA
R
11
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?
12
3.1 Parallel - LED (7 seg)n Kết nối
3.1 Parallel - LED (7 seg)n Điều khiển LED
13
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 segn Muốn sáng (0, 1, … 9) => gửi mã 7 thanh qua các
anodesn 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ấtn 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 1 0 0 0 0
0 0 1 0 1 0 0 00 1 0 0 0 1 0 00 1 0 0 0 1 0 00 1 1 1 1 1 0 00 1 0 0 0 1 0 00 1 0 0 0 1 0 00 1 0 0 0 1 0 0
14
3.1 Parallel – LED (Matrix)n Có 8 hàng, 8 cộtn Đ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)n Kết nối LED
15
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;
elseRow_00[i] = (Row_00[i]>>1) & 0x7F;
}
if(tmp)Row_00[0] = (Row_00[0]>>1) | 0x80;
elseRow_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;
elseRow_00[row][i] = (Row_00[row][i]>>1);
}
if(tmp)Row_00[row][0] = (Row_00[row][0]>>1) | 0x80;
elseRow_00[row][0] = Row_00[row][0]>>1;
}
16
3.1 Parallel – LED (Matrix)#define LED_SCK PORTD.5#define LED_RCK PORTD.6#define LED_data PORTD.7#define TIME_595 20void 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);
}LED_RCK = 1;
}
3.1 Parallel – LED (LCD)
17
3.1 Parallel – LED (LCD)n Công nghệ LCD Liquid Crystal Display, hiện
text/graphicsn Độ phân giải
n 1 line x 16 character box, 5x7 (7x9) dot matrix/character box
n 2 line x 16 character boxn 4 line x 20 character boxn 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 - graphicsn 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)
18
3.1 Parallel – LED (LCD)
3.1 Parallel – LED (LCD)Read/Write LCD informationn 4 line x 20 column LCD => 80 char boxesn Write Addr Reg first (RS=0)n Write Data Reg after (RS=1)n MSB = 1 Address > 7Fh => control registersn Ví dụ một chu kỳ đọc/ghi LCD panel – 8 bit bus:
n E = 0n Phát địa chỉ tạo Chip Select và chọn Regn Tạo tín hiệu R/Wn E = 1, delay for 1 µs or moren E = 0n Data outn Disabling Addr, data, R/Wn E = 1.
19
3.1 Parallel – Encoder
3.1 Parallel – Encodern 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ị, robotn Công nghệ vật liệu từ - nam châm vĩnh cửu hoặc quang –
hồng ngoại/lasern Độ phân ly cao: upto 224 , chịu shock,..n Tốc độ upto 10k rpm, mômen cảm downto 10-3Nmn Output: các xung lệch nhau 900 (incremental), n bits
(absolute)n Tín hiệu ra TTL hoặc vi sai (truyền đi xa)n Manufacturers: Tamagawa Seiki, Hewlett-Packard,
Epson...
20
3.1 Parallel – Encoder
3.2 Serial in/out - Principlen Thông tin trong Hệ VXL/Máy tính: byte, word (//)n Khi truyền đi “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
n => Giảm chi chi phí, kích thước vs tốc độ chậmn Mô hình dưới:
CentralSystem
UART/SIO Modem
Coupler/Trans-
ReceiveTrans Line
21
3.2 Serial in/out - PrincipleSerial ports:n Nhiệm vụ/ chức năngn 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, RxDn 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 - PrincipleModem: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 Ví dụ: Converter/ driver: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ễun 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, …
22
3.2 Serial in/out - Principlen 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/75116n [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
tốc độn Thường dùng trong công nghiệp
n Current Sourcer – Nguồn dòng điện: 0 và 20 mA[hoặc 20 và 60 mA]n Chịu nhiễu tốtn Truyền đi xa, tùy thuộc vào R của dây dẫnn Thường có cách ly quang học
3.2 Serial in/out - Principlen RS 485 Bus
23
3.2 Serial in/out - Principlen ASK: Amplitude Shift Keying
n FSK: Frequency Shift Keying
n PSK: Phase Shift Keying
3.2 Serial in/out - Principlen 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
- package. => packetsn Đồng bộ:
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
24
3.2 Serial in/out - Principlen 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:
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 - Principlen Truyền tin không đồng bộ: Asynchronous Comm.
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ốin Đặ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,…
25
3.2 Serial in/out - Principlen Truyền tin không đồng bộ: Asynchronous Comm.
Talker Litsener
S1 S2
S1 S2
Simplex
Half duplex
[Full] duplex
3.2 Serial in/out - Principlen Truyền tin không đồng bộ: Asynchronous Comm.
26
3.2 Serial in/out - Principlen 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ạn2. Thiết kế mạch điều khiển 4 LED ma trận 8x83. Đo khoảng dịch chuyển, vận tốc (encoder)
1
Chương 4: 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 Overviewn 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)
n Xuất hiện liên tục trong khoảng thời gian t0 => t1
n Giá trị biến thiên liên tục trong khoảng biên độ từ A0 => A1, có thể đa trị.
A
A0
t0 t1 t
A1
0
2
4.1 Analog Signal Interface Overview
4.1 Analog Signal Interface Overview n Trong thực tế: Rời rạc hóan Trong Máy tính số, thông tin thu về:
n Rời rạc hóa về thời giann Rời rạc hóa về giá trị
n => Để máy tính thu thập, cần phải “rời rạc hóa”các tín hiệu về thời gian và giá trị, dùng thiết bịchuyển đổi ADC tạo ra các tín hiệu số, để:n Xử lý, cất vào kho số liệun Truyền đi xan Tái tạo lại hay tổng hợp tín hiệu: Dùng thiết bị DAC tạo
lại các tín hiệu analog
3
4.1 Analog Signal Interface Overview
Đối tượngvật lý,
công nghệ
ADC
DAC
CPU,Mem Storage
...
...
4.1 Analog Signal Interface Overview
4
4.1 Analog Signal Interface Overview n Process:
n Là các quá trình công nghệ như: dây chuyền làm giấy; phối-trộn-nghiền-nung => sản xuất cement; dây chuyềnluyện-nung-cán thép; sản xuất-trộn phân bón NPK, cácnhà máy điện,…
n Sensors:n Là vật liệu/thiết bị dùng để chuyển đổi các đại lượng vật
lý không điện tử (T, Ph,…) thành tín hiệu điện (u, I, R, f)n Vật liệu: do đặc tính tự nhiên của vật chất – ví dụ Pt100,
cặp nhiệt điện,…n Thiết bị: Có sự gia công, chế tác – ví dụ LM35,…
n Conditioners:n Vì tín hiệu từ Sensors rất nhỏ, có thể có nhiễu và phi
tuyến => có mạch điện từ analog để xử lý tín hiệu: khuếchđại, lọc nhiễu, bù phi tuyến,… cho phù hợp.
4.1 Analog Signal Interface Overview n MUX: analog multiplexern Trích mẫu và giữ - Sample & Holdn ADC: analog to digital convertor:n Central system: hệ nhúng/MT:n DAC: digital to analog convertorn Mạch điện tử analogn Actuators: Cơ cấu chấp hành
5
4.2 Analog Electronics - Conditionern Operational Amplifiers - OpAmps – khuếch đại
thuật toán để tạo các bọ conditioners – chuẩn hóatín hiệu
n Analog Switches & Analog Multiplexersn Reference Voltage Sourcers – nguồn áp chuẩnn Sample & Hold – Trích mẫu và giữn Converssion Errors – Sai số chuyển đổin …
4.2 Analog Electronics - OPAMPn Là vi mạch khuếch đại, xử lý tín hiệu từ 0Hzn Tín hiệu gồm:
n 2 chân tín hiệu Inv.Inp và Non Inv.Inpn Chân outputn Nguồn cấp: +Vcc, -Vcc (GND)n Chỉnh offsetn Có thêm chân nối tụ để bù tần số
6
4.2 Analog Electronics - OPAMPn Xử lý tín hiệu DC (0Hx up)n Hệ số khuếch đại lớn, từ kilo…Mega…and even
more…n Trở vào lớn vài KΩ đến 1012Ω, trở ra nhỏ, tốt cho
các mạch ghép nối analog, phối hợp trở kháng.
E1
r1
E2
r2
LOADRin
4.2 Analog Electronics - OPAMPn Comparator
7
4.2 Analog Electronics - OPAMPn NON Inverting Amp
4.2 Analog Electronics - OPAMPn Inverting Amp
8
4.2 Analog Electronics - OPAMPn Adder (Mixer)
4.2 Analog Electronics - OPAMPn Differential
9
4.2 Analog Electronics - OPAMPn Instrumentation
4.2 Analog Electronics - OPAMPn Integrator
10
4.2 Analog Electronics - OPAMPn Differentiator
4.2 Analog Electronics - OPAMPn Follower
Uout = Uin
11
4.2 Analog Electronics - OPAMPn I/U converter
4.2 Analog Electronics - OPAMPMột số lưu ý khi dùngn 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ầnn Điện trở vào giảm bấy nhiêu lầnn Độ ổn định của mạch giảm: trôi zero theo thời gian, nhiệt độ, …
12
4.3 Digital to Analog Converters n Digital to Analog: số => tín hiệu dòng điện/điện
áp, liên tục về thời gian, rời rạc về giá trị.n Phân loại:
n Công nghệ chế tạon 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 bitn 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 Ứng dụng
n Tổng hợp tín hiệun Đàn Organn Phát tín hiệu chuẩnn Voice chip
n VGA/SVGA: RAM-DACn 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 Setpointn Bộ nhân tín hiệu analog – 4 góc: nhân hệ số với Uin
thay cho Uref
13
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ệnn Đơn giảnn Chính xác caon Chuyển đổi nhanhn Rẻn Trên thị trường dùng phương pháp này
14
4.3 Digital to Analog Converters R-2R Ladder DAC:n Mạng R-2R nối kiểu cây nhị phânn 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 = ?
15
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ế
16
4.3 Digital to Analog Converters R-2R Ladder DAC, tham khảon 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, 100nsn DAC0800 - signed voltage output, 8 bit, 100nsn 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
17
4.3 Digital to Analog Converters R-2R Ladder DAC
4.3 Analog to Digital Convertorsn 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 giann Rời rạc hóa tín hiệu về biên độ
n Phân loại:n Theo từng ứng dụng: ADC để xử lý tín hiệu và đon Chuyển đổi gián tiếp: u(t) => time (đại lượng trung gian) => coden Chuyển đổi trực tiếp: u(t) => coden Chuyển đổi phi tuyến: CODE (TP3057 – Mitel hay AC’97 Intel)
18
4.3 Analog to Digital Convertorsn Chuyển đổi gián tiếp: Tích phân hai sườn dốc
n u(t) => Time Interval/f/T => coden Chậm, rẻ tiền ($s), độ phân ly và chính xác caon 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ễun Chuyển đổi trực tiếp: u(t) => code
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 … 10MSpsn Chuyển đổi song song: 10M … 500 MSps
4.3 Analog to Digital Convertorsn Chuyển đổi gián tiếp: Tích phân hai sườn dốc
n u(t) => Time Interval/f/T => coden Chậm, rẻ tiền ($s), độ phân ly và chính xác caon 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ễun Chuyển đổi trực tiếp: u(t) => code
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 … 10MSpsn Chuyển đổi song song: 10M … 500 MSps
19
4.3 Analog to Digital Convertorsn Ðịnh lý lấy mẫu Shannon - Kochennicov:
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ý này có tính pháp lýn Để kỹ sư hiểu số mẫu tối thiểu bao nhiêu là đủ,
không quá dày => lãng phí (tốc độ ADC, thời gian xử lý, bộ nhớ); lấy thưa thì sẽ bị sai
4.3 Analog to Digital Convertorsn Dual Slope Integration ADC:
20
4.3 Analog to Digital Convertorsn Successive Approximation ADC:
4.3 Analog to Digital Convertorsn Successive Approximation ADC, ICs:n ICL 7107
n In: -2V..2V, Out: -1999 => 1999, 4.000 counts <=> 12 bit,n LED 7 Seg drive directly w current soursers for displayn Converssion time: 20..40ms
n ICL 7135n Inp: -0.2V… +02.V ho.c -2V..+2V, 40.000 count > 15bit,
Out: -19999 => +19999, 400 ms converssion timen De-Multiplexed Out BCD for 5 digits of 7 Seg, scanned
n ICL 7109, w REF & Clockn Inp: -2V..+2V, Out: 12 bin + pole, 8/16 bit interface to CS
21
4.3 Analog to Digital Convertorsn Interfacing to the ICL - 7135 ADC:
4.3 Analog to Digital Convertorsn Successive Approximation ADC:
22
Bài tập1. Viết chương trình tạo các tín hiệu cơ bản (vuông, răng
cưa, sin, tam giác,…)
2. Giả lập DAC bằng phần mềm.
3. Thiết kế mạch đo nhiệt độ
4. …
1
Chương 6: Bàn phím
n Keypad
n Keyboard
6.1 Keypad – bàn phím 4x4
S932
K3
S921
K5
S934
S922 S924
S902
S913
S933
S901K2
S911
S903
S914
K6
K7
S904K0
K4
S912
S931
K1
S923
2
6.1 Keypad – bàn phím 4x4n Đọc bàn phím
n Quét vòng?n Sử dụng ngắt?
n Chống rungn Kiểm tra thời gian của bit trạng thái (0 or 1) đủ “dài”n Dùng tụ để lọc nhiễu đầu vào
6.1 Keypad – bàn phím 4x4
3
6.1 Keypad – bàn phím 4x4#define keypad_out PORTA#define keypad_in PINAflash char row[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);
elsekey = 0;
6.1 Keypad – bàn phím 4x4
4
6.1 Keypad – Resistor matrix & ADC
If the key "5" is pressed, a voltage divider gets active:
* 1 k + 820 Ω = 1,82k to ground,
* 3,3 k + 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 KeyboardAT keyboard goàm moät ma traän lôùn caùc phím, taát caûñöôïc giaùm saùt bôûi moät boä xöû lyù on-board. Boä xöû lyùkhaùc bieät nhau töø baøn phím naøy ñeán baøn phímkhaùc( chip thoâng duïng goàm 8048, 8049, 6868 vaø6805) nhöng taát chuùng cô baûn laøm gioáng moät vieäc : Giaùm saùt nhöõng phím ñöôïc nhaán / thaû vaø gôûi döõlieäu töông xöùng tôùi maùy chuû. Boä xöû lyù naøy chaêmsoùc taát caû döõ lieäu ra vaø ñeäm baát cöù döõ lieäu naøo vaøoboä ñeäm 16-byte cuûa noù neáu caàn. Taát caû vieäc giaotieáp giöõa maùy chuû vaø baøn phím duøng PS/2 protocol.
5
6.2 Keyboard – PC Keyboard
6.2 Keyboard – PC Keyboardn The keyboard sends data to the host in 11-bit words
n Contain a ‘0’ start bit, followed by 8-bits of scan code (LSB first), followed by an odd parity bit and terminated with a ‘1’ stop bit.
n The keyboard generates 11 clock transitions (at around 20 - 30KHz) when the data is sent, and data is valid on the falling edge of the clock.
6
6.2 Keyboard – PC KeyboardKeyboard to Host
Host to Keyboard