Giáo trình Ghép nối và điều khiển thiết bị ngoại vi
MỤC LỤC
CHƯƠNG 1: CƠ SỞ GHÉP NỐI THIẾT BỊ NGOẠI VI
1.1. Giới thiệu chung
1.1.1. Cấu trúc hệ thống
1.1.2. Nhiệm vụ của bộ ghép nối
1.1.3. Thủ tục trao đổi dữ liệu của máy vi tính
1.2. Giới thiệu một số vi mạch dùng trong bộ ghép nối
1.2.1. Các mạch logic cơ bản
1.2.2. Các mạch lật
1.2.3. Các mạch thanh ghi đệm
1.2.4. Các mạch giải mã địa chỉ
1.2.5. Các mạch truyền dữ liệu
CHƯƠNG 2: GHÉP NỐI VÀO RA SONG SONG ðIỀU KHIỂN BẰNG
CHƯƠNG TRÌNH
2.1 Các lệnh vào ra dữ liệu
2.1.1 Các lệnh vào ra bằng hợp ngữ
2.1.2 Các lệnh vào ra bằng Turbo C
2.1.3 Các lệnh vào ra bằng Turbo Pascal
2.2 Ghép nối song song đơn giản: có hay không có đối thoại
2.2.1 Cửa vào đơn giản không đối thoại
2.2.2 Cửa ra đơn giản không đối thoại
2.2.3 Cửa vào đơn giản có đối thoại
2.2.4 Cửa ra đơn giản có đối thoại
2.3 Ghép nối song song điều khiển bằng chương trình
2.3.1 Sơ đồ khối và chức năng các khối của 8255A
2.3.2 Các chế độ làm việc của 8255A
2.3.3 Ghép nối với 8255A
2.3.4 Lập trình cho 8255A
CHƯƠNG 3: GHÉP NỐI TRAO ðỔI DỮ LIỆU NỐI TIẾP
3.1 Giới thiệu chung về trao đổi dữ liệu nối tiếp
3.1.1 Yêu cầu trao đổi dữ liệu nối tiếp
3.1.2 Mạch trao đổi dữ liệu nối tiếpTài liệu môn học: Ghép nối và điều khiển thiết bị ngoại vi
Giảng viên: Nguyễn Văn Minh Trí 4
3.1.3 Thủ tục trao đổi dữ liệu nối tiếp
3.2 Mạch thu phát dị bộ vạn năng UART 8250
3.2.1 Sơ đồ khối và chức năng các khối của UART 8250
3.2.2 Ghép nối với UART 8250
3.2.3 Lập trình cho UART 8250
CHƯƠNG 4: GHÉP NỐI ðIỀU KHIỂN NGẮT
4.1 Khái niệm và phân loại ngắt
4.1.1 Khái niệm
4.1.2 Phân loại ngắt
4.2 Xử lý ngắt của nhiều thiết bị ngoại vi
4.2.1 Cho phép hoặc cấm ngắt
4.2.2 Sắp xếp ưu tiên ngắt
4.2.3 Xác định nguồn gây ngắt
4.2.4 Tạo vector ngắt
4.3 Vi mạch điều khiển ngắt 8259A
4.3.1 Sơ đồ khối và chức năng các khối của 8259A
4.3.2 Cấu trúc hoạt động của vi mạch 8259A
4.3.3 Ghép nối với 8259A
4.3.4 Lập trình cho 8259A
CHƯƠNG 5: GHÉP NỐI VÀO RA ðIỀU KHIỂN BẰNG DMA
5.1 Khái niệm DMA cơ bản
5.1.1 Khái niệm DMA
5.1.2 Hoạt động DMAC (DMA Controller) cơ bản
5.1.3 Các chế độ trao đổi dữ liệu DMA
5.2 Bộ điều khiển DMA – 8237A
5.2.1 Sơ đồ khối và chức năng các khối của DMAC 8237A
5.2.2 Ghép nối với 8237A trong hệ vi xử lý 8088
5.2.3 Lập trình cho 8237A
CHƯƠNG 6: GHÉP NỐI TƯƠNG TỰ-SỐ VÀ SỐ-TƯƠNG TỰ
6.1. Giới thiệu một số mạch khuếch đại thuật toán
6.1.1 Các tham số cơ bản của mạch khuếch đại thuật toán
6.1.2 Các sơ đồ cơ bản của bộ khuếch đại thuật toán
6.2 Bộ chuyển đổi số-tương tự DAC
6.2.1 Hoạt động của DAC
6.2.2 Các tham số cơ bản của bộ chuyển đổi của DA
6.2.3 Các mạch DAC điển hình
6.2.4 Ghép nối với DAC
6.2.5 Lập trình xuất dữ liệu ra DAC
6.3 Bộ biến đổi tương tự-số ADCTài liệu môn học: Ghép nối và điều khiển thiết bị ngoại vi
6.3.1 Nguyên tắc làm việc của ADC
6.3.2 Các tham số cơ bản của bộ chuyển đổi AD
6.3.3 Các phương pháp chuyển đổi AD
6.3.4 Ghép nối với ADC
6.3.5 Lập trình nhận dữ liệu từ ADC
, nghĩa là các bit có giá trị “1” sẽ có mức ñiện áp LOW, các bit có giá trị “0” sẽ có mức ñiện áp HIGH. Mức tín hiệu nhận và truyền qua chân RxD và TxD thông thường nằm trong khoảng – 12V ñến +12V. Mức ñiện áp ñối với mức HIGH nằm giữa +3V ñến +12V. Một chuỗi dữ liệu truyền ñi theo dạng nối tiếp nhau trên một ñường dẫn: bắt ñầu bằng một bit khởi ñầu (Start bit), tiếp theo ñó là các bit dữ liệu (data bit), bit thấp ñi trước. Số bit dữ liệu nằm trong khoảng 5 ñến 8 bit, tiếp ñó là bit kiểm tra chẳn lẻ (Parity) và cuối cùng là bit kết thúc (stop bit). Hình thức truyền này có khả năng dùng cho những khoảng cách lớn , bởi vì các khả năng gây nhiễu là nhỏ hơn là dùng cổng song song. Tốc ñộ truyền ñược thiết lập bằng tham số Baudrate, là số bit truyền ñi trong 1 giây, thông thường là 300, 600, 1500, 2400, 4800, 9600 và 19200. Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 120 Một nhược ñiểm không nhỏ của cổng nối tiếp là tốc ñộ truyền dữ liệu bị hạn chế. Ví dụ như với tốc ñộ 9600 baud cho phép truyền nhiều nhất là 960 byte mỗi giây. Khuôn dạng dữ liệu (Frame) cần phải ñược thiết lập như nhau ở cả hai bên gởi cũng như nhận. Start bit Stop bit +12V -12V D0 D1 D2 D3 D4 D5 D6 D7 1 1 0 1 0 0 1 0 T= 1/fbaud 1.04 ms Dòng dữ liệu trên cổng RS_232 với tốc ñộ baud 9600baud. Một trong những yêu cầu quan trọng của RS-232 là thời gian chuyển ñổi từ một mức logic này tới mức logic khác không vượt qúa 4% thời gian 1 bit. Vì thế ở tốc ñộ 19200 thời gian chuyển mức logic phải nhỏ hơn . Vấn ñề này làm giới hạn chiều dài ñường truyền . Với tốc ñộ truyền 19200 baud có thể truyền xa nhất là 50ft (1ft = 30.48cm, 15.24cm) Một trong những vấn ñề quan trọng cần chú ý khi sử dụng RS-232 là mạch thu phát không cân bằng ( ñơn cực ). ðiều này có nghĩa là tín hiệu vào ñược so với ñất. Vì vậy, nếu ñiện thế tại hai ñiểm ñất của hai mạch thu phát không bằng nhau thì sẽ có dòng ñiện chạy trên ñất. Kết quả sẽ có áp rơi trên dây ñất ( V= I.R ) sẽ làm suy yếu tín hiệu logic. Nếu truyền tín hiệu ñi xa , R sẽ tăng dẫn ñến áp rơi trên ñất sẽ lớn dần ñến lúc tín hiệu logic sẽ rơi vào vùng không xác ñịnh và mạch thu sẽ không nhận ñúng dữ liệu ñược truyền từ mạch phát. Chính sự không cân bằng trên mạch thu phát là một trong những nguyên nhân giới hạn ñường truyền. Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 121 Chương II : Giới thiệu các linh kiện dùng trong mạch I. Chip ADC804: Chíp ADC804 là bộ chuyển ñổi tương tư số thuộc họ ADC804 của hãng national semiconductor. Chíp này cũng ñược nhiều hãng khác sản xuất. ðiện áp nuôi là +5v và ñộ phân giải 8 bit. Thời gian chuyển ñổi ñược ñịnh nghĩa là thời gian mà bộ ADC cần ñề chuyển môt ñầu vào tương tự thành một số nhị phân. ðối với ADC 804 thời gian chuyển ñổi phụ thuộc vào tần số ñồng hộ ñược cấp tới chân CLK va CLKIN và không bé hơn 110µs. CS chọn chip Là chân chọn chíp, ñầu vào tích cực mức thấp ñược sử dụng ñể kich hoạt chíp ADC804. ðể tri cập ADC804 thì chân này ở mức thấp. RD - ðọc ðây là một tín hiệu vào tích cực mức thấp. các bộ ADC chuyển ñổi ñầu vào tương tự thành số nhị phân và giữ nó ở một thanh ghi trong. RD ñược sử dụng ñể có dữ liệu ñược ñã chuyển ñổi tới ñầu ra của ADC 804. khi CS=0 nếu có một xung cao xuông thấp áp ñến chân RD thì dữ liệu ra dạng số 8 bit ñược ñưa tới các chân dữ liệu D0-D7. WR - Ghi ðây là chân vào tích cực mức thấp ñược dung ñể báo cho ADC 804 bắt ñầu quá trình chuyển ñổi. Nếu CS=0 khi WR tạo ra xung cao xuống thấp thì bộ ADC 804 bắt ñầu tiến hành chuyển ñổi giá thị ñầu tương tự Vin về số nhị phân 8 bit. CLK IN và CLK R CLK IN là chân vào nối tới ñồng hồ ngoài khi ñộng hồ ngoài ñược sử dụng ñể tạo thời gian. Tuy nhiên 804 cũng có mộ bộ tạo xung ñồng hồ trên chíp ñể dùng ñồng hồ trên chíp của 804 thì chân CLK IN và CLK – R ñược nối tới tụ ñiện và một ñiện trở. với tần số =f RC1.1 1 Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 122 Ngắt INTR Ngắt hay còn gọi là kết thúc việc chuyển ñổi. ñây là chân ra tích cực mức thấp. Bình thường chân này ở trạng thái cao và khi việc chuyển ñổi hoàn tất thì nó xuống thấp ñể báo cho CPU biết là dữ liệu ñược chuyển ñổi ñã sẵn sàng ñể lấy ñi. Sau khi INTR xuống thấp, cần ñặt CS=0 và gửi một xung cao xuống thấp tới chân RD ñể ñưa dữ liệu ra. Vin (+) và Vin(-) ðây la hai ñầu vào tương tự vi sai, Trong ñó Vin = Vin (+) - Vin (-) Vin (-) ñược nối xuống thấp Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 123 Vin (+) ñược dùng làm dầu vào tương tự và ñược chuyển ñổi về dạng số. Vcc Là chân nguồn nuôi. Vref/2 Chân 9 là ñiện áp ñầu vàoñược dùng là ñiện áp tham chiếu. D0- D7 D0-D7 là các chân ra dữ liệu Các chân nay ñược ñệm ba trang thái và dữ liệu ñã ñược chuyển ñổi chỉ ñược truy cập khi chân CS = 0 và chân RD ñưa xuông mức thấp. Dout= uockichthuocb Vin Chân ñất tương tự và chân ñất số. ðây là những chân ñầu vào cấp ñất cho cả tính hiệu tương tự và số, Tương tự nối toi Vin và chân ñất số nối tới Vcc. II. Cảm biến nhiệt ñộ (họ LM35): Bộ cảm biến ( Transducer ) chuyển ñổi các ñại lượng vật lý, ví dụ như nhiệt ñộ, cường ñộ ánh sáng, lưu tốc và tốc ñộ thành các tín hiệu ñiện. Phụ thuộc vào bộ cảm biến mà ñầu ra có thể là tín hiệu dạng ñiện áp,dòng, trở kháng hay dung kháng. Bộ cảm biến nhiệt ñáp ứng sự thay ñổi nhiệt ñộ bằng cách thay ñổi trở kháng, song ñáp ứng này không tuyến tính. Bộ cảm biến nhiệt ñộ LM35 của hãng National Semiconductor Corp là bộ cảm biến nhệt tuyến tính ñơn giản và dễ ñược sử dụng rộng rãi. LM35 là họ cảm biến nhiệt mạch tích hợp chính xác cao có ñiện áp ñầu ra tỷ lệ tuyến tính với nhiệt ñộ theo thang ñộ Celsius. Nhiệt ñộ (00 ) Trở kháng của cảm biến (K Ω ) 0 29.49 25 10 50 3.893 75 1.7 100 0.817 Trở kháng của bộ cảm biến nhiệt theo nhiệt ñộ Họ cảm biến này không yêu cầu cân chỉnh ngoài vì vốn nó ñã ñược cân chỉnh . Họ này cho ra ñiện áp 10mV ứng với thay ñổi nhiệt ñộ là 10C. Bảng sau giới thiệu một số thông số kỹ thuật chính của họ LM35. Mã sản phẩm Dải nhiệt ñộ ðộ chính xác ðầu ra LM35A -550C tới +1500C + 10C 10mV/F Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 124 LM35 -550C tới +1500C + 1,50C 10mV/F LM35CA -400C tới +1100C + 10C 10mV/F LM35C -400C tới +1100C + 1,50C 10mV/F LM35D 00C tới +1000C + 120C 10mV/F Thông số kỹ thuật chính của cảm biến nhiệt họLM35. III. Chip 74LS151: 74LS151 là một chip có 8 ñầu vào số ña chức năng tốc ñộ cao.Nó cung cấp trong một gói, khả năng chọn một bit từ 8 bit nguồn. 74LS151 có thể sử dụng như một chức năng của máy phát ñể phát những mức logic chức năng với 4 giá trị. S0 ÷ S2 : Chọn ñầu vào I0 ÷ I7 : Ngõ vào ña chức năng E : Chân vào tác ñộng ( tác ñộng ở mức thấp) Z : Ngõ ra ña chức năng Z : Ngõ ra bổ sung ña chức năng Vcc : Chân nguồn GND : Chân nối ñất Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 125 Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 126 IV. Chip 74LS373: Intel giới thiệu 74LS373. 74LS373 là một bộ cài ñặt 8 mức flip-flops tác ñộng nhanh. Nhiệm vụ của 74LS373 ñược hiển thị ở bản dưới. “ Hi-Z” có nghĩa là ngõ ra ở trạng thái trở kháng cao. Ngõ ra của mạch ñược biết như ngõ ra 3 trạng thái. Ngõ ra 3 trạng thái ñược sử dụng ñể ñiều khiển các bus nơi mà các thiết bị khác nhau sẽ ñược tác ñộng ñủ ñể ñóng con 3 trạng thái ñể ñiều khiển 1 bus. Hi-Z : Ngõ ra trở kháng cao Qo : Mức ngõ ra trước khi cấu hình ngõ vào ñược thiết lập OE ( Output Enable): Mở cổng ñệm Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 127 Chương III : Mạch thiết kế ghép nối I. Sơ ñồ nguyên lý của mạch thiết kế mạch: II. Nguyên lý hoạt ñộng của mạch: Mạch ño ánh sáng và ñiều khiển ñèn thông qua cổng nối tiếp RS-232. Mạch sử dụng quang trở ñể ño ánh sáng ñiều khiển ñèn, với ñiện áp chuẩn 2.5V lấy từ Diod Zener REF25Z, sau ñó qua mạch khuếch ñại ñưa LM358 ñưa vào ñiện áp chuẩn 2.5V vào AD0804. AD0804 chuyển ñổi tín hiệu tương tự từ quang trở thành tín hiệu số từ D0 →D7. ðầu vào quang trở dùng trở 330 Ω ñể giảm dòng vào, 2 diod 4148 tạo ra ngưỡng dẫn. Khi chân WR ñược kích mức logic 0 từ chân RTS của cổng nối tiếp RS-232 thì AD0804 bắt ñầu làm việc. Sau khi kết thúc 8 chu kỳ INTR báo kết thúc. Tín hiệu tương tự khi qua con AD0804 chuyển thành tín hiệu số, thông qua ðảo 7414 ñưa bit 1 vào chân LE (chip ñệm) và OE nối mass sẽ cho thông dữ liệu. ðầu ra kích con ba trạng thái thông dữ liệu từ 8 ñầu vào D0 →D7 khi ñầu ra bằng ñầu vào, mạch còn lại chuyển tín hiệu truyền từ song song qua nối tiếp. Thông qua mạch dao ñộng (7414, 10K, 10nF ) sẽ tạo xung ñưa vào IC74161 ñếm từ 000 →111, sau ñó quay trở lại và cứ ñếm mãi như vậy. QD ñược kích mức logic 0 sẽ kích mở 74151(A), sau 8 lần ñếm cứ lần lượt ñưa dữ liệu ra ñầu ra Y ñến chân RxD của cổng RS-232 thông qua máy tính ñiều khiển, ñiện áp sẽ ñược ñưa ra chân DTR +12V, dòng qua Diod 20mA làm Diod sáng lên kích mở Tranzitor, mở C828 và H106. Lúc này Role ñiện từ ñóng nối nguồn AC ñèn sáng lên. QAQBQC lần lượt tác ñộng như bảng trạng thái sau: QA QB QC Y 0 0 0 D0 1 0 0 D1 0 1 0 D2 0 0 1 D3 Khi kết thúc 111 chuyển qua 011 D7 tắt. Qua ñầu ñảo ñiều khiển tương tự 74151(B) có ñược bit dữ liệu D4 →D7. Sau bit stop qua 3 bit Break. Vậy cuối cung thu ñược 8 bit data,0 parity, 1 stop, 9600 Baud, 6 bit Break. Tài liệu môn học: Ghép nối và ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 128 III. Lưu ñồ thuật toán: Khởi phát chế ñộ Tạo tín hiệu Start Chờ thời gian Tch ðọc dữ liệu trong RBR ðỏ ñèn DTR=12 Tắt ñèn DTR= -12
File đính kèm:
- giao_trinh_ghep_noi_va_dieu_khien_thiet_bi_ngoai_vi.pdf