Luận văn này trình bày về việc thiết kế và thi công màn hình chuông cửa video với yêu cầu thỏa mãn các mục tiêu sau: Phần cứng phải hoạt động tốt, ổn định Quá trình giao tiếp diễn ra suôn sẻ Chất lượng âm thanh và hình ảnh tốt với độ trễ thấp Chương 1: GIỚI THIỆU Chương này trình bày tổng quan và ứng dụng của hệ thống chuông cửa video, tình hình nghiên cứu trong và ngoài nƣớc. Vai trò của thiết bị trong hệ thống chuông cửa video. Chương 2: LÝ THUYẾT Chương này trình bày cơ sở lý thuyết để thực hiện thiết bị màn hình chuông cửa video bao gồm:, hệ điều hành Embedded Linux, mô hình mạng TCPIP, giao thức RTP, gói thư viện Gstreamer. Chương 3: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG Chương này trình bày về module phần cứng sử dụng, thiết kế và thực hiện module ngoại vi, nhiệm vụ chức năng của từng module. Chương 4: XÂY DỰNG MÔI TRƯỜNG LINUX CHO i.MX6 Chương này trình bày cách xây dựng môi trường Linux trên board nhúng bao gồm: bootloader, driver, biên dịch kernel, rootfilesystem. Chương 5: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM Chương này trình bày sơ đồ tổng quát, sơ đồ giải thuật phần mềm, thiết kế giao diện phần mềm tương tác của thiết bị sử dụng trên màn hình cảm ứng, cách thức truyền nhận audio, video. Chương 6: KẾT QUẢ THỰC HIỆN Chương này trình bày kết quả đạt được về phần cứng và phần mềm.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
-o0o -LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
MÀN HÌNH CHUÔNG CỬA VIDEO
GVHD: TH.S BÙI QUỐC BẢO SVTH: NGUYỄN HOÀNG VŨ MSSV: 41004077
Trang 2-✩ - -✩ -
Số: /BKĐT Khoa: Điện – Điện tử Bộ Môn: Điện Tử NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
1 HỌ VÀ TÊN : NGUYỄN HOÀNG VŨ MSSV: 41004077 2 NGÀNH: ĐIỆN TỬ - VIỄN THÔNG LỚP : DD10KSVT 3 Đề tài: “MÀN HÌNH CHUÔNG CỬA VIDEO” 4 Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu): - Xây dựng phần cứng và firmware cho thiết bị màn hình chuông cửa video - Viết chương trình ứng dụng giao diện điều khiển cho thiết bị - Hình ảnh và âm thanh thu được phải đảm bảo chất lượng và thời gian thực 5 Ngày giao nhiệm vụ luận văn: 1/9/2014 6 Ngày hoàn thành nhiệm vụ: 15/12/2014 7 Họ và tên người hướng dẫn: Phần hướng dẫn TH.S BÙI QUỐC BẢO Toàn bộ luận văn Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn Tp.HCM, ngày… tháng… năm 20 CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ):
Đơn vị:
Ngày bảo vệ :
Điểm tổng kết:
Nơi lưu trữ luận văn:
Trang 3LỜI CẢM ƠN
Em chân thành cảm ơn thầy Bùi Quốc Bảo đã định hướng và hỗ trợ tận tình cả về vật chất lẫn tinh thần trong suốt quá trình nghiên cứu, sự quan tâm giúp đỡ của thầy là động lực to lớn để em hoàn thành luận văn này Em cũng xin gửi lời cảm ơn đến:
- Các thầy cô trong Bộ Môn Điện Tử những người đã giảng dạy, hướng dẫn em
trong quá trình học tập tại trường
- Các anh chị đang làm việc trong phòng thí nghiệm IC Design Lab đã tạo môi
trường thuận lợi, nhiệt tình giúp đỡ, giải đáp các thắc mắc trong quá trình em thực hiện đề tài
Cảm ơn gia đình, bạn bè đã động viên, nhắc nhở, làm chỗ dựa tinh thần cho em trong thời gian qua
Tp Hồ Chí Minh, ngày 23 tháng 12 năm 2014
Sinh viên
Trang 4TÓM TẮT LUẬN VĂN
Luận văn này trình bày về việc thiết kế và thi công màn hình chuông cửa video với yêu cầu thỏa mãn các mục tiêu sau:
- Phần cứng phải hoạt động tốt, ổn định
- Quá trình giao tiếp diễn ra suôn sẻ
- Chất lượng âm thanh và hình ảnh tốt với độ trễ thấp
Bố cục luận văn bao gồm 7 chương với những nội dung chính như sau:
Chương 1: GIỚI THIỆU
Chương này trình bày tổng quan và ứng dụng của hệ thống chuông cửa video, tình hình nghiên cứu trong và ngoài nước Vai trò của thiết bị trong hệ thống chuông cửa video
Chương 2: LÝ THUYẾT
Chương này trình bày cơ sở lý thuyết để thực hiện thiết bị màn hình chuông cửa video bao gồm:, hệ điều hành Embedded Linux, mô hình mạng TCP/IP, giao thức RTP, gói thư viện Gstreamer
Chương 3: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG
Chương này trình bày về module phần cứng sử dụng, thiết kế và thực hiện module ngoại
vi, nhiệm vụ chức năng của từng module
Chương 4: XÂY DỰNG MÔI TRƯỜNG LINUX CHO i.MX6
Chương này trình bày cách xây dựng môi trường Linux trên board nhúng bao gồm: bootloader, driver, biên dịch kernel, rootfilesystem
Chương 5: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM
Chương này trình bày sơ đồ tổng quát, sơ đồ giải thuật phần mềm, thiết kế giao diện phần mềm tương tác của thiết bị sử dụng trên màn hình cảm ứng, cách thức truyền nhận audio, video
Chương 6: KẾT QUẢ THỰC HIỆN
Chương này trình bày kết quả đạt được về phần cứng và phần mềm
Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Chương này trình bày ưu khuyết điểm của đề tài, những mặt đạt được, những hạn chế còn tồn tại và hướng phát triển của đề tài trong tương lai
Trang 5MỤC LỤC
1 GIỚI THIỆU 1
1.1 Tổng quan 1
1.1 Tình hình nghiên cứu trong và ngoài nước 2
1.1.1 Trong Nước 2
1.2.2 Ngoài Nước 2
1.3 Nhiệm vụ luận văn 3
1.3.1 Những nội dung cần thực hiện: 3
1.3.2 Phạm vi đề tài 3
2 LÝ THUYẾT 4
2.1 HỆ THỐNG LINUX NHÚNG 4
2.1.1 Tổng quan về hệ thống nhúng 4
2.1.2 Cấu trúc của một hệ thống embedded linux 5
2.1.3 Trình tự xây dựng hệ thống embedded linux 5
2.2 Mô hình TCP/IP 8
2.3 Giao thức RTP 9
2.3.1 Giới thiệu 9
2.3.2 Quá trình streaming audio và video 10
2.4 Tổng quan về gói thư viện Gstreamer 12
2.4.1 Giới thiệu 12
2.4.2 Gstreamer Tool 13
3 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG 14
3.1 Lựa chọn nền tảng 14
3.2 Vi điều khiển i.MX6 14
3.3 Thiết kế phần cứng 17
3.3.1 Module EDM1-CF-IMX6 17
3.3.2 Thiết kế Baseboard 20
3.4 Tổng quan về các loại IC sử dụng trong mạch Baseboard 21
3.4.1 IC LM2596 21
3.4.2 IC SGLT5000 22
3.4.3 IC LM4871 23
3.4.4 IC TSC2046 24
3.5 Sơ đồ thiết kế phần cứng 25
3.5.1 Khối nguồn DC-DC 25
3.5.2 Khối UART Console 25
3.5.3 Khối LCD+Touch 26
3.5.4 Khối Ethernet 27
3.5.5 Khối Audio 27
Trang 64.1.3 U-Boot 28
4.1.4 Linux Kernel 29
4.1.5 Rootfile System 29
4.2 Biên dịch Linux Kernel 30
4.2.1 Cấu hình và biên dịch Linux Kernel 31
4.2.2 Cấu hình kernel cho audio 32
4.2.3 Cấu hình kernel cho màn hình LCD 33
4.2.4 Cấu hình kernel cho Touchscreen 33
4.3 Tạo SDCard chứa Boot Image 35
4.4 Cấu hình U-Boot 37
5 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 40
5.1 Giới thiệu các phần mềm và thư viện sử dụng 40
5.1.1 QT Creator 40
5.1.2 Tslib 41
5.1.3 QT Everywhere 42
5.2 Thiết kế phần mềm 44
5.2.1 Sơ đồ khối tổng quát 44
5.2.2 Sơ đồ giải thuật phần mềm 46
5.2.3 Quá trình nhận video stream 48
5.2.4 Quá trình truyền nhận audio stream 49
5.3 Biên dịch ứng dụng cho board nhúng 50
6 KẾT QUẢ THỰC HIỆN 51
6.1 Kết quả thực hiên phần cứng 51
6.1.1 Kết quả layout phần cứng 51
6.1.2 Kết quả thi công phần cứng 53
6.1.3 Kiểm tra hoạt động của board 54
6.2 Kết quả thực hiện phần mềm 56
7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58
7.1 Kết luận 58
7.2 Hướng phát triển 58
8 TÀI LIỆU THAM KHẢO 60
9 PHỤ LỤC 61
Trang 7DANH SÁCH HÌNH MINH HỌA
Hình 1-1: Sơ đồ hệ thống chuông cửa video dành cho hộ gia đình 1
Hình 1-2: Hệ thống SkyBell của nước ngoài 2
Hình 2-1: Các giao thức trong mô hình TCP/IP 8
Hình 2-2: Các giao thức dùng trong RTP 9
Hình 2-3: Minh họa quá trình Streaming 11
Hình 2-4: Tổng quan về Gstreamer 12
Hình 2-5: Pipeline trong Gstreamer 13
Hình 3-1: Vi xử lý i.MX6 14
Hình 3-2: Sơ đồ khối của dòng vi xử lý i.MX6 Duallite 16
Hình 3-3: Lớp TOP của module EDM1-CD-i.MX6 17
Hình 3-4: Lớp BOTTOM của module EDM1-CD-i.MX6 17
Hình 3-5: Sơ đồ khối của module EDM1-CF-i.MX6 18
Hình 3-6: Sơ đồ khối phần cứng của Baseboard 20
Hình 3-7: Thiết kế tham khảo của IC LM2596 21
Hình 3-8: Sơ đồ khối của IC SGLT5000 22
Hình 3-9: Sơ đồ mạch tham khảo của IC SGLT5000 23
Hình 3-10: Sơ đồ mạch tham khảo IC LM4871 23
Hình 3-11: Sơ đồ mạch tham khảo IC TSC2046 24
Hình 3-12: Sơ đồ thiết kế khối nguồn dùng IC LM2596 25
Hình 3-13: Sơ đồ thiết kế khối UART DEBUG 25
Hình 3-14: Sơ đồ thiết kế khối LCD 26
Hình 3-15: Sơ đồ thiết kế khối Touchscreen 26
Hình 3-16: Sơ đồ thiết kế khối Ethernet 27
Hình 3-17: Sơ đồ thiết kế khối Audio 27
Hình 4-1: Quá trình boot của i.MX6 28
Hình 4-2: Các thư mục trong source code của Linux Kernel 30
Hình 4-3: Cấu hình Linux Kernel 31
Hình 4-4: Giao diện cấu hình của Linux Kernel 32
Hình 4-5: Option để biên dịch driver SGLT5000 32
Hình 4-6: Option để biên dịch driver cho LCD 33
Hình 4-7: Option để biên dịch driver cho IC Touchscreen TSC2046 33
Hình 4-8: Hộp thoại thoát khỏi Menuconfig 34
Hình 4-9: Quá trình biên dịch Linux Kernel 34
Hình 4-10: Thư mục chứa Kernel 35
Hình 4-11: Giao diện của phần mềm Disk Ultility 35
Hình 4-12: SDCard boot cho i.MX6 36
Hình 4-13: Kết nối ngoại vi với Baseboard 37
Trang 8Hình 5-2: Thư mục tslib sau khi biên dịch 41
Hình 5-3: Thư mục QT Everywhere sau khi biên dịch thành công 43
Hình 5-4: Sơ đồ khối tổng quát của phần mềm 44
Hình 5-5: Mô hình truyền Broadcast 45
Hình 5-6: Mô hình Server-Client 45
Hình 5-7: Sơ đồ giải thuật thực hiện phần mềm 46
Hình 5-8: Sơ đồ nhận Video Stream 48
Hình 5-9: Sơ đồ truyền audio stream dùng Gstreamer 49
Hình 5-10: Sơ đồ nhận audio stream dùng Gstreamer 49
Hình 5-11: Cấu hình QT để biên dịch cho board nhúng 50
Hình 6-1: Lớp TOP của Baseboard 51
Hình 6-2: Lớp VCC của Baseboard 51
Hình 6-3: Lớp GND của Baseboard 52
Hình 6-4: Lớp BOTTOM của Baseboard 52
Hình 6-5: Baseboard thực tế 53
Hình 6-6: Sơ đồ kết nối phần cứng 54
Hình 6-7: Calib màn hình Touchscreen 54
Hình 6-8: Kiểm tra hoạt động của Touchscreen 55
Hình 6-9: Kiểm tra hoạt động của Ethernet 55
Hình 6-10: Giao diện phần mềm trên phần cứng 56
Hình 6-11: Giao diện phần mềm khi có người nhấn chuông 57
Hình 6-12: Giao diện phân mềm khi người dùng nói chuyện 57
Hình 9-1: Layout board i.MX6 lớp TOP 64
Hình 9-2: Layout board MX6 lớp GND 64
Hình 9-3: Layout board i.MX6 lớp Inner1 64
Hình 9-4: Layout board i.MX6 lớp Inner 2 65
Hình 9-5: Layout board i.MX6 lớp VCC 65
Hình 9-6: Layout board i.MX6 lớp BOTTOM 65
Trang 9DANH SÁCH BẢNG SỐ LIỆU
Bảng 3-1: Thông số cơ bản của MPU IMX6 Duallite 14 Bảng 3-2: Thông số cơ bản của module EDM1-CF-IMX6 DualLite 18
Trang 10DANH SÁCH TỪ VIẾT TẮT RTP Real-time Transport Protocol
TCP Transmission Control Protocol
UDP User Datagram Protocol
HTTP Hypertext Transfer Protocol
FTP File Transfer Protocol
Rootfs Rootfile System
Trang 111 GIỚI THIỆU
1.1 Tổng quan
Ngày nay, khoa học kĩ thuật ngày càng phát triển và được ứng dụng rộng rãi trong nhiều lĩnh vực Một trong những vấn đề được quan tâm đó là làm sao cải thiện môi trường sống của mọi người ngày càng tiện lợi và an toàn Hệ thống chuông của video là một trong những ý tưởng như vậy, bên cạnh chức năng như một chiếc chuông cửa bình thường, sản phẩm chuông cửa video còn
có khả năng hiển thị hình ảnh người bấm chuông, trò chuyện trực tiếp, tạo sự thuận tiện và chủ động cho gia chủ, ngoài ra chuông cửa video còn có thể sử dụng như một hệ thống giám sát an ninh, góp phần mang lại cuộc sống tiện nghi, hiện đại và an toàn cho con người
Hình 1-1 mô tà mô hình thông dụng của một hệ thống chuông cửa video
- Khách đến nhà bấm vào nút chuông trên camera chuông cửa
- Chủ nhà quan sát hình ảnh khách qua màn hình chuông cửa
- Nếu cần nói chuyện với khách thì bấm nút nói chuyện Khách và chủ nhà có thể nói chuyện trực tiếp với nhau
- Nếu muốn mời khách vào nhà có thể bấm nút mở cửa để mời khách vào
- Có thể lắp nhiều camera chuông cửa với 1 màn hình chuông cửa (nhà có nhiều cổng), lắp 1 camera chuông cửa với nhiều màn hình (áp dụng cho nhà có 1 cổng và nhiều phòng) hoặc kết hợp
Hình 1-1: Sơ đồ hệ thống chuông cửa video dành cho hộ gia đình
Trang 121.1 Tình hình nghiên cứu trong và ngoài nước
1.1.1 Trong nước
Sản phẩm chuông cửa có hình được rao bán trên khá nhiều trang web trong nước như: sieuthivienthong.com, vatgia.com, dhome.vn, nhìn chung sản phẩm đều là hàng của nước ngoài, phần lớn có xuất xứ từ Trung Quốc nên chất lượng và độ bảo mật không được đảm bảo Những sản phẩm chất lượng có thương hiệu của Samsung, Panasonic thường có giá từ 3 – 5 triệu, quá đắt đối với một sản phẩm chỉ có chức năng đơn thuần của chiếc chuông cửa có thêm hình ảnh Ngoài ra, phần lớn các sản phẩm trên thị trường hiện nay truyền video bằng cách sử dụng tín hiệu analog truyền qua dây dẫn, do đó hệ thống khó mở rộng ra các khoảng cách lớn Một số sản phẩm truyền
dữ liệu qua tín hiệu RF, do đó chất lượng video và audio không cao, dễ bị nhiễu Vẫn chưa có một sản phẩm nào được sản xuất trong nước, ngoài một số đề tài nghiên cứu như đề tài “Chuông Cửa
Video” của anh Vương Văn Thắng [1]
1.2.2 Ngoài nước
Hiện nay, có rất nhiều sản phẩm đã được ứng dụng ở nước ngoài như: doorbot, skybell,… Tuy nhiên, các sản phẩm này vẫn còn nhiều hạn chế về chất lượng hình ảnh, âm thanh cũng như độ
trễ cao [2], giá thành sản phẩm khi nhập về nước cũng khá cao
Hình 1-2: Hệ thống SkyBell của nước ngoài
Trang 131.3 Nhiệm vụ luận văn
Thiết kế và thi công màn hình chuông cửa video, kết hợp với thiết bị chuông cửa được thực
hiện trong đề tài “CHUÔNG CỬA VIDEO” của tác giả VÕ THÀNH DANH [3], tạo thành một hệ
thống chuông cửa video hoàn chỉnh có khả năng ứng dụng trong thực tế với một chi phí hợp lý, có đầy đủ các chức năng cơ bản như: hiển thị hình ảnh người bấm chuông, tạo sự giao tiếp giữa người chủ nhà và vị khách của mình Hình ảnh và âm thanh thu được có chất lượng tốt, độ trễ thấp
1.3.1 Những nội dung cần thực hiện:
Nội dung 1:
Tìm hiểu về nguyên lý hoạt động của hệ thống chuông cửa video, cách thức thu nhận, xử lý hình ảnh từ camera, âm thanh từ micro Cách thức truyền dữ liệu từ chuông cửa về màn hình, các giao thức cần sử dụng, phương tiện cũng như là môi trường truyền dẫn để đảm bảo được chất lượng của tín hiệu
Nội dung 3:
Tiến hành xây dựng môi trường linux lên trên phần cứng đã có, biên dịch bootloader, viết thêm các driver còn thiếu cho các ngoại vi, biên dịch lại kernel cho phù hợp với phần cứng và yêu cầu của đề tài
Nội dung 4:
Tìm hiểu sử dụng gói thư viện stream audio gstreamer, dùng để thực hiện việc giao tiếp giữa chủ nhà và vị khách bên ngoài Tìm hiểu sử dụng phần mềm QT và plugin webkit để thu nhận hiển thị hình ảnh lên màn hình, xây dựng sơ đồ giải thuật và lập trình giao diện tương tác giữa chủ nhà
và thiết bị màn hình chuông cửa video
1.3.2 Phạm vi đề tài
- Thiết kế phần cứng của hệ thống này
- Xây dựng môi trường linux
- Viết phần mềm tương tác trên phần cứng này
Trang 142 LÝ THUYẾT
2.1 HỆ THỐNG LINUX NHÚNG
2.1.1 Tổng quan về hệ thống nhúng
Trong thế giới thực của chúng ta bất kỳ một thiết bị hay hệ thống điện, điện tử có khả năng
xử lí thông tin và điều khiển đều có thể có một hệ nhúng bên trong ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển, các thiết bị phục vụ sinh hoạt hàng ngày như lò vi sóng, máy giặt, camera…
Chúng ta có thể hiểu hệ thống nhúng là một hệ thống có khả năng tự hoạt động được nhúng vào trong một môi trường hay một hệ thống mẹ Chúng là các hệ thống tích hợp cả phần cứng và phần mềm để thực hiện một hoặc một nhóm chức năng chuyên biệt trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao
Hệ thống nhúng thường được chia thành 2 loại: hệ thống nhúng chỉ sử dụng firmware và hệ thống nhúng sử dụng hệ điều hành
Hệ thống nhúng sử dụng firmware có ưu điểm là người lập trình sẽ trực tiếp điều khiển được các thiết bị phần cứng, do đó tối ưu hóa được tài nguyên, hoạt động ổn định, thích hợp cho các hệ thống có các tác vụ đơn giản Tuy nhiên đối với các hệ thống sử dụng các thiết bị ngoại vi có cách thức giao tiếp phức tạp, xử lý nhiều tác vụ, người lập trình sẽ rất khó khăn trong việc quản lý được toàn bộ tài nguyên hệ thống
Hệ thống nhúng sử dụng hệ điều hành đòi hỏi yêu cầu phần cứng cao hơn so với hệ thống chỉ
sử dụng firmware, nhưng có ưu điểm là cho phép người lập trình quản lý việc chia sẻ tài nguyên một cách dễ dàng và hiệu quả hơn, có thể xử lý nhiều tác vụ cùng một lúc, cung cấp một môi trường để phát triển ứng dụng nhanh chóng mà không cần phải quan tâm quá nhiều đến phần cứng bên dưới Hiện nay có rất nhiều hệ điều hành dành cho hệ thống nhúng như: Window CE, Embedded Linux, QNix,…
So với các hệ điều hành khác hệ điều hành Embedded Linux có ưu điểm:
- Đây là một hệ điều hành miễn phí
- Có khả năng chạy đa chương trình đa nhiệm cùng lúc cho nhiều người sử dụng
- Nhiều ứng dụng cũng như mã nguồn hệ điều hành cũng được cung cấp miễn phí trên Internet, ta có thể tải về và cấu hình tuỳ theo sử dụng cá nhân
- Một tiện ích khác của Linux là gần như “miễn dịch” với các loại virus thông thường
- Linux có sẵn toàn bộ giao thức mạng TCP/IP, giúp ta dễ dàng thực hiện các ứng dụng về mạng
- Linux có hàng ngàn ứng dụng được biên dịch sẵn, bao gồm các bảng biểu, cơ sở dữ liệu,
xử lí văn bản, ngôn ngữ điện toán, trò chơi, đồ hoạ,…
Trang 15- Với mã nguồn kernel mở, Linux có thể chạy trên nhiều loại CPU và phần cứng khác nhau hơn bất kỳ hệ điều hành nào
- Tài liệu giới thiệu về linux ngày càng phong phú và đa dạng cho người mới làm quen Màn hình chuông cửa đòi hỏi các tác vụ như hiển thị màn hình LCD, quản lý màn hình cảm ứng, giao tiếp mạng, giải nén audio Các tác vụ này đều được chạy đồng thời trong hệ thống Do tính phức tạp của hệ thống, tác giả quyết định sử dụng hệ thống nhúng sử dụng hệ điều hành Embedded Linux để làm nền tảng cho đề tài luận văn
2.1.2 Cấu trúc của một hệ thống embedded linux
Cũng như những hệ thống nhúng khác, hệ thống Embedded Linux cũng bao gồm 2 phần đó
là phần cứng và phần mềm Tùy theo quy mô của hệ thống, Phần cứng thường bao gồm các thành phần như:
- Bộ xử lý trung tâm: CPU
- Bộ nhớ tạm: SRAM, SDRAM, DDRAM,…
- Bộ nhớ chương trình: Flash, eMMC, SDCard,…
- Các thiết bị ngoại vi: cảm biến, màn hình, loa, micro,…
- Các kết nối: uart, i2c, spi, rs232, ethernet, usb,…
- Nguồn cung cấp cho hệ thống
Về phần mềm thường bao gồm:
- Phần mềm hệ thống là các phần mềm có chức năng giúp khởi động, tích hợp, điều khiển
và quản lý các phần cứng riêng biệt của hệ thống Embedded Linux bao gồm : Bootloader, Device Driver, Linux Kernel và Rootfile Sytem
- Phần mềm ứng dụng là những phần mềm do người sử dụng lập trình ra để sử dụng các tài nguyên của hệ thống nhằm thực hiện một công việc nào đó
2.1.3 Trình tự xây dựng hệ thống embedded linux
2.1.3.1 Các bước xây dựng phần cứng
Bước 1: Lựa chọn kiến trúc CPU và CPU vendor
Có rất nhiều kiến trúc CPU được support bởi Linux OS ví dụ như : ALPHA, ARM, SH, MIP, POWER PC,… Hiện nay ARM là một kiến trúc được sử dụng rất phổ biến,
Sau khi lựa chọn cấu trúc CPU, ta sẽ lựa chọn sản phẩm CPU từ các nhà sản xuất chíp Hiện nay trên thế giới có nhiều hãng khác nhau, bao gồm : TI, SAMSUNG, Marvell, Freescale,
Trang 16Bước 2: Tìm hiểu cơ chế boot của CPU
Từ cơ chế boot của CPU người thiết kế phần cứng có thể đưa ra quyết định lựa chọn linh kiện phù hợp cho từng kiểu boot Ví dụ : NAND Flash, NOR FLash, SPI Dataflash, I2C EEPROM, MMC,
Bước 3: Thiết kế sơ đồ nguyên lý
Để có được sơ đồ nguyên lý hoàn chỉnh cho hệ thống Embedded Linux, chúng ta cần tập hợp thông tin từ các CPU vendor càng nhiều càng tốt, bao gồm các tài liệu về schematic check list, CPU user manual, design application note và tham khảo các thiết kế có sẵn
B4: Layout PCB
Đây là công đoạn hết sức khó khăn, người layout cần phải nắm được các yêu cầu khi layout board mạch có tốc độ cao Cần chú ý đến các đường bus giao tiếp bộ nhớ ngoài, các tụ trở mạch lọc cho PLL, các tụ lọc nguồn cho CPU, độ dài các đường tín hiệu và trở kháng của đường dây
2.1.3.2 Các bước xây dựng phần mềm
B1: Bootloader
Đa số các CPU được sản xuất với ROM on chip và được cài sẵn chương trình boot (Rom Code) Tuy nhiên, những chương trình này thường không đủ khả năng boot được Linux OS, người thiết kế hệ thống cần phải kết hợp chương trình này với các chương trình boot khác (U-Boot, Bootlets, Bootldr,…) được lưu ở các thiết bị lưu trữ để có thể boot được Linux OS Tùy vào loại CPU khác nhau mà ta phải trải qua 2 hay 3 tầng boot loader để khởi động được Linux OS
B2: Biên dịch Linux Kernel và phát triển device driver
Thành phần cốt lõi trong phần mềm của Embedded Linux đó chính là Kernel, đây là tập hợp các mã lệnh chương trình được thực thi trên CPU dùng để quản lý bộ nhớ, các thiết bị ngoại vi các tiến trình hoạt động trên hệ thống, Source code của kernel được quản lý bởi tổ chức phát triển mã nguồn mở Linux, chúng ta có thể download miễn phí tại www.kernel.org [4] Để có thể sử
dụng được kernel, hệ thống phải đảm bảo có sự tương quan giữa phần cứng và kernel, thông thường nhà sản xuất CPU sẽ phải chỉnh sửa lại source code của kernel để phần cứng có thể vận hành được Linux OS
Kernel của Linux thường bao gồm chương trình điều khiển của một số thiết bị ngoại vi, tuy nhiên người sử dụng hoàn toàn có thể tự viết cho mình một driver cho phù hợp với hệ thống
B3: Rootfile System
Là hệ thống cây thư mục chứa tập hợp các chương trình ứng dụng, các tiện ích của hệ điều hành Ta có thể sử dụng rootfs đã được biên dịch sẵn hoặc tự biên dịch lại từ đầu nếu muốn Hiện tại, có rất nhiều phần mềm hỗ trợ việc biên dịch rootfs, từ đơn giản đến phức tạp như: busybox, biên dịchboot, Open Embedded, Yocto, Tuy nhiên việc biên dịch lại rootfs đồng nghĩa với việc phải biên dịch lại rất nhiều gói phần mềm và thư viện khác nhau sẽ tốn rất nhiều thời gian Do đó
ta nên sử dụng các rootfs đã được biên dịch sẵn như ubuntu, debian, wheezy,… Việc này có ưu
Trang 17điểm là tiết kiệm thời gian biên dịch, mặt khác các rootfs này được nhà phát triển và cộng đồng hỗ trợ mạnh với kho ứng dụng thông dụng đã được biên dịch sẵn, khi cần chúng ta chỉ việc cài đặt mà không cần phải biên dịch lại từ đầu
Một Rootfile system thường bao gồm những thư mục sau:
/bin: Nơi đây lưu giữ những tập lệnh cơ bản của linux, những tập lệnh này có thể dược chạy bởi bất kỳ user nào trên hệ thống Các chương trình khác có thể được tìm thấy trong /usr/bin
/boot: Nơi chứa những thông tin bootmanager cần có (thông dụng hiện nay là grub) và một
số bản của kernel
/dev: Trong thư mục này chứa những tập tin của thiết bị kết nối với hệ thống
/etc: Trong thư mục này chứa các tập tin tuỳ biến của cả hệ thống, điều khiển các quá trình khởi động máy, quản lí users, quản lí mạng
/home: Trong thư mục này chứa đựng dữ liệu của từng người dùng
/lib: Nơi chứa đựng một vài thư viện dùng chung hoặc là đường dẫn tượng trưng (symbolic links) đến các thư mục dùng chung đó Những thư viện này sẽ được sử dụng đến cho việc chạy một số các chương trình nhất định Trong thư mục /lib/modules chứa đựng những kernel modules, chúng được bật và tắt nếu cần thiết
/opt: Thư mục này được tạo ra cho một số chương trình riêng của người sử dụng Thi thoảng có một số chương trình được cài đặt tại /usr/local
/proc: Những thư mục con trong thư mục này chứa đựng những tiến trình đang được chạy trên hệ thống, các tệp tin trong thư mục này không phải là các tệp tin thực sự Thư mục /proc chỉ tạo ra một hình ảnh về quản lý các tiến trình trong máy
/root: Thư mục Home của tài khoản root
/sbin: Nơi chứa những tập lệnh cho việc quản lý hệ thống Tất cả các tệp tin trong thư mục này chỉ có tài khoản root có quyền chạy
/tmp: Nơi chứa những tệp tin nháp (temporary files) Những tệp tin nháp này cũng thường được ghi, lưu vào /var/tmp
/usr: Đây là một trong những thư mục quan trọng và chứa nhiều thứ nhất của hệ thống Trong thư mục này chứa đựng tất cả các chương trình, hệ thống X-window, nguồn của linux và nhiều thứ khác Trong thư mục này thường chỉ chứa đựng những thông tin không thể thay đổi được, còn những biến khác sẽ được lưu ở /var Thường có nhiều người rất hay nhầm lẫn usr là viết tắt của user nhưng thực ra nó là viết tắt của unix system resources
/var: Cũng như là /usr, đây là nơi chứa rất nhiều các thư mục con với những tệp tin luôn thay đổi (đọc, ghi, xoá) Những thư mục trong này có cấu trúc và tên phần lớn giống như tên của các thư mục con trong /usr, chỉ khác so với những tệp tin và thư mục trong /usr là những tệp tin và thư mục ở đây luôn thay đổi
Trang 18TCP/IP) [5] Các thiết bị phần cứng muốn truyền nhận dữ liệu qua mạng cũng bắt buộc phải hỗ trợ
mô hình này Mô hình TCP/IP gồm có 4 lớp như sau:
- Tầng Ứng Dụng (Application Layer): là nơi các chương trình mạng như Web Browser, Mail User Agent làm việc Gồm các giao thức: HTTP, FTP, DNS,…
- Tầng Giao Vận (Transport Layer): làm nhiệm vụ phân nhỏ các gói tin có kích thước lớn khi gửi và tập hợp lại khi nhận, đảm bảo tính toàn vẹn cho dữ liệu (không lỗi,không mất, không lặp, đúng thứ tự), tầng này có có 2 giao thức chính đó là TCP và UDP
- Tầng Mạng (Network Layer): giải quyết vấn đề truyền dẫn các gói tin đi qua các mạng khác nhau để đến đúng đích mong muốn, giao thức chủ yếu là IP
- Tầng Liên Kết (Link Layer): giải quyết vấn đề truyền dẫn các gói tin giữa các thiết bị trong cùng một mạng trên một môi trường vật lý
Như vậy các thiết bị hỗ trợ chồng giao thức TCP/IP có thể thông qua nhiều giao thức khác nhau ở tầng ứng dụng hoặc sử dụng trực tiếp giao thức TCP hoặc UDP ở tầng giao vận để truyền dẫn dữ liệu trong mạng
Hình 2-1: Các giao thức trong mô hình TCP/IP
Trang 192.3 Giao thức RTP
2.3.1 Giới thiệu
Việc truyền tải âm thanh lời nói cũng như video có tính tương tác cao phục vụ cho các nhu cầu: truyền hình qua mạng, hội thảo trực tuyến, chat hình, chat tiếng, cũng ngày càng tăng cao, các ứng dụng này có đặc điểm là dữ liệu audio hay video khi truyền từ nơi phát tới nơi nhận có thể thể hiện được ngay trong quá trình truyền mà không cần phải đợi đến khi toàn bộ nội dung của
audio hay video được truyền xong (hay còn gọi là streaming) [6] Việc này đòi hỏi các nhà thiết kế
phải xây dựng các giao thức truyền dẫn mới, phù hợp với việc truyền dữ liệu thời gian thực Một trong những giao thức có thể thực hiện được công việc đó là giao thức RTP ở lớp ứng dụng trong chồng giao thức TCP/IP
Giao thức RTP sử dụng giao thức giao vận là UDP thay vì TCP bởi vì đối với dữ liệu thời gian thực, độ tin cậy không quan trọng bằng truyền đúng theo thời gian Hơn nữa sự tin cậy trong TCP là do cơ chế báo phát lại không thích hợp cho RTP Ví dụ khi mạng bị tắc nghẽn một số gói
dữ liệu sẽ bị mất, chất lượng dịch vụ thấp nhưng vẫn chấp nhận được Nếu thực hiện việc phát lại
sẽ gây ra độ trễ lớn chất lượng thấp gây ra sự tắc nghẽn của mạng
Hình 2-2: Các giao thức dùng trong RTP
Trang 202.3.2 Quá trình streaming audio và video
Bước 1: Mã hóa
Dự liệu thô từ các thiết bị thu nhận hình ảnh âm thanh thường có dung lượng lớn, khó khăn cho việc truyền tải, do đó bước đầu tiên của quá trình truyền, dữ liệu sẽ được mã hóa để giảm dung lượng Tùy theo yêu cầu về chất lượng, đáp ứng của phần cứng và băng thông mà ta sẽ chọn phương pháp mã hóa thích hợp
Các loại mã hóa phổ biến như: MJPG, H264, MP3, WMA, …
Bước 2: Lấy mẫu
Lấy mẫu thực chất là việc chia nhỏ nội dung video hay audio thành các khối nhỏ thích hợp để
có thể truyền đi trong môi trường mạng Đối với dữ liệu audio, việc lấy mẫu được thực hiện theo thời gian Tương ứng sau một khoảng thời gian bằng chu kì lấy mẫu, phần dữ liệu audio tương ứng trong khoảng thời gian đó sẽ đc truyền đi Với dữ liệu video, việc lấy mẫu sẽ được thực hiện theo thời gian và không gian, tương ứng với thời gian thể hiện của các khung hình và sẽ được thực hiện bằng cách chia nhỏ các khung hình thành các phần với kích thước thích hợp để truyền đi
Khi lấy mẫu, các mẫu phải chứa đầy đủ thông tin dùng cho việc khôi phục lại dữ liệu video hay audio về không gian và thời gian khi bên nhận nhận được Quá trình lấy mẫu sẽ được tiến hành
tự động bởi giao thức truyền RTP
Bước 3: Truyền các mẫu qua mạng:
Sau khi được nén và lấy mẫu, dữ liệu sẽ được truyền qua môi trường mạng thông qua các giao thức của lướp dưới của lớp ứng dụng Đối với giao thức RTP, giao thức lớp dưới thường được
sử dụng là giao thức UDP(User Datagram Protocol) là giao thức với độ tin cậy thấp nhưng có tốc
độ truyền dữ liệu cao hơn các giao thức có độ tin cậy cao như TCP
Ngoài ra đi cùng với RTP là giao thức RTCP (Realtime Transport Control Protocol) có chức năng giám sát chất lượng dịch vụ và thu thập các thông tin về những người tham gia vào phiên truyền RTP đang tiến hành
Bước 4: Nhận và khôi phục dữ liệu và đồng bộ các dòng:
Đây là quá trình được thực hiện ở bên nhận khi dữ liệu dưới dạng các gói tin được truyền đến Các gói tin được truyền đến có thể là của nhiều dòng từ nhiều nguồn dữ liệu khác nhau, thứ tự gói tin nhận không đúng Khi đó, bên nhận phải căn cứ vào các thông tin được ghi trong từng gói tin để có thể xác định vị trí về mặt không gian và thời gian của mẫu dữ liệu Việc đồng bộ là một công việc phức tạp, thường được thực hiện tự động bởi các giao thức truyền thông thời gian thực như RTP
Bước 5: Giải nén:
Ở bước này, dữ liệu sẽ được giải nén với các chuẩn nén được sử dụng khi nén, sau đó được phân loại video/audio để đưa ra các thiết bị phát thích hợp
Trang 21Hình 2-3: Minh họa quá trình Streaming
Trang 222.4 Tổng quan về gói thư viện Gstreamer
2.4.1 Giới thiệu
Gstreamer là một gói thư viện đa phương tiện mã nguồn mở, hỗ trợ việc truyền dẫn, xử lý dữ liệu Audio/Video, ngoài ra Gstreamer còn có thể dùng để lập trình nên ứng dụng hoàn chỉnh: nghe
nhạc, xử lý hình ảnh, chuyển đổi định dạng âm thanh, [7]
Hình ảnh sau mô tả tổng quát các tính năng của Gstreamer
Hình 2-4: Tổng quan về Gstreamer
Trang 23Sau đây là ví dụ về một pipeline dùng Gstreamer
Pipeline này gồm có 3 element, element đầu tiên có chức năng đọc file từ bộ nhớ rồi chuyển
dữ liệu cho element decoder để tiến hành giải mã dữ liệu, sau khi giải mã xong, dữ liệu tiếp tục được chuyển đến element ALSA để phát ra loa
2.4.2 Gstreamer Tool
Để tiết kiệm thời gian cho người lập trình, gstreamer đã cung cấp sẵn một công cụ gọi là launch, với công cụ này, người sử dụng có thể nhanh chóng tạo ra một pipeline với các element có sẵn giúp cho việc lập trình trở nên dễ dàng hơn
gst-Một số ví dụ sử dụng gst-launch:
- Audio playback
gst-launch filesrc location=music.mp3 ! mad ! alsasink
- Truyền audio qua mạng
gst-launch filesrc location=music.mp3 ! mulawenc ! rtppcmupay ! udpsink
host=<CLIENT_IP> port=5588
Hình 2-5: Pipeline trong Gstreamer
Trang 243 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG
3.1 Lựa chọn nền tảng
Trên thị trường hiện nay có rất nhiều loại vi điều khiển, vi xử lý có tính năng đa dạng, cấu hình phong phú, với sự tham gia của rất nhiều hãng sản xuất như: Intel, Freescale, STMicroelectronics, Texas Instrument, Atmel, Allwinner…
Với thiết bị màn hình chuông cửa video, phần cứng phải làm sao giải quyết được 2 vấn đề đó là streaming video/audio qua mạng và phải có đủ ngoại vi để kết nối với ethernet, audio, hiển thị video lên màn hình LCD Trong đề tài, tác giả lựa chọn dòng vi điều khiển i.MX6 của Freescale là một dòng vi điều khiển 32bit có cấu hình tốt, tốc độ cao, chất lượng ổn định, được nhiều người sử dụng và hỗ trợ, có thể chạy được hệ điều hành Embedded Linux, đáp ứng được những yêu cầu của thiết bị màn hình chuông cửa video
3.2 Vi điều khiển i.MX6
i.MX6 là một dòng vi xử lý đa lõi của Freescale dựa trên kiến trúc ARM Cortex A9 có tốc độ 1GHz Được trang bị một nhân xử lý hình ảnh 2D và 3D, một khối xử lý video độ phân giải full
HD nên có khả năng xử lý các ứng dụng đa phương tiện mạnh mẽ ngoài ra IMX6 còn được trang
bị các kết nối như : WLAN, Bluetooth, GPS, ổ cứng, màn hình và camera [8]
Bảng 3-1: Thông số cơ bản của MPU IMX6 Duallite [9]
Trang 2535Mtri/s 266Mpxl/s Open GL ES 2.0 GPU 2D(Vector Graphics)
Emulated on GPU 3D GPU 2D(Composition) Vivante GC320 600Mpxl/s, BLIT Video Decode
1080p30 + D1 Video Encode 1080p30 H.264 BP/ Dual 720p encode Camera Interface
Types: 1x 20-bit parallel, MIPI-CSI2 (2 lanes)
- Memory
DDR 2x32 LP-DDR2, 1x64 DDR3 / LV-DDR3 NAND
SLC/MLC, 40-bit ECC, ONFI2.2, DDR
- Connectivity
Four USB2.0 1xHS OTG + PHY 1xHost + PHY 2xHost USB HSIC Ethernet
1 Gbps + IEEE®1588 Expansion Ports
3x SD/MMC 4.4, 1x SDXC 4x SPI, 5x UART, 3x I²C MIPI-HSI
Trang 26Sơ đồ khối của dòng vi xử lý i.MX6 DualLite
Hình 3-2: Sơ đồ khối của dòng vi xử lý i.MX6 Duallite
Trang 273.3 Thiết kế phần cứng
Một hệ thống muốn chạy được Embedded Linux đòi hỏi CPU phải có tốc độ cao, giao tiếp với
bộ nhớ ngoài có dung lượng lớn, do đó muốn thiết kế được board mạch cho các loại CPU này đòi hỏi người layout phải nắm rõ các kĩ thuật thiết kế board mạch có tốc độ cao (impedance matching, length matching,…) và tùy thuộc vào khả năng chế tạo board mạch nhiều lớp của các công ty trong
và ngoài nước Những board mạch như vậy thường có chi phí sản xuất lớn, tốn nhiều thời gian và công sức thử nghiệm, nguy cơ lỗi cao, do đó cách tiếp cận của luận văn sẽ là xây dựng hệ thống Embedded Linux dựa trên một module có sẵn bao gồm các thành phần cơ bản (CPU, bộ nhớ,…) kết hợp với một baseboard chứa các ngoại vi cần thiết cho thiết bị màn hình chuông cửa video
3.3.1 Module EDM1-CF-IMX6
Đây là một System On Module (SOM) nhỏ gọn của hãng Technexion [10] sử dụng vi xử lý
iMX6 của Freescale, với cấu hình đa dạng từ 1 lõi đến 4 lõi, tích hợp sẵn những thành phần cần thiết như RAM từ 1 - 2 Gb và bộ nhớ eMMC 4Gb Với module này ta có thể phát triển ứng dụng một cách nhanh chóng, tiết kiệm đáng kể thời gian và chi phí thiết kế thử nghiệm
Hình 3-3: Lớp TOP của module EDM1-CD-i.MX6
Trang 28Các kết nối ngoại vi của SOM được cung cấp thông qua một connector 314 pin, bao gồm đầy
đủ các kết nối cần thiết để phát triển ứng dụng, do đó người sử dụng chỉ cần thiết kế một baseboard ngoại vi bao gồm những thành phần phù hợp
Chi tiết các kết nối của module EDM1-CF-IMX6 được miêu tả trong sơ đồ sau:
Bảng 3-2: Thông số cơ bản của module EDM1-CF-IMX6 DualLite [11]
Core System
CPU: Freescale i.MX6DualLite @ 1Ghz System memory: up to 2GB DDR3 Storage: eMMC / iNAND (default 4GB), optional NAND Flash (MOQ apply) Debug interface: JTAG interface by through hole FPC connector: MIPI Interface Camera, MIPI Interface Display
Trang 303.3.2 Thiết kế Baseboard
Yêu cầu về phần cứng của board ngoại vi
- Board phải kích thước vừa phải, phù hợp để treo gắn lên tường
- Có đầy đủ các ngoại vi cần thiết cho thiết bị màn hình chuông cửa video
- Board phải hoạt động tốt, ổn định
Sơ đồ khối tổng quát
Sơ đồ trên bao gồm các thiết bị nhập xuất sau:
- Ngõ vào : Micro, Màn Hình Cảm Ứng
- Ngõ ra : Loa, Màn Hình Hiển Thị
Truyền nhận dữ liệu với mạng thông qua kết nối ethernet
Hình 3-6: Sơ đồ khối phần cứng của Baseboard
Trang 31Các khối chính của baseboard gồm có:
- Khối nguồn Power Supply sử dụng IC LM2596 có ngõ ra cố định 5V và 3V3 cấp nguồn cho module SOM và các ngoại vi của baseboard
- Khối Console sử dụng IC MAX3232 để chuyển tín hiệu UART Debug có mức điện áp TLL thành RS232
- Khối LCD touch dùng để kết nối với màn hình LCD, sử dụng IC TSC2046 để giải mã tín hiệu cảm ứng từ tấm cảm ứng điện trở
- Khối Audio sử dụng IC SGLT5000 cung cấp 1 đường Mic và Headphone, tín hiệu âm thanh ngõ ra sẽ được chuyển qua bộ khuếch đại dùng IC LM4871 để phát ra loa
- Khối Ethernet, module SOM đã tích hợp sẵn IC PHY Gigabit, nên có đi dây từ module này ra một connector RJ45 để sử dụng
3.4 Tổng quan về các loại IC sử dụng trong mạch Baseboard
3.4.1 IC LM2596
Là IC nguồn xung hạ áp có các đặc tính như sau:
- Ngõ ra cố định 3v3, 5v, 12v hoặc điều chỉnh được từ 1.2v-37v
- Có khả năng cung cấp dòng ngõ ra đến 3A
- Điện áp ngõ vào lên đến 40v
- Chỉ cần mắc thêm 4 linh kiện ngoài
- Có hiệu suất cao
- Có bảo vệ quá dòng và tự shutdown
- Tần số làm việc 150KHz
- Kiểu chân TO-263 5pin
Sơ đồ mạch tham khảo đối với loại ngõ ra cố định theo datasheet [12]
Trang 323.4.2 IC SGLT5000
Là IC audio tiêu thụ điện năng thấp, hiệu suất cao, tích hợp sẵn bộ khuếch đại cho headphone, đƣợc thiết kế dành cho các ứng dụng di động nhƣ máy nghe nhạc bỏ túi, điện thoại thông minh
Trang 33Sơ đồ mạch tham khảo
3.4.3 IC LM4871
là IC khuếch đại âm thanh đơn kênh có các đặc điểm sau
- Không cần tụ nối tiếp ngõ ra
- Nguồn cấp từ 2v đến 5v5
- Tiêu thụ năng lƣợng thấp thích hợp cho các ứng dụng di động
- Khả năng cung cấp năng lƣợng cao lên đên 3w nếu nguồn cấp là 5v
- Cho âm thanh có độ trung thực cao
- Độ lợi có thể điều chỉnh đƣợc bằng công thức avd = 2x(rf/ri)
Sơ đồ ứng dụng của IC LM4871 [12]
Hình 3-9: Sơ đồ mạch tham khảo của IC SGLT5000
Trang 343.4.4 IC TSC2046
Là một IC điều khiển màn hình cảm ứng điện trở có các đặc sau:
- Sơ đồ chân tương tự như IC ADS7846
- Hoạt động với điện áp từ 1v5 – 5v25
Trang 353.5 Sơ đồ thiết kế phần cứng
3.5.1 Khối nguồn DC-DC
Sử dụng 2 IC nguồn xung LM2596 có ngõ ra cố định là 5v và 3v3 để cấp nguồn cho module SOM và các ngoại vi, sơ đồ đƣợc thiết kế theo thiết kế đề xuất của datasheet
Điện áp ngõ vào là 12v, điện áp ngõ ra là 5v và 3v3
3.5.2 Khối UART Console
Sử dụng IC Max3232 để chuyển tín hiệu có mức điện áp TTL sang mức điện áp là RS232
Hình 3-12: Sơ đồ thiết kế khối nguồn dùng IC LM2596
Hình 3-13: Sơ đồ thiết kế khối UART DEBUG
Trang 363.5.3 Khối LCD+Touch
- Connector LCD kết nối với các đường tín hiệu RGB 24bit của module SOM
- Khối touchscreen sử dụng IC TSC2046 để giải mã tín hiệu từ màn hình cảm ứng sau đó trả thông tin về tọa độ và lực nhấn cho CPU xử lý Dữ liệu được truyền nhận thông qua giao tiếp SPI_1 của i.MX6
Hình 3-14: Sơ đồ thiết kế khối LCD
Hình 3-15: Sơ đồ thiết kế khối Touchscreen
Trang 373.5.4 Khối Ethernet
Khối ethernet kết nối trực tiếp với các đường tín hiệu từ chip ethernet PHY của module
SOM Trong đề tài, tác giả sử dụng gigabit ethernet để đạt tốc độ cao, dữ liệu được giao tiếp qua 4
cặp tín hiệu GBE_MDI0+ / GBE_MDI0-, GBE_MDI1+ / GBE_MDI1-, GBE_MDI2+ /
GBE_MDI2-, GBE_MDI3+ / GBE_MDI3-
3.5.5 Khối Audio
Khối audio sử dụng IC DAC SGLT5000 của Freescale có các đặc tính:
- Đường điều khiển I2C kết nối với bộ I2C_2 của i.MX6
Hình 3-16: Sơ đồ thiết kế khối Ethernet
Hình 3-17: Sơ đồ thiết kế khối Audio