Một sản phẩm điện tử sử dụng trong cuộc sống, có thể cho phép tính toán các số liệu với các phép tính cơ bản.. Một chiếc máy tính số thực tế Từ xưa con người đã biết chế tạo ra: bàn phím
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA KỸ THUẬT ĐIỆN - ĐIỆN TỬ I
BÁO CÁO ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG
Đề tài: Máy tính cầm tay đơn giản
Giáo viên hướng dẫn : TS Nguyễn Ngọc Minh
Lớp : D11XLTH Sinh viên thực hiện : Nguyễn Trung Kiên
: Ngô Tuấn Linh : Lã Hùng Anh
HÀ NỘI - 2015
Trang 2LỜI MỞ ĐẦU
Ngày nay, hệ thống Nhúng được ứng dụng và lắp đặt trên hầu hết các thiết bị điện
tử, nhất là những thiết bị điện tử thông minh, các thiết bị điện tử ngày càng đa dạng và dần thay thế các công việc hàng ngày của con người Những sản phẩm điện tử này được thiết kế giúp năng suất làm việc hiểu quả hơn và tiết kiệm thời gian và sức lực cho chon người hơn
Ý tưởng đề tài xuất phát từ bài toàn thực tế Một sản phẩm điện tử sử dụng trong cuộc sống, có thể cho phép tính toán các số liệu với các phép tính cơ bản Trong phạm vi môn học, với mục tiêu thiết kế một sản phẩm nhúng đơn giản, hiệu quả và có giao diện, lập trình nhóm chúng em đã chọn sản phẩm này làm đề tài Một sản phẩm nhúng đơn giản, thực tế và tiết kiệm chi phí thiết kế Mục đích chính là hiểu sâu hơn về cấu trúc cơ bản của một hệ thống Nhúng và qua đó giúp chúng em lắm vững hơn những kiến thức về lập trình và vi điều khiển…
Nội dung của đề tài bao gồm 3 chương:
Chương 1: Khảo sát và phân tích bài toánChương 2: Thiết kế hệ thống
Chương 3: Viết code và mô phỏng
Do hạn chế về mặt thời gian cũng như kiến thức nên không thể tránh khỏi những thiếu sót trong lần biên soạn đầu tiên này, chúng em xin chân thành cảm ơn và mong đợi ý kiến đóng góp của thầy cô và các bạn
Trang 3MỤC LỤC
Danh Mục Hình
Danh Mục Bảng
Trang 4CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH BÀI TOÁN 1.1 VAI TRÒ CỦA MÁY TÍNH SỐ
Trước đây, để tính toán trên những con số, người ta thường tính nhẩm, viết trên giấy hay tính trên bảng tính cơ học Chúng ta sẽ mất rất nhiều thời gian để tính toán mà vẫn mắc rất nhiều sai lầm Các em học sinh vẫn thường sử dụng những máy tính cầm tay đơn giản để thực hiện nhứng phép tính cơ bản trong môn học Nếu không có chiếc máy tính cầm thì việc tính toán sẽ lâu và khó khăn
Hình 1 Một chiếc máy tính số thực tế
Từ xưa con người đã biết chế tạo ra: bàn phím số ở TRUNG QUỐC phục vụ cho việc tính toán Đặc biệt trong nền sản xuất hiện đại, máy tính được coi là thiết bị quan trọng trong nhiều lĩnh vực như: trong các đơn vị hành chính, các nhà máy, phân xưởng sản xuất, các khu công nghiệp Khả năng của máy tính ngày càng đa dạng, thông minh và tích hợp nên máy tính dần thay thế con người và trong tương lai sự phụ thuộc của máy tính điện tử
là không thể thay thế Một cách tổng quát, máy tính giúp con người tính toán đơn giản đồng thời cho năng suất cao,độchính xác cao,tiết kiệm thời gian và chi phí
1.2 Ý TƯỞNG THIẾT KẾ
Xuất phát từ vai trò cần thiết của một chiếc máy tính số, nhóm em đã ứng dụng hệ thống nhúng để thiết kế một sản phẩm điện tử có chức năng tính toán các phép tính cơ bản như một chiệc máy tính cầm tay Sản phẩm tạo ra sẽ đơn giản, thân thiện, hiệu quả và tiết kiệm chi phí
Trang 5Mục đích:Ứng dụng kiến thức đã học về hệ thống Nhúng vào thực tế để hiểu sâu hơn
về hệ thống Nhúng, cũng như các kiến thức về lập trình, về các VĐK, ARM,… qua đó phát triển lên những sản phẩm thông minh hơn, tích hợp hơn và nếu có thể sẽ tạo ra sản phẩm điện tử hoàn thiện
Mục tiêu:
- Sản phẩm tạo ra phải đơn giản, tiết kiệm chi phí.
- Có giao diện (LCD), có lập trình và có ARM…
- Sản phẩm hoàn thiện, ổn định và chính xác
1.3 XÁC ĐỊNH BÀI TOÁN
1.3.1 Xác định chức năng sản phẩm
1. Tính toán các phép tính đơn giản: +, - ,*, /
2. Nhân hai chữ số giá trị nhỏ hơn 45.000
3. Cộng, trừ, chia hai số trong phạm vi 1 tỉ
4. Báo lỗi khi nhập sai phép tính hoặc lỗi chia 0
5. Báo lỗi tràn khi vượt quá khá năng thực hiện
6. Tự reset kết quả mỗi lần thực hiện
7. Chia hai số làm tròn đến giá trị nguyên
Máy tính sẽ chỉ thwujc hiện đc các phép tính đơn như + hoặc – hoặc * hoặc /
Còn nếu phép tính nhập và la ++ hoặc +- thì máy tính sẽ không hiểu đây là phpes tính
gì và sẽ thông báo lỗi
c Lỗi tràn dữ liệu tính toán do vượt quá khá năng lưu trữ và tính toán.
Lỗi này gặp phải khi nhân chia một số quá lớn với khả năng lưu trữ của bộ nhớ.Cách khắc phục là, báo lỗi ngay khi nhập số lớn quá, hoặc so sánh kết quả tính được với khả năng tính toán của thiết bị và từ đó đưa ra thông báo lỗi tràn
Trang 61.4 Sơ đồ giải thuật
Hình 2 Nhập phép tính
Hình 3 Thực hiện phép tính
Trang 7Hình 4 Phép nhân
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 SƠ ĐỒ KHỐI TỔNG THỂ
Hình 5 Sơ đồ khối
Chức năng của từng khối:
+ Khối nguồn: cung cấp điện áp 2.5-5.5 cho ARM hoạt động
+ Khối nhập dữ liệu: nhập số và các phép tính
+Khối điều khiển: Xử lý các thông tin nhập vào từ khối nhập dữ liệu mã hóa và đưa ra khối hiển thị
+Khối hiển thị: hiển thị các kết quả đưa ra từ khối điều khiển
Nguyên lý hoạt động của sơ đồ:
Khi các khối tạo xung và khối nguồn được đảm bảo lúc đó hệ thống được cấp nguồn
và xung dao động và bắt đầu hoạt động Khối nhập dữ liệu là bàn phím gồm các nút bấm nên khi các nút này được bấm thì ngay khi đó các thông tin về phím bấm thông qua dạng tín hiệu điện được truyền đến khối điều khiển, tại đây các thông tin này được xử lý theo thuật toán được lập trình sẵn và đưa ra các kết quả xử lý ra khối hiển thị để hiển thị dạng
số ra màn hình giúp người sử dụng có thể nhìn thấy được các kết quả này
Trang 82.3 LỰA CHỌN THIẾT BỊ
Trong hệ thống ta có thể thiết kế với nhiều loại linh kiện khác nhau, và trong từng khối ta cũng có nhiều lựa chọn khác nhau:
2.3.1 Khối điều khiển trung tâm:
Hình 6 Khối điều khiển ARM CORTEX-M0Khối điều khiển sử dụng ARM COTEXT-M0, nó đóng vai trò hết sức quan trọng trong hệ thống để điều khiển hệ thống khóa số
Trang 92.3.2 Khối hiển thị:
Khối hiển thị chính là màn hình hiển thị LCD 16x2
Hình 7 Khối hiển thị
Khối hiển thị được dùng là LCD, có 2 chế độ truyền dùng cho LCD là chế độ truyền LCD
8 bit và chế độ truyền 4 bit
2.3.3 Khối bàn phím
Hình 8 Ma trận 16 phímNguyên lý hoạt động của việc quét phím chính là cho các cột bằng 0 và lần lượt các chân nối với hàng mức 1 Rồi kiểm tra xem có cột nào bằng 0 hay không, nếu cột nào bằng 0 trong thời điểm một hàng bằng 0 thì phát hiện ra phím đó được bấm
Trang 102.4 LỰA CHỌN LINH KIỆN
2.4.1 ARM CORTEX-M0
2.4.1.1 Giới thiệu dòng chíp
Hãng Nuvoton là công ty con được tách ra từ Tập đoàn Điện tử Winbond – một hãng điện tử bán dẫn đứng hàng đầu Đài Loan Hãng này có 3 dòng chip vi điều khiển (MCU) 4-bit, 8-bit và 32-bit (ARM Cortex) Nội dung trình bày chủ yếu sau đây là dòng chip vi điều khiển 32-bit lõi ARM Cortex-M0 của hãng Nuvoton
2.4.1.2 Phân loại và cấu trúc
Đặc trưng của dòng chip MCU 32-bit lõi ARM Cortex-M0: khá đa dạng về chủng loại, cấu hình và đáp ứng nhu cầu thị trường về dòng chip 32-bit này Vi điều khiển lõi ARM Cortex-M0 có nhiều giao diện ngoại vi đáp ứng tính năng mạnh mẽ và khả năng kết nối Nó được phát triển để cung cấp một nền tảng chi phí thấp, đáp ứng nhu cầu thực thi của MCU với việc giảm số lượng bóng bán dẫn trong lõi ARM Cortex dẫn tới tiêu thụ điện năng thấp và giảm giá thành vi xử lý, đồng thời cung cấp hiệu năng tính toán cao Dòng vi điều khiển ARM Cortex-M0 được thiết kế nhúng tối ưu hóa cho các ứng dụng vi
xử lý MCU Dòng ARM Cortex-M0 là dòng vi điều khiển lõi ARM có kích thước nhỏ nhất, tiêu thụ điện năng thấp nhất và có kiến trúc được sắp xếp hợp lý tương thích với việc sử dụng tools nạp của các hãng khác để phát triển các ứng dụng Hãng Nuvoton sản xuất chip MCU 32-bit lõi ARM Cortex-M0 với kích thước rất nhỏ, tiêu thụ điện năng thấp
và tích hợp các đặc tính kỹ thuật hiện đại như:
- CPU Cortex-M0 cung cấp khả năng điều khiển ngắt ngoại lệ gọi là vector điều khiển ngắt lồng nhau (NVIC), được liên kết chặt chẽ với nhân vi xử lý để cung cấp các tính năng: hỗ trợ vector ngắt gián đoạn lồng nhau; tiết kiệm bộ vi xử lý và có khả năng phục hồi,giảm và xác định độ trễ ngắt; thay đổi mức ưu tiên năng động
- Dung lượng bộ nhớ Flash ROM lớn (tối đa 128KB Flash)
- Dải điện áp rộng từ 2.5V~5.5V
- Tích hợp sẵn nhiều ngoại vi như: UART, USB, ISP, I2C, I2S, PWM, LCD…
- Tích hợp thạch anh nội lên đến 22MHz, có thể điều chỉnh độ chính xác nhờ phần tử thạch anh bên ngoài 32,768Khz - Khả năng hỗ trợ nạp đa năng (ISP, ICP và song song), nạp bằng tools nạp của chính hãng như NuGang, Nu-Link hoặc các tools nạp phổ biến của hãng khác như J-Link, U-Link và các máy nạp rom đa năng của Elnec, Xeltek, Hilo,
Trang 11- Có khả năng chống nhiễu tốt, thích hợp cho các ứng dụng dân dụng cũng như trong công nghiệp
- Dải nhiệt độ hoạt động từ -40ºC ~ +85ºC
- Cung cấp các ứng dụng mạnh mẽ và khả năng kết nối với nhiều giao diện ngoại vi.Quan sát sơ đồ tương quan giá thành và khả năng của các dòng chip Nuvoton, ta thấy ARM Cortex-M0 là sự phát triển cao giữa dòng chip MCU 8051 và dòng ARM7/9 với khả năng kết nối và các tính năng vi điều khiển mạnh nhưng vẫn có mức giá phù hợp
Hình 9 sơ đồ tương quan giá thành và khả năng của các dòng chip Nuvoton
Page
Trang 12Phân loại dòng sản phẩm MCU lõi ARM Cortex-M0:
Hình 10 Biểu đồ phân loại dòng chíp 32-bit lõi ARM Cortex-M0Trong đồ án chúng em sử dụng Dòng NuMicro NUC140:
Hình 11 Hình ảnh cho NUC140
Trang 13- Có 4 mức ưu tiên ngắt đầu vào, có 128 KB flash ROM cho bộ nhớ chương trình.
- 16KB SRAM, 4KB bộ nhớ flash cho nạp chương trình trong hệ thống
Page
Trang 14- Giao tiếp thiết bị ngoại vi: 8 kênh 12bit ADC, UART nối tiếp tốc độ cao, SPI lên đến 32MHz, I2C lên đến 1MHz; kết nối thiết bị ngoại vi USB 2.0, CAN, LIN…
- Thiết bị ngoại vi có tính năng phong phú: PWM, RTC, bộ ngắt nhận dạng Brown-out, GPIO, PDMA và 4 bộ Timer 32 bit
- Dải điện áp hoạt động rộng từ 2,5V~5,5V, chống nhiễu tiếng ồn tốt, tích hợp dữ liệu flash, dao động thạch anh nội chính xác ±1% với nhiệt độ phòng, có khả năng bảo mật trên chip, điện áp reset lại mạch thấp
2.4.1.3 ỨNG DỤNG NUC140EC
Hình 13 Một số ứng dụng của NUC140Ngày nay ARM được sử dụng rộng rãi, trong các thiết bị như điện thoại đi động các hệ thống nhúng, và trong nghiên cứu Giá thành tùy thuộc vào dòngARM Sự phát triển hiện nay thì ARM đang có sự phát triển mạnh hơn so với các ngành khác cả về ứng dụng của
nó
Một số ứng dụng trong làm bằng ARM như:
Làm các xe động cơ , các cánh tay robot, máy bay loại nhỏ
Giao tiếp với module cảm biến
Giao tiếp với máy tính…
2.4.2 KHỐI HIỂN THỊ
Tổng quan về LCD
Giới thiệu chung:
Được sản xuất từ năm 1970, LCD là một loại vật chất phản xạ ánh sáng khi điện thế thay đổi Nó hoạt động dựa trên nguyên tắc ánh sáng nền (Back Light) Nó bao gồm một lớp chất lỏng nằm giữa 2 lớp kiếng phân cực ánh sáng Bình thường, khi không có điện
áp, các tinh thể này được xếp thẳng hàng giữa hai lớp cho phép ánh sáng truyền qua theo hình xoắn ốc Hai bộ lọc phân cực, 2 bộ lọc màu và 2 bộ cân chỉnh sẽ xác định cường độ ánh sáng đi qua và màu nào được tạo ra trên một pixel Khi có điện áp cấp vào, lớp canh chỉnh sẽ tạo một vùng điện tích, canh chỉnh lại các tinh thể lỏng đó Nó không cho phép ánh sáng đi qua để hiện thị lên hình ảnh tại vị trí điểm ảnh đó Các điểm ảnh trong màn hình LCD là một transistor cực nhỏ ở 1 trong 2 chế độ: cho phép ánh sáng đi qua hoặc không Điểm ảnh bao gồm 3 yếu tố màu: đỏ, xanh lá, xanh dương Các màn hình LCD trước đây thường tiêu thụ điện năng nhiều, độ tương phản thấp cho đến khi các nhà khoa học người Anh tìm ra "Biphenyl" - vật liệu chính của tinh thể lỏng, thì LCD mới thực sự phổ biến LCD xuất hiện đầu tiên trong các máy tính cầm tay, trò chơi điện tử cầm tay,
Trang 15đồng hồ điện tử, … LCD ngày nay được thiết kế nhỏ gọn, nhẹ, chiếm ít không gian, chất lượng hình ảnh tốt, tiêu thụ ít năng lượng và đang thay thế dần màn hình CRT truyền thống.
Có hai kiểu cấu tạo màn hình tinh thể lỏng chính, khác nhau ở thiết kế nguồn sáng.Trong kiểu thứ nhất (hình 4.1), ánh sáng được phát ra từ một đèn nền, có vô số phương phân cực như các ánh sáng tự nhiên Ánh sáng này được cho lọt qua lớp kính lọc phân cực thứ nhất, trở thành ánh sáng phân cực phẳng chỉ có phương thẳng đứng Ánh sáng phân cực phẳng này được tiếp tục cho truyền qua tấm thủy tinh và lớp điện cực trong suốt để đến lớp tinh thể lỏng Sau đó, chúng tiếp tục đi tới kính lọc phân cực thứ hai; có phương phân cực vuông góc với kính lọc thứ nhất, rồi đi tới mắt ngườiquan sát Kiểu màn hình này thường áp dụng cho màn hình màu ở máy tính hay ti vi Để tạo ra màu sắt, lớp ngoài cùng, trước khi ánh sáng đi ra đến mắt người, có kính lọc màu
Ở loại màn hình tinh thể lỏng thứ hai (hình 4.2), chúng sử dụng ánh sáng tự nhiên đi vào từ mặt trên và có gương phản xạ nằm sau, dội ánh sáng này lại cho người xem.Đây là cấu tạo thường gặp ở các loại màn hình tinh thể lỏng đen trắng trong các thiết bị bỏ túi
Do không cần nguồn sáng nên chúng tiết kiệm năng lượng
Hoạt động bật tắt cơ bản:
Nếu điện cực của một điểm ảnh con không được áp một điện thế, thì phần tinh thể lỏng ở nơi ấy không bị tác động gì cả, ánh sáng sau khi truyền qua chỗ ấy vẫn giữ nguyên phương phân cực, và cuối cùng bị chặn lại hoàn toàn bởi kính lọc phân cực thứ hai Điểm ảnh con này lúc đó bị tắt và đối với mắt đây là một điểm tối
Để bật một điểm ảnh con, cần đặt một điện thế vào điện cực của nó, làm thay đổi sự định hướng của các phân tử tinh thể lỏng ở nơi ấy; kết quả là ánh sáng sau khi truyền qua phần tinh thể lỏng ở chỗ điểm ảnh con này sẽ bị xoay phương phân cực đi, có thể lọt qua lớp kính lọc phân cực thứ hai, tạo ra một điểm màu trên tấm kính trước
LCD 1602A
Cấu trúc LCD 1602A
LCD 1602A (Hình 4.3 và Hình 4.4) là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng chữ hoặc số trong bảng mã ASCII Không giống các loại LCD lớn, LCD 1602A được chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một ký tự ASCII Cũng vì lý do chỉ hiện thị được ký tự ASCII nên loại LCD này được gọi là Text LCD (để phân biệt với Graphic LCD có thể hiển thị hình ảnh) Mỗi ô của Text LCD bao gồm các
“chấm” tinh thể lỏng, việc kết hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị Trong các Text LCD, các mẫu ký tự được định nghĩa sẵn vì thế việc điều khiển Text LCD sẽ tương đối dễ dàng hơn các graphic LCD Kích thước của LCD 1602A được định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có LCD 1602A là loại có 2 dòng và mỗi dòng có thể hiển thị tối đa 16 ký tự
Page
Trang 16Hình 14 Hình dạng LCD 1602A
LCD 1602A có 2 cách giao tiếp cơ bản là nối tiếp (như I2C) và song song Ở đây tôi chỉ giới thiệu loại giao tiếp song song, cụ thể là LCD 1602A điều khiển bởi chip HD44780U(Hình 4.4) của hãng Hitachi Đối với các LCD khác chúng ta cần tham khảo datasheet riêng của từng loại Tuy nhiên, HD44780U cũng được coi là chuẩn chung cho các loại Text LCD
HD44780U là bộ điều khiển cho các Text LCD dạng ma trận điểm (dot-matrix), chip này có thể được dùng cho các LCD có 1 hoặc 2 dòng hiển thị HD44780U có 2 mode giao tiếp là 4 bit và 8 bit Nó chứa sẵn 208 ký tự mẫu kích thước font 5x8 và 32 ký tự mẫu font 5x10 (tổng cộng là 240 ký tự mẫu khác nhau)
Bảng 1 Chức năng các chânChân số Tên Chức năng
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
Trang 172 Vdd Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này
với VCC=5V của mạch điều khiển
3 Vee Chân này dùng để điều chỉnh độ tương phản của LCD
4 Rs Chân chọn thanh ghi (Register select) Nối chân RS với logic
“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
5 R/w Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với
logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic
“1” để LCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp