Đồ án Đọc dữ liệu ADC 8 bít qua cổng máy in với ADC0809

Trong khoa học kỹ thuật, Máy tính đã có rất nhiều ứng dụng trong cuộc sống, phát triển trong nhiều lĩnh vực như công nghiêp,thương mại, quân sự, nông nghiệp,y học Trường Đại Học Kỹ Thuật Công Nghiệp- Thái Nguyên là một trường có bề dày lịch sử về nghiên cứu và giảng dạy, môn học “Kỹ thuật Ghép Nối Máy Tính ” là môn học chuyên ngành của ngành Kĩ thuật Máy tính. Trong khuôn khổ “Đồ Án Kỹ thuật Ghép Nối Máy Tính”chúng em đã áp dụng kiến thức môn học này vào đề tài “Đọc dữ liệu ADC 8 bít qua cổng máy in với ADC0809 ”.

doc23 trang | Chia sẻ: ngtr9097 | Lượt xem: 3522 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đồ án Đọc dữ liệu ADC 8 bít qua cổng máy in với ADC0809, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC DANH MỤC HÌNH ẢNH Hình 1 Sơ đồ tổng quát của một lớp ADC 5 Hinh 2 Sơ đồ khối ADC liên tiếp xấp xỉ 6 Hình 5 Bảng thật của ADC nhanh 3 bit hình 4 8 Hình 6 Sơ đồ mạch và giải thuật 9 Hinh 7 Sơ đồ khối tổng thể hệ thống 11 Hình 8 Cổng LPT trên Máy tính 12 Hình 9 Vị trí các chân cổng LPT (Female) 13 Hình 10 Bảng sơ đồ chân cổng LPT 14 Hình 11 ADC0809 15 Hình 12 Sơ đồ khối ADC0809 16 Hình 13 Giản đồ thời gian 17 Hình 14 Khối tạo xung 18 Hình 15 Khối nguồn 18 Hình 16 Sơ đồ nguyên lý của mạch 19 Hình 17 Sơ đồ mạch in 20 Hình 18 Sơ đồ thuật toán chương trình 21 LỜI NÓI ĐẦU Trong khoa học kỹ thuật, Máy tính đã có rất nhiều ứng dụng trong cuộc sống, phát triển trong nhiều lĩnh vực như công nghiêp,thương mại, quân sự, nông nghiệp,y học… Trường Đại Học Kỹ Thuật Công Nghiệp- Thái Nguyên là một trường có bề dày lịch sử về nghiên cứu và giảng dạy, môn học “Kỹ thuật Ghép Nối Máy Tính ” là môn học chuyên ngành của ngành Kĩ thuật Máy tính. Trong khuôn khổ “Đồ Án Kỹ thuật Ghép Nối Máy Tính”chúng em đã áp dụng kiến thức môn học này vào đề tài “Đọc dữ liệu ADC 8 bít qua cổng máy in với ADC0809 ”. CHƯƠNG 1. PHÂN TÍCH HỆ THỐNG 1.1. ĐẶT VẤN ĐỀ Sự phát triển của khoa học kỹ thuật ngày càng nhanh góp phần nâng cao năng suất lao động.Trong đó Máy tính là một trong những phát minh vĩ đại nhất của con người.Ngày nay nó vẫn được liên tục phát triển và nâng cao năng lực xử lý.Tác dụng của máy tính là không thể kể hết. Việc ứng dụng máy tính vào trong công nghiệp là một lĩnh vực rộng lớn.Với tầm quan trọng của nó và trong khuôn khổ của đồ án, nhóm đã lựa chọn đề tài: “Đọc dữ liệu ADC 8 bít qua cổng máy in với ADC0809”. 1.2. GIỚI THIỆU CÁC BỘ BIẾN ĐỔI TÍN HIỆU TƯƠNG TỰ - SỐ ADC 1.2.1 Bộ chuyển đổi dạng sóng bậc thang Phiên bản đơn giản nhất của lớp ADC ở hình 1 sử dụng bộ đếm nhị phân làm thanh ghi và cho phép xung nhịp đẩy bộ đếm tăng mỗi một bước, cho đến khi VAX > VA. Đây gọi là ADC sóng dạng bậc thang, vì dạng sóng tại VAX có từng bậc đi lên. Người ta còn gọi là ADC loại bộ đếm. Hoạt động cơ bản của lớp ADC thuộc loại này như sau: - Xung lệnh START khởi đôïng sự hoạt động của hêï thống. - Xung Clock quyết định bộ điều khiển liên tục chỉnh sửa số nhị phân lưu trong thanh ghi. - Số nhị phân trong thanh ghi được DAC chuyển đổi thành mức điện thế tương tự VAX. - Bộ so sánh so sánh VAX với  đầu vào trương tự VA. Nếu VAX VA ít nhất bằng một khoảng VT (điện thế ngưỡng), đầu dra của bộ so sánh sẽ xuống mức thấp và ngừng tiến trình biến đổi số nhị phân ở thanh ghi. Tại thời điểm này VAX xấp xỉ VA. giá dtrị nhị phân ở thanh ghi là đại lượng số tương đương VAX và cũng là đại lượng số tương đương  VA, trong giới hạn độ phân giải và độ chính xác của hệ thống. - Logic điều khiển kích hoạt tín hiệu ECO khi chu kỳ chuyển đổi kết thúc. Tiến trình này có thể có nhiều thay dổi đối với một số loại ADC khác, chủ yếu là sự khác nhau ở cách thức bộ điều khiển sửa đổi số nhị phân trong thanh ghi. Hình 1 Sơ đồ tổng quát của một lớp ADC 1.2.2 Bộ chuyển đổi liên tiếp - xấp xỉ  - Bộ chuyển đổi liên tiếp - xấp xỉ  ( Successive Approximation  Convetr-SAC) là một trong những loại ADC thông dụng nhất. SAC có sơ đồ phức tạp hơn nhiều so với ADC dạng sóng bậc thang. Ngoài ra SAC còn có giá trị tC cố định, không phụ thuộc vào giá trị của đầu vào tương tự. - Hình 1 là một cấu hình cơ bản của SAC, tương tự cấu hình của ADC dạng sóng bậc thang. Tuy nhiên SAC không sử dụng bộ đếm cung cấp đầu vào cho DAC mà thay vào đó là thanh ghi. Logic điều khiển sửa đổi nội dung lưu trên thanh ghi theo từng bit một cho đến khi dử liệu ở thanh ghi  biến thành giá trị số tương đương với đầu vào tương tự VA trong phạm vi độ phân giải của bộ chuyển đổi. Hinh 2 Sơ đồ khối ADC liên tiếp xấp xỉ Hoạt động của  ADC liên tiếp – xấp xỉ như sau: Hình 3 Lưu đồ hoạt động 1.2.3 Tích phân sườn dốc - Bộ biến đổi loại này là một trong những bộ có thời gian biến dổi chậm nhất ( thường là từ 10 đến 100ms) nhưng có lợi là giá cả tương đối rẻ không dùng các thành phần chính xác như bộ biến đổi AD hoặc bộ biến đổi áp sang tần số. - Nguyên tắc chính là dựa vào quá trình nạp và xả tuyến tính của tụ với dòng hằng. Đầu tiên, tụ được nạp trong một khoảng thời gian xác định từ dòng điện không đổi ứng với điện áp vào. Cũng vào lúc này, tụ được xả tuyến tính với dòng hằng rút ra từ điện áp tham chiếu chính xác Vref. Khi điện áp tren tụ giảm về 0 thì quá trình xả kết thúc. Trong suốt khoảng thời gian xả này, một tần số tham chiếu được dẫn đến một counter và bắt đầu đếm. Do khoảng thời gian xả tỉ lệ với điện áp trên tụ trước khi xả, counter sẽ chứa một giá trị tỷ lệ với điện áp trên tụ trước khi xả, tức là tỷ lệ vowsiddieenj áp vào VA. - Ngoài giá thành rẻ thì bộ biến đổi loại này còn có ưu điểm chống nhiễu và sự trôi nhiệt. Tuy nhiên thời gian biến đổi chậm (có quán tính lớn) như lò nhiệt thì rất đáng để xem xét đến. 1.2.4 Flash ADC - Bộ chuyển đổi nhanh (flash converter) là ADC tốc độ cao nhất hiện nay có mặt trên thị trường, nhưng sơ đồ mạch phức tạp hơn các loại khác. Ví dụ một ADC nhanh 6 bit đòi hỏi 63 bộ so sánh tương tự, còn ADC nhanh 8 bit thì con số này lên đến 255, 10 bit thì lên đến 1023. Như vậy số lượng bộ so sánh quá lớn đã giới hạn kích cỡ của ADC nhanh. Hình 4 là sơ đồ của một ADC nhanh ADC nhanh ở hình 4 có độ phân giải 3 bit. Kích thước bậc thang là 1V. Bộ chia điện thế thiết lập mức quy chiếu cho từng bộ so sánh để có được 7 mức ứng với 1V ( trọng số của LSB ), 2V, 3V, …7V (đầy thang). Đầu vào tương tự VA được nối đến đầu vào còn lại của từng bộ so sánh. - Với VA 1V thì từ một đầu ra trở lên sẽ xuống mức thấp. Đầu ra của bộ so sánh được đưa vào bộ mã hoá ưu tiên tích cực ở mức thấp, sinh đầu ra ứng với đầu ra có số thứ tự cao nhất ở mức thấp của bộ so sánh. Lý luận tương tự ta sẽ có được bảng giá trị như bảng 5 Hình 5 Bảng thật của ADC nhanh 3 bit hình 4 ADC nhanh hình 5.23 có độ phân giải 1V vì đầu vào tương tự phải thay đổi mỗi lần 1V mới có thể đưa đầu ra số lên bậc kế tiếp. Muốn có độ phân giải tinh hơn thì phải tăng tổng số mức điện thế vào (nghĩa là sử dụng nhiều điện trở chia thế hơn) và tổng số bộ so sánh. Nói chung ADC nhanh N bit thì cần 2N – 1 bộ so sánh, 2N điện trở, và logic mã hoá cần thiết. - Thời gian chuyển đổi: Bộ chuyển đổi nhanh không cần thiết tín hiệu xung nhịp vì tiến trình này xảy ra liên tục. Khi giá trị đầu vào thay đổi thì đầu ra của bộ so sánh sẽ thay đổi làm cho ngõ ra của bộ mã hóa thay đổi theo. Như vậy thời gian chuyển đổi là thời gian cần thiết để xuất hiện một đầu ra số mới đáp lại một thay đổi ở VA. Thời gian chuyển đổi chỉ phụ thuộc vào khoảng trể do truyền của bộ so sánh và bộ mã hóa. Vì vậy mà ADC nhanh có thời gian chuyển đổi vô cùng gắn. 1.3 BỘ CHUYỂN ĐỔI A-D XẤP XỈ TIỆM CẬN - Đây là bộ biến đổi được dùng rộng rãi nhất trong các bộ biến đổi AD. Nó có cấu tạo phức tạp hơn bộ biến dổi AD theo hàm dốc nhưng tốc độ biến đổi nhanh hơn rất nhiều. Hơn nữa, thời gian biến đổi là một số cố định không phụ thuộc giá trị điện áp đầu vào. Hình 6 Sơ đồ mạch và giải thuật Sơ đồ mạch tương tự như bộ biến đổi AD theo hàm dốc nhưng không dùng counter cung cấp giá trị cho bộ biến đổi DA mà dùng một thanh ghi. Đơn vị điều khiển sửa đổi từng bit của thanh ghi này cho đến khi có giá trị analog xấp xỉ áp vào theo một độ phân giải cho trước. - Chuyển đổi n bit cần n bước - Cần có tín hiệu Start và End - Thời gian chuyển đổi thông thường: 1 to 50 ms - Độ phân giải thông thường 8 to 12 bits 1.4 YÊU CẦU CỦA HỆ THỐNG Độ phân giải 8 bit Việc vận hành hệ thống đơn giản Có thời gian đáp ứng nhanh, chính xác Chi phí cho hệ thống hợp lý Có khả năng chống nhiễu tốt Dải điện áp tương tự đầu vào 0 – 5V Thời gian chuyển đổi 100 µs Công suất tiêu tán thấp - Tính mềm dẻo, khả năng nâng cấp, khả năng tương thích tốt Chương trình win Lựa chọn chế độ chuyển đổi 2 kênh Số lần chuyển đổi: 5s cập nhật một lần Chuyển đổi liên tục 1.5 CÁC RÀNG BUỘC CỦA HỆ THỐNG Hoạt động tốt trong môi trường công nghiệp Kích thước và trọng lượng nhỏ Cổng LPT Chiều dài dây 8m Dùng tối đa 8 kênh đọc tín hiệu tương tự. Nguồn nuôi Acquy 12V. CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1. SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG Hinh 7 Sơ đồ khối tổng thể hệ thống 2.2. CÁC THÀNH PHẦN TRONG HỆ THỐNG 2.2.1 Cổng máy in LPT Cổng máy in LPT là giao diện thường được sử dụng nhiều nhất trong các ứng dụng ghép nối máy tính đơn giản, do tính phổ cập và đơn giản trong việc ghép nối và điều khiển cộng với yêu cầu tối thiểu về thiết bị phần cứng thêm vào. Cổng này cho phép đưa vào tới 13 bit và đưa ra 12 bit song song, trong đó có 4 đường điều khiển, 5 đường báo trạng thái và 8 đường dữ liệu. Trong hầu như bất kỳ PC nào ta cũng có thể tìm thấy cổng máy in ở phía sau. Đầu nối này có dạng DB 25 chân (giắc cái – female). Hình 8 Cổng LPT trên Máy tính Các cổng song song gần đây được chuẩn hoá theo chuẩn IEEE 1284 đưa ra Năm 1994. Chuẩn này mô tả 5 chế độ hoạt động của cổng máy in như sau: 1. Chế độ tương thích (Compatibility mode) 2. Chế độ Nibble 3. Chế độ Byte 4. Chế độ EPP 5. Chế độ ECP Chế độ cớ sở (hay còn gọi là Centronics mode) được biết đến từ lâu. Chế độ này chỉ cho phép đưa dữ liệu theo một chiều ra (output), với tốc độ tối đa 150kB/s. Muốn thu dữ liệu (input) ta phải chuyển sang chế độ Nibble hay Byte. Chế độ Nibble có thể cho phép đưa vào 4 bit song song một lần. Chế độ Byte sử dụng tính năng song song hai hướng của cổng máy in để đưa vào một byte. Để đưa ra một byte ra máy in ( hoặc các thiết bị khác) trong chế độ cơ sở, phần mềm phải thực hiện các bước sau: Viết dữ liệu ra cổng máy in (ghi vào thanh ghi dữ liệu) Kiểm tra máy in có bận không, nếu máy in bận, nó sẽ không chấp nhận bất cứ dữ liệu nào, do đó dữ liệu ghi ra lúc đó sẽ bị mất Nếu máy in không bận, đặt chân Strobe (chân 1) xuống thấp (mức 0), để báo với máy in là đã có dữ liệu trên đường truyền ( chân 2 - 9) Sau đó chờ 5 micro giây và đặt chân Strobe lên cao (mức 1). Chế độ mở rộng (EPP) và nâng cao (ECP) sử dụng các thiết bị phần cứng tích hợp thêm vào để thực hiện và quản lý việc đối thoại với thiết bị ngoài. Ở chế độ này để cho phần cứng kiểm tra trạng thái máy in bận, tạo xung strobe và thiết lập sự bắt tay thích hợp. Do đó chỉ cần sử dụng một lệnh vào ra để trao đổi dữ liệu nên giúp tăng tốc độ thực hiện. Khi đó cổng này có thể đưa dữ liệu ra với tốc độ 1 – 2 MB/s. Ngoài ra chế độ ECP còn hỗ trợ sử dụng kênh DMA và có thêm bộ đệm FIFO. Hình 9 Vị trí các chân cổng LPT (Female) Các đường dẫn của cổng song song được nối với ba thanh ghi 8bit khác nhau: - Thanh ghi dữ liệu - Thanh ghi trạng thái - Thanh ghi điều khiển Hình 10 Bảng sơ đồ chân cổng LPT - Sau đây là chức năng của các đương dẫn tín hiệu: Strobe (1): Với một mức logic thấp ở chân này, máy tính thông báo cho máy in biết có một byte đang sẵn sàng trên các đường dẫn tín hiệu để được truyền. D0 đến D7: Các đường dẫn dữ liệu Acknowledge: với một mức logic thấp ở chân này, máy in thông báo cho máy tính biết là đã nhận được kí tự vừa gửi và có thể tiếp tục nhận. Busy (bận – 11): máy in gửi đến chân này mức logic cao trong khi đang đón nhận hoặc in ra dữ liệu để thông báo cho máy tính biết là các bộ đệm trong máy tính biết là các bộ đệm trong máy tính đã bị đầy hoặc máy in trong trạn thái Off-line. Paper Out/And (hết giấy – 12): Mức cao ở chân này có nghĩa là giấy đã dùng hết. Select (13): Một mức cao ở chân này, có nghĩa là máy in đang trong trạng thái kích hoạt (On-line) Auto Linefeed (tự nạp dòng): Có khi còn gọi là Auto Feed. Bằng một mức thấp ở chân này máy tính PC nhắc máy in tự động nạp một dòng mới mỗi khi kết thúc một dòng. Error (có lỗi): Bằng một mức thấp ở chân này, máy in thông báo cho máy tính là đã xuất hiện một lỗi, chẳng hạn kẹt giấy hoặc máy in đang trong trạng thái Off-Line. Reset (đặt lại): Bằng một mức thấp ở chân này, máy in được đặt lại trạng thái được xác định lúc ban đầu. Select Input: bằng một mức thấp ở chân này, máy in được lựa chọn bởi máy tính. - Như vậy cáp nối giữa máy in và máy tính bao gồm 25 sợi, nhưng không phải tất cả điều được sử dụng mà trên thực tế chỉ có 18 sợi được nối với các chân cụ thể. 2.2.2 Khối chuyển đổi A-D Hình 11 ADC0809 Giới thiệu IC ADC0809: Đây là loại bi mạch ADC chế tạo dựa trên kỹ thuật ADC xấp xỉ liên tiếp. - Đặc điểm cấu tạo: Thang điện trở 256 R với ngõ chuyển mạch analog. Thanh ghi xấp xỉ liên tiếp. Bộ multiplexing. Bộ chốt địa chỉ ngõ vào. Bộ giải mã. Bộ đệm ngõ ra. Tất cả những vi mạch trên được tích trên một chip CMOS đơn khối và không đòi hỏi các linh kiện phụ khác mắc thêm bên ngoài. Tại mỗi thời điểm chỉ có thể lấy mẫu 1 trong 8 kênh analog vào qua mạch phân kênh 3 sang 8 Sơ đồ khối: Hình 12 Sơ đồ khối ADC0809 Đặc điểm kỹ thuật của ADC 0809: ADC0809 có tốc độ biến đổi nhanh, sai số lượng hóa thấp và công tiêu tán thấp. Nguồn cung cấp 5v DC, điện áp chuẩn 5v DC. Thời gian chuyển đổi là 100 µs. Có 8 kênh analog ngõ vào. Điện áp ngõ vào từ 0 đến 5V. Tần số xung CLOCK từ 10 to 1280KHz. Nguyên tắc hoạt động : Tại một thời điểm, 1 trong 8 ngõ vào analog được chuyển đổi. Việc chọn ngõ vào được xác định bởi 3 đường địa chỉ A, B, C thông qua bộ phân kênh 3 sang 8. Qua trình chuyển đổi được bắt đầu khi 3 đường địa chỉ được chọn và khi xung START và xung ALE bật lên một. Khi đó, ALE chốt địa chỉ kênh được chọn và sẽ đưa tín hiệu vào bộ so sánh, xung START bắt đầu thực hiện việc chuyển đổi, EOC ở mức 0, bus dữ liệu ở trạng tổng trở cao. Sau khoảng thời gian 100 µs, quá trình chuyển đổi kết thúc, tín hiệu analog được chuyển thành 8 bit dữ liệu số ở ngõ ra. Lúc này xung EOC bật lên 1 và dữ liệu được đưa vào vùng đệm. Để đưa dữ liệu từ vùng đệm lên bus, phải đặt xung OE lên 1. Nhờ bộ đệm 3 trạng thái nên dễ dàng kết nối với data bus của CPU. Giản đồ thời gian: Hình 13 Giản đồ thời gian 2.2.3 Khối taọ xung clock Hình 14 Khối tạo xung - Bao gồm IC7414,tụ và điện trở tạo dao động cho IC ADC0809 2.2.4 Khối cảm biến - Dùng để thu tín hiệu đầu vào chuyển từ tín hiệu không điện sang tín hiệu điện - Cảm biến biến ở đây có thể là cảm nhiệt độ,ánh sáng… 2.2.5 Khối nguồn Hình 15 Khối nguồn Cung cấp điện áp 5V cho hệ thống Tín hiệu vào : điện áp 12V 1 chiều Tín hiệu ra : điện áp DC 5V CHƯƠNG 3. XÂY DỰNG HỆ THỐNG 3.1. XÂY DỰNG PHẦN CỨNG 3.1.1 Sơ đồ nguyên lý của mạch Hình 16 Sơ đồ nguyên lý của mạch 3.1.1 Sơ đồ mạch in Hình 17 Sơ đồ mạch in 3.2. XÂY DỰNG PHẦN MỀM 3.2.1 Lưu đồ thuật toán điều khiển Begin Khởi tạo giá trị mặc định cho hệ thống Tín hiệu từ bàn phím Đọc giá trị từng kênh ADC Hiển thị lên màn hình End True False Hình 18 Sơ đồ thuật toán chương trình 3.2.2 Chương trình điều khiển #include #include #include #define PORTADDRESS 0x378 /* Enter Your Port Address Here */ #define DATA PORTADDRESS+0 #define STATUS PORTADDRESS+1 #define CONTROL PORTADDRESS+2 unsigned char ReadAdc(int kenh) { outp(CONTROL, 0x20); // reset outp(CONTROL, inportb(CONTROL) | kenh); //chon kenh outp(CONTROL,inp(CONTROL)&0xf7); // Tao delay(10); // !c3-Start outp(CONTROL,(inp(CONTROL)|0x08)); // xung while(!(inp(STATUS)&0x80));// cho tin hieu EOC return inp(DATA);// tra ve du lieu } void main() { outp(CONTROL, inportb(CONTROL) | 0x20); /* Make sure port is in Forward Direction */ do { for(int i=0;i<=7;i++){ cout<<"data["<<i<<"]="<<ReadAdc(i)<<endl; } cout<<endl; delay(1000); } while(!kbhit()); //cho bam ban phim } TÀI LIỆU THAM KHẢO Giáo trình : 1. Giáo trình Kỹ thuật Ghép Nối Máy Tính – ĐH Kỹ Thuật Công Nghiệp Thái Nguyên Website : 1. www.picvietnam.com 2. www.dientuvietnam.net
Luận văn liên quan