1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)

75 290 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 4,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TRƯỜ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 3

LỜ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 4

TÓ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 5

MỤ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 6

4.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 7

DANH 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 8

Hì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 9

DANH 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 10

DANH 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 11

1 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 12

1.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 13

1.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 14

2 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 16

Bướ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 18

TCP/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 19

2.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 20

2.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 21

Hình 2-3: Minh họa quá trình Streaming

Trang 22

2.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 23

Sau đâ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 24

3 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 25

35Mtri/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 26

Sơ đồ 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 27

3.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 28

Cá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 30

3.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 31

Cá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 32

3.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 33

Sơ đồ 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 34

3.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 35

3.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 36

3.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 37

3.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

Ngày đăng: 22/05/2015, 21:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] V. V. Thắng, "Chuông Cửa Video," Đại Học Bách Khoa Luận Văn Tốt Nghiệp, 2013 Sách, tạp chí
Tiêu đề: Chuông Cửa Video
[2] Youtube. (2014) Youtube. [Online]. https://www.youtube.com/watch?v=2HTrIPt1o_Q [3] V. T. Danh, "Chuông Cửa Video," Đại Học Bách Khoa Luận Văn Tốt Nghiệp, 2014 Sách, tạp chí
Tiêu đề: Chuông Cửa Video
[4] L. Torvads. (2014) Linux Kernel. [Online]. https://www.kernel.org/ Sách, tạp chí
Tiêu đề: Linux Kernel
Tác giả: L. Torvads
Năm: 2014
[5] Wikipedia. (2014, May) Wikipedio. [Online]. http://vi.wikipedia.org/?title=TCP/IP Sách, tạp chí
Tiêu đề: Wikipedio
Tác giả: Wikipedia
Năm: 2014
[6] P. T. Liễu, "Sử Dụng Các Lớp Rtp Api Xây Dựng Chương Trình Truyền Video," Báo Cáo Tốt Nghiệp, 2010 Sách, tạp chí
Tiêu đề: Sử Dụng Các Lớp Rtp Api Xây Dựng Chương Trình Truyền Video
Tác giả: P. T. Liễu
Nhà XB: Báo Cáo Tốt Nghiệp
Năm: 2010
[7] freedesktop. (2014) freedesktop. [Online]. http://gstreamer.freedesktop.org/ Sách, tạp chí
Tiêu đề: freedesktop
Tác giả: freedesktop
Năm: 2014
[9] Freescale, "i.MX 6Solo/6DualLite Applications Reference," 2013 Sách, tạp chí
Tiêu đề: i.MX 6Solo/6DualLite Applications Reference
[10] Technexion. (2013) Technexion. [Online]. http://www.technexion.com/index.php/products/edm/edm-som/edm1-cf-imx6 [11] Wandboard. (2014) Wandboard. [Online]. http://www.wandboard.org Sách, tạp chí
Tiêu đề: Technexion
Tác giả: Technexion
Năm: 2013
[13] Denx. (2014) Denx. [Online]. http://www.denx.de/wiki/U-Boot [14] QT. (2014) QT. [Online]. http://qt.io Sách, tạp chí
Tiêu đề: Denx
Tác giả: Denx
Năm: 2014
[19] L. M. Cường. Lê Minh Cường. [Online]. http://www.lecuong.info/2008/10/cau-truc-cay-thu-muc-trong-linux.html Sách, tạp chí
Tiêu đề: Cấu trúc cây thư mục trong Linux
Tác giả: L. M. Cường, Lê Minh Cường
[20] Free-electrons. (2014) Free-electrons. [Online]. http://free-electrons.com/ Sách, tạp chí
Tiêu đề: Free-electrons
Tác giả: Free-electrons
Năm: 2014
[8] Freescale. (2014) Freescale. [Online]. http://www.freescale.com/ Link
[12] T. Instrument. (2014) Texas Instrument. [Online]. http://www.ti.com/ Link
[21] C. M. Cường. (2008, Dec.) hlab. [Online]. http://hlab.com.vn/ Link

HÌNH ẢNH LIÊN QUAN

Hình 2-2: Các giao thức dùng trong RTP - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 2 2: Các giao thức dùng trong RTP (Trang 19)
Sơ đồ khối tổng quát - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Sơ đồ kh ối tổng quát (Trang 30)
Sơ đồ mạch tham khảo - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Sơ đồ m ạch tham khảo (Trang 33)
Hình 3-11: Sơ đồ mạch tham khảo IC TSC2046 - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 3 11: Sơ đồ mạch tham khảo IC TSC2046 (Trang 34)
Hình 3-17: Sơ đồ thiết kế khối Audio - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 3 17: Sơ đồ thiết kế khối Audio (Trang 37)
Hình 4-13: Kết nối ngoại vi với Baseboard - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 4 13: Kết nối ngoại vi với Baseboard (Trang 47)
Hình 4-14: Hình ảnh quá trình thực thi U-Boot - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 4 14: Hình ảnh quá trình thực thi U-Boot (Trang 48)
Hình 5-1: Giao diện QT Creator - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 5 1: Giao diện QT Creator (Trang 50)
Hình 5-6: Mô hình Server-Client - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 5 6: Mô hình Server-Client (Trang 55)
Hình 5-7: Sơ đồ giải thuật thực hiện phần mềm - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 5 7: Sơ đồ giải thuật thực hiện phần mềm (Trang 56)
Hình 5-8: Sơ đồ nhận Video Stream - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 5 8: Sơ đồ nhận Video Stream (Trang 58)
Hình 6-10: Giao diện phần mềm trên phần cứng - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 6 10: Giao diện phần mềm trên phần cứng (Trang 66)
Hình 6-12: Giao diện phân mềm khi người dùng nói chuyện - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 6 12: Giao diện phân mềm khi người dùng nói chuyện (Trang 67)
Hình 6-11: Giao diện phần mềm khi có người nhấn chuông - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 6 11: Giao diện phần mềm khi có người nhấn chuông (Trang 67)
Hình 9-4: Layout board i.MX6 lớp Inner 2 - MÀN HÌNH CHUÔNG CỬA VIDEO (code C++ và layout board phần cứng)
Hình 9 4: Layout board i.MX6 lớp Inner 2 (Trang 75)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w