Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,29 MB
Nội dung
Đồ án Thiết kế Hệ thống số Nhóm BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - - ĐỒ ÁN THIẾT KẾ HỆ THỐNG SỐ ĐỀ TÀI: “Đồng hồ số hiển thị LCD sử dụng Beaglebone Black” Giảng viên hướng dẫn : Nguyễn Văn Thành Thành viên: Trần Công Sơn – B17DCDT163 Khương Phú Bình – B17DCDT1020 Đào Đức Mạnh - B17DCDT120 Lê Văn Hiếu - B17DCDT071 Hệ đào tạo : ĐẠI HỌC CHÍNH QUY Hà Nội - 2021 i Đồ án Thiết kế Hệ thống số Nhóm LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn đến Ban Giám đốc Học viện Cơng nghệ Bưu Viễn thông tạo môi trường rèn luyện, trau dồi kiến thức, kinh nghiệm tốt hiệu để nhóm có hội phát triển cung cấp hành trang q giá cho chun mơn nói riêng sống nói chung Xin trân trọng cảm ơn thầy Nguyễn Văn Thành tận tâm giúp đỡ nhóm thực đề tài “Đồng hồ số hiển thị LCD sử dụng Beaglebone” Với kiến thức hướng dẫn tận tình, chi tiết thầy giúp đỡ nhóm đề tài nhiều điều từ phong cách làm việc chuyên nghiệp đến kiến thức chuyên môn từ đến chuyên sâu Do nghiên cứu phần kiến thức với hạn chế kinh nghiệm nghiên cứu, nên đề tài nhóm khơng thể tránh khỏi sai sót, mong nhận ý kiến đóng góp thầy để đề tài hồn thiện Cuối xin kính chúc thầy gia đình ln thành cơng hạnh phúc Trân trọng ! Hà Nội, tháng năm 2021 Nhóm đề tài i Đồ án Thiết kế Hệ thống số Nhóm MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT iv LỜI MỞ ĐẦU CHƯƠNG I: NGHIÊN CỨU TỔNG QUAN 1.1: Tổng quan hệ điều hành Linux 1.2: Linux kernel 1.3: Lập trình hệ điều hành Linux 1.4: Kết luận chương CHƯƠNG 2: NGHIÊN CỨU THIẾT KẾ ĐỒNG HỒ SỐ SỬ DỤNG BEAGLE BONE 2.1: Linh kiện sử dụng 2.1.1: Máy tính nhúng Beaglebone Black(BBB) 2.1.2: LCD 16x2 2.2: Cơ sở lý thuyết 11 2.2.1: Device driver 11 2.2.2: Linux kernel module 12 2.2.3: Giao tiếp tầng User phần cứng 13 2.3: Nghiên cứu thiết kế Đồng hồ số sử dụng Beaglebone Black 14 2.3.1: Môi trường 14 2.3.2: Sơ đồ tổng quan hệ thống 16 2.3.3: Thiết kế phần mềm 17 2.3.4: Thiết kế phần cứng 21 2.4: Kết luận chương 22 CHƯƠNG III: ĐÁNH GIÁ KẾT QUẢ 23 3.1: Kết 23 3.2: Đánh giá kết hướng phát triển 26 3.2.1: Đánh giá kết 26 3.2.2: Hướng phát triển 26 ii Đồ án Thiết kế Hệ thống số Nhóm 3.3: Kết luận chương 26 KẾT LUẬN 27 TÀI LIỆU THAM KHẢO 28 iii Đồ án Thiết kế Hệ thống số Nhóm DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt Viết đầy đủ Giải nghĩa ADC Analog-to-Digital Converter Bộ chuyển đổi tín hiệu tương tự sang số BBB Beaglebone Black Tên máy tính nhúng CPU Central Processing Unit Bộ xử lý trung tâm GCC GNU Compiler Collection Bộ trình biên dịch GNU GPIO General-purpose input/output Cổng vào IDE Integrated Development Environment Môi trường phát triển tích hợp I2C Inter-Integrated Circuit Giao thức truyền thơng I2C LCD Liquid Crystal Display Màn hình lỏng PC Persional Computer Máy tính cá nhân SSH Secure Shell Giao thức mạng kết nối bảo mật TCP/IP Tranmission Control Bộ giao thức Internet Protocol/ Internet Protocol UART Universal Asynchronous Receiver/Transmitter Truyền thông nối tiếp không đồng USB Universal Serial Bus Chuẩn kết nối máy tính iv Đồ án Thiết kế Hệ thống số Nhóm LỜI MỞ ĐẦU Ngày nay, công nghệ ứng dụng vào tất lĩnh vực sống Trong số khơng thể khơng nhắc tới hệ thống nhúng, tất thiết bị điện tử, phương tiện gắn máy có xuất “nó” Các hệ thống nhúng dù lớn hay nhỏ cần có não xử lý, hệ thống lớn xuất nhiều não, vi điều khiển, máy tính nhúng, … Trong chương trình học tại, Học viện Khoa Kỹ thuật Điện tử đưa vào nhiều kiến thức liên quan dòng vi điều khiển phổ biến dòng ARM32bit Tuy nhiên, thực hành dừng lại mức độ sử dụng KIT, Module thực hành có lẽ giá linh kiện phù hợp với hầu hết sinh viên với tính đơn giản phổ biến Từ mong muốn ứng dụng kiến thức học vào lập trình môi trường khác cụ thể hệ điều hành Linux, nhóm định thực đề tài:“Đồng hồ số hiển thị LCD sử dụng Beaglebone” sử dụng tảng hệ điều hành Linux Dưới hướng dẫn thầy Nguyễn Văn Thành, kết hợp với kiến thức thầy cô Khoa Kĩ Thuật Điện Tử giảng dạy, nhóm hồn thành đề tài Nội dung đề tài bao gồm chương: - Chương 1: Nghiên cứu tổng quan - Chương 2: Nghiên cứu thiết kế Đồng hồ số hiển thị LCD sử dụng Beaglebone - Chương 3: Đánh giá kết Dưới nhóm xin trình bày chi tiết phần nội dung đề tài Đồ án Thiết kế Hệ thống số Nhóm CHƯƠNG I: NGHIÊN CỨU TỔNG QUAN Chương trình bày tổng quan hệ điều hành Linux, tổng quan tầng Kernel Linux việc lập trình tầng User Linux 1.1: Tổng quan hệ điều hành Linux 1.1.1: Khái niệm lịch sử phát triển Linux hệ điều hành (OS) mã nguồn mở Hệ điều hành phần mềm quản lý trực tiếp phần cứng tài nguyên hệ thống, CPU, nhớ lưu trữ HĐH nằm ứng dụng phần cứng tạo kết nối tất phần mềm tài nguyên vật lý thực công việc Linux tạo vào năm 1991 Linus Torvalds, sinh viên Đại học Helsinki Torvalds xây dựng Linux để thay mã nguồn mở miễn phí cho Minix, Unix khác sử dụng với mục đích chủ yếu học thuật Tên ban đầu phần mềm Linux Freax quản trị viên máy chủ Torvalds sử dụng để phân phối mã gốc có tên Linux, theo tên Torvalds Sau đó, tên “Linux” đời nhờ kết hợp hai tên “Freax” “Linus” 1.1.2: Cấu trúc hệ điều hành Linux Hình 1.1: Cấu trúc tầng hệ điều hành Linux Hệ điều hành Linux gồm tầng chính: User space Kernel space Đồ án Thiết kế Hệ thống số - Nhóm User space: Bao gồm ứng dụng, phần mềm, tiện ích người dung gồm chương trình thực thi yêu cầu từ người dùng gửi đến tầng kernel - Kernel space: Là thành phần quan trọng hệ điều hành, ví trái tim HĐH, kernel chứa module hay thư viện để quản lý giao tiếp phần cứng máy tính ứng dụng Đây mơi trường mà nhóm em lựa chọn lập trình đề tài 1.1.3: Cấu trúc thư mục Linux Khác so với hệ điều hành Windows, hệ điều hành Linux quản lý file theo sơ đồ thư mục Cụ thể sau: Hình 1.2: Cấu trúc thư mục Linux - root: Thư mục cha tất thư mục - /bin: Chứa tập tin thực thi người dùng - /sbin: chứa tệp tin thực thi hệ thống Các lệnh thường liên quan đến cấu hình hệ thống, có root super accout có quyền thực thi lệnh - /etc: Chứa tập tin cấu hình cần thiết cho tất chương trình đoạn mã khời động, tắt chương trình đơn - /dev: chứa tập tin thiết bị đầu cuối hay thiết bị gắn vào hệ thống - /proc: chứa thông tin tiến trình chạy - /var: chứa tập tin mà dung lượng lớn dần theo thời gian sử dụng Đồ án Thiết kế Hệ thống số - Nhóm /tmp: chứa tập tin tạm khởi tạo người dùng hệ thống Sẽ bị xóa hệ thống khời động lại - /usr: chứa tập lệnh thực thi, thư viện, tài liệu mã nguồn cho chương trình người dùng - /usr/bin chứa tập tin thực thi cho chương trình người dùng - /usr/sbin chứa tập tin thực thi cho quản trị hệ thống - /usr/lib chứa tập tin thư viện /usr/bin /usr/sbin - /usr/local chứa chương trình người dùng mà bạn cài từ mã nguồn - /boot: chứa tập tin chương trình khởi động máy - /lib: chứa tập tin thư viện hỗ trợ tập tin thực thi /bin /sbin - /mnt: thư mục mount tạm thời, người quản trị hệ thống mount tập tin hệ thống - /srv: liệu dịch vụ máy chủ 1.1.4: Hệ thống quản lý User Vào khoảng năm 1970, hệ điều hành chương trình vi điều khiển thông thường Tuy nhiên, Unix phát triển khái niệm User hệ điều hành User đối tượng hệ thống, quy định quản lý tài nguyên riêng 1.2: Linux kernel Vào năm 1991, dựa UNIX kernel, Linus Torvalds tạo Linux kernel chạy máy tính ơng Dựa vào chức hệ điều hành, Linux kernel chia làm thành phần: - Process management: có nhiệm vụ quản lý tiến trình, bao gồm cơng việc: + Tạo/hủy tiến trình + Lập lịch cho tiến trình Đây thực chất lên kế hoạch: CPU thực thi chương trình nào, thực thi bao lâu, chương trình +Hỗ trợ tiến trình giao tiếp với + Đồng hoạt động tiến trình để tránh xảy tranh chấp tài nguyên - Memory management: có nhiệm vụ quản lý nhớ, bao gồm công việc: Đồ án Thiết kế Hệ thống số Nhóm + Cấp phát nhớ trước đưa chương trình vào, thu hồi nhớ tiến trình kết thúc + Đảm bảo chương trình có hội đưa vào nhớ + Bảo vệ vùng nhớ tiến trình - Device management: có nhiệm vụ quản lý thiết bị, bao gồm công việc: + Điều khiển hoạt động thiết bị + Giám sát trạng thái thiết bị + Trao đổi liệu với thiết bị + Lập lịch sử dụng thiết bị, đặc biệt thiết bị lưu trữ (ví dụ ổ cứng) - File system management: có nhiệm vụ quản lý liệu thiết bị lưu trữ (như ổ cứng, thẻ nhớ) Quản lý liệu gồm công việc: thêm, tìm kiếm, sửa, xóa liệu - Networking management: có nhiệm vụ quản lý gói tin (packet) theo mơ hình TCP/IP - System call Interface: có nhiệm vụ cung cấp dịch vụ sử dụng phần cứng cho tiến trình Mỗi dịch vụ gọi system call Khi tiến trình cần sử dụng dịch vụ kernel, tiến trình gọi system call System call tương tự hàm bình thường khác (library call) Chỉ có điều, library call cung cấp thư viện user space, system call cung cấp kernel Hình 1.3: Kiến trúc Linux kernel theo khối Đồ án Thiết kế Hệ thống số Nhóm Cấu trúc phần mềm Device driver: Phần OS specific gồm nhóm hàm sau: - Hàm khởi tạo Hàm chịu trách nhiệm: • Yêu cầu kernel cấp phát device number • Yêu cầu kernel tạo device file • Yêu cầu kernel cấp phát nhớ cho cấu trúc liệu driver khởi tạo chúng • Yêu cầu khởi tạo thiết bị vật lý • Đăng ký hàm entry point với kernel • Đăng ký hàm xử lý ngắt - Hàm kết thúc Hàm làm ngược lại hàm khởi tạo làm - Các hàm entry point Ví dụ open(), release(), read(), write(), ioctl(), mmap()… Phần device specific gồm nhóm hàm sau: - Nhóm hàm khởi tạo/giải phóng thiết bị - Nhóm hàm đọc/ghi vào ghi thiết bị - Đọc/ghi ghi liệu - Lấy thông tin từ ghi trạng thái - Thiết lập lệnh cho ghi điều khiển - Nhóm hàm xử lý ngắt 2.3: Nghiên cứu thiết kế Đồng hồ số sử dụng Beaglebone Black Qua việc tìm hiểu sở lý thuyết linh kiện sử dụng đồ án, nhóm trình bày mơi trường để lập trình, ý tưởng lưu đồ thuật tốn sử dụng 2.3.1: Mơi trường a Editor Có nhiều text editor Linux hỗ trợ thao tác với file nano, emacs… nhiên nhóm lựa chọn Vim tính phổ biến cộng đồng lập trình tính linh hoạt, có nhiều tính hỗ trợ người dùng Song với việc hỗ trợ nhiều chức nên Vim có nhiều phím tắt, khó khăn cho người bắt đầu 14 Đồ án Thiết kế Hệ thống số Nhóm Hình 2.6: Giao diện Vim b Makefile Make công cụ dùng để tự động chuyển đổi mã nguồn thành tệp thực thi Trong đề tài này, nhóm sử dụng Makefile để biên dịch file source thành loadable kernel module Chương trình: obj-m := lcd.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) all: make -C $(KDIR) M=$(PWD) modules clean: $(MAKE) -C $(KDIR) M=$(PWD) clean Trong đó: Obj-m: Biến target file sinh file ko flags –C: định thư mục chưa Makefile Thường trỏ đường dẫn cờ vào file header linux flags –M: định đường dẫn đến thư mục build modules all: chạy lệnh make nhảy vào rule thực biên dịch 15 Đồ án Thiết kế Hệ thống số Nhóm Hình 2.7: Danh sách file sau biên dịch Makefile clean: lệnh make clean xóa hầu hết tất file biên dịch theo obj Hình 2.8: Danh sách file sau clean Makefile 2.3.2: Sơ đồ tổng quan hệ thống Dựa theo sở lý thuyết nghiên cứu, nhóm lập trình Device driver theo cấu trúc Character device để ghi thông tin ngày tháng năm, phút giây từ OS LCD Sau biên dịch từ file c file ko Nhóm tiến hành load kernel module vào hệ điều hành lệnh: sudo insmod lcd.ko với lcd.ko tên kernel module Bởi trình load kernel module vào hệ điều hành làm thay đổi cấu trúc kernel nên cần sử dụng quyền sudo Sau device file mở file hàm open(), ghi vào file nội dung user truyền xuống hàm write() đóng file hàm close() Trong trình ghi file, device driver tiến hành ghi thông tin user truyền xuống lên LCD 16 Đồ án Thiết kế Hệ thống số Nhóm User space “sudo insmod lcd.ko” Device file Open() Write() Close() Device driver Lcd_print() OS LCD 16x2 Hình 2.9: Sơ đồ tổng quan hệ thống 2.3.3: Thiết kế phần mềm Character device driver có module module init module exit Module init gọi sau load device driver vào hệ thống ngược lại, module exit gọi unload device driver khỏi hệ thống a Lưu đồ thuật toán - Module Init: 17 Đồ án Thiết kế Hệ thống số Nhóm Xin cấp phát động device number Thốt Khởi tạo đăng kí device file với hệ thống Thoát Khởi tạo cấu trúc character device Thêm character device vào hệ thống Thốt Cấu hình GPIO Beaglebone Khời tạo LCD Hình 2.10: Lưu đồ thuật toán module Init 18 Đồ án Thiết kế Hệ thống số - Nhóm Đầu tiên để load kernel module vào hệ thống, ta cần cấp phát động cho cặp số major, minor (gọi tắt device number) hàm alloc_chrdev_region( ): if( alloc_chrdev_region( &dev_number, MINOR_NUM_START , MINOR_NUM_COUNT , DEVICE_NAME ) < 0) { printk( KERN_DEBUG "ERR: Failed to allocate major number \n" ); return -1; } Tham số truyền vào dev_number, biến mang struct dev_t, chứa số major minor Các số minor cấp phát khác từ nhỏ tới lớn, tham số thứ thứ tham số để kernel bắt đầu kiểm tra xem có thiết bị sử dụng cấp đến số Tham số cuối tên device file - Khởi tạo device file với hệ thống dev_ret = device_create (klcd_class, NULL, dev_number, NULL, DEVICE_NAME); if(IS_ERR(dev_ret)){ class_destroy(klcd_class ); unregister_chrdev_region(dev_number, MINOR_NUM_COUNT ); printk(KERN_DEBUG "ERR: Failed to create device structure \n" ); return PTR_ERR(dev_ret ); } Tham số klcd_class mang struct class, chứa tên module tên class klcd_class = class_create( THIS_MODULE, CLASS_NAME ); Tiếp theo cặp số major, minor tên device file Sau bước này, device file tạo thư mục /dev 19 Đồ án Thiết kế Hệ thống số - Nhóm Khời tạo character device driver cdev_init( &klcd_cdev, &klcd_fops); Tham số biến struct cdev, thể cho việc đăng kí character device driver Tiếp đến biến khai hàm gọi device driver để xử lý lời gọi từ User static struct file_operations klcd_fops = { owner = THIS_MODULE, open = klcd_open, release = klcd_close, write = klcd_write, }; Tại đây, nhóm khai báo chức năng: open, close, write Khi tạo thành công device driver, nhóm cấu hình chân cho Beaglebone kết nối với LCD khởi tạo LCD Các chân kết nối #define LCD_RS_PIN_NUMBER 30 // LCD_RS: P9_11 #define LCD_E_PIN_NUMBER 60 // LCD_E: (GPIO pin 30) P9_12 (GPIO pin 60) #define LCD_DB4_PIN_NUMBER // LCD_DB4: P9_21 (GPIO pin 3) #define LCD_DB5_PIN_NUMBER // LCD_DB5: P9_22 (GPIO pin 2) #define LCD_DB6_PIN_NUMBER 49 // LCD_DB6: P9_23 (GPIO pin 49) #define LCD_DB7_PIN_NUMBER 15 // LCD_DB7: P9_24 (GPIO pin 15) - Module Exit: Ngược lại với module init, module exit bao gồm hàm gỡ driver khỏi hệ thống, hủy đăng kí device file, hủy major, minor number giải phóng chân GPIO board 20 Đồ án Thiết kế Hệ thống số Nhóm static void exit klcd_exit(void){ // turn off LCD display lcd_display_off(); // remove a cdev from the system cdev_del( &klcd_cdev); // remove device device_destroy( klcd_class, dev_number ); // destroy class class_destroy( klcd_class ); // deallocate device major number unregister_chrdev_region( MAJOR(dev_number), MINOR_NUM_COUNT ); // releasse GPIO pins lcd_pin_release_All(); printk(KERN_INFO "klcd Driver Exited \n"); } 2.3.4: Thiết kế phần cứng Hiện tại, nhóm có nhu cầu phát triển thêm phần mềm sản phẩm để đọc thời gian qua I2C driver Cùng với q trình học online, thành viên nhóm khơng thể lên Học viện để in mạch Vì vậy, phần cứng nhóm sử dụng bread board dây đồng lõi để kết nối LCD Beaglebone Black Hình 2.11: Mạch kết nối BBB LCD 21 Đồ án Thiết kế Hệ thống số Nhóm 2.4: Kết luận chương Chương II trình bày linh kiện sử dụng đề tài, kiến thức cần nghiên cứu, trình xử lý phần mềm phần cứng nhóm Tiếp theo, sau dã hồn thiện sản phẩm, nhóm tiến hành q trình đánh giá kết rút két luận đề tài 22 Đồ án Thiết kế Hệ thống số Nhóm CHƯƠNG III: ĐÁNH GIÁ KẾT QUẢ Chương trình bày kết thu sau thiết kế thành cơng sản phẩm Từ kết đó, rút nhận xét đề tài đưa hướng phát triển 3.1: Kết Danh sách file code: Hình 3.1: Danh sách file code Sau trình make file, file object sinh ra: Hình 3.2: Danh sách file object Trong lcd.ko kernel module Sau biên dịch kernel module, chạy command “sudo insmod lcd.ko” giải thích chương II Dưới danh sách driver có OS sau load kernel module vào 23 Đồ án Thiết kế Hệ thống số Nhóm Hình 3.3: Danh sách driver có Ta thấy driver lcd kiển thị đầu tiên, với size 16384 KB Kiểm tra device file thư mục /dev load thành cơng module vào OS Hình 3.4: Danh sách device file OS 24 Đồ án Thiết kế Hệ thống số Nhóm Có thể thấy, device file tạo lưu đồ phần mềm Tiếp đó, ta xử lý thời gian ghi từ OS xuống device để hiển thị lên LCD Hình 3.5: Thời gian thực từ OS Sau đọc thời gian từ OS, Linux có hỗ trợ tốn tử “>” để ghi trực tiếp liệu lên device file Kết thu sau chạy lệnh: Hình 3.6: Kết 25 Đồ án Thiết kế Hệ thống số Nhóm 3.2: Đánh giá kết hướng phát triển 3.2.1: Đánh giá kết - Đề tài đáp ứng yêu cầu việc hiển thị thời gian thực lên hình LCD thơng qua lập trình driver cho tầng kernel Linux - Chưa tối ưu phần mềm dẫn tới phần cứng chưa tối ưu 3.2.2: Hướng phát triển - Sử dụng I2C driver để tiết kiệm IO dễ dàng phát triển tích hợp ngoại vi - Thiết kế PCB cho sản phẩm sau hoàn thiện phần mềm - Viết thêm chương trình tạo hiệu ứng, cập nhật thời gian từ OS LCD 3.3: Kết luận chương Ở chương III, nhóm tập trung theo dõi, đánh giá, kiểm tra trình thực chức sản phẩm Qua rút kết luận tìm hiểu thêm hướng phát triển hể hoàn thiện sản phẩm 26 Đồ án Thiết kế Hệ thống số Nhóm KẾT LUẬN Sau thời gian gần tháng nghiên cứu với nỗ lực nhóm hướng dẫn tận tình thầy Nguyễn Văn Thành, nhóm hoàn thành đề tài “Đồng hồ số hiển thị LCD sử dụng Beaglebone”, nhóm xin tổng kết đồ án đạt sau: - Tìm hiểu tổng quan hệ điều hành Linux - Hiểu nguyên lí cách thức hoạt động luồng trao đổi liệu tầng Linux - Tìm hiểu, lập trình thành cơng Device driver cho Linux Qua trình thực đồ án, hướng dẫn tận tình thầy, nhóm thử sức với đề tài thực khó, học cách tổ chức giải vấn đề khoa học Mặc dù cố gắng nhiều đề tài khó tránh khỏi sai sót, nhóm mong nhận góp ý thầy để hồn thiện nhiều Xin chân thành cảm ơn! Nhóm đề tài 27 Đồ án Thiết kế Hệ thống số Nhóm TÀI LIỆU THAM KHẢO Sách, tài liệu: [1] Linux Kernel Module Programming Guide [2] Linux Device Driver [3] Mastering Embedded Linux Programming Link tham khảo: https://github.com/phuthodien/training_linux_embedded_v2 http://exploringbeaglebone.com https://beagleboard.org 28 ... chương II, nhóm trình bày nội dụng q trình nghiên cứu, thiết kế đồng hồ số sử dụng Beaglebone Đồ án Thiết kế Hệ thống số Nhóm CHƯƠNG 2: NGHIÊN CỨU THIẾT KẾ ĐỒNG HỒ SỐ SỬ DỤNG BEAGLE BONE Chương trình... nhóm sử dụng bread board dây đồng lõi để kết nối LCD Beaglebone Black Hình 2.11: Mạch kết nối BBB LCD 21 Đồ án Thiết kế Hệ thống số Nhóm 2.4: Kết luận chương Chương II trình bày linh kiện sử dụng. .. dạy, nhóm hồn thành đề tài Nội dung đề tài bao gồm chương: - Chương 1: Nghiên cứu tổng quan - Chương 2: Nghiên cứu thiết kế Đồng hồ số hiển thị LCD sử dụng Beaglebone - Chương 3: Đánh giá kết Dưới