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

Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị

59 891 3

Đ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 59
Dung lượng 2,31 MB

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

Nội dung

Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị

Trang 1

VÀ ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

2014

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

TRIỂN KHAI HỆ THỐNG NHÚNG TRÊN FRIENDLY ARM VÀ ỨNG

DỤNG ĐIỀU KHIỂN THIẾT BỊ

NGÀNH: CÔNG NGHỆ THÔNG TINCHUYÊN NGÀNH: CÔNG NGHỆ MÁY TÍNH

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGƯỜI HƯỚNG DẪN ThS PHẠM NGỌC HƯNG

2014

Trang 3

MỤC LỤC

Trang 4

DANH SÁCH HÌNH VẼ

Trang 5

DANH SÁCH BẢNG BIỂU

Trang 6

DANH SÁCH TỪ VIẾT TẮT

PC Personal Computer Máy tính cá nhân, máy tính điện

tửARM Advanced RISC Machine Một loại cấu trúc vi xử lý 32-bit

kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng

GPIO General-purpose input/output Cổng giao tiếp vi xử lý với thế

giới bên ngoàiUDP User Datagram Protocol Giao thức của mạng máy tính

Trang 7

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1 Lý do chọn đề tài

Bắt đầu từ thế kỉ XX, nhân loại đã chứng kiến cuộc cách mạng khoa học kĩ thuật phát triền trên toàn thế giới Đặc trưng và nổi bật của cuộc cách mạng này là

kĩ thuật máy tính, công nghệ thông tin và ứng dụng của tự động hóa Trong đó, việc

sử dụng thành tựu của khoa học công nghệ thông tin vào thiết kế, chế tạo tự động hóa đóng một vai trò quan trọng trong mọi lĩnh vực của cuộc sống

Trong những năm gần đây, xu hướng của thế giới là phát triển mạnh công nghệ bán dẫn Một cấu trúc vi xử lý có thể tích hợp trên nó nhiều cổng logic có thể ứng dụng trong nhiều lĩnh vực Ngày nay, ngành công nghiệp chế tạo phần cứng luôn có những đột phá không ngừng Từ các mạch điện đơn giản đến các mạch số, mạch tích hợp,kiến trúc mạch ngày một trở nên phức tạp hơn

Các hệ thống nhúng được phát triển trên ARM đang được sử dụng rộng rãi cho các nghiên cứu, ứng dụng, và đào tạo hiện nay bởi đặc tính linh hoạt cho các thiết

kế thiết bị trên ARM Mặt khác,ARM được hỗ trợ rất nhiều các thiết bị ngoại vi tạo điều kiện thuận lợi cho việc phát triển hệ thống nhúng, phát triển các ứng dụng điều khiển trên ARM kết nối với các thiết bị ngoại vi

Để có được bước đầu làm quen và nghiên cứu về công nghệ ARM từ đó có thể

nghiên cứu sâu hơn về công nghệ nên Em đã chọn đề tài nghiên cứu: “ Triển khai

hệ thống nhúng trên FriendlyArm và điều khiển thiết bị qua máy tính” làm đề

tài tốt nghiệp Đại học của mình

1.2 Mục tiêu của đề tài

• Làm chủ hệ điều hành Linux trên KIT FriendlyArm Mini 2440

• Ứng dụng công nghệ trên KIT FriendlyArm Mini 2440 để điều khiển thông minh

Trang 8

• Lập trình giao tiếp giữa KIT FriendlyArm Mini 2440 và máy tính qua cổng Ethernet

• Lập trình ứng dụng nhúng điều khiển thiết bị trên Friendly Arm

• Ứng dụng bộ công cụ mã nguồn mở Qt Everywhere Linux

• Ghép nối hệ nhúng PC – FriendlyArm – Module Rơ-le điều khiển thiết bị

1.3 Giới hạn và phạm vi của đề tài

- Tìm hiểu về lập trình nhúng trên hệ điều hành mã nguồn mở Linux

- Tìm hiểu về lập trình giao tiếp KIT Friendly ARM Mini 2440 với PC

- Lập trình ứng dụng điều khiển trên KIT Friendly ARM Mini 2440

1.4 Nội dung thực hiện

- Build nhân hệ điều hành Linux trên KIT Friendly Arm Mini 2440

- Lập trình giao tiếp giữa KIT Friendly Arm Mini 2440 và PC qua Ethernet

- Xây dựng module dơ-le điều khiển thiết bị

- Lập trình ứng dụng nhúng điều khiển thiết bị trên Friendly Arm Mini 2440

- Ghép nối PC với KIT Friendly Arm Mini 2440 module Rơ-le điều khiển thiết bị

- Triển khai thử nghiệm và đánh giá kết quả

1.5 Phương pháp tiếp cận

- Cách tiếp cận : Nghiên cứu các kĩ thuật lập trình trên các nền tảng công nghệ khác nhau như : ARM, PC,

- Sử dụng các phương pháp nghiên cứu:

- Phương pháp đọc tài liệu

- Phương pháp phân tích mẫu

- Phương pháp thực nghiệm

Trang 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Chương này sẽ trình bày cơ sở lý thuyết của đề tài bao gồm tổng quan về Friendly Arm, giới thiệu phần mềm, công cụ sử dụng trong đề tài, các bước triển khai hệ thống, truyền thông qua máy tính

2.1 KIT Friendly Arm Mini 2440

Hình 2: KIT Friendly Arm Mini 2440

Mô tả về KIT Friendly Arm Mini 2440:

- Kích thước: 100 x 100mm

- CPU: 400 MHz Samsung S3C2440A ARM920T (max freq 533 MHz)

- RAM: 64 MB SDRAM, 32 bit Bus

- Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash and 2 MB NOR Flash with BIOS

- EEPROM: 1024 Byte (I2C)

- Bộ nhớ mở rộng: Hỗ trợ thẻ SD-Card

Trang 10

- Cổng giao tiếp USB: 01 cổng chuẩn A-USB, 01 cổng chuẩn B-USB

- Ngõ ra âm thanh: 01 ngõ với chuẩn Jack Stereo 3.5mm

- Ngõ vào âm thanh: 01

- Kết nối Ethernet: 01 cổng với chuẩn dây RJ-45 10/100m (DM9000)

- Hệ thời gian thực (RTC): hỗ trợ với nguồn pin đi kèm

- Còi: 01 còi làm việc với chế độ PWM

- Camera: cổng kết nối 20 chân (2.0mm)

- Màn hình LCD: 3.5 inches hỗ trợ cảm ứng

- Nút nhấn: 06 nút nhấn

- LED: 04 led

- Cổng với rộng: 01 cổng 40 chân, 01 cổng 34 chân, 01 cổng 10 chân (2.0mm)

- Nguồn điện cung cấp: 5V (Mini2440: 0.3 A, Mini2440 + 3.5" LCD: 0.6 A)

- Hệ điều hành hỗ trợ: Linux, WinCE, Android

2.1.1 Địa chỉ bộ nhớ

Bên phía tay trái là bộ nhớ NOR

Bên phía tay phải là bộ nhớ NAND

Trang 11

Hình 2: Địa chỉ bộ nhớ KIT Friendly Arm Mini 2440

Cần phải cấp nguồn điện cho KIT là 5V

Ở các chân mở rộng của KIT có cung cấp nguồn điện ra là 5V, 3.3V, 1.8V và 1.25V

Trang 12

• Nor Flash: 16bit dữ liệu + 20bit Bus địa chỉ

• Nand Flash: 8bit dữ liệu / Bus địa chỉ

Bảng 2: Chi tiết LED trên KIT Friendly Arm Mini 2440

LED GPIO Hàm khác Tên trên sơ đồ nguyên lý

Trang 13

2.1.8 ADC

Có 4 kênh ADC trên KIT và được mở rộng ở cổng CON4

AIN0 có biến trở vi chỉnh 10k kèm theo

Hình 2:ADC trên KIT

Còi này được nối tới GPB0

Trang 14

Hình 2:Còi PWM trên KIT

KIT sử dụng chip Davicom DM900 hỗ trợ kết nối Ethernet

Mỗi board đều có địa chỉ vật lý là như nhau Có thể chỉnh sửa lại bằng phần mềm BSP driver code trên Linux

Trang 15

Có 2 cổng hỗ trợ kết nối USB theo chuẩn A và chuẩn B.

Đầu ra với chân bổ sung ở USB_EN (GPC5)

Trang 16

Hình 2:LCD Interface

2.1.16Camera

KIT Friendly Arm Mini 2440 xây dựng giao tiếp Camera Cmos, kết nối tại CON20

Kết nối này dạng 20 chân (2.0mm)

2.1.17Ngõ vào ra âm thanh

Bộ xử lý âm thanh UDA1341 kết nối qua I2S Có một ngõ ra và hai ngõ vào

âm thanh

Ngõ ra Stereo theo chuẩn Jack cắm 3.5mm

Ngõ vào âm thanh dạng microphone và nối từ cổng CON10 – chế độ môn

Trang 17

2.2 Hệ điều hành mã nguồn mở Linux

Linux® đang ở thời điểm phát triển mạnh Tính đến năm 2013 thì Linux đã ra đời được 22 năm, một hệ điều hành hoàn thiện với sự hỗ trợ cho một loạt các mô hình sử dụng Nhưng thật khó khi nghĩ rằng Linux chỉ là một hệ điều hành—nó giống như một con tắc kè hoa thì đúng hơn Nhân mô đun và tính linh hoạt của nó

có thể xử lý trong nhiều mô hình sử dụng (từ siêu máy tính lớn nhất đến các thiết bị nhúng nhỏ nhất) đến mức thật khó phân loại nó vào bất cứ thứ gì khác hơn là một công nghệ khả dụng Trong thực tế, Linux là một nền tảng Nó là một công nghệ then chốt cho phép tạo ra các sản phẩm mới, mà một vài trong số các sản phẩm đó mới chỉ được giới thiệu gần đây

2.2.1 Linux là gì?

Nhìn bề ngoài, Linux là một hệ điều hành.Linux gồm có một nhân kernel (mã cốt lõi quản lý các tài nguyên phần cứng và phần mềm) và một bộ sưu tập các ứng dụng của người dùng (chẳng hạn như các thư viện, các trình quản lý cửa sổ và các ứng dụng)

Trang 18

Hình 210:Linux nhìn bề ngoài

Sơ đồ trên chỉ ra các thành phần quan trọng Tầng cuối cùng chính là một tập hợp mã kiến trúc giúp Linux có thể hỗ trợ đa nền tảng phần cứng (ARM, PowerPC, Tilera TILE v.v ) Tất nhiên, chức năng này được đăng ký theo giấy phép GNU, tạo nên tính di động của Linux

Linux theo phong cách riêng của mình trong lĩnh vực về tính di động Hệ thống con của trình điều khiển (là rất lớn về khả năng của nó) hỗ trợ động các mô đun được nạp mà không ảnh hưởng đến hiệu năng, tạo nên tính mô đun (thêm vào một nền tảng động hơn) Linux cũng bảo mật ở mức nhân kernel (trong một số lược đồ) tạo nên một nền tảng bảo mật Trong miền hệ thống tệp bên ngoài, Linux tạo nên một mảng lớn nhất về hỗ trợ hệ thống tệp của bất kỳ hệ điều hành nào, như là một

ví dụ, tạo nên tính linh hoạt thông qua tính mô đun thiết kế Linux thực hiện không chỉ các tính năng lên lịch trình tiêu chuẩn mà còn lên lịch trình thời gian thực bao gồm các bảo đảm về độ trễ ngắt)

Cuối cùng, Linux là mở, có nghĩa là trên thực tế bất cứ ai cũng có thể xem và cải thiện dựa vào nguồn gốc của nó Tính mở này cũng giảm thiểu các cơ hội bị lợi

Trang 19

dụng, tạo ra một nền tảng an toàn hơn Nhiều công ty đóng góp cho Linux, bảo đảm rằng nó sẽ tiếp tục giải quyết một loạt các mô hình sử dụng trong khi vẫn duy trì các đặc tính cốt lõi của mình.

Bảy nguyên tắc quan trọng này chắc chắn không phải là các thuộc tính duy nhất mà Linux cung cấp, nhưng chúng cho phép Linux dùng như một nền tảng đa năng trên rất nhiều các mô hình sử dụng Hơn nữa, Linux là như nhau trên các mô hình sử dụng này - không chỉ các nguyên tắc thiết kế mà còn bản thân mã của nó nữa Người ta không thể nói điều này về các hệ điều hành khác (như Windows®—máy tính để bàn, máy chủ, hoặc thiết bị nhúng—hoặc Mac OS X hoặc Apple iOS), chúng có phân khúc dịch vụ và mô hình sử dụng khác

2.2.2 Linux ở đâu?

Với khả năng biến đổi nhanh và mở rộng quy mô của mình, có thể tìm thấy Linux trong tất cả các phân khúc máy tính (và thậm chí một số phân khúc vẫn chưa được định nghĩa đầy đủ) Phần này xem xét một số các phân khúc điện toán quan trọng, bao gồm máy tính để bàn/netbook, máy chủ, cluster, máy tính lớn Mainframe, siêu máy tính, thiết bị cầm tay/máy tính bảng, thiết bị nhúng, ảo hóa và các máy thử nghiệm

2.2.3 Những đặc điểm nổi bật của Linux

- Độ ổn định cao

- Miễn phí

- Minh bạch và tùy biến

- Phù hợp với mọi cấu hình máy

- Nhỏ gọn với chức năng chuyên biệt

2.2.4 Hệ điều hành nhúng với Linux

a) Các thành phần cơ bản:

BootLoader:đóng vai trò như là BIOS trong máy tính của bạn.Vì

phần cứng và tài nguyên hạn hẹp nên nó không có nguyênBIOS như PC

mà được cài sẵn trong BIOS, NAND hoặc NOR Flash Nó là chương

Trang 20

trình sẽ chạy đầu tiên khi khởi động (reset).Nó có nhiệm vụ Load ảnh của nhân linux (kernel Linux Image) vào bộ nhớ và "pass" các thông số khởi tạo từ bootloader tới nhân Linux trên.

NOR flash: giống như bộ nhớ BIOS của PC.

NAND flash: giống như ổ cứng PC Hệ điều hành và ứng dụng được

cài lên đây.Cũng có trường hợp OS chạy từ SD card thì cũng giống như WINDOW lite hay LINUX lite chạy trực tiếp từ CD ROM mà không cần cài vào máy

Kernel Linux Image: nhân Linux của hệ thống nhúng Nó giống như

trái tim, điiều phối toàn bộ hoạt động của hệ thống

Root File System: giống như thư mục chứa dữ liệu của hệ thống

Window và chưa ProgramFile các chương trình, ứng dụng của hệ thống

b) Quá trình khởi tạo Kernel Linux (nhân Linux) và Root File System

Quá trình khởi động trải qua 2 bước:

- Uboot :

Được boot lần đầu tiên khi hệ thống khởi động:

+ Nạp nhân vào bộ nhớ

+ Lấy dữ liệu Root File System từ thẻ nhớ hoặc Nand Flash

+ Khởi tạo các thông số biến môi trường,bootag, boot cmd,Root File System ở Partition nào, vv Các thông số này được đưa tới nhân khi nhân được khởi động.Đồng thời nó cũng khởi tạo các ngoại vi chuẩn bị cho Kernel Boot như mmc,Ethernet,USB (optional)

- Kernel Boot:

Hạt nhân Linux sau đó chạy "/ sbin / init", để mà xử lý phần còn lại của trình

tự khởi động (chẳng hạn như hiển thị màn hình splash Screen và thanh tiến trình).Trình tự này là như nhau cho dù các thiết bị được khởi động từ Flash hay từ

Trang 21

thẻ SD Sự khác biệt là hạt nhân linux được load như thế nào, và những thiết bị nào được mount chứa Root File System.

c) Những biên môi trường quan trọng

- Autoload:nếu đặt là "no" (hoặc bất kỳ chuỗi bắt đầu bằng 'n'), các lệnh

rarpb, bootp or dhcp sẽ chỉ thực hiện cấu hình tra cứu từ BOOTP / DHCP server, nhưng không cố gắng tải các image bằng cách sử dụng TFTP

- Autostart:nếu đặt là "yes", một image được load bằng cách sử dụng rarpb,

BOOTP, DHCP,tftp,disk, hoặc lệnh docb sẽ được tự động bắt đầu (bằng cách gọi nội bộ lệnh bootm)

- Baudrate: là 1 số thập phân xác định tốc độ baud của truyền thông nối tiếp

giữa uboot và dao diện command line bằng terminal của Window hay picocom trong Linux hoặc chương trình truyền nhận COM khác.Mặc định

là baudrate 115200

- Bootargs: Nội dung của biến này được truyền cho Linux Kernel như các đối

số khởi động (hay còn gọi là "Command line") Đó là 1 chuỗi những cmd uboot "bắt" Kernel cần phải làm khi khởi động

- Bootdelay: Sau khi thiết lập bao nhiêu thì uboot sẽ chờ đợi bấy nhiêu giây

trước khi nó thực hiện các nội dung của biến bootcmd Trong thời gian đếm ngược được xuất ra dao diện terminal,uboot có thể bị gián đoạn bằng cách nhấn phím bất kỳ.Khi này ta không thực hiện boot 1 cách tự động (auto) nữa

mà khởi động bằng cmd line từ các command của uboot #MINI2440 Thiết lập Bootdelay=-1 autoboot vô hiệu hóa.Bootdelay=0 là không cần delay khi boot

- Bootfile: tên của file IMAGE mặc định để tải bằng TFTP.

- Ethaddr: địa chỉ MAC Ethernet cho đầu tiên / giao diện ethernet chỉ (= eth0

trong Linux).Biến này có thể được đặt một lần (thường là do nhà sản xuất đặt ) U-Boot từ chối để xóa hay ghi đè lên biến này một lẩn khi nó đã được thiết

Trang 22

- Eth1addr: địa chỉ MAC cho giao diện Ethernet thứ hai (= eth1 trong Linux).

- Eth2addr: địa chỉ MAC cho giao diện Ethernet thứ ba (= eth2 trong Linux).

- Initrd_high: được sử dụng để hạn chế vị trí của initrd ramdisk images Nếu

biến này không được thiết lập, images initrd sẽ được sao chép vào các địa chỉ cao nhất có thể trong bộ nhớ RAM, điều này bạn thường mong muốn vì nó cho phép kích thước initrd tối đa Nếu vì một số lý do bạn muốn chắc chắn rằng images initrd được nạp dưới giới hạn CFG_BOOTMAPSZ, bạn có thể thiết lập biến môi trường với giá trị "no" hoặc "off" hoặc "0" Ngoài ra cũng

có thể đặt nó vào một địa chỉ trên cùng để sử dụng (U-Boot vẫn sẽ kiểm tra xem nó không ghi đè lên U-Boot stack và dữ liệu)

- Ipaddr: địa chỉ IP cần thiết cho lệnh tftp.

- Loadaddr: địa chỉ load mặc định cho lệnh như tftp hoặc loads.

- Loads_echo: Nếu đặt là 1, tất cả các ký tự nhận được trong một Series

download (dùng lệnh loads) được lặp lại(echo lại)

- Pram:Nếu tính năng "bảo vệ RAM" được kích hoạt trong cấu hình Board

MINI2440, biến này có thể được định nghĩa để cho phép lưu trữ vào "RAM bảo vệ".Ví dụ vùng RAM mà không bị ghi đè bởi U-Boot Định nghĩa biến này để giữ số lượng kB bạn muốn dự trữ cho PRAM Lưu ý rằng thông tin cấu trúc của Board ban vẫn sẽ hiển thị tổng số dung lượng của RAM Nếu PRAM được reserved(dành riêng), một biến MT mới "mem" sẽ tự động được xác định để giữ số lượng RAM còn lại ở dạng để mà có thể truyền được như các thông số khởi động tới Linux

- Oserverip: TFTP server địa chỉ IP cần thiết cho lệnh tftp.

- Serial #: chứa thông tin nhận dạng phần cứng như kiểu: "string" , "/" hoặc

"serial number" Biến này có thể được đặt một lần (thường là do nhà sản xuất) U-Boot từ chối để xóa hay ghi đè lên biến này một Hass được thiết lập

Trang 23

- Verify:Nếu thiết lập là "n" hoặc "no" vô hiệu hóa các checksum kiểm tra.

- Dnsip: địa chỉ IP của máy chủ tên miền của bạn.

- Gatewayip: địa chỉ IP của Gateway (Router) để sử dụng.

- Hostname: Target hostname.

- Netmask: Subnet Mask

- Rootpath:đường dẫn của root filesystem trên máy chủ NFS

- Filesize: kích thước tính theo byte( ở dạng số HEX) của file Download lần

cuối sử dụng bootp, dhcp, hay tftp command

2.3 Qt Creator

2.3.1 Giới thệu

Qt Creator là một IDE rất được các lập trình viên ngày nay ưa chuộng sử dụng được trên Linux và Windows Hiện nay cộng động Qt ngày càng lớn mạnh và gia tăng rất nhanh Qt hỗ trợ rất mạnh trong lập trình giao diện, tương tác với Database, Graphics… Đặc biệt Qt còn hỗ trợ lập trình thiết bị di động với nhiều nền tảng như Android, WinCE, Linux, Mac …

2.3.2 Thiết kế dự án bằng Qt Creator chạy trên KIT Friendly Arm mini2440

Giao diện Start Page (như hình dưới) cho phép:

Trang 24

Hình 2-11: Giao diện Startpage của Qt Creator

- Mở Project mẫu (Choose an example)

- Xem tài liệu hướng dẫn lập trình (Tutorials)

- Mở project đã có (Open Project)

- Tạo Project mới (Create Project)

Bước 1.Chọn Create Project để tạo một dự án mới:

Hình 2-11: Giao diện Creat Project của Qt Creator

Trang 25

Bước 2 Tại Form chính thiết kế một giao diện cơ bản như sau:

Hình 2-12: Giao diện DesignUI của QtCreator

- Kéo một TextEdit và 2 Pushbutton, một nút tên là Display, một nút tên là Clear

- Chuột phải vào nút display, chọn Go to slot ->>chọn Clicked() -> OK

- Thêm dòng lệnh sau cho sự kiện click của pushbutton display:

ui->textEdit->setText(QString("Hello World!"));

- Chuột phải vào nút Clear, chọn Go to slot … ->> chọn Clicked() … ->> OK

- Thêm dòng lệnh sau cho sự kiện click của pushbutton Clear:

ui->textEdit->setText(QString(" "));

Bước 3 Build Project

Chú ý trong cửa sổ Build Settings, chọn cấu hình biên dịch qmake cho nền tảng Qt FriendlyArm (phiên bản tương ứng với Qt Everywhere đã cài đặt)

- Chọn Build/Build All Ứng dụng được build thành công, kết quả được file thực thi (trong thư mục Project) sẽ chuyển lên KIT để chạy Ví dụ này là file HelloQt)

Bước 4.Nạp file thực thi lên KIT

Trang 26

- Chuyển file thực thi vừa Build được xuống KIT, ví dụ file đặt tại

1.1 Truyền thông qua máy tính bằng UDP(cổng Ethernet)

Việc liên kết giữa máy tính và Friendly Arm rất quan trọng để đảm bảo sự ổn định cũng như tốc độ, truyền và xử lý ta sử dụng cổng Ethernet để truyền dữ liệu, cụ thể ta sử dụng giao thức UDP cho đơn giản và dễ sử dụng

UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của giao

thức TCP/IP Dùng UDP, chương trình trên mạng máy tính có thể gửi những dữ liệu ngắn được gọi là datagram tới máy khác UDP không cung cấp sự tin cậy và thứ tự truyền nhận mà TCP làm; các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất

mà không có thông báo Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.UDP dùng cổng để cho phép các giao tiếp giữa các ứng dụng diễn ra

- Cổng (port) :dùng 16 bit để đánh địa chỉ, vì vậy số của cổng nằm trong

khoản 0 đến 65.535 Cổng 0 được để dành và không nên sử dụng Cổng từ 1 đến 1023 được gọi là cổng "well-known" và trên các hệ điều hành tựa Unix, việc gắn kết tới một trong những cổng này đòi hỏi quyền root Cổng 1024 đến 49.151 là cổng đã đăng ký ,Cổng từ 49.152 đến 65.535 là các cổng tạm, được dùng chủ yếu bởi client khi liên lạc với server

Trang 27

- Cấu trúc gói:UDP là giao thức hướng thông điệp nhỏ nhất của tầng giao vận

hiện được mô tả trong RFC 768 của IETF.Trong bộ giao thức TCP/IP, UDP cung cấp một giao diện rất đơn giản giữa tầng mạng bên dưới (thí dụ, IPv4)

và tầng phiên làm việc hoặc tầng ứng dụng phía trên.UDP không đảm bảo cho các tầng phía trên thông điệp đã được gửi đi và người gửi cũng không có trạng thái thông điệp UDP một khi đã được gửi (Vì lý do này đôi khi UDP còn được gọi là Unreliable Datagram Protocol).UDP chỉ thêm các thông tin multiplexing và giao dịch Các loại thông tin tin cậy cho việc truyền dữ liệu nếu cần phải được xây dựng ở các tầng cao hơn

Hình 213:Cấu trúc gói dữ liệu UDP

1.2 PC817

2.5.1 Định nghĩa

- PC 817 cũng là dạng opto nó hoạt động tượng tự như các opto khác

- Khi cung cấp 5V vao chân số 1, LED phía trong Opto nối giữa chân số 1 và 2 sáng, xảy ra hiệu ứng quang điện dẫn đến 3-4 thông,mức logic sẽ bị chuyển từ 1 sang 0 mà không cần tác động trực tiếp từ IC

Trang 28

2.4 Rơ-le (relay)

2.4.1 Định nghĩ rơ le (relay)

Rơ le (relay) là một công tắc chuyển đổi hoạt động bằng điện Nói là một công tắc vì rơ le có 2 trạng thái ON và OFF Rơ le ở trạng thái ON hay OFF phụ thuộc vào có dòng điện chạy qua rơ le hay không

2.4.2 Nguyên tắc hoạt động

Khi có dòng điện chạy qua rơ le, dòng điện này sẽ chạy qua cuộn dây bên trong và tạo ra một từ trường hút Từ trường hút này tác động lên một đòn bẩy bên trong làm đóng hoặc mở các tiếp điểm điện và như thế sẽ làm thay đổi trạng thái của rơ le Số tiếp điểm điện bị thay đổi có thể là 1 hoặc nhiều, tùy vào thiết kế

Rơ le có 2 mạch độc lập nhau họạt động Một mạch là để điều khiển cuộn dây của rơ le: Cho dòng chạy qua cuộn dây hay không, hay có nghĩa là điều khiển rơ le

ở trạng thái ON hay OFF Một mạch điều khiển dòng điện ta cần kiểm soát có qua được rơ le hay không dựa vào trạng thái ON hay OFF của rơ le

Dòng chạy qua cuộn dây để điều khiển rơ le ON hay OFF thường vào khoảng 30mA với điện áp 12V hoặc có thể lên tới 100mA Và bạn thấy đó, hầu hết các con chip đều không thể cung cấp dòng này, lúc này ta cần có một BJT để khuếch đại dòng nhỏ ở ngõ ra IC thành dòng lớn hơn phục vụ cho rơ le

Chú ý:Tuy vậy, IC 555 có dòng điện ngõ ra có thể lên tới 200mA, vì thế với

IC 555 thì không cần một BJT để khuếch đại dòng

Cách hoạt động của rơ le với cuộn dây và các tiếp điểm điện : khi có dòng điện chạy qua cuộn dây, cuộn dây hút một đòn bẩy và làm mở các tiếp điểm điện, vì thế dòng điện cần kiểm soát không thẩy đi qua rơ le Và ngược lại Bạn cũng thấy

đó, dòng điện chạy qua cuộn dây không hề có liên quan gì đến dòng điện cần kiểm soát

Trên rơ le có 3 kí hiệu là: NO, NC và COM

Trang 29

+ COM (common): là chân chung, nó luôn được kết nối với 1 trong 2 chân

còn lại Còn việc nó kết nối chung với chân nào thì phụ thuộc vào trạng thái hoạt động của rơ le

+ NC (Normally Closed): Nghĩa là bình thường nó đóng Nghĩa là khi rơ le ở

trạng thái OFF, chân COM sẽ nối với chân này

+ NO (Normally Open): Khi rơ le ở trạng thái ON (có dòng chạy qua cuộn

dây) thì chân COM sẽ được nối với chân này

=> Kết nối COM và NC khi bạn muốn có dòng điện cần điều khiển khi rơ le ở trạng thái OFF Và khi rơ le ON thì dòng này bị ngắt

=> Ngược lại thì nối COM và NO

Ngày đăng: 03/11/2015, 13:16

HÌNH ẢNH LIÊN QUAN

Hình 2: KIT Friendly Arm Mini 2440 - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 KIT Friendly Arm Mini 2440 (Trang 9)
Hình 2: Địa chỉ bộ nhớ KIT Friendly Arm Mini 2440 - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 Địa chỉ bộ nhớ KIT Friendly Arm Mini 2440 (Trang 11)
Hình 2:UART - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 UART (Trang 15)
Hình 2:LCD Interface - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 LCD Interface (Trang 16)
Hình 210:Linux nhìn bề ngoài - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 210 Linux nhìn bề ngoài (Trang 18)
Hình 2-11: Giao diện Startpage của Qt Creator - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 11: Giao diện Startpage của Qt Creator (Trang 24)
Hình 2-11: Giao diện Creat Project của Qt Creator - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 11: Giao diện Creat Project của Qt Creator (Trang 24)
Hình 2-12: Giao diện DesignUI của QtCreator - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 2 12: Giao diện DesignUI của QtCreator (Trang 25)
Hình 3:Cấu hình minicom - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 3 Cấu hình minicom (Trang 32)
Hình 3-6: Lưu đồ thuật toán chương trình điều khiển trên PC - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 3 6: Lưu đồ thuật toán chương trình điều khiển trên PC (Trang 40)
Hình 3-8: Lưu đồ thuật toán chương trình điều khiển trên Kit Friendly Arm - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 3 8: Lưu đồ thuật toán chương trình điều khiển trên Kit Friendly Arm (Trang 43)
Hình 3-10: Lưu đồ thuật toán giao thức UDP - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 3 10: Lưu đồ thuật toán giao thức UDP (Trang 44)
Hình 3-12: Sơ đồ nguyên lý Module Relay 4 kênh - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 3 12: Sơ đồ nguyên lý Module Relay 4 kênh (Trang 45)
Hình ảnh Module Relay 4 kênh 5V-220V/10A - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
nh ảnh Module Relay 4 kênh 5V-220V/10A (Trang 46)
Hình 3-11: Sơ đồ chân tín hiệu điều khiển gio của Kit Friendly Arm - Triển khai hệ thống nhúng trên friendly arm và ứng dụng điều khiển thiết bị
Hình 3 11: Sơ đồ chân tín hiệu điều khiển gio của Kit Friendly Arm (Trang 47)

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

🧩 Sản phẩm bạn có thể quan tâm

w