Bài tập lớn môn vi xử lý
NỘI DUNG ĐỒ ÁN
Trong một xã hội hiện đại, sự phát triển của ngành điện tử viễn thông là một yêu cầu không thể thiếu để thúc đẩy nền kinh tế phát triển và góp phần nâng cao đời sống xã hội.
Ngày nay, trên thế giới, điện tử viễn thông vẫn không ngừng phát triển với tốc độ rất cao và thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời sống xã hội. Cùng với sự phát triển như vũ bão đó, ngành điện tử viễn thông Việt Nam cũng đang nỗ lực hết sức trên con đường tìm chỗ đứng cho mình.
Trong đó, lĩnh vực bảo mật là một mảng lớn mà chúng ta cần quan tâm. Chính vì thế, với mục đích làm quen bước đầu với việc thiết kế mạch điện tử nói chung và với hệ thống an toàn, bảo mật nói riêng, chúng em chọn đề tài “ Thiết kế hệ thống khóa mã điện tử ” để nghiên cứu và thực hiện. Hệ thống này cho phép ta quản lý và hạn chế được số người ra vào theo mã số trong khu vực cần bảo mật với độ an toàn cao.Đề tài tuy không lớn song về mặt nguyên lý thì có thể phát triển thành các ứng dụng quản lý theo thẻ từ, mã vạch,mã hoá trong các khu vực đặc biệt cần phải có may tính hiện đại với CSDL,ngoài mật mã ra còn kiểm tra tần số giọng nói và camera kiểm tra hình ảnh… mà hiện nay đang rất cần thiết. Vì thế, đối với chúng em đây là bước cơ sở để nghiên cứu những ứng dụng lớn hơn sau này.
Trong quá trình thực hiện đề tài, tuy đã rất cố gắng song do những hạn chế về thời gian tìm hiểu, kiến thức cũng như kinh nghiệm thực tế nên chúng em không tránh khỏi nhiều thiếu sót. Chúng em rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn để đề tài của chúng em được hoàn thiện hơn, với nhiều chức năng hơn
PHẦN1: GIỚI THIỆU CHỨC NĂNG HỆ THỐNG
Đây là một hệ thống đóng mở theo mã cho phép một số ít người có thể ra vào theo mã của họ. Nó có thể được áp dụng làm cửa ra vào của các hệ thống cần mang tính bảo mật, giới hạn số người ra vào như: Cửa ra vào cơ quan, nhà máy, các khu quan trọng...
Trên cơ sở đó, hệ thống phải đảm bảo được hai yêu cầu cơ bản sau:
-Tính an toàn: do là cửa nên phải có chức năng bảo vệ.
-Tính bảo mật.
Do đó chúng em đã đưa ra yêu cầu một hệ thống có chức năng đóng mở như sau:
I. Chức năng hệ thống:
- Hệ thống quản lí một số mã ứng với một số người được cho phép ra vào ở của này và hoạt động trên cơ sở các mã này.
- Mã gồm có 6 chữ số.
- Hệ thống giao tiếp với người sử dụng thông qua một bàn phím điều khiển và hiển thị trên màn hình.
- Bàn phím gồm các phím số 0-9 và các phím chức năng: ON, Change, Enter, backspace(<--).
- Khi bắt đầu , người điều khiển chọn chức năng thực hiện:
- Nếu chọn Open: sau đó sẽ nhập mã. Kết thúc nhập mã băng nút Enter.
-Nếu mã đúng: cửa sẽ mở(mô phỏng trên mạch bằng việc bật hay tắt đèn LED xanh)
-Nếu mã sai: không có hiện tượng gì cả. Nếu nhập mã sai 3 lần liên tiếp chuông sẽ báo động. (mô phỏng trên mạch bằng việc bật hay tắt đèn LED đỏ)
- Nếu chọn Change: Kiểm tra xem mã cũ có đúng hay không.
-Nếu mã đúng: cho phép thay đổi mã bằng cách nhập vào mã mới và xác nhận đúng mã này một lần nữa.
-Nếu mã sai: không có hiện tượng gì cả. Nếu nhập mã sai ba lần liên tiếp chuông sẽ báo động.
- Trong quá trình nhập mã, nếu có nhầm lẫn có thể nhập lại bằng cách sử dụng nút Backspace(<--)
II. Phân tích hệ thống:
II.1.Khả năng đáp ứng yêu cầu của hệ thống:
Hệ thống giao tiếp với người sử dụng chỉ bằng bàn phím và hiển thị do vậy nó hạn chế được tác động của người sử dung vào nội dung bên trong của khoá.
Với số lượng mã không lớn (cỡ 10 mã), mỗi mã dài sáu chữ số thì xác suất tìm thấy mã đúng là: 10/1.000.000 = 0,0001%.Thêm vào đó là khả năng báo động khi nhập ba mã sai liên tiếp làm cho hệ thống có tính an toàn cao.
Mỗi người có một mã riêng. Nếu nghi ngờ lộ mã, người dùng có thể thay đổi mã theo mong muốn. Nhờ đó mà khả năng bảo mật của hệ thống cũng tăng cao.
II.2. Phân tích hệ thống:
Do giới hạn của bài tập, chúng em chỉ tập trung vào thiêt kế phần mạch điện tử để điều khiển hệ thống này.
Theo yêu cầu đưa ra, hệ thống gồm 3 khối cơ bản:
- Khối bàn phím: cần 14 nút gồm:
- Các nút số từ 0-9
- Các nút chức năng: Open, Change, <--.
- Sử dụng cácphím bấm tự nhả để nhập vào.
- Khối mạch xử lí: Xử lí các hoạt động đã nêu ở yêu cầu hệ thống.
- Khối hiển thị: Giúp cho việc giao tiếp với người sử dụng trở nên dễ dàng hơn người sử dụng biết mình đang thực hiện thao tác gì với cửa.
PHẦN 2: CÁC PHƯƠNG ÁN
Trên cơ sở các yêu cầu đã đặt ra và các phân tích sơ bộ, từng khối đều có các phương án giải quyết như sau:
I. Khối bàn phím:
Bàn phím gồm các nút. Mỗi nút là một bộ phận đóng mở bằng cơ khí. Các mã của bàn phím tạo ra có thể được tạo ra trực tiếp hoặc bằng phép quét hàng và quét cột. Số đầu dây ra từ bàn phím phải phù hợp với đầu vào của mạch xử lí. Đồng thời với càng ít dây thì khả năng ổn định của bàn phím càng tăng.
Để thực hiện bàn phím 14 nút ta có thể có các phương án sau:
I.1.Phương án 1: Bố trí thành 1 hàng hoặc 1 cột:
- Số đầu ra từ bàn phím là 14 dây.
- Tốn diện tích.
- Hình thức không đẹp.
I.2.Phương án 2: Bố trí thành 2 hàng và 7 cột hoặc 7 hàng và 2 cột:
- Số đầu ra từ bàn phím là 9 dây. Khả năng để giải mã khó.
- Tốn diện tích.
- Hình thức không đẹp.
I.3.Phương án 3 :Bố trí thành 4 hàng và 4 cột:
- Số đầu ra từ bàn phím là 8 dây.
- Hình dáng đẹp, cân đối.
- Còn dư 3 nút để mở rộng chức năng trong tương lai.
Sơ đồ của bàn phím như sau
II. Khối hiển thị:
Yêu cầu đặt ra đối với khối hiển thị là thân thiện với người sử dụng. Trên cơ sở đó ta có 2 phương án sau:
II.1.Phương án 1: Dùng LED 7 thanh:
- Ưu điểm: Đơn giản, rẻ.
- Nhược điểm: Không chỉ dẫn cụ thể.Giới hạn kí tự hiển thị ra. Nếu muốn hiển thị chỉ dẫn dài cần nhiều LED và đi kèm với nó là bộ giải mã. Điều này làm cho hệ thống trở nên cồng kềnh, phức tạp.Việc lập trình quét hàng quét cột để hiển thị phức tạp.
II.2.Phương án 2: Dùng LCD.
- Ưu điểm: Hiển thị rõ ràng có kèm theo chỉ dẫn.
Thay đổi nội dung linh hoạt.Xử lý lập trình đơn giản hơn LED7 thanh và ma trận điểm.
- Nhược điểm: Giá thành đắt.
III. Mạch xử lí:
Dùng vi điều khiển:
-
Ưu điểm:
- Vi điều khiển có khả năng điều khiển linh hoạt theo mong muốn của người sử dụng dựa vào phần mềm được viết.
- Khả năng thay đổi mã có thể thực hiện được.
- Hệ thống đơn giản hơn nhiều, kích thức nhỏ. Hơn nữa sẽ giảm được độ kém ổn định do nhiều linh kiện gây ra.
- Có thể thay đổi, thêm chức năng bằng cách thay đổi phần mềm.
- Nhược điểm:
- Chất lượng của hệ thống phụ thuộc vào chất lượng chương trình được nạp cho vi điều khiển.
IV. Kết luận:
Sau khi cân nhắc các phương án đã đưa ra, và khả năng phối hợp giữa các khối, chúng em chọn giải pháp:
- Sử dụng bàn phím 4x4.
- Khối hiển thị dùng LCD.
- Khối mạch xử lí dùng vi điều khiển.
PHẦN 3: PHƯƠNG ÁN DÙNG VI ĐIỀU KHIỂN
I. Thiết kế phần cứng:
Định hướng thiết kế:
Thiết kế một hệ vi điều khiển bao gồm cả việc thiết kế tổ chức phần cứng và viết phần mềm cho nền phần cứng mà ta thiết kế. Việc xem xét giữa tổ chức phần cứng và chương trình phần mềm cho một thiết kế là một vấn đề cần phải cân nhắc. Vì khi tổ chức phần cứng càng phức tạp, càng có nhiều chức năng hỗ trợ cho yêu cầu thiết kế thì phần mềm càng được giảm bớt và dễ dàng thực hiện nhưng lại đẩy cao giá thành chi phí cho phần cứng, cũng như chi phí bảo trì. Ngược lại với một phần cứng tối thiểu lại yêu cầu một chương trình phần mềm phức tạp hơn, hoàn thiện hơn; nhưng lại cho phép bảo trì hệ thống dễ dàng hơn cũng như việc phát triển tính năng của hệ thống.
Từ yêu cầu và nhận định trên ta có những định hướng sơ bộ cho thiết kế như sau:
I.1.Chọn bộ vi điều khiển:
Từ yêu cầu của đề bài ta dự kiến dùng các chip vi điều khiển thuộc họ MCS-51 của Intel, mà cụ thể ở đây là dùng chip 8051 vì những lý do sau:
- Thứ nhất 8051 thuộc họ MCS-51, là chip vi điều khiển. Đặc điểm của các chip vi điều khiển nói chung là nó được tích hợp với đầy đủ chức năng của một hệ VXL nhỏ, rất thích hợp với những thiết kế hướng điều khiển. Tức là trong nó bao gồm: mạch VXL, bộ nhớ chương trình và dữ liệu, bộ đếm, bộ tạo xung, các cổng vào/ra nối tiếp và song song, mạch điều khiển ngắt¼
- Thứ hai là, vi điều khiển 8051 cùng với các họ vi điều khiển khác nói chung trong những năm gần đây được phát triển theo các hướng sau:
Giảm nhỏ dòng tiêu thụ.
Tăng tốc độ làm việc hay tần số xung nhịp của CPU.
Giảm điện áp nguồn nuôi.
Có thể mở rộng nhiều chức năng trên chip, mở rộng cho các thiết kế lớn.
Những đặc điểm đó dẫn đến đạt được hai tính năng quan trọng là: giảm công suất tiêu thụ và cho phép điều khiển thời gian thực nên về mặt ứng dụng nó rất thích hợp với các thiết kế hướng điều khiển.
- Thứ ba là, vi điều khiển thuộc họ MCS-51 được hỗ trợ một tập lệnh phong phú nên cho phép nhiều khả năng mềm dẻo trong vấn đề viết chương trình phần mềm điều khiển.
- Cuối cùng là, các chip thuộc họ MCS-51 hiện được sử dụng phổ biến và được coi là chuẩn công nghiệp cho các thiết kế khả dụng.Với sinh viên mới làm quen với VĐK thì 8051 có nhiều tài liệu tham khảo,đồng thời cũng sử dụng đơn giản nhất. Mặt khác, qua việc khảo sát thị trường linh kiện việc có được chip 8051 là dễ dàng nên mở ra khả năng thiết kế thực tế.
Vì những lý do trên mà việc lựa chọn vi điều khiển AT89C51 của hãng Atmel, đây là vi điều khiển thuộc họ MCS-51.
Cấu hình hoạt động của chip AT89C51:
-ROM trong: Flash ROM - 4KBytes
-RAM trong: 128 bytes
I.2 Tổ chức ngoại vi:
- Chip: AT89C51
- Ghép nối màn hình LCD: 16x2
Ngoài ra còn:
- LED báo hiệu chương trình đang chạy
- Tín hiệu cho phép chạy được xử lý bằng cách dùng một nút ấn Reset hệ thống.
- Tín hiệu báo động, mở cửa, đóng cửa được đưa ra led
Sơ đồ khối của hệ thống như sau: