Bài giảng Thiết kế board giao tiếp

AT keyboard gồm một ma trận lớn các phím, tấ t cả được giám sá t bở i mộ t bộ xử lý on-board. Bộ xử lý khác biệt nhau từ bàn phím này đến bàn phím khác( chip thông dụng gồm 8048, 8049,6868 và 6805) nhưng tất chúng cơ bản làm giống một việc : Giám sá t những phím được nhấn / thả và gởi dữ liệu tương xứng tới máy chủ. Bộ xử lý nà y chăm sóc tất cả dữ liệu ra và đệm bất cứ dữ liệ u nào vào bộ đệm 16-byte của nó nếu cần. Tất cả việc giao tiếp giữ a máy chủ và bàn phím dùng PS/2 protocol.

pdf75 trang | Chia sẻ: aloso | Lượt xem: 2067 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Thiết kế board giao tiếp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1MƠN HỌC Thiết kế board giao tiếp (Interface Board Design) By Trần Văn Hùng Mechatronics Dept Email: tvh42th@gmail.com 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 2Nội dung chương trình n Ch01: Giao thức ghép nối n Ch02: Giao diện bus n Ch03: Giao diện số n Ch04: Giao diện tương tự n Ch05: Vi điều khiển n Ch06: Bàn phím Các bài tố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 khố đ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. 1Chươ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 số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: nAnalog/Digital nDigital: 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 21.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 signals n Status signals n 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 31.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/I n Direction: In/Out, chú ý về chiều của dịng điện n Voltage/Current/Optical/Wave n Chú ý Input Voltage nMứ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) 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,… + - A C B Đơn cực Đơn cực Vc = k(Va – Vb) 41.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) MCU OutportBuffer LEDR 5V 5V Sourse LEDR Sink Hình: Sink Sourse connection 51.1 Tín hiệu (tiếp) Hình: Open collecter 5V 1.1 Tín hiệu (tiếp) n Connecter n D shell: DB9, DB25,… n DIN n Cable 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 Hình: Connecter 61.2 Format n 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ền n ASCII: 3 characters: Dễ quản lý, kiểm số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 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 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 = 0 n 5/6/7/8 data bit, D0 first n [parity: Even/odd] n 1/1.5/2 stop bit = 1 CRC16DataPID 8 bits 0 – 1023 bytes 16bits Hình: USB data packet format 71.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ơn 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: bandwidth, P/N: tỷ số cơng suất tín hiệu/nhiễu 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 sốt lỗi n 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 byte 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 CRC, ECC,… vi mạch/software – subroutine n Parity, 1 hoặc 2 chiều n Redundancy (RAID), thừa dư 81.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) 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 set n Tập hợp các trả lời, trạng thái – result/response/reaction set n Data down/up n Symtax of command and response (structure and grammar) 1.6 Kịch bản n Liệt kê các trường hợp rồi cĩ thể áp các phép tố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 Timeout n … t Hình: Scenario Chart Master Slave ACK ACK NACK 9Ví 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ậ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 đồ). 1Chươ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ố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 n Bus song song (n bit) hoặc nối tiếp (I2C, USB, Profi,…) n IO Buses, Mem, CPU, Local Buses n Thành phần (physical lines/time sharing: n Address n Data n Control/Status/Handshake/datacheck n Power susply 22.2 Industry 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 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ự: keyboard, mouse,… 2.2 Industry Small Architecture Bus (tiếp) ( Hình: ISA Bus 32.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 42.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 USB n 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 Protocol n Chuẩn Hđ của USB: config và reset n 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 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 52.2 USB – connecter (tiếp) 2.2 USB – signal (tiếp) Hình: Signal 62.2 USB – signal (tiếp) Token Packet Format Start-Of-Frame (SOF) Packet Format Data Packet Format Handshake Packet Format 2.3 Philips I2C Bus n 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-in n Intergrated addressing & data transfer, cho phép dùng phần mềm để định cấu hình 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 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 72.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ộ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 82.3 Philips I2C Bus (tiếp) Hình: Start and stop 2.3 Philips I2C Bus (tiếp) Hình: Data transfer 92.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 1Chương 3: Digital Interface n Parallel Interface n Serial Interface 3.1 Parallel - principle n In/Out nhiều bit đồng thời, tốc độ nhanh nhưng khoảng cách gần n Một đầu IO n Output Port: latched Output (chốt ra), D-Flip-Flops n Unlatched In Input 23.1 Parallel - principle n D Flip – Flop (HC373, 374) 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 Input 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) 33.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 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 - principle n Ứng dụng ghép nối LED, DAC,… Data U38 74LS374 D03 D14 D27 D38 D413 D514 D6 17 D718 OE 1 CLK11 Q0 2 Q1 5 Q2 6 Q3 9 Q4 12 Q5 15 Q6 16 Q7 19 74LS02 2 3 1 +5V IOW CS Strobe 43.1 Parallel - principle n Ứng dụng ghép nối LED, DAC, ADC, … 3.1 Parallel - principle n Latched Input Port n Unlatched Inport n Latched Inport 53.1 Parallel - principle n Output Port 3.1 Parallel - principle 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 63.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 Cổng cĩ tín hiệu bắt tay/trạng thái 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 Control Outport, chỉ dùng 4 bit: b0…b3 n Gủi 4 bit n Mov, dx, 37Ah n Mov al, control n Out dx, al 73.1 Parallel - LPT n Control Outport, chỉ dùng 4 bit: b0…b3 n Đọc 4 bit n Out dx, al n Mov, dx, 37Ah n Out al, dx n Status Port: chỉ đọc trạng thái, unlatched n Mov dx, 378h n In al, dx 3.1 Parallel - LED n LED: Light Emitting 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 Symbol & characteristics 83.1 Parallel - LED n Package and Applications: 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 Ðộ 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 93.1 Parallel - LED n Tính tố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. 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 tồ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 tố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 tồ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áng n View angle 3.1 Parallel - LED Kết nối LED n 7406, ULN 2003... Open Collector n 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 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 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 14 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) 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; 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); } if(tmp) Row_00[row][0] = (Row_00[row][0]>>1) | 0x80; else Row_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 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); } 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/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) 18 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. 19 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,.. n Tốc độ upto 10k rpm, mơmen cảm downto 10-3Nm n 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 - 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 đườ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ậm n Mơ hình dưới: Central System UART/ SIO Modem Coupler/ Trans- Receive Trans Line 21 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 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ễ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, … 22 3.2 Serial in/out - Principle 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)] '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ố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 RS 485 Bus 23 3.2 Serial in/out - Principle n ASK: Amplitude Shift Keying n FSK: Frequency Shift Keying n PSK: Phase Shift Keying 3.2 Serial in/out - Principle 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 - package. => packets n Đồ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 - 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: 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 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,… 25 3.2 Serial in/out - Principle n 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 - Principle n Truyền tin khơng đồng bộ: Asynchronous Comm. 26 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) 1Chươ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 Overview 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) 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 24.1 Analog Signal Interface Overview 4.1 Analog Signal Interface Overview n Trong thực tế: Rời rạc hĩa n Trong Máy tính số, thơng tin thu về: n Rời rạc hĩa về thời gian n 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ệu n Truyền đi xa n 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 34.1 Analog Signal Interface Overview Đối tượng vật lý, cơng nghệ ADC DAC CPU, Mem Storage ... ... 4.1 Analog Signal Interface Overview 44.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ền luyện-nung-cán thép; sản xuất-trộn phân bĩn NPK, các nhà 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 multiplexer n Trích mẫu và 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ấu chấp hành 54.2 Analog Electronics - Conditioner n Operational Amplifiers - OpAmps – khuếch đại thuật tốn để tạo các bọ conditioners – chuẩn hĩa tín hiệu n Analog Switches & Analog Multiplexers n Reference Voltage Sourcers – nguồn áp chuẩn n Sample & Hold – Trích mẫu và giữ n Converssion Errors – Sai số chuyển đổi n … 4.2 Analog Electronics - OPAMP n Là vi mạch khuếch đại, xử lý tín hiệu từ 0Hz n Tín hiệu gồm: n 2 chân tín hiệu Inv.Inp và Non Inv.Inp n Chân output n Nguồn cấp: +Vcc, -Vcc (GND) n Chỉnh offset n Cĩ thêm chân nối tụ để bù tần số 64.2 Analog Electronics - OPAMP n 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 - OPAMP n Comparator 74.2 Analog Electronics - OPAMP n NON Inverting Amp 4.2 Analog Electronics - OPAMP n Inverting Amp 84.2 Analog Electronics - OPAMP n Adder (Mixer) 4.2 Analog Electronics - OPAMP n Differential 94.2 Analog Electronics - OPAMP n Instrumentation 4.2 Analog Electronics - OPAMP n Integrator 10 4.2 Analog Electronics - OPAMP n Differentiator 4.2 Analog Electronics - OPAMP n Follower Uout = Uin 11 4.2 Analog Electronics - OPAMP n I/U converter 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 số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 độ, … 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ạ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 Ứng dụng 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 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ện 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 14 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 = ? 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ả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 17 4.3 Digital to Analog Converters R-2R Ladder DAC 4.3 Analog to Digital Convertors 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 độ n Phân loại: n Theo từng ứng dụng: ADC để xử lý tín hiệu và đo 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) 18 4.3 Analog to Digital Convertors n Chuyển đổi gián tiếp: Tích phân hai sườn dốc 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 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 … 10MSps n Chuyển đổi song song: 10M … 500 MSps 4.3 Analog to Digital Convertors n Chuyển đổi gián tiếp: Tích phân hai sườn dốc 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 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 … 10MSps n Chuyển đổi song song: 10M … 500 MSps 19 4.3 Analog to Digital Convertors n Ðị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 Convertors n Dual Slope Integration ADC: 20 4.3 Analog to Digital Convertors n Successive Approximation ADC: 4.3 Analog to Digital Convertors n 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 display n Converssion time: 20..40ms n ICL 7135 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 7109, w REF & Clock n Inp: -2V..+2V, Out: 12 bin + pole, 8/16 bit interface to CS 21 4.3 Analog to Digital Convertors n Interfacing to the ICL - 7135 ADC: 4.3 Analog to Digital Convertors n Successive Approximation ADC: 22 Bài tập 1. 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. … 1Chươ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 S901 K2 S911 S903 S914 K6 K7 S904 K0 K4 S912 S931 K1 S923 26.1 Keypad – bàn phím 4x4 n Đọc bàn phím n Quét vịng? n Sử dụng ngắt? n Chống rung n 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 36.1 Keypad – bàn phím 4x4 #define keypad_out PORTA #define keypad_in PINA flash 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); else key = 0; 6.1 Keypad – bàn phím 4x4 46.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 Keyboard AT keyboard gồm một ma trận lớn các phím, tất cả được giám sát bởi một bộ xử lý on-board. Bộ xử lý khác biệt nhau từ bàn phím này đến bàn phím khác( chip thông dụng gồm 8048, 8049, 6868 và 6805) nhưng tất chúng cơ bản làm giống một việc : Giám sát những phím được nhấn / thả và gởi dữ liệu tương xứng tới máy chủ. Bộ xử lý này chăm sóc tất cả dữ liệu ra và đệm bất cứ dữ liệu nào vào bộ đệm 16-byte của nó nếu cần. Tất cả việc giao tiếp giữa máy chủ và bàn phím dùng PS/2 protocol. 56.2 Keyboard – PC Keyboard 6.2 Keyboard – PC Keyboard n 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. 66.2 Keyboard – PC Keyboard Keyboard to Host Host to Keyboard

Các file đính kèm theo tài liệu này:

  • pdfThiết kế board giao tiếp(Interface Board Design).pdf