Tải bản đầy đủ

TÌM HIỂU KIẾN TRÚC PHẦN CỨNG ARM và ARDUINO

TÌM HIỂU KIẾN TRÚC PHẦN CỨNG
ARM VÀ ARDUINO


Nội dung
1

KiẾN TRÚC VI XỬ LÝ ARM

2

CẤU TRÚC BỘ MẠCH ALLWINNER H3

3

DEMO ỨNG DỤNG BẬT/TẮT ĐÈN LED

4
5

GiỚI THIỆU CÔNG NGHỆ NODEJS


DEMO ỨNG DỤNG CAMERA

6

KiẾN TRÚC VI XỬ LÝ ADRUINO

7

DEMO ỨNG DỤNG TRÊN ADRUINO


I – Giới thiệu vi xử lý ARM
●Ngày nay hệ bất cứ ai cũng có thể nghe điều gì đó về hệ
điều hành Android của Google.
●Hệ điều hành này được xem như một cuộc đua về công
nghệ giữa các nhà sản xuất máy tính trên thế giới.
●Điều gì điều khiển bên trong làm hệ điều hành này chạy
trơn chu, nhưng rất nhanh mà không cần tính đến giá cả?
●Cái gì đã điều khiển bên trong Android. Câu trả lời chính là
các vi xử lý ARM.


I – Giới thiệu vi xử lý ARM
●RISC - Reduced Intruction Set Computer – máy tính có tập
lệnh đơn giản.
●ARM – Advanced RISC Machines – tạm dịch là dòng máy
RISC tốc độ cao.
●Sự đơn giản tương đối của các vi xử lý ARM thích nghi với
các ứng dụng có năng lượng thấp như Mobile, các thiết bị
nhúng, các ứng dụng vi điều khiển, các bộ vi xử lý nhỏ…


III – CÁC LOẠI VI XỬ LÝ ARM
●Dòng ARM Cortex
●ARM CORTEX-A: Ứng dụng trên các thiết bị di động, mạng
máy tính và máy chủ: Smart phone, TV kỹ thuật số, Home Gate
way, server và networking....
●ARM CORTEX- R: Ứng dụng trên các thiết bị nhúng thời gian
thực như: Hệ thống phanh ôtô, Network, máy in, modem, thiết


bị truyền thông..
●ARM CORTEX – M: Ứng dụng trên các vi điều khiển: Cảm
biến thông minh, Thiết bị điện tử ôtô, các thiết bị tín hiệu hỗn
hợp...


III – CÁC LOẠI VI XỬ LÝ ARM
●Dòng bảo mật:


III – CÁC LOẠI VI XỬ LÝ ARM
●Dòng xử lý đồ họa:GPU Mali
●Trên smartphone, GPU( chíp xử lý đồ họa) và CPU được tích
hợp chung trên một hệ thống gọi là SoC.
●GPU được dùng để xử lý các game và ứng dụng 2D, 3D. CPU
không được thiết kế để xử lý những tác vụ đó nên trong tất cả
các hệ điều hành, GPU gánh trách nhiệm này. CPU cũng hỗ trợ
trong việc tính toán (nhất là với các game 3D), phóng to thu nhỏ
hình ảnh và xử lý đồ họa 2D, nhưng người thực thi chính là chip
đồ họa. hệ thống gọi là SoC.


III – CÁC LOẠI VI XỬ LÝ ARM
●Dòng xử lý đồ họa:GPU Mali
●Mali 300: Là bản nâng cấp nhỏ của Mali 200 dành
cho các sản phẩm giá rẻ với các tác vụ cơ bản,
game mini, tiết kiệm điện năng. Do đó, chúng ta
rất ít gặp sản GPU này, chúng chỉ có trên một số
thiết bị giá rẻ như Samsung Galaxy Star Duos.
●Mali 400 Series bao gồm Mali 400, Mali 400MP,
Mali 400MP2, Mali 400MP4. Sau kí tự MPX sẽ là số
nhân trên một lõi của GPU này. Đây có lẽ là Series
chúng ta gặp nhiều nhất trong các thiết bị di động
ngày nay như Samsung Galaxy S2 (I9100)


III – CÁC LOẠI VI XỬ LÝ ARM
●Dòng xử lý đồ họa:GPU Mali
●Mali 400MP2 dành cho các sản phẩm smartphone
cơ bản nhưng vẫn đảm bảm được sự mượt mà
trong quá trình sử dụng
●Mali 400MP4 dành cho các nhu cầu cao cấp như
Samsung Galaxy Note II GT-N7100Mali 400MP4
dành cho các nhu cầu cao cấp như Samsung
Galaxy Note II GT-N7100, Samsung Galaxy S5 Mini
Mali 400MP4 dành cho các nhu cầu cao cấp như
Samsung Galaxy Note II GT-N7100, Samsung
Galaxy S5 Mini, Samsung Galaxy Tab 3 8.0 SMT310,…
●Mali 450 Series bao gôm Mali 450MP, Mali 450
MP4, Mali 450 MP8 là bản nâng cấp của Mali 400
Series với hiệu năng tốt. Mali 450 được sử dụng khá


II – LỊCH SỬ ARM
●ARM được phát triển bởi công ty máy tính Acorn của nước
Anh, được giới thiệu chính thức vào năm 1983
●Năm 1985 lõi ARM đầu tiên được sản xuất đặt tên là ARM1
●Năm 1987 lõi ARM thế hệ thứ 2 được giới thiệu là ARM2
●Năm 1992: Công ty Acorn đã nhận giải thưởng Queen’s
Award về công nghệ sản xuất ARM và trở thành công ty
chuyên sản xuất các lõi ARM.
●1992 -Hãng Sharp và GEC Plessy cùng tham gia vào thị
trường phát triển công nghệ ARM


II – LỊCH SỬ ARM
●1998 - ARM Holdings nổi lên trên thị trường chứng khoán
của London Stock Exchange và Nasdaq.
●1999 - ARM trở thành thành viên của FTSE 100.
●2001 - ARM đã có 76.8PC chia sẻ 32-bit nhúng RISC bán ra
trên thị trường
●2007 - Khoảng 98pc của hơn 1bn mobile phone được bán ra
mỗi năm có sử dụng vi xử lý ARM
●2008 - 10 triệu vi xử lý chip được sản xuất trên nền tảng
ARM
●2011 - Steve Ballmer giám đốc điều hành của Microsoft công
bố kế hoạch sản xuất hệ điều hành Microsoft Windows dựa
trên các vi mạch được thiết kế trên nền tảng vi xử lý ARM.


IV – KIẾN TRÚC VI XỬ LÝ ARM
●Kiến trúc vi xử lý ARM được phát triển trên nền một vi xử
lý ARM cơ bản.
●ARM có một số tính năng giống với RISC như:
●Có một tập các thanh ghi dùng để tải/lưu dữ liệu
●Phương thức giải quyết đơn giản với tất cả các địa chỉ xác
định được tải/lưu lấy từ các thanh ghi.

●Cải tiến hơn so với RISC là ARM đạt tới hiệu suất cao, kích
thước mã nguồn nhỏ, tiêu thụ điện năng thấp và vùng
silicon nhỏ.
●ARM hỗ trợ triển khai một phạm vi rất rộng các điểm hiệu
suất dẫn đến việc có thể sản xuất vi xử lý ARM rất nhỏ,
nhưng hiệu suất cao, tiêu thụ điện năng thấp.


V – DEMO ỨNG DỤNG ĐÈN LED


V – DEMO ỨNG DỤNG ĐÈN LED
- Sử dụng Module Relay 5V đóng ngắt điện áp 220V
10A
Trạng thái hoạt động:
+ 0 ( 0V): Bật Relay
+ 1 ( 5V): Ngắt Relay
- Giới thiệu các chân pin trong H3
- Giới thiệu GPIO(WiringPi for OrangePi)


V – DEMO ỨNG DỤNG ĐÈN LED
Download:
git clone https://github.com/zhaolei/WiringOP.git -b h3
Cài đặt:
cd WiringOP
chmod +x ./build
sudo ./build


VI – ỨNG DỤNG CÔNG NGHỆ NODE
JS VÀ WEBSOCKET TRÊN VI XỬ LÝ
ARM



Giới thiệu chung về NodeJS
➢ Node JS được phát triển bởi Ryan Dahl vào năm 2009.
➢ Là một mã nguồn mở, một môi trường cho các máy chủ và
ƯD mạng.
➢ Sử dụng Google V8 JavaScript engine để thực thi mã và một
tỷ lệ lớn các mô-đun cơ bản được viết bằng JavaScript.
➢ Cung cấp kiến trúc hướng sự kiện (event-driven) và nonblocking I/O API, tối ưu hóa thông lượng của ứng dụng và
có khả năng mở rộng cao.
➢ Node.js chứa một thư viện built-in cho phép các ứng dụng
hoạt động như một máy chủ Web mà không cần phần mềm
như Nginx, Apache HTTP Server hoặc IIS,…
➢ Node.js được InfoWorld bình chọn là "Công nghệ của năm"
năm 2012.
18


Kỹ thuật của NodeJS_Thread
➢ Nếu như các ứng dụng web
truyền thống tốn RAM của
hệ thống, tài nguyên hệ
thống sử dụng không hiệu
quả.
➢ Giải pháp mà Node js:
• Sử dụng luồng đơn
(Single-Threaded).
• Kết hợp với nonblocking I/O để thực thi
các request, cho phép hỗ
trợ hàng chục ngàn kết
19
nối đồng thời.


Kỹ thuật của NodeJS_Thread
●Client gửi request đến Web Server
●Node js Web Service duy trì một luồng giới hạn để
cung cấp dịch vụ cho Client Request.
●Node js Web Service nhận tất cả các request và đặt
chúng vào một trong Queue. Nó được gọi là một Event
Queue.
●Node js Web Service có một thành phần được gọi là
"Event Loop".
●Event Loop chỉ sử dụng một luồng đơn để xử lý.


Kỹ thuật của NodeJS_Thread
● Event Loop kiểm tra tất cả các Request đặt trong Event
Queue. Nếu không có request nào thì chờ request đến vô
thời hạn.
● Nếu có request thì sẽ lấy một request từ Event Queue:
+ Khởi động quá trình xử lý tiến trình từ client request
+ Nếu Client Request không chứa nhiều Blocking I/O thì
xử lý tất cả mọi thứ và chuẩn bị cho quá trình gửi lại
phản hồi cho phía client.
+ Nếu Client Request chứa nhiều Blocking I/O như việc
tương tác với cơ sở dữ liệu, tập tin hệ thống, dịch vụ mở
rộng, thì nó sẽ thực hiện theo các phương pháp khác.


Giới thiệu Websocket
●Websocket là công nghệ hỗ trợ giao tiếp 2 chiều giữa
client và server bằng cách sử dụng một tcp socket để
tạo ra 1 kết nối hiệu quả và ít tốn kém.
●WebSoket là công nghệ hỗ trợ giao tiếp hai chiều
giữa client và server.
●Sử dụng WebSocket hiệu quả hơn thông qua sử dụng
giao thức http.
●Một header request/response của HTTP có kích thước
khoảng 871 byte, trong khi với WebSocket, kích
thước này chỉ là 2 byte (sau khi đã kết nối).


Nodejs với websocket
➢ Trong lập trình web trước đây, việc xây dựng client-server theo
mô hình socket phải thông qua các phần mềm thứ 2 . Vì mô hình
socket không phù hợp với các ngôn ngữ lập trình Server như:
PHP, ASP.NET, JSP v.v… Các ngôn ngữ này luôn làm việc theo
cách: Die ngay connection khi Server trả lời Client xong.
➢ Thứ nhất: javascript là ngôn ngữ lập trình hướng sự kiện, mà
trong lập trình thời gian thực, cách tiếp cận bằng lập trình sự kiện
là cách tiếp cận tốt nhất.
➢ Thứ hai: Node.js chạy non-blocking việc hệ thống không phải tạm
ngừng để xử lý xong một request sẽ giúp cho server trả lời client
gần như ngay tức thì.
➢ Thứ ba: Lập trình socket yêu cầu phải xây dựng được mô hình
lắng nghe - trả lời từ cả 2 bên, vai trò của client và server phải
tương đương nhau, client chạy bằng javascript, server cũng chạy
bằng javascript, việc lập trình sẽ dễ dàng và thân thiện hơn.
23


Giới thiệu socket io
➢ Server: Tạo một đối tượng socket bằng phương thức:
listen(port). Phương thức này chờ đợi một yêu cầu kết nối từ
client.
➢ Client: Kết nối đến server bằng phương thức: connect(url,
{port: server_port}).
➢ Socket.IO cung cấp 3 event chính là connect, message và
disconnect. Được kích hoạt khi client/server:
+ connect: tạo kết nối
+ message: nhận được thông điệp
+ disconnect: ngắt kết nối

24


Giới thiệu socket io
Ví dụ:
socket.on(“message”, function(msg){
// console.log(“Received: “+ msg);
});
– Để gửi dữ liệu, dùng phương thức send():
socket.send(“Hello world”);

25

– Socket.IO có thể gửi và nhận các event tự tạo với phương thức
emit(). Hai phía gửi và nhận phải biết được tên của event đó để thực
hiện giao tiếp:
// send:
socket.emit(“hello”,{msg: “welcome”);
// receive:
socket.on(“hello”, function (data) {
console.log(data);
});


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×