Ôn tập thiết bị ngoại vi

pdf 67 trang hapham 2380
Bạn đang xem 20 trang mẫu của tài liệu "Ôn tập thiết bị ngoại vi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfon_tap_thiet_bi_ngoai_vi.pdf

Nội dung text: Ôn tập thiết bị ngoại vi

  1.  ÔN TẬP THIẾT BỊ NGOẠI VI
  2. ÔN TẬP TBNV Chương 0. Interface 0.1 Interface là gì, bao gồm những công việc gì ? * Interface là giao diện ghép nối giữa hai thiết bị, giữa hai chương trình ứng dụng hay giữa người sử dụng và các chương trình ứng dụng. Nguyên nhân : là do sự khác nhau giữa hệ thống trung tâm và thế giới rộng lớn bên ngoài về : tốc độ làm việc, mức tín hiệu, không đồng bộ * Interface bao gồm : + Thiết bị : - Ports: ghép nối với các thiết bị máy tính hóa : mouse, printer, - Controller : ghép nối với các thiết bị chuyên dùng : FDC, HDC, CRTC, - Converter : chuyển đồi tín hiệu số thành tương tự và ngược lại : sound card, + Chương trình điều khiển - Liên kết các chương trình hệ thống và/ hoặc chương trình ứng dụng với phần cứng vào ra (SPIs và APIs) - Các hàm của thiết bị, BIOS, OS hoặc theo ứng dụng: SLLs, DLLs, DRVs, 0.2 Mô hình ghép nối hiện đại ? Các TBNV hiện đại theo mô hình sau : các thiết bị ghép qua USB, IEEE 1394, và các bus vào ra hiện đại khác 1
  3. Chương 1. Kiến trúc hệ VXL-MT. 1.1. Nêu các chu kỳ bus của CPU và DMAC, các chu kỳ bus nào thường dành để, ghép nối thiết bị ngoại vi, cho ví dụ cụ thể ? a. Chu kì Bus * Có 8 chu kì bus của CPU - M1, opcode fetching : Add -> Program mem, -MEMR. - Data mem Reading : Add -> Data mem, -MEMR - Data mem Writing : Add -> Data mem, -MEMW - IO Port Reading : Add -> IO space, -IOR - IO Port Writing : Add -> IO space, -IOW - Interrupt Acknowledge, -INTA : CPU phát tín hiệu INTA, để thiết lập ưu tiên. - Halt, waiting for Ext. Intr. hoặc reset - Bus Idle :bus nghỉ * Có 2 chu kì bus của DMA -IOR-MemW và MemR-IOW . b. Các chu kì bus thường dành để ghép nối TBNV Có 4 chu kì - IO Port Reading : đọc cổng vào ra - IO Port Writing : ghi cổng vào ra. - Interrupt Acknowledge,INTA : CPU phát tín hiệu INTA, để thiết lập ưu tiên. - Halt, waiting for Ext, Intr hoặc reset c. Ví dụ chu kì DMAC trao đổi cả mảng dữ liệu MemR-IOW. - CPU phải ghi từ điều khiển và từ chế độ làm việc vào DMAC để quy định cách thức làm việc. - Khi TBNV có yêu cầu trao đổi dữ liệu, nó gửi DRQ=1 đến DMAC. - DMAC đưa tín hiệu HRQ đến chân HOLD của CPU để yêu cầu treo CPU. Tín hiệu HOLD phải ở mức cao cho đến khi hết quá trình trao đổi dữ liệu. - Nhận được yêu cầu treo, CPU kết thúc chu kì bus hiện tại, sau đó treo các bus của mình, và đưa tín hiệu HLDA báo cho DMAC biết được toàn quyền sử dụng bus. - DMAC đưa xung DACK báo cho TBNV biết có thể bắt đầu trao đổi dữ liệu. - DMAC đưa địa chỉ của byte đầu ra bus địa chỉ và đưa tín hiệu MemR=0 để đọc 1 byte từ bộ nhớ ra bus dữ liệu. Tiếp đó DMAC đưa tín hiệu IOW=0 để ghi dữ liệu ra TBNV. DMAC sau đó giảm bộ đếm số byte, cập nhật lại địa chỉ byte cần đọc tiếp và lặp cho đến khi hết số đếm TC. 2
  4. 1.2. Khái niệm. chế độ hoạt động wait state, vẽ các biểu đồ thời gian để minh hoạ. ? a.K/n wait state - Th−êng dïng ®Ó ghÐp nèi : bé nhí, TBNV tèc ®é chËm. - Khi Bus Master ph¸t ®Þa chØ vµ tÝn hiÖu ®äc/ghi (thªm c¸c tÝn hiÖu kh¸c ) ®Ó thùc hiÖn 1 chu k× bus, MMU/IO Port (Controller) chñ ®éng ph¸t tÝn hiÖu Ready = 0 víi môc ®Ých yªu cÇu Bus Master gi÷ nguyªn tr¹ng th¸i bus thªm mét/vµi nhÞp Clock ®Ó chóng cã thêi gian hoµn tÊt viÖc ®äc/ ghi. Sù chÌn thªm c¸c kho¶ng wait nµy gióp cho VXL cã thÓ ®ång bé vÒ thêi gian so víi c¸c thiÕt bÞ ngo¹i vi chËm. b. BiÓu ®å Chu kú T1: ALE=1 ®Ó chèt lÊy ®Þa chØ bé nhí hay TBNV ®−a ra c¸c ®−êng ®Þa chØ. Chu kú T2: §−a ra c¸c tÝn hiÖu ®iÒu khتn ®äc/ghi vµ c¸c d÷ liÖu lªn c¸c ®−êng d÷ liÖu. Cuèi T2, sÏ kiÓm tra tÝn hiÖu ready cña MMU hay IO port. Chu kú T3: thêi gian dµnh cho TBNV hay mem ®äc ghi d÷ liÖu. nÕu sau T2, ph¸t hiÖn tÝn hiÖu Ready=0 th× sÏ chÌn vµo sau T3 mét kho¶ng TW ®Ó kÐo dµi thêi gian chê ®äc ghi. Sau ®ã l¹i tiÐp tôc theo dâi tÝn hiÖu Ready. Chu kú T4: C¸c tÝn hiÖu bus ®−îc gi¶i ho¹t, chuÈn bÞ cho mét chu kú bus míi. 1.3 Xây dựng sơ đồ mạch và đồ thị thời gian để tạo ra 01 ws cho ISA bus. ( chương 4). 3
  5. Chương 2. Interface Protocols 2.1. Giao thức ghép nối là gì? Khi thực hiện ghép nối cần các loại thông thông tin gì (tóm tắt) ? Phân nhóm các lớp (theo 2 nhóm chính). a. Giao thức: Là các quy định về - Tín hiệu (signals). - Định dạng dữ liệu (data format). - Tốc độ (Rate). - Phát hiện và sửa lỗi (error detective and correct). - Tập lệnh và tương tác ( command and respondse set) - Kịch bản ( scenario). b. Phân loại Theo mô hình ISO 7 lớp có thể phân thành hai nhóm chính + Các giao thức hướng truyền tin (Transport Oriented Protocols ) : - Physical ( wire, cable, connector, port). - Data link (CRC, CS, token). - Network (Comm, 2 network). - Transport( Err- protected raw infor). + Các giao thức hướng ứng dụng ( Application Oriented Protocols). - Seasion ( Opening, End). - Presentation (Common language) - Application ( Read/Write, Start/Stop, File Transfer). c. Khi thực hiện ghép nối cần chú ý cá tín hiệu + Thiết bị thông minh ? + Hơn 1 thiết bị ? -> bus/ mạng hay không ? -> dung bít( trường ) địa chỉ -Nếu dùng bus > standard bus hay không ? tại sao ? +Data : Xa/ gần , nhanh/ chậm -> serial/ parallent Xa : Daisy chain cho tín hiệu hoặc nguồn cấp + Các tín hiệu điều khiển và trạng thái - Control signals - Status signals - Handshaking signal - Analog/ Digital - Daisy chain. 4
  6. 2.2. Khái niệm về hand shaking signal, cho ví dụ.? a. Kh¸i niÖm Lµ thñ tôc x¶y ra vµo lóc më ®Çu hay kÕt thóc 1 lÇn ghÐp nèi, dïng tÝn hiÖu phÇn cøng hay c¸c kÝ tù ®Ó ®µm ph¸n. * C¸c ký tù b¾t tay(Handshaking Signals): RTS : Request To Send CTS : Clear To Send DTR : Data Terminal ready DSR : Data Set Ready RI : Ring Indication CD : Carrier Detect b.VÝ dô: PC-LPT handshaking: PC Comm-Modem handshaking 5
  7. 2.3. So sánh single end và differential, cho ví dụ ứng dụng.? a. TÝn hiÖu single end (®¬n cùc) Lµ tÝn hiÖu lµ ®iÖn thÕ so víi mét ®iÖn thÕ chuÈn nµo ®ã, th−êng lµ Gnd. * VÝ dô : - C¸c tÝn hiÖu trªn bus : data, address, control, RS232 - Cã n tÝn hiÖu -> cã n+1 d©y dÉn. * Nh¹y c¶m víi nhiÔu b.TÝn hiÖu diffrential (vi sai) Lµ hiÖu hai tÝn hiÖu tõ cæng m¸y tÝnh vµ TBNV. Tõ tÝn hiÖu ®¬n cùc qua bé biÕn ®æi thµnh 2 ®iÖn thÕ A,B. Qua hÖ trung t©m l¹i ®−îc biÕn ®æi l¹i thµnh ®¬n cùc. C¨n cø vµo VA-VB ta x¸c ®Þnh ®iÖn ¸p. VA-VB >= 100mV Æ bÝt 1 (møc logic) n tÝn hiÖu cÇn 2n d©y dÉn - Khi thu mäi thµnh phÇn gièng nhau trªn hai sîi d©y ®−îc lo¹i trõ -> chÞu ®−¬c nhiÔu tèt - Dïng víi kho¶ng c¸ch lín, tèc ®é cao, nguîc so víi ®¬n cùc. - Cã thÓ dïng d©y kh«ng bäc kim. * VÝ dô - RS232 (®¬n cùc ) : 9600bps ë kho¶ng c¸ch 100 feet (Mouse) - RS485 (vi sai) : 1 Mbps ë kho¶ng c¸ch 5000 feet ( USB) 2.4. Khi ghép nối trực tiếp với bus, các cổng In hoặc Out cần phải có cấu trúc (chức năng) như thế nào? vì sao? 2.5. Yêu cầu của các mạch ghép nối có khả năng thực hiện kiểu hot pluggible. - Yªu cÇu tÝn hiÖu chÆt chÏ, tÝn hiÖu kh«ng ®−îc chËp m¹ch - Yªu cÇu vÒ nguån cung cÊp: + Khi c¾m thiÕt bÞ vµo th× nguån ph¶i cã tr−íc + Khi rót thiÕt bÞ ra th× nguån ph¶i rót sau - Khi c¾m rót, tÝn hiÖu ph¶i ë tr¹ng th¸i trë kh¸ng cao HiZ. - Khi c¾m vµo ®−êng bus råi th× CPU cã thÓ më lµ duy nhÊt. 2.6. Khi nào thường dùng ghép nối cách ly? nêu các kiểu cách ly và đặc điểm mỗi loại. a. GhÐp nèi c¸ch ly GhÐp nèi c¸ch ly nh»m ng¨n ngõa sù rß rØ ®iÖn thÕ cao so víi hÖ trung t©m. Sö dông ghÐp nèi c¸ch ly th−êng trong c¸c tr−êng hîp cã sù kh¸c nhau vÒ - møc dßng ¸p, hiÖu ®iÖn thÕ(xoay chiÒu, mét chiÒu) - c«ng suÊt gi÷a tÝn hiÖu vµo vµ tÝn hiÖu ra - gi÷a 2 m«i tr−êng - ®èi t−îng c¸ch m¸y tÝnh kho¶ng 50m mµ hay bÞ sÐt. Nhê c¸ch ghÐp nèi nµy mµ ®é an toµn cña thiÕt bÞ ®−îc ®¶m b¶o. 6
  8. VÝ dô: s¬ ®å c¸ch ly quang häc ®èi víi In/ out. b. Ph©n lo¹i Tuú theo dßng tÝn hiÖu vµo, ®é chªnh lÖch ®iÖn thÕ gi÷a Vcc víi ®iÖn thÕ ®Çu vµo In (nh¸nh cã ®ièt) sÏ lµm cho ®ièt s¸ng hoÆc tèi. NÕu ®ièt s¸ng, ta sÏ thu ®−îc dßng ®iÖn ë nh¸nh kia. C¸c kiÓu c¸ch ly - Relay: t−¬ng tù c«ng t¾c ®iÖn, dïng khi ko cÇn ®iÖn thÕ cao - Opto Coupler => ®Ó ghÐp c¸c thiÕt bÞ tin häc c«ng nghiÖp, ®iÖn thÕ cao, c«ng suÊt lín. - IrLED 2.7 Nèi tÝn hiÖu kiÓu daisy chain : cÊu tróc vµ ®Æc ®iÓm ? a. CÊu tróc Lµ ph−¬ng ph¸p trao ®æi th«ng tin trong hÖ thèng cã nhiÒu th«ng tin. C¸c thiÕt bÞ ®−îc nèi däc víi nhau theo chuçi c¸nh hoa b. §Æc ®iÓm - Nèi c¸c thiÕt bÞ cã kho¶ng c¸ch tõ vµi ®Õn vµi chôc m, ®Çu ra cña port (module) thø n nèi vãi ®Çu vµo cña n+1. - Kh«ng nèi vßng ( ®Çu ra cña port cuèi cïng kh«ng ph¶i ®Çu vµo cæng ®Çu tiªn) c. Ứng dụng - Dïng cho tÝn hiÖu ( song song vµ nèi tiÕp), nguån cung cÊp, handshake - Dïng ®Ó ghÐp nèi nhiÒu module vµ cã kho¶ng c¸ch kh¸ lín, tÝn hiÖu ®−îc lÆp l¹i th«ng qua c¸c module trung gian. 2.8. Gói tin là gì? Cấu trúc bao gồm thành phần gì? Vì sao phải 'đóng gói' số liệu? nêu 01 ví dụ đóng gói số liệu chuẩn mà bạn biết.? Gói tin Là một khối (block) định dạng của thông tin dùng trong truyền tải thông tin, thường dùng là trong mạng máy tính. Các kiểu truyền dữ liệu không theo định dạng gói tín là: truyền từng bit, byte, kí tự Ph¶i ®ãng gãi v×: Khi truyÒn trªn mét ®−êng truyÒn vËt lÝ, ®ãng gãi d÷ liÖu sÏ lµm tèc ®é truyÒn nhanh hn, kiÓm so¸t lçi truyÒn tèt h¬n so víi khèi d÷ liÖu kh«ng cã ®iÓm kÕt thóc CÊu tróc: 7
  9. Gåm 3 phÇn chÝnh: + Header: Th−êng lµ ID cña gãi tin, ko mang tin. Cã thÓ cã tªn b¶n tin, tªn gãi, stt, ký tù b¾t tay, ký tù ®ång bé, sè ktù/byte trong gãi . + Content: Néi dung tin – mang th«ng tin. + Tailer: M· b¾t tay kÕt thóc ,cã thÓ cã m· kiÓm tra lçi, kh«ng mang tin. VÝ dô chuÈn: VÝ dô 1. VÝ dô2: Frame truyÒn kh«ng ®ång bé Start(1 bÝt) Data(5/6/7/8 bits) Parity Stop(1[1.5/2]bits) 2.9 Công thức Shannon xác định tốc độ cho đường truyền ? Shannon chỉ ra rằng dung lượng của một kênh truyền có nhiễu được cho bởi công thức sau: C=BW.log2(1+S/N) C-Dung lượng của kênh truyền(Kbps) BW-băng thông S-biên độ của tín hiệu ở thiết bị phát N-biên độ của nhiễu nhận ở đích S/N bằng tỷ số công suất tín hiệu/ nhiễu - Do đó, kênh điện thoại với băng thông BW=3 kHz và S/N=1000 có dung lượng khoảng 30000 bps. - Băng thông của một cặp dây xoắn là 4 kHz, gồm phổ tần số cho thoại. Giả sử 1 tỉ số signal-to-noise(SNR) của P0/Pn là 1000,(30dB), dung lượng của kênh truyền theo Shannon sẽ là: C = 4000 × Log 2 (1 + 1000) = 40 kbps 2.10. Nêu một số phương pháp kiểm tra lỗi. ? Khi trao đổi thông tin thường hay 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: - BCC ([Block] Check Sum Code), phÇn mÒm. - CRC, ECC vi m¹ch/ phÇn mÒm- subroutine. - Parity 1 hoÆc 2 chiÒu - RAID (Redundancy) thõa d−: trao ®æi néi dung sè liÖu h¬n mét lÇn vµ so s¸nh. - Barcode: m· ho¸, gi¶i m·, kiÓm tra lçi - 8
  10. 2.11 Hãy giải thích ý nghĩa các trường của BarCode EAN13 sau: AAA BBBBB CCCC D, cho ví dụ bằng số.? Gi¶i thÝch: Barcode EAN13: AAA BBBBB CCCC D Cã 4 ®é dµi v¹ch, 6 v¹ch/digital(b&w) A: kÝ hiÖu n−íc (VN: 893; JP: 45 – 49; Ge 400-440, Ru 460-469 ) B: KÝ hiÖu c«ng ty, tæ chøc s¶n xuÊt C: Chñng lo¹i mÆt hµng D: M· Checksum(bªn ph¶i nhÊt) tõ ph¶i sang tr¸i. 10 - [( D2*3 + D3*1 + D4*3 + D5*1 + D13*1)mod10] VÝ dô: 893 12345 1234 7 2.12. Câu lệnh (từ master) và mã trả lời ( từ slave) thường có cấu trúc như thế nào?. CÊu tróc chung: o m· b¾t ®Çu ký tù riªng nh− @ / # / $ o m· lÖnh, 1 3 bytes/char o tham sè lÖnh, 1 n bytes, o m· kiÓm tra lçi, check sum, CRC (dÔ xö lý) o m· kÕt thóc, ký tù riªng. Cã thªm c¸c m· (ký tù) ®èi tho¹i dïng kÝ tù ®iÒu khiÓn cña ASCII nh−: ENQ, ACK, NACK, Bell, OK, ERR, BUSY VÝ dô LÖnh AT cña modem. AT : Tiền tố lệnh, yêu cầu modem “chú ý”. tiếp theo là mã lệnh D : Dial. dùng lệnh D để quay số T : Tone dialing. Ví dụ ATDT 1260 => lệnh gửi cho modem yêu cầu modem quay số máy chủ 1260. Trả lời: OK(Error) connect @19260(result). Nếu đúng thì thực hiện lệnh và báo về. Không thì báo lỗi và không nhận được gì. 2.13 Kh¸i niÖm Time out ? Kh¶ n¨ng kiªn nhÉn 2.14. Phân biệt 2 phương pháp định vị các cổng I/O: mem mapped IOs và IO mapped IOs ?. Memory Mapped IOs IO Mapped IOs: (Z80, x86 ): - IOs chung víi Mem trong - Kh«ng chiÕm kh«ng gian nhí, MemSpace => chiÕm vïng nhí, tèn - CPU chØ thùc hiÖn 2 lÖnh: IN vµ vïng nhí OUT - CPU xö lý c¸c cæng IO b»ng c¸c - x86 CPU’s IO map: IO mapped lÖnh nh− ®/v « nhí(mem)(lÖnh, chÕ IOs, 16 Addr bit IO => 64Kilo IO ®é ®Þa chØ ) locations. PCs IO map: 9
  11. - IO Mapped IOs - ChØ dïng 10 addr bit thÊp nhÊt => 1 kilo IO locations Soi g−¬ng víi 63 kilo cßn l¹i, mçi IO port chiÕm nhiÒu ®Þa chØ (nh− PIC, PIT, PPI ) => thiÕu IO space. SÏ dïng thªm kiÓu Mem Mapped IOs. 2.14. Trong CPU x86: nêu các lệnh ASM để trao đổi thông tin với cổng IO.? LÖnh IN vµ OUT: chØ dïng c¸c thanh ghi Accumulator : AL (8bit), AX (16 bit) vµ EAX (32 bit). ChÕ ®é ®Þa chØ: o Trùc tiÕp cho IO space :0 0FFh VÝ dô: in al,60h ; Read KB port out 61h,al ; beep, set/reset key flag out 23Eh, ax ; lÖnh sai do 23Eh >255. o Gi¸n tiÕp: cho IO space: 0 0FFFFh, qua thanh ghi dx VÝ dô: mov dx,378h ; LPT port Add mov al, ‘A’ ;41h out dx,al ;’A’-> Printer. mov dx,3F8h; Comm 1 port in al,dx ; 10
  12. Ch−¬ng 3 Ph−¬ng ph¸p trao ®æi th«ng tin IO 3.1 : Kh¸i niÖm ng¾t ( interupt) ? Ng¾t: - Lµ sù dõng thùc hiÖn CTC ®Ó thùc hiÖn ch−¬ng tr×nh con, th−êng lµ do TBNV yªu cÇu th«ng qua port. - Khi CPU ®ang thùc hiÖn ch−¬ng tr×nh chÝnh, ®Õn dßng lÖnh thø n, ngÉu nhiªn, thiÕt bÞ ngo¹i vi thø i xin phôc vô b»ng c¸ch ph¸t ra tÝn hiÖu IRQ(i) (Interrupt Request) ®Õn CPU. CPU sÏ ngõng xö lý ch−¬ng tr×nh chÝnh vµ cÊt ng÷ c¶nh vµo Stack Memory, råi t×m ®Þa chØ cña ch−¬ng tr×nh con phôc vô ng¾t t−¬ng øng (Interrupt Service Routine - ISR) ®Ó thùc hiÖn. - Sau khi thùc hiÖn xong ISR, gÆp lÖnh iret (reti ), CPU kh«i phôc l¹i ng÷ c¶nh cña CTC vµ tiÕp tôc thùc hiÖn. §Æc ®iÓm : - Lµ ph−¬ng ph¸p vµo/ra kÕt hîp tÝn hiÖu vµ phÇn mÒm, ®Ó thùc hiÖn ®a nhiÖm. - Ch−¬ng tr×nh chÝnh bÞ dõng xö lý ®Ó gäi ch−¬ng tr×nh con - Lµ chÕ ®é ho¹t ®éng riªng cho c¸c Vi xö lý/ m¸y tÝnh kiÓu ON-LINE, - Nguån ng¾t : chñ yÕu tõ TBNV th«ng qua IO ports, CPU. - X¶y ra ngÉu nhiªn, - Khi cã tranh chÊp th× xÐt −u tiªn ng¾t. ThiÕt bÞ cã −u tiªn cao sÏ ngõng ISR cña tb cã −u tiªn thÊp h¬n. 3.2 Ph©n lo¹i ng¾t ? Gåm: Hardware, software, internal, exception, NMI a. Software Interrupt:( ng¾t mÒm ) - Lµ viÖc gäi 1 ctc (Subroutine) phôc vô ng¾t ®−îc x©y dùng riªng, c¸c ctc nµy cßn cã thÓ ®−îc gäi bëi thiÕt bÞ ngo¹i vi. - C¸c lÖnh gäi nh− INT n; (Intel x86) hay SWI n; (Motorola). - Tuy nhiªn, viÖc thùc hiÖn lÖnh ng¾t mÒm gièng nh− gäi thñ tôc, vµ ®«i khi ®−îc hiÓu lµ TRAP. - Ng¾t mÒm kh«ng ph¶i lµ ng¾t, ®©y lµ gäi mét thñ tôc. Ngoµi b»ng Int n cßn cã thÓ gäi b»ng tÝn hiÖu ISR. b. Hardware Interrupt: ( Ng¾t cøng ) 11
  13. Lµ ng¾t do cæng ph¸t tÝn hiÖu NMI/IRQ ®Õn CPU Chia thµnh 2 lo¹i : Maskable vµ Non Maskable + Maskable Interrupt: lµ c¸c ng¾t th«ng th−êng, cã thÓ cÊm (disable) bëi lÖnh CLI hay cho phÐp (enable) STI C¸c ng¾t sÏ bÞ cÊm (t¹i CPU) : - sau khi CPU reset - tr−íc ®ã ®· cã IRQ kh¸c. - sau khi thùc hiÖn lÖnh CLI. + Non Maskable Interrupt ( NMI ) :lµ ng¾t cã møc −u tiªn cao nhÊt, th−êng cho c¸c viÖc: mÊt ®iÖn, sai sè liÖu (DRAM parity) PC hiÖn nay, th−êng kh«ng dïng NMI. c. Internal (Ng¾t trong ): Lµ ng¾t do c¸c tÝn hiÖu xuÊt hiÖn bëi ho¹t ®éng cña chÝnh procesor .Dïng ®Ó bÉy/ ®Ó xö lý c¸c sù kiÖn trong khi thùc hiÖn . Nh÷ng sù kiÖn g©y ra ng¾t trong : - Divide by zero (chia cho 0) : t−¬ng øng thùc hiÖn lÖnh, Int 0, - Trap- Single Step: thùc hiÖn tõng lÖnh, debugger, Int 1, dïng cïng víi Trap Flag. - Break Point: t¹o ®iÓm dõng, debugger, Int 3, - Overflow: (trµn sè häc), Int 4. - d.Exception( ng¾t ngoµi ) Lµ ng¾t do c¸c tÝn hiÖu bªn ngoµi b¸o cho procesor .Sù kiÖn g©y ng¾t lµ sù kiÖn x¶y ra ngoµi tiÕn tr×nh ®ang thùc hiÖn . -Exception lµ vÊn ®Ò hay ®iÒu kiÖn ®Ó CPU dõng c«ng viÖc ®ang thùc hiÖn t×m ®Þa chØ vµ thùc hiÖn 1 ctc ®−îc thiÕt kÕ ®Ó ®ãn nhËn sù kiÖn nµy. -Exception gièng Interrupt, thùc hiÖn lÖnh riªng. -Trong PC, Exp kh¸c Intr qua 2 ®iÓm: - Liªn quan tíi viÖc thùc hiÖn ch−¬ng tr×nh, - Cã −u tiªn cao ®Ó dõng ch/tr - VÝ dô: Math Processor Exception 3.3 So s¸nh interrupt vµ exception ? 3.4 Tæ chøc ng¾t cña hä vi ®iÒu khiÓn 8051? +Cã 6 nguyªn nh©n g©y ra ng¾t víi hä Intel 8x51, t−íng øng víi 6 vector ng¾t : -2 ng¾t do bªn ngoµi (Ext. Interrupts): Int0 vµ Int1, -3 ng¾t do bé ®Þnh thêi (Timer Interrupts) : C¸c bé ®inh thêi 0, 1, 2 -1 ng¾t do cæng nèi tiÕp ( Serial port Interrupt - ph¸t/thu char). + øng víi c¸c ng¾t nµy, cã c¸c ®Þa chØ ®Çu cho ch−¬ng tr×nh con phôc vô ng¾t ( Interrupt Service Routine – ISR) t−¬ng øng t¹i trang zero t¹i bé nhí ch−¬ng tr×nh(Prog. Memory): 0003, 000Bh, 0013h, 001Bh, 0023h vµ 002Bh. -T¹i c¸c ®Þa chØ nµy th−êng ®Æt lÖnh LJMP nnnn vµ ®−îc ®Æt lÖnh RETI nÕu kh«ng cã ISR. 12
  14. 3.5 Ph©n biÖt Interrupt Vector Table vµ Interrupt Descriptor Table ? B¶ng vector ng¾t vµ b¶ng m« t¶ ng¾t Gièng nhau : §Òu ®−îc sö dông trong hä x86 Kh¸c nhau : a.B¶ng vector ng¾t (IVT) - Sö dông trong chÕ ®é Real mode: - Vị trÝ : CPU x86 dïng 1 kilo byte ®Çu tiªn (RAM) ®Ó chøa b¶ng vector ng¾t (gåm 256 thµnh phÇn 4 bytes), Mçi vector (thµnh phÇn ) chøa ®Þa chØ ®Çu cña ISR( ch−¬ngtr×nh con phôc vô ng¾t ) t−¬ng øng. Khi khëi t¹o, BIOS n¹p vµo IVT ®Þa chØ ®Çu cña c¸c ISR øng víi IO. - §æi vector ng¾t: ®æi néi dung c¸c vector nµy - C¸c ng¾t cøng, NMI vµ Internal ®Òu t¬ng øng víi 1 lÖnh ng¾t mÒm cã cïng vector type, tøc cã vector trong b¶ng IVT. b.B¶ng m« t¶ ng¾t (Interrupt Descriptor Table - IDT) - Sö dông trong chÕ ®é Protected Mode: - Interrupt Descriptor Table (IDT) có thể định vị bất kỳ vùng nhớ nào - Vị trí và kích thước trong bảng IDTR: 32bit addr và 16 bit limit - Gate, not vector. - 256 thành phần mô tả trap/ interrupt/ task - địa chỉ và thuộc tính của ctc phục vụ ngắt - Int/ trap cho phép chuyển đến ISR trong tác vụ hiện tại . 13
  15. Base 32: trá gèc miÒn nhí Limit 16: kÝch th−íc miÒn nhí. 3.6. Vẽ sơ đồ và mô tả hoạt động của máy tính PC (real mode) khi có ngoại vi xin ngắt (tín hiệu IRQi) - ứng với các thiết bị ngoại vi cụ thể cùng các tham số.? Ho¹t ®éng: 1. Khi trao ®æi sè liÖu: Ngo¹i vi víi IO port 2. IO port ph¸t tÝn hiÖu IRQ(i) tíi PIC 8259A, 3. NÕu ®−îc, PIC ph¸t tÝn hiÖu INT => CPU. CPU thùc hiÖn nèt lÖnh 14
  16. hiÖn t¹i 4. CÊt ng÷ c¶nh cña ch−¬ng tr×nh chÝnh vµo stack mem: cê, ®i¹ chØ CS:IP; 5. Thùc hiÖn #1 INTA bus cycle => Prioritizing, thiÕt lËp −u tiªn. 6. Thùc hiÖn #2 INTA bus cycle => ®äc Vector type cña IO port, VectorType = i+8 nÕu VT=0 7 int 8 int 0Fh = i+68 nÕu VT=8 15 int 70h int 77h. 7. CPU lÊy VectorType x 4 => IVT, ®äc ®c ®Çu ISR t−¬ng øng, n¹p vµo IP&CS, ISR b¾t ®Çu ®−îc thùc hiÖn. 8. ISR: (nÕu dïng ASM) - Ng«n ng÷ lËp tr×nh thêi gian thùc MASM, C, , - Cho phÐp ng¾t bëi møc −u tiªn cao h¬n - CÊt nh÷ng thanh ghi-ISR dïng vµo STACK Mem, - T/hiÖn néi dung ISR, - Kh«i phôc Reg tõ STACK Mem, LIFO, - Depriorotizing:( OCW2): thiÕt lËp l¹i −u tiªn. VÝ dô mov al,20h out 20h, al ; Non Specific EOI iret ; Return fron Intr. 3.8. Vẽ sơ đồ và mô tả hoạt động của máy tính PC khi có ngoại vi xin thực hiện DMA.? c B¾t ®Çu t/h DMA, ngo¹i vi chuyÓn data => IO Port (PIO) d IO Port ph¸t tÝn hiÖu DRQi tíi DMAC. e NÕu chÊp nhËn DMAC ph¸t HRQ tíi CPU (CPU logic circuitry) f CPU dõng ho¹t ®éng ë chu k× tr¹ng th¸i 3 cho bus cã trë kh¸ng cao g CPU Tr¶ lêi t/h HLDA => DMAC råi ®i vµo tr¹ng th¸i ngñ h Thùc hiÖn DMA bus cycle: 15
  17. - Ph¸t ( tÝn hiÖu cho phÐp trao ®æi data ) /DACKi = 0 vµ /IOR = 0) => IO Port truyÒn sè liÖu lªn bus - Addr (DMAC & PageReg) => data mem, /MEMW => chuyÓn 1 byte/word i Sau khi thùc hiªn chu k× chuyÓn 1 byte , t¨ng CurrentAddrReg, gi¶m CurrentCounter. NÕu CC=0 th× ph¸t T/C ( Termianl counter), nÕu h, thùc hiÖn chu k× DMA tiÕp theo . 3.7 So sánh thời gian chuyển 256 byte số liệu dùng 2 phương pháp: chương trình phần mềm ASM (với đoạn ch/tr gọn như có thể) và chế độ DMA.? Trao ®æi b»ng ch−¬ng tr×nh ASM Trao ®æi b»ng DMA - ViÖc truyÒn tin do bé VXL ®iÒu khiÓn theo tõng lÖnh IN/ OUT gi÷a - Trao ®æi trùc tiÕp khèi nhí do bé thanh ghi AX cña bé VXL víi DMAC ®iÒu khiÓn , bé VXL bÞ cæng vµo ra nèi víi TBNV treo , kh«ng ho¹t ®éng ,DMAC hoµn toµn thay thÕ VXL ®Ó ®iÒu khiÓn trao ®æi tin . - Thêi gian trao ®æi sè liÖu l©u v× bé VXL ph¶I gi¶i m· , thùc hiÖn - Ph−¬ng ph¸p trao ®æi nhanh , cho lÖnh vµ ph¶i trao ®æi th«ng tin qua mét l−¬ng tin lín trùc tiÕp gi÷a thanh ghi AX trung gian khèi nhí vµ cæng vµo ra cho TBNV - Trao ®æi qua ba ph−¬ng ph¸p : b»ng c¸ch ph¸t ®/c cho khèi nhí , + §ång bé ph¸t lÖnh ®äc ghi sè liÖu trao ®æi + Kh«ng ®ång bé sè liÖu ®äc ghi qua thanh ghi ®Öm . + Ng¾t ch−¬ng tr×nh DMA Ch−¬ng tr×nh chuyÓn 256 byte sè liÖu tõ bé nhí ra TBNV mov cx,256 mov SI, head_of_buffer ChuyÓn 1 byte trong 1 m¶ng d÷ lap: Mov AL,SI ; 10 ck× clock liÖu ra TBNV chØ hÕt 4 chu k× ®ång Out Port, AL ; 10 ck× clock hå -> cÇn 0.25*10-6 s inc SI ; 2 ck× clock loop lap ; 17 ck× clock TÝnh thêi gian : Gi¶ sö 8088 tèc ®é Clock 16MHz, -> 1 chu k× clock : 62.5ns -> cÇn 2.5 *10-6 s 16
  18. 3.9 Tổ chức các tính hiệu IRQ trong máy tính PC ? C¸ch tæ chøc + IRQ0 : System Timer ®−îc OS vµ c¸c øng dông c¨n cø ®Ó thùc hiÖn c¸c t¸c vô chu k× 55ms + IRQ1 : KB Port Interrupt : ng¾t khi cã user bÊm phÝm. + IRQ2 : Nèi sang Slave PIC më réng c¸c TBNV + IRQ3 : Cæng truyÒn tin RS232 sè 2, b¸o ng¾t khi thu/ph¸t xong 1 byte, lçi khi thu, cã tÝn hiÖu b¸o vÒ tõ MODEM + IRQ4 : Comm1 + IRQ5 : LPT2 : cæng m¸y in sè 2, b¸o ng¾t mçi khi cã s−ên xuèng cña xung ACK + IRQ6 : FDC interrupt : b¸o thùuc hiÖn xong 1 lÖnh do CS yªu cÇu nh− khëi ®éng mot¬, ®äc/ghi 1 sector + IRQ7 : LPT1 + IRQ8 : Real Time Clock , ®−îc lËp tr×nh ®óng hÕt tkØ 21. + IRQ9: Thay cho IRQ2 tr−íc ®©y, th−êng dïng lµm ng¾t mµn h×nh + IRQ10: dù tr÷ + IRQ11: dù tr÷ + IRQ12 : ng¾t chuét + IRQ13 : b¸o thùc hiÖn xong phÐp tÝnh to¸n + IRQ14: IDE ghép qua ISA bus, báo ngắt mỗi khi HD controller thực hiện xong một lệnh do CS yêu cầu + IRQ15: Reserved. Đối với Industrial PC 17
  19. 3.10. Tæ chøc c¸c kªnh IO dïng DMA ? DMAC #1 cung cấp 4 kênh 8 bit, có thể lưu tối đa 64KB trong một lần hoạt động, địa chỉ 0h-0fh/ • Kênh 0: Làm tươi bộ nhớ DRAM, giờ không dùng • Kênh 1: SDLC, LPT’s EPP/ECP/IEEE1284 mode, để dành. • Kênh 2: FDC, chế độ từng byte (truyền đơn) • Kênh 3: LPT’s EPP/ECP/IEEE1284 mode, Ir port (IEEE 802.11b), spare, hiện bỏ trống. DMAC #2: cung cấp các kênh 16 bit, có thể chuyển được tối đa 128KB (64KW) trong một lần hoạt động. địa chỉ 0C0h-0Cfh. • Kênh 4: được sử dụng để liên kết 2 chip DMAC để có thể làm việc như một đơn vị thống nhất. • Kênh 5: HDC ISA bus, spare. Đây là kênh dành cho ổ cứng. • Kênh 6: spare • Kênh 7: Spare 3.11 Watch Dog Timer lµ g× ? vÏ s¬ ®å cÊu tróc vµ m« t¶ ho¹t ®éng ? a. Khái niêm WatchDog timer là một bộ đếm, có một đường tín hiệu ra gắn với chân reset của CPU. Chức năng của nó là thực hiện tự động restart CPU trong các trường hợp mà hệ thống gặp trục trặc bởi vì không phải lúc nào người vận hành hệ thống cũng có thể giám sát được quá trình hoạt động của nó. b. Sơ đồ : 18
  20. c. Hoạt động - Dùng 01 counter down, và mạch Oscillator độc lập với CPU. Trong quá trình hoạt động, theo 1 chu kỳ, do IRQ15 gọi ISR15 nạp giá trị preload cho counter để sao cho nội dung bộ đếm không về đến zero. Nếu CPU bị treo (halted), bộ đếm sẽ đếm lùi đần đến zero, phát ra xung BORROW OUT, xung này sẽ reset CPU – cold start. - Tùy thuộc vào hằng số thời gian của đối tượng, tùy từng hệ thống, bộ đếm WDT có thể được nạp giá trị đếm, nạp số chia tần để các khoảng thời gian từ 200us, 2ms, 20ms, 200ms, 2s đến 20s 19
  21. Chương 4. IOs Buses 4.1. Nêu một số chuẩn bus, đặc điểm và địa chỉ ứng dụng, khái niệm bus, các thành phần của bus ? a. Chuẩn bus, đặc điểm và địa chỉ ứng dụng 1. ISA/ AT (Industry small architecture/Advanced Technology) bus Do hãng IBM đưa ra năm 1984,còn c0ó tên gọi khác là PC-104 bus, đang dùng trong các máy Pentium, và PowerPC Platforms. ¾ Đặc điểm: ™ 8/ 16 bit for data transfers ™ tốc độ 8.33 MHz/11.1 MHz -> 2.75 MWps/5.5 MWps max, DMA 16 ™ Không toàn vẹn dữ liệu (không kiểm tra parity, không kiểm tra vào ra) ™ Chỉ có một Bus Master (CPU hoặc DMAC) ¾ Ứng dụng ™ Để ghép thêm các card/ thiết bị I/0 chuẩn với các Mother Board (qua các khe cắm Slot, hiện tại các máy có thể không dùng các khe Slot) ™ Dùng ghép các thiết bị ngoại vi chậm kiểu ký tự : VD bàn phím, chuột 2.USB (Universal Serial Bus) + Re1.1 ra đời vào 23/09/1998 + Là một chuẩn công nghiệp mở rông kiến trúc PC với việc chú trọng vào các ngoại vi PC kèm theo trình ứng dụng của người dùng ¾ Đặc điểm ™ Chia thành nhiều Tiers ™ Các Tiers nối các thiết bị Hub hoặc chức năng ™ Mỗi Tier có Hub(s). ™ Tín hiệu vi sai phát/ thu, bọc kim, chống nhiễu. ™ CRC Protection đối với dữ liệu và control fields. ™ Tự phát hiện attach/ detach, xác định các thiết bị tự động ở mức hệ thống ™ Time Out đới với trường hợp mất gói tin/ gói tin lỗi. ¾ Ứng dụng: ™ Tốc dộ thấp (10 - 100 kb/s) • Bàn phím, chuột,Stylus,Ngoại vi trò chơi,Ngoại vi thực tại ảo ™ Tốc độ trung bình(500 kb/s - 10 Mb/s) • POTS,Truyền dải rộng ,Âm thanh,Microphone ™ Tốc độ cao(25 - 400 Mb/s) • Video,Lưu trữ,Xử lý ảnh,Truyền dải rộng 20
  22. 3. Philips I2C(Inter-Integrated Circuit)bus + Philips Semiconductors ,Ver 1.0 năm 1992; Ver 2.0 năm 2000, Ver 2.1 + Là một kiểu bus dùng hai dây nối tiếp một dây là Serial Clock Line (SCL), và một dây là Serial Data Line (SDL). ¾ Đặc điểm: ™ Tích hợp giao diện bus và chips cho phép hai thiết bị kết nối trực tiếp với nhau qua I2C bus không cần dùng bus interface chips. ™ Hợp nhất truyền địa chỉ và dữ liệu, cho phép dùng phần mềm để định cấu hình. ™ Thêm / bớt IC không ảnh hưởng bus system ™ Đơn giản tìm lỗi, khoanh vùng lỗi nhanh ™ Giảm thiểu kích thớc: 2-wire serial, không cần các mạch Addr Decoder và ‘glue logic’, dùng phần mềm ™ Truyền đồng bộ, 100 kb/s Standard-mode, 400 kb/s Fast-mode, 3.4Mb/s HiSpeed-mode . ¾ Ứng dụng: ™ Xây dựng card màn hình ™ Có thể nối nhiều Masters, trong 1 thời điểm chỉ 01 BM’s Active ™ Dùng cho các hệ nhúng như mobiphone, TV, ATM 4.PCI (Peripheral Component Interconnect) Đây là một chuẩn mở do hãng Intel đưa ra 5/1993 ¾ Đặc điểm: ™ Local bus, trung gian giữa Local và các bus chuẩn khác (ISA, MC, EISA) thông qua PIC Bridge/Controller. ™ Có kiểm tra parity cho Addr và Data ™ Auto configuration of all PCI devices, share the same IRQ. Disabling IRQ => cấm toàn bộ PCI devices. ™ No DMA, device on PCI bus là bus master (Tốt cho việc dùng MultiTasking OS). ™ Burst mode: 32 bit @33MHz > 96 132MBps, tuỳ thuộc số byte (từ 32 byte đến 4KB). Option 64bit @33MHz > 264MBps, 64bit – 66MHz. ¾ Ứng dụng: ™ Most Platforms use:Intel, DEC Alpha, PowerPC, Spark ™ Modern OS: ‘Block Typed Devices’: tần suất vận chuyển cao, nhanh, data block 5.Small computer systems interface – SCSI. Phiên bản đầu tiên (SCSI-1) đưa ra năm 1990, phiên bản thứ 2 (SCSI-2) đưa ra năm 1993. ¾ Đặc điểm: ™ Thường có 1 Adaptor, không nằm trên motherboard 21
  23. ™ Dùng cho Disk controller có bộ lênh riêng của nó. ™ Support any SCSI device: Disk, CD-ROM, tape, scanner ™ Tốc độ 5 to 40 MB/s ™ Số thiết bị tối đa trên bus là 7, có thể mở rộng lên đến 15 trong SCSI-2 và UltraSCSI ™ Hỗ trợ hai loại tín hiệu là đơn cực và vi sai (chống nhiễu tốt), chú ý không nối hai kiểu trên cùng một Bus. Phần lớn là đơn cực nhưng RS6000 là vi sai. ™ Tập lệnh được gửi từ device driver được dịch bởi thiết bị đến Adaptor không phải thay đổi khi gắn thêm thiết bị ™ Hệ thống SCSI bao gồm :Host adaptor (để interface giữa host system và subsystem), SCSI controller, bus, thiết bị. ™ Các thiết bị và controler có mức độ ưu tiên: 7(controler)– 6 – 5 – 4 – 3 – 2 – 1 – 0 –15 –14 – 13 – 12 – 11 – 10 – 9 – 8. ™ 8 data bit => 1 parity bit. K/tra Data: ECC, địa chỉ CRC @ mỗi sector ¾ Ứng dụng: ™ Chủ yếu dùng cho các kho số liệu đĩa cứng băng từ, CD 6. Profi bus (SIEMENS) Đây là một loại bus dùng trong công nghiệp theo chuẩn EN 50170-1-2. ¾ Đặc điểm: ™ 1 trong những layers của mạng CN: SINEC-L2 ™ Giao thức PROFIBUS DP (Distributed I/O):trao đổi sl với các slaves qui mô nhỏ, định kỳ, tốc độ cao ™ Giao thức Profibus PA: Process Automation: IEC 61158-2: môi trường khắc nghiệt. Số liệu và power chung line (PLC), 31.25 kbps ™ PROFIBUS FMS (Fieldbus Message Specification): • Kết nối PC với các thiết bị tự động của Siemems: S7/M7/C7 Families kiểu cell • Số liệu có cấu trúc, không phụ thuộc vào đường truyền. ™ PROFIBUS FDL (Fieldbus Data Link): tương thích với các mạng con ™ Spec.: • Token bus: cho nhiều masters (active nodes) • Master - Slaves • >1km (RS-485) và 9.6km (Optical Fiber) • Mã hóa Manchester II độ tin cậy và chống nhiễu tốt ¾ Ứng dụng: ™ Kết nối những thiết bị vào ra phân tán, thông minh (PLCs,Motor drivers, ) 7. General purpose interface bus – GPIB Được biết như chuẩn IEEE 488;HPIB IEC 625 bus ¾ Đặc điểm: 22
  24. ™ 14 devices có thể nối vào GPIB, 1MB/s, couple meters ™ 24 pin connector: 16 lines: 8 data, 3 handsshake, 5 management (để điều khiển việc dùng bus), remainders: Twisted/ Logic Gnd, Shield ™ Computer as Contronller; các thiết bị khác là Talkers/ Listeners. Trg 1 t/đ: 1 device - Talker, Others - Listeners ™ Để nối mạng:GPIB Card,cable,connector ¾ Ứng dụng: ™ Được thiết kế để kết nối mạng máy tính với các thiết bị ngoại vi, đo lường - kiểm nghiệm, lab kiểu Program-mable Instrumentation 8. IEEE 1394 - Firewire Được đưa ra bởi hãng Apple & TI năm 1997 với mục đích thay thế cho SCSI, là serial bus. ¾ Đặc điểm: ™ Upto 63 nodes (devices) connect to a PC, hot plugible ™ High speed: 60 to 400 Mb/s (7.5 to 50 MB/s) ™ Cable: 6 wire (2- power carier lines 8 40Vdc/ 1.5A), 15'. ™ Daisy chain extending to over 200' ™ Tree topology: 63 64k nodes (bridge across buses) ™ Addressing single node, broadcasting all nodes, config time Audio, Video devices, CD, disk, printer b. Khái niệm bus, các thành phần của bus ? 1 .Khái niệm bus: Tập hợp các đường kết nối để vận chuyển thông tin từ thành phần này đến thành phần khác trong máy tính. Các thể hiện phần cứng của Bus gặp trong máy tính: PCB, Cable, Slot, Connnector. 2. Thành phần: ¾ Address ¾ Data ¾ Control/ Status/ Hardshake/ Data check. ¾ [Power supply] 2.1 Address bus ¾ Từ các BusMaster (CPU, DMAC) đến SlaveDevices (Mem, Ports) để chọn/ chỏ từng IO/ Mem location ¾ n Addr bit Î 2n Mem Locations & 2m IO Locations, m<n 2.2 Data bus. ¾ Số bit (thường) phù hợp với kích thước ALU (8/16/32/64 bit) ¾ Chuyển Op-code (mã lệnh) trong chu kỳ máy M1 23
  25. ¾ Chuyển data: - CPU Data memory, - CPU IO Ports và - Data Memory IO Ports, DMA. 2.3 Control/Status bus ¾ gồm các tín hiệu: ƒ Control/ Response: CPU to Others (MEMR, MEMW, IOR, IOW, INTA, HLDA, BHE ) ƒ Status/Request to CPU: IRQ, HRQ, Ready, 2.4 Power supply: +5V ±5%, 10 đến 20 Amp, cấp cho các Vi mạch số, RedWire. (3.3V and less) ƒ Ground, Gnd, 0V, signal reference ground, chassis, BlackWire. ƒ +12V ±10%, 1Amp, cấp cho các mạch analog, motors, RS232, YellowWire. ƒ -12V ± 10%, 1Amp, (nh trên), BlueWire. ƒ - 5 V±5%, 0.5 Amp, analog circuitries, WhiteWire. ƒ Power good: OrangeWire. 4.2 Biểu đồ thời gian 1 chu kì bus IO Read/ Write, giải thích hoạt động ? Các chuỗi sự kiện xảy ra trong một chu kỳ bus đọc bộ nhớ: T1: CPU xuất địa chỉ bộ nhớ. Các đường dữ liệu không hoạt động và các đường điều khiển bị cấm T2: Đường điều khiển MEMR hay IOR xuống mức thấp. Đơn vị bộ nhớ ghi nhận chu 24
  26. kỳ bus này là quá trình đọc bộ nhớ hay cổng vào/ra, đặt byte hay word có địa chỉ đó lên bus dữ liệu. T3: CPU đặt cấu hình để các đường bus dữ liệu là nhập. Trạng thái này chủ yếu để bộ nhớ có thời gian tìm kiếm byte hay word dữ liệu T4: CPU đợi dữ liệu trên bus dữ liệu. Do đó, nó thực hiện chốt bus dữ liệu và giải phóng các đường điều khiển đọc bộ nhớ. Quá trình này sẽ kết thúc chu kỳ bus. Trong một chu kỳ bus, CPU có thể thực hiện đọc I/O, ghi I/O, đọc bộ nhớ hay ghi bộ nhớ. Các đường bus địa chỉ và bus điều khiển dùng để xác định địa chỉ bộ nhớ hay I/O và hướng truyền dữ liệu trên bus dữ liệu. 4.3. ISA bus: đặc điểm và mô tả các nhóm tín hiệu ? a. Khái niệm Bus ISA (Industry Standard Architecture) là một kiến trúc Bus được xuất hiện lần đầu tiên với máy IBM PC/XT nguyên thuỷ vào năm 1981 với 8 bít dữ liệu. Sau đó nó được mở rộng ra với 16 bit dữ liệu với máy AT năm 1984 và đến năm 1988 là EISA với 32 bit dữ liệu b. Đặc điểm ™ 8/ 16 bit for data transfers ™ tốc độ 8.33 MHz/11.1 MHz -> 2.75 MWps/5.5 MWps max, DMA 16 ™ Không toàn vẹn dữ liệu (không kiểm tra parity, không kiểm tra vào ra) ™ Chỉ có một Bus Master (CPU hoặc DMAC) c. Mô tả các nhóm tín hiệu 1. SA19 to SA0 C¸c bÝt ®Þa chØ hÖ thèng ®−îc sö dông ®Ó x¸c ®Þnh ®Þa chØ bé nhí vµ c¸c thiÕt bÞ I/O trong hÖ thèng. Nh÷ng tÝn hiÖu nµy th−êng ®−îc ®iÒu khiÓn bëi bé VXL hoÆc DMA controller. 2. AEN Address Enable ®−îc sö dông ®¹i diÖn cho VLX trong qu¸ tr×nh DMA. Khi tÝn hiÖu nµy active, ®iÒu khiÓn DMA ®iÒu khiÓn c¸c tÝn hiÖu address, data, read/write. 3. -DACK0 to -DACK3 and -DACK5 to -DACK7 DMA Acknowledge ®−îc sö dông ®Ó nhËn biÕt ¸c yªu cÇu DMA trong DRQ0 to DRQ3 and DRQ5 to DRQ7. 4. DRQ0 to DRQ3 and DRQ5 to DRQ7 DMA Requests lµ ¸c yªu cÇu tõ DMA controller kiÓm ®iÒu khiÓn bus. Nh÷ng thiÕt bÞ yªu cÇu ph¶i gi÷ tÝn hiÖu yªu cÇu active cho ®Õn khi hÖ thèng x¸c nhËn tÝn hiÖu DACK t−¬ng øng. 5. -IOR I/O Read sö dông ®Ó chän I/O device, ®iÒu khiÓn ®äc d÷ liÖu lªn bus d÷ liÖu. 6. -IOW I/O Write sö dông ®Ó chän I/O device, ®iÒu khiÓn ghi d÷ liÖu trªn bus d÷ liÖu. 7. IRQ3 to IRQ7 and IRQ9 to IRQ12 and IRQ14 to IRQ15 Interrupt Requests lµ c¸c tÝn hiÖu yªu cÇu ng¾t. §−îc t¹o ra khi ®−êng IRQ chuyÓn tõ møc thÊp lªn møc cao. §−êng nµy ph¶i gi÷ nguyªn møc cao cho ®Õn khi VXL nhËn biÕt ®−îc yªu cÇu ng¾tt th«ng qua ISR cña nã. 25
  27. IRQ9-12,14-15 cã møc −u tiªn cao nhÊt ( 9: highest). IRQ 3-7 cã møc −u tiªn thÊp nhÊt ( 7: lowest). 8. -MEMR Memory Read, lùa chän thiÕt bÞ b« nhí ®Ó ®äc d÷ liÖu lªn trªn bus d÷ liªu. Nã ®−îc active trong tÊt c¶ c¸c chu k× ®äc b« nhí. 9. -MEMW Memory Write lùa chän thiÕt bÞ b« nhí ®Ó ghi d÷ liÖu trªn bus d÷ liªu. Nã ®−îc active trong tÊt c¶ c¸c chu k× ghi b« nhí d. Biểu đồ thời gian 1. DMA Write ___ DRQ(n) __| |___ ___ ___ -DACK(n) |___| ___ AEN,BALE ___| |___ ___ ___ -IOR |___| ___ ___ -MEMW |___| 2. DMA Read ___ DRQ(n) __| |___ ___ ___ -DACK(n) |___| ___ AEN,BALE ___| |___ ___ ___ -MEMR |___| ___ ___ -IOW |___| 26
  28. 4.4. USB: topology và đặc điểm ? 1.Topology ™ Chia thành nhiều Tiers ™ Các Tiers nối các thiết bị Hub hoặc chức năng ™ Mỗi Tier có Hub(s). Kết nối vật lý USB bản chất là mạng Star được xếp theo lớp. Một hub ở trung tâm của mỗi mạng hình sao. Mỗi đường kết nối là một kết nối điểm-điểm giữa máy chủ và bộ chia (hub) hay là bộ phận chức năng, hay là kết nối giữa bộ chia và bộ chia hay thành phần khác. Máy chủ USB (USB Host) Chỉ có một máy chủ USB trong bất kỳ hệ thống nào. Giao tiếp USB với hệ thống máy tính được gọi là bộ điều khiển Host. Bộ điều khiển Host được triển khai như là một tập hợp của phần cứng, phần dẻo, phần mềm. Bộ chia chủ (root hub) được tích hợp với hệ thống máy chủ cung cấp một số đầu nối. Thiết bị USB (USB Device) Thiết bị USB thuộc một trong các loại sau : • Hubs (bộ chia), cho phép mở rộng thêm nhiều điểm nối vào USB • Thành phần chức năng, cung cấp một tính năng cho hệ thống, như là kết nối ISDN, cần điều khiển số hay là loa Thiết bị USB tuân theo giao diện ghép nối USB chuẩn về các mặt sau : • Sự hiểu giao thức USB • Sự đáp ứng của nó với các thao tác của USB, như là cấu hình hay là reset • Năng lực chuẩn mô tả thông tin 2.Đặc điểm: ™ Tín hiệu vi sai phát/ thu, bọc kim, chống nhiễu. 27
  29. ™ CRC Protection đối với dữ liệu và control fields. ™ Tự phát hiện attach/ detach, xác định các thiết bị tự động ở mức hệ thống ™ Time Out đới với trường hợp mất gói tin/ gói tin lỗi. 4.5. Vẽ USB data packet format. 1. Trường nhận dạng gói tin PID + Trường PID ngay sau trường SYNC. + PID bao gồm 4 bít xác định loại gói tin và 4 bít kiểm tra. + 4 bít kiểm tra được tạo ra bởi biểu diễn phần bù của loại gói tin. 2. Trường dữ liệu Data packet + Có thể có từ 0 đến 1023 byte, và phải là số nguyên byte. + Truyền kế tiếp, từ MSb byte này LSb byte tiếp theo. 3. Trường CRC Cyclic Redundancy Checks, Kiểm tra sự dư thừa tuần hòan. Với gói data có 16 bit, gói token chỉ có 5 bít. 28
  30. 4.51 Sơ đồ khối của TBNV ghép bus USB ? Câu 4.6. I2C bus: đặc điểm và topology? ¾ Đặc điểm: ™ Tích hợp giao diện bus và chips cho phép hai thiết bị kết nối trực tiếp với nhau qua I2C bus không cần dùng bus interface chips. ™ Hợp nhất truyền địa chỉ và dữ liệu, cho phép dùng phần mềm để định cấu hình. ™ Thêm / bớt IC không ảnh hưởng bus system ™ Đơn giản tìm lỗi, khoanh vùng lỗi nhanh ™ Giảm thiểu kích thớc: 2-wire serial, không cần các mạch Addr Decoder và ‘glue logic’, dùng phần mềm ™ Truyền đồng bộ, 100 kb/s Standard-mode, 400 kb/s Fast-mode, 3.4Mb/s HiSpeed-mode ¾ Topology I2C Topology 29
  31. 4.7. I2C: Kịch bản truyền số liệu (đọc và ghi) Master - Slave (h4.13), giải thích.? + Bus được điều khiển bởi bus master và sẽ thông báo cho các thiết bị slave khi chúng có thể truy nhập bus. Mỗi Slave có 7 hoặc 10 bits địa chỉ duy nhất. + Bắt đầu của kịch bản truy nhập là bít Start khi Master muốn truy nhập Slave nó gửi địa chỉ(của Slave) và bít (đọc(1)/ghi(0)) + Slave sẽ gửi tín hiệu ACK và Master sẽ tiến hành gửi các byte dữ liệu hoặc là nhận các byte dữ liệu (sau mỗi package thì sẽ gửi ACK)khi muốn kết thúc sẽ gửi tín hiệu NACK và bít Stop. 4.8. PCI Local bus: đặc điểm? 4.9. GPIB: đặc điểm ? 4.10. IEEE 1394 bus: topology và đặc điểm ? 1.TOPOLOGY 30
  32. 4.11. Khi nào thiết bị ghép nối với data bus cần có chức năng 3 state ? Trạng thái thứ ba của bus dữ liệu chính là trạng thái trở kháng cao. Khi bus ở trạng thái cao chính là trạng thái “treo”bus. Khi các thiết bị ngoại vi tốc độ chậm ghép nối với các hệ vi xử lý tốc độ cao thì trong các chu kỳ bus sẽ xuất hiện trạng thái trở kháng cao với mục đích để đồng bộ tốc độ của thiết bị ngoại vi và hệ vi xử lý tránh mất mát dữ liệu trong khi vận chuyển. Phân biệt mô hình ghép nối ngoại vi kiểu BUS và NETWORK. Ghép nối kiểu bus: + Cho các thiét bị nhanh,gần như HDD, + Các đường bus kiểu này thường là song song như PCI. + Các thiết bị này thường được điều khiển bởi một thiết bị xử lý chuyên dụng. Ghép nối kiểu mạng: + Các thiết bị ngoại vi là loại “computerised”, được điều khiển bởi hệ VXL thông dụng (multi purpose micro processor) hay hệ nhúng như bàn phím,chuột,máy in, đặc biệt là các TBNV ghép qua USB hoặc IEEE1394 Kết luận 2 mô hình trên dần tiếp cận nhau, đặc biệt trong một số bus sau này như USB, IEEE1394 về vật lý vẫn chỉ có 1 teller, 1 hoặc nhiều listener tại một thời điểm , vẫn phải có địa chỉ. 31
  33. Chương 5. Digital IO 5.1. Vẽ sơ đồ cấu trúc và mô tả hoạt động của 01 IO line của cổng vào ra ? a. Sơ đồ cấu trúc của một IO line ( Ù 1 bit port) b. Các thành phần 1. D Flip-Flop (Trigger D): - Là một trong những phần tử cơ bản của hệ dãy. - D – Data lưu giữ một bít số liệu - 4/6/8 D flip-flop tạo ra 4/6/8 bit register, nhiều register đóng trong một chip là SRAM - Input: • Data bit: 1 hoặc 0 • Clock, thường là sườn lên, ghi nhận giá trị của data và lưu giữ lại cho đến khi có bit số liệu khác ghi đè lên. • Có thể có clear – xóa, preset – đặt trước - Output: • Q ứng với giá trị data input vào thời điểm có clock • /Q đảo của Q - Có 2 loại : Transparent và Master- Slave. 2. 3 state buffer 32
  34. ( Nếu gate = 0 thì điện trở giữa 2 cực d và s là R(ds) sẽ rất lớn ( cỡ Kilo Ohm), Transistor trường ở trạng thái OFF. Ngược lại nếu gate = 1 thì R(ds) nhỏ cỡ vài chục Ohm, MOSFET ở trạng thái ON). ( Nếu /C = 1 thì đầu ra bộ đệm 3 trạng thái ở trạng thái trở kháng cao (bị tách ra khỏi đường bus), Nếu /C=0 thì đầu ra = 0 nếu đầu vào bằng 0 (gọi là mở mức thấp), và đầu ra bằng 1 nếu đầu vào bằng 1 (mở mức cao)) c. Mô tả hoạt động Write pin (Chân Write): Tại chân Write bit 0, hoặc 1 thì clock bằng sườn lên - Write bit 0: Trigger D có Q = 0, -Q =1, suy ra gate = 1, làm cho R(ds) MOSFET = ON, suy ra chân IO pin = 0 - Write bit 1: Trigger D có Q =1, -Q = 0, suy ra gate = 0, làm cho R(ds) MOSFET = OFF, suy ra chân IO pin = 1 Read pin: (Input line – out “1” firstly) ReadPin = 0 thì bộ đệm 3 trạng thái mở ở trạng thái thấp, bit 1/0 từ pin sẽ được đưa lên data bus(i) ReadLatch (Chốt đọc sẽ đọc các bit ra lúc trước) ReadLatch = 0 thì bộ đệm 3 trạng thái mở ở trạng thái cao, bit 1/0 từ pin được đưa lên data bus(i). 33
  35. 5.2. Cổng song song đơn giản ? a. Sơ đồ cổng ra song song đơn giản có chốt (Latch) Cổng ra song song đơn giản có chốt (latched output port, based on 74HC374/ HC373/ HC 574, thanh ghi 8 bit) Đồ thị thời gian của cổng ra song song có chốt (latch) • Out Port: 74HC374 • CPU phát địa chỉ ra không gian địa chỉ vào ra (IO space), có tín hiệu –IO CS (chọn chip IO) • Phát ra data và –IOW, có tín hiệu clock sườn lên (Rising Edge), dữ liệu được chốt vào HC374 • Ngoại vi đưa đến tín hiệu –Strobe làm cho OC (OutControl) = 0, mở cổng ra 3 trạng thái. 34
  36. b. Cổng vào song song không có chốt: (Trong hình vẽ là cổng logic OR) 5.3. Sơ đồ nguyên lý và mô tả hoạt động của 1 cổng song song output có các tín hiệu trạng thái. ? Sơ đồ nguyên lí: 35
  37. Mô tả hoạt động: • Khi gửi một gói tin ra ngoại vi, cần đồng bộ giữa 2 phía • Ngoại vi chỉ đọc bộ đệm khi có số liệu (cờ IBF thiết lập, 1) (In Buffer Full- Bộ đệm đang đầy). • CS chỉ gửi số liệu ra tiếp theo khi byte/char trước đó đã được đọc bởi peripheral (OBE – Output Buffer Empty, xóa, 0) • Chú ý Time-Out-Error - CPU gửi 1 kí tự, thiết lập –OBE=1 (Out Buffer Empty) - Peripheral: Nếu IBF =1 then đọc char ( trong Buffer Full) Một số chú ý: Sử dụng Trigger RS: Q= -R.q+S.(-q) S = 1 thì Q = 1 S = 1 tiếp thì Q =1 Chỉ khi R = 1 thì Q = 0 -Strobe dùng để mở cổng trạng thái OC (của 74HC574) và được đảo rồi đưa vào chân Reset của Trigger RS. - Chân LE ( Latch Enable) cho phép chốt dữ liệu. 5.4. Ghép nối PPI 8255 với PC’s ISA slots: nguyên lý và hoạt động. ? 36
  38. a.Nguyên lý: - Mạch PPI 8255 thường được gọi là mạch phối ghép vào ra lập trình được ( Programmable Peripheral Interface). Nó là mạch phối ghép được dùng phổ biến trong các hệ vi xử lý 8 – 16 bit Các chân tín hiệu: - Chân Reset phải được nối với tín hiệu reset chung của toàn bộ hệ. CS được nối với mạch tạo xung chọn thiết bị để đặt 8255 vào một địa chỉ cơ sở nào đó - Các tín hiệu địa chỉ A0, A1 sẽ chọn ra 4 thanh ghi bên trong 8255: 1 thanh ghi từ điều khiển (CWR) và 3 thanh ghi khác ứng với các port là PA, PB, PC, để ghi/đọc dữ liệu. Có 2 loại từ điều khiển cho 8255: Từ điều khiển định nghĩa cấu hình cho các cổng PA. PB, PC. Và từ điều khiển lập xóa từng bit ở các đầu ra của PC. b.Hoạt động Khởi tạo (PA, PB, PC Mode 0; PA, PCh in; PB, PCl Out) và đọc/ghi số liệu: Địa chỉ Thanh ghi(Cổng) 300h PA 301h PB 302h PC 303h CWR Tính CWR = 10011000 = 98h Đoạn lệnh khởi tạo: PA Equ 300h PB Equ 301h PC Equ 302h CWR Equ 303h CW Equ 98h Lệnh khởi tạo Mov al, CW ;Từ điều khiển trong al Mov dx, CWR ; Out dx, al ; Đưa CW vào CWR 5.5. Cổng máy in chế độ SPP (Centronics port): Sơ đồ mô tả chức năng và các nhóm tín hiệu. ? Chế độ SPP ( Simple Parallel Port) chế độ thông thường, Output only. + Tốc độ truyền dữ liệu 50 100KB/s, chiều dài cable tối đa 10 feet, đầu nối chữ D 25 hoặc 36 chân, cáp xoắn. Địa chỉ cơ sở : 387h với cổng LPT1 và 287h với cổng LPT 2 + Cổng xuất dữ liệu, địa chỉ x78h (không gian địa chỉ vào ra), TTL 0 5 V • Open Collector. Buffer – 8 bit latched out, back reaad-latch • LPT : gửi kí tự điều khiển và kí tự in đến Printer + Cổng ra điều khiển : X7Ah, TTL (x=3/2) • 4 bít chốt ra, chốt đọc lại dùng phần mềm. Các bít này được set (1) và reset (0). • LPT: /Strobe (b0), AutoFeed (b1), /Init (b2), SLCT (b3) 37
  39. • IRQ_EN (b4), not oulet + Trạng thái In, X79h, không chốt , TTL (0 5V): Trạng thái máy in • 5 bít : b3 b7: Err, SLCT_IN, PE,-ACK,Busy Các nhóm tín hiệu: 4 đường điểu khiển, 5 đường trạng thái, 8 đường tín hiệu. 38
  40. 5.6. Centronics port các mode EPP, ECP, và IEEE 1284 ? Mode EPP ( Enhanced Parallel Port): • Xircom, 1992. Có tốc độ cao – 2 MB/s (sử dụng phương pháp DMA, dùng 1 chu kì ISA bus), là cổng 2 chiều, dùng ghép nối với HDD mở rộng, Local Network, Có địa chỉ cơ sở là 378h hoặc 278h. • Có 8 thanh ghi tương thích với chế độ SPP - Offset 0: SPP data, đường dữ liệu đọc ghi, có hoặc không có tín hiệu bắt tay. - Offet 1: SPP status, đọc (b3 b7), b0 timeout. - Offset 2: SPP control, 4 bit C0 C3 – đọc/ghi, C4: cho phép yêu cầu ngắt, C5: chiều số liệu - Offset 3: địa chỉ EPP, chu kì địa chỉ đọc/ghi với tín hiệu bắt tay. - Offet 4: EPP data, chu kì dữ liệu đọc/ghi với tín hiệu bắt tay. - Others: Có thể được sử dụng để cấu hình cổng máy in, người sử dungjtuwj định nghĩa Mode ECP (Extended Capabilities Port): • MS- HP 1993, tốc độ truyền dữ liệu từ 2 5 MB/s (dùng 1 chu kì ISA bus), cổng 2 chiều, thường ghép nối với HDD mở rộng hoặc Network, bus hệ thống mở rộng, • Có 16 byte bộ đệm tổ chức kiểu FIFO để gửi/nhận, trao đổi bằng phương pháp DMA: bộ nhớ với buffer • Có thể ghép nối với các thiết bị ngoại vi chậm khi dùng Ready. • Có thể mô phỏng tương thích hoạt động của chế độ SPP, EPP • Đọc/ghi dữ liệu và lệnh: - Out –C1 (HostAck), in –S7 (Peripheral Ack) - -C1/-S7 = 1 đang gửi dữ liệu, = 0 đang gửi lệnh - Lệnh: b7 = 1, b0 6 chứa địa chỉ kênh truyền, b7 = 0, b0 6 đếm các byte giống nhau. - Một số chip (SMC’s super IO) hỗ trợ giải nén, phần mềm gửi ra phải nén. • Có 6 thanh ghi: 3 thanh ghi chế độ SPP, 3 thanh ghi chế độ ECP - Địa chỉ cơ sở + 400h : dữ liệu tổ chức kiểu FIFO và cấu hình A - chỉ đọc. - Địa chỉ cơ sở + 401h: Cấu hình B-( ngắt, DMA, ) - Địa chỉ cơ sở + 402h: Thanh ghi điều khiển mở rộng Mode IEEE 1284 ( EPP + ECP) • Ra đời 1994, tốc độ lên tới 5MB/s • Chuẩn IEEE 1284 bao gồm các giao thức định nghĩa mô tả cổng giao tiếp song song • Bao gồm: Cổng 1284, cáp 1284, và ngoại vi 1284 • Có 5 chế độ giao tiếp: - Compatibility mode: Host gửi 1 byte đến Peripheral (với tín hiệu Busy và – ACK) - Nibble Mode: Peri gửi đến Host 4 bit, còn lại là tín hiệu bắt tay - Byte Mode: 8 bit, 2 chiều - EPP Mode: 8 bit, 2 chiều, tốc độ cao - ECP Mode: 8 bit. 2 chiều: dữ liệu, địa chỉ, nén. 39
  41. 5.7. Dual Ported RAM, nguyên lí và hoạt động ? a.Sơ đồ nguyên lý: b. Hoạt động: - Để chuyển mảng số liệu giữa 2 hệ VXL (Master- Slave) với tốc độ cao, gần - SRAM,dung lượng từ 1KB đến 256KB - Đọc ghi đồng thời nhiều tín hiệu - Dùng các tín hiệu: • 2 x n bit điạ chỉ cho 2 phía:Trái và phải => 2 mũ n ô nhớ • 2 x 8 [16] bit dữ liệu • Các tín hiệu điều khiển (RD, WR,CS) và trạng thái • Các tín hiệu HSK/Arbior (bắt tay/trọng tài ) 5.8. LED? Đặc tính của một loại LED, tính toán mạch điều khiển LED. ? a. Khái niệm LED là viết tắt của từ Light Emiiting Diode (diot phát sáng) b. Đặc tính Là diot phân cực thuận. 40
  42. : c.Phương pháp tính toán mạch ghép nối: * LED sáng tĩnh- sáng liên tục chế độ Static • Chọn độ sáng tương đối yêu cầu • Tra bảng A => dòng điện thuận • Từ dòng điện thuận,Tra bảng B => xác định được điện áp thuận • Tính điện trở R = (V CC - U) / I * LED chế độ quét – Scan Mode: • Mạch sẽ đk sáng 1 trong số n phần tử trong 1 thời điểm, rồi điều khiển phần tử tiếp theo cho đến khi hết vòng. Với điều kiện phải hiện được 50-60 frame/s • Tùy thuộc độ sáng và môi trường (in/out door) => thiết kế độ rộng duty cycle cho mỗi phần tử • Tính toán mạch cũng giống chế độ mạch sáng tĩnh, thường chọn hệ số tương đối từ 2-5. 5.9. Vẽ sơ đồ ghép nối hệ VXL với LED đơn qua Out Port. ? 41
  43. 5.10. Ghép nối hệ VXL với 6 LED 7 thanh kiểu Common Anode hoặc Common Cathode :Sơ đồ và giải thuật điều khiển theo phương pháp quét ? a.Sơ đồ ghép nối kiểu Cathode chung b. Giải thuật điều khiển theo phương pháp quét Phân tích : + 6 anode a nối chung, 6 anode pnt nối chung => chỉ có 8 anodes (a g và pnt). + Muốn sáng số mấy (0 9) => gửi mã 7 thanh qua các anode + Muốn sáng 1 trong số 6 LED => điều khiển ON cathode LED đó trong 1 thời gian t và là duy nhất. + Tính t theo số LED và số frame/sec (50 60 fps). Giải thuật 1. sel[6]: array [0 5] of integer ; là mảng gồm 6 phần tử để chọn đèn 2. sel[6] = {0,0,0,0,0,0} ;Bước khởi tạo,tắt cả 6 đèn 3. for i:=1 to 6 do ;Vòng lặp, "quét” từng đèn,nghĩa là chọn đèn đó,dưa dữ liệu ;và tắt các đèn khác. 4. sel[i-1] := 1 ;Chọn đèn i 5. Nạp dữ liệu 6. Delay(1) ;Làm trễ để có thể hiển thị và quan sát được 7. end; ;Tùy vào yêu cầu cụ thể mà sử dụng thêm vòng lặp while ;hay Repeat Until để dừng việc quét thỏa mãn một điều ;kiện nào đó 42
  44. 5.11 Ghép nối hệ VXL với 4 module ma trận LED (8x8):Sơ đồ và giải thuật điều khiển để hiện các ký tự. Sơ đồ (đối với một module,chỉ cần ghép thêm 3 module như thế nữa là được): ;Hiển thị ký tự ;disbuf:8 bytes chứa font ;Main Prog:Burn LEDs,gồm: 1. Init: N = 0 :Turn off Rows 2. (disbuf + N => LS164 ;shift afaf,turn off row N 3. Delay(1-1,5) ;Làm trễ 4. Turnoff row[N] ;Turn off row N 5. Inc N;If N = 8 then N = 0 ;Lặp lại 6. Goto (2) 5.12. Sơ đồ ghép nối và giải thuật điều khiển hiện thông tin text ra LCD – Text Module.? a. Sơ đồ 43
  45. b.Giải thuật • 4 line * 20 column LCD => 80 char boxes. • Ghi địa chỉ thanh ghi dầu tiên RS=0, • Ghi dữ liệu thanh ghi tiếp theo RS-1 • MSB=1 Address > 7Fh => control registers • Ví dụ 1 chu kì đọc/ghi LCD – 8 bit bus 1. E=0 2 Phát địa chỉ tạo CS và chọn Reg 3.Tạo tín hiệu R/W 4 E=1, delay 5 E=0 6 Data out 7. Vô hiệu hóa Addr, data, R/W 8. E=1 5.13 Encoder:Khái niệm và các tín hiệu ra, giải thuật tính góc quay, chiều và số vòng quay a. Khái niệm: • Là thiết bị biến chuyển động quay cơ học thành chuyển động xung. • Dùng để ghép nối, đo lường dịch chuyển cơ học:Chiều dài,vận tốc,gia tốc,tốc độ quay, định vị,robot • Công nghệ vật liệu từ - nam châm vĩnh cửu hoặc quang - hồng ngoại/laser,ADC độ phân giải cao ADC • Độ phân ly cao:256 500 kc/t (counts/turn),chịu shock (10s g) • Tốc độ cao:10k rpm,moment cản nhỏ (vài 10 −3 Nm) b. Các tín hiệu ra: • Các xung lệch nhau 90 độ • Tín hiệu ra TTL hoặc vi sai (truyền xa) hoặc RS485 (byte,BCD,GrayCode formatted) Sự dịch pha của tín hiệu ra: 44
  46. 5.14. Step motor:Nguyên lý hoạt động và ghép nối (mạch ghép nối cộng giải thuật) ? a.Khái niệm • Là motor (có stator và rotor) được điều khiển quay theo từng bước (góc, chiều) giống kim đồng bới các tín hiệu xung/ số. • Các tín hiệu xung/ số được chuyển thành chuyển động cơ học chính xác, quay và tịnh tiến. • Các tham số: - Góc giữa 2 bước quay (step/turn, ước của 360) - Dải rộng của công suất và mô men (torque) - Lắp thêm trục vits, dây đai => chuyển động tịnh tiến - 2 cuộn hoặc 4 cuộn dây • Ứng dụng: Robot, Printer, Disc drive, scanner b.Nguyên lí hoạt động Tín hiệu điều khiển logic, sau khi được khuếch đại, trở thành dòng điện đi qua các cuộn dây. Các dòng điện này tạo ra từ trường làm roto của động cơ quay. Tuy nhiên, các cuộn dây được điều khiển để xuất hiện dòng theo thứ tự => roto quay từ cực này sang cực khác => bước của động cơ. c. Giải thuật điều khiển motor 4 cuộn dây mov cl,sobuoc Lap : mov d1d2d3d4 , 11h ; d1d2d3d4 là bốn tín hiệu điều khiển ; tương ứng với 4 cực của động cơ bước ; ban đầu cho d1d2d3d4 = 0001 mov al , d1d2d3d4 ; đưa các tín hiệu Out port, al ; điều khiển ra cổng call delay ; gọi thủ tục trễ Rol d1d2d3d4,1 ; đưa tín hiệu vào cực kế tiếp : để điều khiển motor quay phải Loop lap 45
  47. 5.15 + 5.16. Ghép nối thiết bị công suất lớn: Sơ đồ cách ly qua Relay, sơ đồ và đồ thị thòi gian ghép nối qua TRIAC ? • Các mạch ghép nối thiết bị công suất lớn là những mạch ghép nối máy tính/VXL với các thiết bị có điện thế cao,dòng điện lớn như lò nung (sấy) điện trở,lò cao tần,motor (AC và DC) công suất lớn. • Sơ đồ cách ly qua Relay (a) và TRIAC (b): Relay: • Dùng Relay để cách ly [và relay trung gian] • Điều khiển công suất ON-OFF (lò điện,motor) TRIAC: • Điều chỉnh công suất vô cấp • Dễ gây nhiễu cho lưới điện,phải có Line Filter • Điện xoay chiều được đưa vào hệ thống theo 2 đường:Theo biến áp sine để ra chuỗi xung đinh hoặc thông qua 1 TRIAC tới thiết bị tiêu thụ công suất • Hệ xử lý dựa vào tín hiệu vào là các xung đing,tạo ra dãy các xung bắn.Các xung bắn này qua một bộ cách ly (để tránh tác động của công suất lớn lên hệ xử lý) tác động đóng/cắt lên TRIAC để cho phép thiết bị tiêu thụ/không tiêu thụ công suất.Tại thời điểm nằm giữa xung bắn và xung đinh tiếp theo thì thiết bị tiêu thụ điện (là vùng tô đen trên sơ đồ) => có thể điều khiển được công suất của tải tiêu thụ. 46
  48. 5.17. Ghép nối các thiết bị công suất lớn tải DC: ghép nối qua SCR: sơ đồ, đồ thị thời gian và giải thích. ? a. Sơ đồ b. Đồ thị thời gian Sơ đồ điều chỉnh công suất sơ cấp dc dùng VXL, có phản hồi (feedback) c. Giải thích • Khi có tín hiệu xung kích từ CS, tiến hành tiêu thu điện, nạp công suất vào tải ( vùng tô đen trên biểu đồ) • Mạch này được chỉnh lưu 2 nửa chu kì. 47
  49. 5.18. Sơ đồ hệ chình lưu cầu 3 (6) pha điều khiển bởi VXL ? Giải thích • A dương lên => tín hiệu truyền theo T1 - T2 – C • B dương lên => tín hiệu truyền theo T3 – T4 – A • C dương lên => tín hiệu truyền theo T5 – T6 – B 5.19. Khái niệm Power MOSFET và IGBT ? 48
  50. 1. A Power MOSFET là một loại của MOSFET, được thiết kế để điều khiển nguồn điện lớn. Nó có ưu điểm chính là tốc độ giao tiếp nhanh và hiệu quả tốt ở điện áp thấp. 2. IGBT là "tranzitor cực điều khiển cách ly", là phần tử kết hợp khả năng đóng cắt nhanh của MOSFET và khả năng chịu tải lớn của tranzitor thường. Mặt khác IGBT cũng là phần tử điều khiển bằng điện áp, do đó công suất điều khiển yêu cầu sẽ cực nhỏ. Về cấu trúc bán dẫn, IGBT rất giống với MOSFET, điểm khác nhau là có thêm lớp nối với collector tạo nên cấu trúc bán dẫn p-n-p giữa emiter( tương tự cực gốc) với collector(tuơng tự với cực máng), mà không phải là n-n như ở MOSFET . Vì thế có thể coi IGBT tương đương với một tranzitor p-n-p với dòng base được điều khiển bởi một MOSFET. 5.20. Mô hình ghép nối serial, nhiệm vụ và các khối ? a. Mô hình ghép nối Serial: b. Nhiệm vụ các khối 1.Central System: Hệ trung tâm,bao gồm CPU,bộ nhớ,các bộ điều khiển,các bus 2.Các cổng nối tiếp (Serial Ports) UART (Universal Asynchronous Receiver Transmitter)/SIO (Serial In Out) có nhiệm vụ: • Biến đổi byte => dãy bit và các bit không mang tin (start,stop,parity ) và dãy bit => byte,loại các bit không mang tin,báo lỗi khi thu. • Ghép nối với hệ trung tâm:Các bus/tín hiệu điạ chỉ,dữ liệu, điều khiển bằng phương pháp Polling,ngắt hoặc DMA. • Ghép nối với đường truyền [thông qua MODEM] bởi các tín hiệu TxD,RxD • Ghép nối MODEM dùng các tín hiệu:-RTS,-CTS,-DSR,-DTR.-CD,-RI 3.MODEM: Là thiết bị biến đổi tín hiệu logic TTL (0/1) thành các tín hiệu vật lý,phù họp với đường truyền xa và ngược lại 4.Coupler/Transceiver: Là bộ thu/phát đồng thời để luân chuyển dữ liệu giữa MODEM với đường truyền. 49
  51. 5.21. Phân biệt truyền tin nối tiếp đồng bộ và không đồng bộ ? Thông tin thường được đóng gói thành các gói tin – packet => packets. *Đồng bộ: • Trong một Packet: byte – byte, bit – bit, không có dấu hiệu phân cách • Tốc độ truyền do bên gửi quyết định: Clock (cùng với Data) hoặc chỉ xuất hiện vào thời điểm đầu trong gói tin (gọi là các ký tự đồng bộ) • Tốc độ cao, khó, tỉ lệ các bit không mang tin nhỏ, truyền gần – LAN. *Không đồng bộ: • Mỗi ký tự/byte đều có 1 xung/sườn đồng bộ (sườn xuống của Start) • Clock của 2 phía thu và phát có thể lệch nhau 3 đến 6%. • Có khoảng “trống” giữa 2 ký tự, trạng thái 1 • Tỉ lệ các bit không mang tin lớn (start,stop,parity ) lên đến 33% (ví dụ 1 start, 8 data ,1 PE, 2 stop) • Đơn giản, dễ lập trình, dễ ghép nối • Đặc biệt được chấp nhận rộng rãi: TBNV thông minh, đo lường, điều khiển, modem 5.22. Với format của frame theo chuẩn V24 (RS232): 8,PE,2 thì mạch clock giữa phía thu và phát có thể lệch nhau bao nhiêu phần trăm mà không bị sai ? ΔT : độ lệch cho phép giữa T phát và T thu t : thời gian của bit Ta có công thức ΔT độ lệch Clock là 1/11*2 =4. 55% 5.23. Format của ký tự truyền tin không đồng bộ ? Gồm: • 1 start bit = 0 • 5/6/7/8 data bit,D0 – first • [Parity bit – PE (số bit 1 là chẵn) hay PO (số bit 1 là lẻ) ] • 1/1.5/2 stop bit = 1s 50
  52. 5.24. Mô hình ghép nối chuẩn EIA RS – 232C và kể tên các tín hiệu • Đây là chuẩn do EIA (Electronics Industry Association) đưa ra năm 1969 cho việc truyền tin không đồng bộ và truyền tin qua mạng điện thoại • Nó có nhiều nhược điểm so với các chuẩn khác như tốc độ chậm, khoảng cách gần, tín hiệu đơn cực - dễ nhiễu, lượng bit không mang tin lớn • Tuy nhiên nó rất thông dụng, có nhiều trong các thiết bị máy tính, máy điều khiển, máy đo và các vi điều khiển, GPS, Gyro Compass, PLC, Hệ thống chuyển mạch • Là cửa ngõ trao đổi thông tin giữa các hệ VXL không cùng chuẩn (số bit,bộ lệnh,tốc độ ) Mô hình ghép nối: (DTE) Trong đó ý nghĩa của các tín hiệu như sau: Các tín hiệu truyền tin: • TxD:Transmit Data:Dữ liệu ra nối tiếp và một bit không mang tin • RxD:Recieve Data:Dữ liệu vào nối tiếp và một bit không mang tin • Signal Ground:0 Volt,dùng cho tín hiệu đơn cực Các tín hiệu bắt tay Modem (kích hoạt mức thấp): • -RTS:Request To send,Out – DTE • -CTS:Clear To Send,In • -DTR:Data Terminal Ready,Out • -DSR: Data Set Ready,In Trạng thái đường truyền: • -RI:Ring Indicator,In : báo chuông • -CD:Carrier Detect, In: mất sóng mang, đứt dây, mất điện Các mức tín hiệu: • -3V -15V => mức logic 0,mark,so với GND • +3V +15V => mức logic 1,space 51
  53. 5.25. Các tốc độ truyền tin không đồng bộ và cách tính các tốc độ phổ biến. • Đơn vị tính là bps (bit per second) • Các tốc độ RS-232:50,75,110,150,300,600,1200,2400,4800 và 9600.Cao hơn nữa còn có:19200,38400,57600,115200 • Dùng Xtal (thạch anh, Quartz) 18432 MHz • Cứ 16 chu kỳ Clock thì truyền được 1 bit • Thường trong các cổng truyền tin,tốc độ được tính theo: Baud rate (bps) = 18432 x 10 6 (Hz) / 16(m x 256 + n) • n là low divisor • m là high divisor. • Ví dụ với tốc độ 9600bps thì m = 0 và n = 12 5.26. PC Comm Ports: Setting (khởi tạo) cho 1 trong số 4 cổng com của PC, ví dụ bộ tham số như: 4800, 7, PE, 2 và bộ tham số khác. • Selecting Port: BaseAddr:= Comm2; {$2F8} • Format of character: (Line Control Register - BA+3). Ví dụ 4800, 8, N, 1: Port[BaseAddr+3]:= 3; {$2FB} // 8 bit data, no parity • Baud rate: Access: DLAB bit @ LCR, Low Div và Hi Div. • Khi setting baudrate, DLAB = 1, otherwise = 0 Port[BaseAddr+3 ] := Port[BaseAddr+3] or $80; // Đặt DLAB = 1 để truy cập 2 thanh ghi số chia Port[BaseAddr+0] := n {Low divisor} Port[BaseAddr+1] := m; { Hi divisor } Port[BaseAddr+3] := Port[BaseAddr+3] and $7F; // Dặt lại DLAB = 0 Chú ý : b1, b0 : 11 10 01 00 8 7 6 5 bít data b2 :0 => 1 bít stop ; 1 : 2 bít stop b3: 0=> no parity ; 1 : parity b4: chỉ có nghĩa khi b3=1, 0=> P0; 1=> PE; b5: 0 : normal ; 1: Stuck parity (PE) b6: Space Out : 0: normal ; 1: space out b7: DLAB, bằng 1 để truy cập số chia 52
  54. 5.27. Phát một gói tin dùng Polling. • Thông qua thanh ghi trạng thái đường truyền (Line Status Register – LSR) có địa chỉ BA + 5. • Giải thuật phát đi một gói tin n bytes như sau: Bit 5 (of LSR) = 1 => THRE (Trans Hold Reg Empty) For i:=1 to n do { Bằng cách gửi đi từng ký tự một } Begin Repeat Until Port[BA + 5] and $20 Nhận dữ liệu,= 0 => CPU đọc bộ đệm • B1 =1 => Overrun Error (OE),mất số liệu,bị số liệu sau đè lên • B2 = 1 => Parity Error,lỗi Parity,ví dụ đặt PE nhưng lại thu về số bit lẻ • B3 = 1 => Framing Error,lỗi khung,như sai stop bit hay sai clock 2 phía • B4 = 1 => Break Interrupt,khi t(space) > t(full char) • B5 = 1 => THRE (Transmit Hold Register Empty) • B6 = 1 => Data Transmitted,báo truyền tốt dữ liệu • B7:Không sử dụng tới Và chú ý Time Out. 53
  55. 5.29. Bộ lệnh của Hayes modem (bộ lệnh AT): đặc điểm chung của câu lệnh AT. a. Giới thiệu • Do công ty Hayes Microcomputer Product Inc. giới thiệu vào đầu năm 1980, tốc độ 300, 2400 bps, qua đường điện thoại. • Có bộ lệnh (command set) và trả lời (response set), được dùng như các lệnh chuẩn AT (standard modem). • Tín hiệu: - TxD, RxD, GND - CD,. RI. Thêm DTR – DSR, [RTS – CTS]. • Chế độ hoạt động: command và data (Online) modes - Command mode: modem nhận lệnh từ CS qua RS-232 port và thực hiện lệnh, không truyền tin. - Khi thiết lập xong kết nối với remote modem => online mode (data mode) và chỉ truyền tin, không nhận lệnh. b. Bộ lệnh AT • Các lệnh bắt đầu bằng AT hoặc at ( not At or aT) để modem detects tốc độ và format (ngoại trừ 2 lệnh ‘+++’ và A/ - repeat last Cmmnd) và kết thúc: Enter (0ah, 0dh) • Command line: có thể có hơn một lệnh, chỉ cần 1st có AT, đánh dấu ‘’ và không vượt quá 40 cha/cmmnd line. • Các lệnh và tham số. • ATDT 048692463 Dial using touch Tone • ATDP 048696125 Dial Pulse • ATT/ ATP default tone/ pulse • O end of C line, return O mode • ; end of C line, stay C mode after executing • @ wait for 5s hoặc silent Ví dụ: • ATDT 9,3456789 Kết nối từ máy trong tổng đài. • ATXn Hayes Smartmodem compatible • Other Commands: • ATE0/ 1 Disable/ Enable Echo • +++ Esc Char switch to command mode • ATHn 0:On-Hook (hangup),1: Off-Hook • ATLn 0/1/2/3 volume of speaker • ATMn 0: speaker off, 1: on until DCD, 2: on • ATNn 0: connect @ DTE rate, 1: auto rate negot. • ATO return to O mode • ATQn 0: result code En, 1: result code Dis • ATVn 0: digit, 1: word • ATZ hangup, reset to default settings • A/ Repeat last command (re dial) 54
  56. Chương 6. Analog Interface 6.1. Mô hình tổng quát về hệ thống đo lường, điều khiển số, mô tả các khối chức năng. Mô hình: Mô tả các khối chức năng: Process: Là các quá trình công nghệ như: dây chuyền xeo giấy; phối trộn nghiền nung clinker trong 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 phát điện, Sensor: là vật liệu/thiết bị cảm ứng dùng để biến đổi các đại lượng vật lý không điện (T, RH, p, L, v, a, F, pH, ) thành các tín hiệu điện (u, i, R, f). Được đặc trưng bởi : + Độ nhạy + Độ tuyến tính + Độ lặp lại - Vật liệu: Do đặc tính tự nhiên của vật chất.Ví dụ RTD Pt100, cặp nhiệt điện, piazo (titanate-bary), tenzometric - Thiết bị: có sự gia công, chế tác. Ví dụ LM135 precision temperature sensor, bán dẫn. Conditioners: các bộ chuẩn hóa tín hiệu , dùng vì đầu ra của các sensor thường nhỏ, 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. MUX - Analog Multiplexor: bộ nhập kênh (dồn kênh ) , để có thể thu thập nhiều số liệu. + Inputs: n bit chọn kênh, có 2n kênh số đo analog, đánh số từ 0 2n – 1; + Output: 1 kênh chung thông với 1 trong số 2n inputs và duy nhất; + Như vậy chỉ cần một hệ VXL/MT và ADC vẫn thu thập được nhiều điểm do công nghệ. S&H ( Sample and Hold ): bộ trích mẫu và giữ mẫu , dùng để lưu trữ giá trị của tín hiệu ở thời điểm Sample (100s ns vài us), và giữ nguyên tín hiệu đó trong quá trình ADC chuyển đổi được ổn định. - Chỉ dùng trong các trường hợp tín hiệu biến thiên nhanh tương đối so với thời gian chuyển động của ADC. - Nâng cao độ chính xác và tần số của tín hiệu. 55
  57. ADC ( Analog to Digital Converters ): rời rạc hóa tín hiệu về thời gian và để số hóa tín hiệu – lượng tử hóa. - Có nhiều phương pháp/tốc độ/địa chỉ ứng dụng của chuyển đổi. Central system: hệ nhúng/MT - CPU, mem, bus, IO port, CSDL, net; - Thu thập và xử lý số đo. DAC (Digital to Analog Convertors): - Biến đổi tín hiệu số sang tín hiệu liên tục về thời gian nhưng vẫn rời rạc về giá trị. - Nhiều loại: số bit/1 hay 2 dấu/tốc độ, Mạch điện tử analog (Buffer Isolators): là các bộ khuyếch đại , bộ đệm , cách li. Có nhiều kiểu chức năng tùy thuộc ứng dụng: - Lọc, tái tạo, tổng hợp âm thanh - Khuếch đại để đến các cơ cấu chấp hành - Cách ly quang học để ghép nối với các thiết bị công suất lớn (motor, breaker, ) Actuators: các cơ cấu chấp hành - Là một lớp các thiết bị để tác động trở lại dây chuyền công nghệ; - Cơ học: motor (đồng bộ/không đồng bộ 3 pha, 1 pha, dc, step) như robot, printer’s motor, FDC/HDC motors, - Điều khiển các dòng năng lượng điện: SCR (thyristor), Triac, Power MOSFET, IGBT, - Điều khiển dòng chất lỏng/ khí/ ga: valves (percentage, ON/OFF valves). - 6.2. Analog SWITCH, MUX/DEMUX : nguyên lí, đặc điểm ? 1. Analog Swtich • Dùng cặp transistor FET bù kênh p và kênh n => dẫn dòng ac • R (on) từ 100 Ω 1.5 k Ω • Off channel Leakage Current : 100pA 1nA => không dùng để khóa tín hiệu điện áp quá thấp • Biên độ tín hiệu Vss thường dùng mạch follower để loại trừ Ron 56
  58. 6.3. Công thức chung chuyển đổi AD và DA, giải thích ý nghĩa các kí hiệu ? n-1 n-2 1 0 n Uanalog = ( bn-12 + bn-22 + + b12 + b02 )*Uref / 2 Uref nguồn chuẩn do các vi mạch (super zener) tạo ra, có độ ổn định cao về thời gian và nhiệt độ. 6.3. Nguyên lí, ý nghĩa của các bộ Sample & Hold. Sơ đồ ghép nối chuyển đổi ADC có dùng S&H. Mạch lặp tụ giữ - Dùng để trích mẫu của tín hiệu vào thời điểm cuối của xung sample và giữ nguyên giá trị đó trong khoảng thời gian lâu hơn . - Dùng trong các hệ thu thập số liệu khi tốc độ biến thiên tín hiệu cao (tương đối) với thời gian ADC chuyển đổi . - Thu hẹp cửa sổ bất định của ADC , do thời gian chuyển đổi dài (10s µs - ms) thành cửa sổ bất định của sample & hold (10s ns - µs) nhằm nâng cao độ chính xác chuyển đổi A/D & nâng cao tần số tín hiệu . - Thời gian trích mẫu : vài chục ns đến vài µs . - Tụ giữ (Chold) : dùng tụ có dòng rò rất nhỏ .Khi khóa đóng, tụ sẽ được nạp,khi khóa mở, tụ sẽ bảo tồn giá trị của nó - Tốc độ sụt áp : mV/s , tùy thuộc tụ . - Guard ring : kỹ thuật chế tạo mạch giảm thiểu dòng rò . GR đảm bảo cho điện áp bên ngoài bằng nhau , giữ cho dòng điện tích không thay đổi . 57
  59. 6.4. Tính tần số của một dạng tín hiệu có tính chu kì để chuyển đổi ADC với độ chính xác có ý nghĩa khi có và không có S&H ? Các giá trị ban đầu: • Công thức của tín hiệu tương tự với 2 ẩn số là tần số góc và pha • Số bit chuyển đổi n • Thời gian chuyển đổi tv • U(ref) • Sai số lượng tử • Thời gian lấy mẫu ts Đầu tiên tính U(LSB) = U(ref)/2 n ,sau đó vẽ dạng tín hiệu và dùng định lý Thales để tính ra U tại thời điểm lấy mẫu,rồi sau đó đưa vào giải hệ phương trình 2 ẩn sẽ tính ra tần số. 6.5. Nguyên lí của bộ chuyển đổi DAC ? DAC là thiết bị dùng để biến các mã số ( thường là nhị phân ) phía vào thành dòng điện hoặc điện áp phía ra liên tục về thời gian, rời rạc về giá trị Nguyên lí 4 bit DAC : bi = 0 Æ ki open = 1 Æ khóa đóng , ki close + Mạch hở : với mọi bi = 0 ; Uout = 0 V + Mạch đóng : b0 = 1 ; với mọi bi = 0 Æ Uout = R*Uref /16R = Uref /16 + Full Scale : với mọi bi = 1 Æ Uout = ( 1/16 + 2/16 + 4/16 + 8/16 )Uref = 15*Uref /16 n n = (2 - 1)*Uref /2 ( n = 4 ) 58
  60. 6.6. Sơ đồ nguyên lí DAC R-2R Ladder ? ki = 0Æ đóng sang phải : đóng đất ki = 1Æ đóng sang trái : ic Bộ điện trở đóng vai trò chia đôi dòng điện,tạo nên dòng Ic là hằng số với một bộ các bit có giá trị cố định,tạo nên sự ổn định trong mạch.Mạch khuếch đại vi sai sẽ đưa dòng điện ra ngoài thành nguồn áp tương tự. 6.7. Ghép nối DAC, tính toán và giải thuật để phát các dạng tín hiệu đã cho (nhiều dạng bài tập) 1. Sơ đồ ghép nối DAC với hệ VXL: Hình 6.17 : Interfacing to DAC 59
  61. 1. Hệ thống bao gồm: • Cổng song song,có thể là LPT,Mode 0, ISA bus PPI 8255 hoặc bộ chốt 8 bit, VĐK đã có chốt ra • DAC và khuếch đại tuyển tính (OpAmp) để biến đổi i thành u, Nguồn chuẩn. • Nếu R1 = R2 = R3 + R(POT) thì U(out) = -Ic* R(feedback) 2. Tính toán • b(i) = 0 với mọi i => Uout=0 V • b(0)= 1, còn lại bằng 0 => Uout= Ulsb= 1/2^n * Uref= 0.04 V ( ví dụ Uref= 10.24V, n=8) • b(n-1)=1 là duy nhất => Uout= Uref /2 = 5.12 V, nửa thang đo • b(i)=1, với mọi i => Uout= ( 2^n-1)/ 2^n * Uref = 10.20 V, đầy thang đo 6.8. Nguyên lí của ADC tích phân 2 sườn dốc ? 1.Khái niệm - ADC là thiết bị IC dùng để biến đổi tín hiệu liên tục thành tín hiệu số (thực hiện quá trình lượng tử hóa) + rời rạc hóa tín hiệu về thời gian + số hóa tín hiệu về biên độ từ giá trị liên tục ban đầu => lượng tử hóa. 2. Nguyên lý - Dual Slope Integration ADC :Chuyển đổi gián tiếp.Dùng cho đo lường,thu thập số liệu trong công nghiệp như cân điện tử, đo nhiệt độ 60
  62. 2.1 Cấu trúc • K1 : khóa đơn cực , 3 chiều • Uin : điện áp cần chuyển đổi,ngược dấu Uref • Czero : bù điện áp, dòng • Switch : chuyển mạch theo các pha hoạt động • V+ > V- => Out =1 • V+ Out = 0 2.2 Hoạt động Chia làm 3 pha 1. Zeroing Phastng(0 t1) K1 => GND,K2,K3 closed => khử bỏ điện áp dư trên các phần tử 2. Integrating phase (t1 t2) : pha tích phân K1 Æ U(IN) , K2 hở , K3 hở t2 Ua (t2) = -1/RiCi t1∫ Uin dt + Ua (t1) 3. De-integration phase (t2 t3) : pha giải vi phân K1 Æ -U(REF) K2 , K3 : hở * Ua(t3) =0 => Uin = k(t3 – t 2) * Uin là trung bình tích phân của Uin trong khoảng thời gian t1÷t2 Loại bỏ nhiễu:Nếu từ t1 – t2 là chẵn chu kỳ lưới 50Hz thì loại bỏ nhiễu 6.9. Ghép nối (sơ đồ và chương trình điều khiển) ADC 7135/7109 với hệ VXL nào đó (theo cấu trúc bus)? 61
  63. 6.10 : ADC xấp xỉ liên tiếp Successive Approximation ADC 1. Đặc điểm • Nhanh, vài trăm ns 100us • Input 0 5V, -5 +5, -10 +10 • Đầu ra số: 3 trạng thái, nhị phân. • Thường xử lý tín hiệu biến thiên nhanh : voice, radar : 2. Nguyên lý cấu trúc • AC : 12 bit Analog Comparator, so sánh Uin và Udac-out không có kết quả bằng nhau. • Uref và DAC : tạo điện áp mẫu so sánh với Uin. • Buffer 3 trạng thái Trở kháng cao khi không đc chọn. • 3. Hoạt động • Có n bit => có n steps. • Mỗi chu kỳ chuyển đổi do CPU khởi động hoặc tự chạy,chuyển đổi xong báo tín hiệu EOC • Tạo ra xung start Mov dx, ADCport Out dx, al • Sau Starting, SAR bắt đầu hoạt động: Step 0 : Qn-1 =1 (only) => Ua =(2^n-1 /2^n) Uref Giữ nguyên Qn-1 n Step 1 : Cho Qn-2 = 1 còn lại = 0 UA = (2^n-1 + 2^n-2) / 2 * Uref > Uin => Qn-2= 0; 62
  64. Step n : Nếu Uin lấy xấp xỉ. 6.11. Ghép nối (sơ đồ và chương trình điều khiển) ADC0809 với hệ VXL đã cho. : 6.12. Multi IO Card,dùng DAC để tạo mạch thu thập số liệu. Sơ đồ Multi IO Card: 63
  65. Chương 7. Vi điều khiển 7.1. Nêu đặc điểm của vi điều khiển AT89C51 (Intel 80C51) hoặc ATmegaxx hoặc PIC6F877. Đặc điểm các bộ vi điều khiển • Một bộ vi điều khiển là một vi mạch đơn chứa bên trong CPU và các mạch khác để tạo nên một hệ máy vi tính đầy đủ. Ngoài CPU các bộ vi điều khiển còn chứa bên trong chúng các RAM, ROM, mạch giao tiếp nối tiếp, mạch giao tiếp song song, bộ định thời, đông hồ thời gian thực và các mạch điều khiển ngắt, tất cả hiện diện trong một vi mạch • Một bộ vi điều khiển là một mạch tích hợp (IC) lập trình được. Khi bật nguồn cho vi điều khiển, nó sẽ thực hiện một chuỗi các lệnh. Các lệnh được cất trong chip. Một vi điều khiển có thể thực hiện các công việc khác nhau bằng cách thay đổi các lệnh này ( thường được gọi là chương trình) • Các bộ vi điều khiển đáp ứng các tác động bên ngoài ( các ngắt) theo thời gian thực. • Các tập lệnh của bộ vi điều khiển cung cấp các điều khiển xuất nhập. Có các lệnh lập và xoá các bit đơn và thực thi các thao tác hướng bit như là AND, OR, XOR. • Các bộ vi điều khiển có tỷ số ROM, RAM cao. Chương trình điều khiển tương đối lớn được lưu trữ trong ROM trong khi RAM chỉ được sử dụng như một bộ nhớ tạm thời. Bộ vi điều khiển 8051 (là điển hình cho họ vi điều khiển 8x51) Đặc điểm của 8051 : 8051 là một vi điều khiển 8 bit có chứa : • CPU với bộ xử lý Boolean • 5 hoặc 6 ngắt : 2 ngắt ngoài, 2 mức ưu tiên. • 2 hoặc 3 bộ định thời 16 bit • Cổng nối tiếp 2 chiều đồng thời (full duplex) lập trình được • 32 đường vào ra ( 4 cổng xuất nhập 8 bit) • 128 byte RAM • 4 kByte ROM / EPROM trong một số vi mạch khác • Có bộ xử lý bit ( thao tác trên các bit riêng rẽ) nên thường đáp ứng được các ứng dụng điều khiển thời gian thực • Nhân /chia trong 4 micro giây 64
  66. Chương 8. Device drives 8.1. Khái niệm device drivers (Trình điều khiển thiết bị) • DD là một chương trình cung cấp cho hệ điều hành các thông tin cần thiết để nó có thể hoạt động với 1 thiết bị cụ thể ( ví dụ máy in). • DD có mục đích là kiểm soát hoặc điều khiển các thiết bị phần cứng. Một DD liên kết một HĐH với 1 thiết bị, làm cho HĐH có khả năng nhận dạng các thiết bị và thể hiện các dịch vụ của thiết bị đối với các chương trình ứng dụng. • DD có thể là các hàm của thiết bị, BIOS, OS, hoặc theo ứng dụng : DLLs, SLLs, DRVs 8.2 – Phân biệt SLL và DLL • DLL (Thư viện liên kết động) : là một file hoạt động như một thư viện dùng chung cho các hàm. Liên kết động cung cấp cách để một tiến trình gọi tới một hàm mà hàm đó không nằm trong mã thực hiện của nó. Như vậy các chương trình được kết nối với thư viện khi chạy, do đó file thư viện và file chương trình là riêng rẽ.Nhờ đó dễ dàng chia sẻ dữ liệu và tài nguyên, giảm kích thước của file chương trình. DLL được cập nhật và sử dụng một cách dễ dàng bởi mọi ngôn ngữ lập trình • SLL (Thư viện liên kết tĩnh ) : khác với DLL ở chỗ một chương trình được kết nối với các hàm trong thư viện trong quá trình biên dịch và xây dựng chương trình. Do đó hàm trong thư viện trở thành một phần của chương trình. Vì thế sử dụng SLL sẽ tốn bộ nhớ chương trình hơn rất nhiều so với sử dụng DLL 65
  67. 8.3 – PC Layers : mô tả luồng thông tin trong hệ thống khi ghép nối ngoại vi. Khi ghép nối ngoại vi ( có tác động từ bên ngoài vào hệ thống), thì phải có các thông tin vào và ra Sơ đồ: Xét trường hợp khi thiết bị vào là bàn phím : • Khi gõ một phím, bàn phím (BF) sẽ gửi về máy tính (MT) một mã được gọi là MakeCode : là 1 mã nối tiếp có khuôn dạng như là không đồng bộ, vd 8, PO, 1 ( 8 data, 1 parity lẻ, 1 stop). Môi trường truyền 1 bit số liệu kèm theo 1 xung clock. Khi nhả phím, BF gửi về 1 mã BreakCode. • Khi về MT, cổng Keyboard sẽ kiểm tra sự giống nhau của Makecode và Breakcode ( bằng par) . Nếu sai, bản thân hệ thống phải gửi lại mã để yêu cầu gửi lại. Nếu đúng, BF phát tín hiệu IRQ1 của BIOS. • Cổng Keyboard sẽ chuyến MakeCode thành SystemCode. Qua BIOS sẽ chuyển thành mã ASCII nếu được, còn nếu ko được thì để là 0, và đưa vào bộ đệm từ ( Key Buffer hay Key Queue - vùng nhớ 32 byte) Key Queue có tác dụng khi gõ nhanh các phím mà HĐH chưa kịp xử lý, khi đó mã vào được lưu vào Key Queue, nếu đầy sẽ có thông báo (tiếng bip). HĐH sẽ lần lượt lấy các phím được trỏ bởi Head Pointer để xử lý, cho đến khi Head Pointer và Tail Pointer bằng nhau thì dừng lại. • Chú ý : Có thể là cùng 1 phím, nhưng thuộc về BIOS, OS hay chương trình ứng dụng thì thuộc loại nào thì loại đó sẽ xử lý, các chương trình khác nhau thì ý nghĩa của phím cũng khác nhau. 66