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
Trang 1LỜI NÓI ĐẦU 3
CHƯƠNG 1 PHÂN TÍCH HỆ THỐNG 4
1.1 ĐẶT VẤN ĐỀ 4
1.2 GIỚI THIỆU CÁC BỘ BIẾN ĐỔI TÍN HIỆU TƯƠNG TỰ - SỐ ADC 4
1.2.1 Bộ chuyển đổi dạng sóng bậc thang 4
1.2.2 Bộ chuyển đổi liên tiếp - xấp xỉ 5
1.2.3 Tích phân sườn dốc 6
1.2.4 Flash ADC 7
1.3 BỘ CHUYỂN ĐỔI A-D XẤP XỈ TIỆM CẬN 9
1.4 YÊU CẦU CỦA HỆ THỐNG 9
1.5 CÁC RÀNG BUỘC CỦA HỆ THỐNG 10
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 11
2.1 SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG 11
2.2 CÁC THÀNH PHẦN TRONG HỆ THỐNG 11
2.2.1 Cổng máy in LPT 11
2.2.2 Khối chuyển đổi A-D 15
2.2.3 Khối taọ xung clock 17
2.2.4 Khối cảm biến 18
2.2.5 Khối nguồn 18
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 19
3.1 XÂY DỰNG PHẦN CỨNG 19
3.1.1 Sơ đồ nguyên lý của mạch 19
3.1.1 Sơ đồ mạch in 19
3.2 XÂY DỰNG PHẦN MỀM 21
3.2.1 Lưu đồ thuật toán điều khiển 21
3.2.2 Chương trình điều khiển 22
TÀI LIỆU THAM KHẢO 23
Trang 2DANH 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
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 2
Trang 3LỜ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 ”.
Trang 4CHƯƠ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ấtlao động.Trong đĩ Máy tính là một trong những phát minh vĩ đại nhất của conngườ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ủamá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 thanhghi và cho phép xung nhịp đẩy bộ đếm tăng mỗi một bước, cho đến khi VAX > VA Đâygọ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ịngọ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 thanhghi
- 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 đầu ra của bộ sosánh lên mức cao Nếu VAX > VA ít nhất bằng một khoảng VT (điện thế ngưỡng), đầudra 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 ở thanhghi 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ácnhau ở cách thức bộ điều khiển sửa đổi số nhị phân trong thanh ghi
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 4
Trang 5Hì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ộttrong 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 ADCdạ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ậcthang 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
Trang 6Hinh 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
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 6
Trang 7- 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ínhxá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 ứngvớ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 áptham 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 Trongsuố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ôinhiệ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 đòihỏ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
Trang 8ADC 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ủaLSB ), 2V, 3V, …7V (đầy thang) Đầu vào tương tự VA được nối đến đầu vào còn lại củatừng bộ so sánh.
- Với VA < 1V thì tất cả đầu ra của bộ so sánh đều lên mức cao 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êntí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 1Vmớ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ầnthiế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ếntrì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 đổilà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 giancầ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 đổichỉ 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à ADCnhanh 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
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 8
Trang 9- Đâ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ạophứ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 countercung cấp giá trị cho bộ biến đổi DA mà dùng một thanh ghi Đơn vị điều khiểnsửa đổi từng bit của thanh ghi này cho đến khi có giá trị analog xấp xỉ áp vào theomộ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
Trang 10- 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
- 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
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 10
Trang 11CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.1 SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG
0809
Xung Clock
+ Nguồn
-Cảm biến LPT Port
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épnố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ổngnà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)
Trang 12Hì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)
- Để đưa ra một byte ra máy in ( hoặc các thiết bị khác) trong chế độ cơ sở, phầnmề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áovớ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ợpGiáo viên hướng dẫn: Nguyễn Tuấn Anh 12
Trang 13thê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ắttay 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úptă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
Trang 14Hì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
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 line)
(On-Auto Linefeed (tự nạp dòng): Có khi còn gọi là (On-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ộtlỗi, chẳng hạn kẹt giấy hoặc máy in đang trong trạng thái Off-Line
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 14
Trang 15Reset (đặ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
Trang 16Hì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
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 đượcGiáo viên hướng dẫn: Nguyễn Tuấn Anh 16
Trang 17chuyể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
Trang 18Hì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
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 18
Trang 19CHƯƠ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
Trang 203.1.1 Sơ đồ mạch in
Hình 17 Sơ đồ mạch in
Giáo viên hướng dẫn: Nguyễn Tuấn Anh 20
Trang 213.2 XÂY DỰNG PHẦN MỀM
3.2.1 Lưu đồ thuật toán điều khiển
Hình 18 Sơ đồ thuật toán chương trình
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
EndTrue
False
Trang 223.2.2 Chương trình điều khiển
#include<dos.h>
#include<conio.h>
#include<stdio.h>
#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)
while(!(inp(STATUS)&0x80));// cho tin hieu EOC
return inp(DATA);// tra ve du lieu
Trang 23TÀI LIỆU THAM KHẢO