Tải bản đầy đủ (.pdf) (31 trang)

ĐỀ tài KHOÁ LUẬN tốt NGHIỆP TRUYỀN THÔNG đa KÊNH độc lập sử DỤNG ARM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (590.31 KB, 31 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ ĐIỆN TỬ

HỌ TÊN SINH VIÊN : PHAN VŨ KIỆT
HỌ TÊN SINH VIÊN : TẠ NGUYỄN ĐĂNG KHOA

ĐỀ TÀI KHỐ LUẬN TỐT NGHIỆP

TRUYỀN THƠNG ĐA KÊNH ĐỘC LẬP SỬ DỤNG ARM

Chuyên ngành

: Công nghệ điện tử viễn thơng

Mã chun ngành : 52510302.2
ĐỀ CƯƠNG KHỐ LUẬN TỐT NGHIỆP

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2019

1


THÔNG TIN CHUNG

Họ và tên sinh viên: Phan Vũ Kiệt.
MSHV

: 16012531.

Lớp



: Đại học Điện tử 12A.

Khóa

: 12.

Chun ngành

: Cơng nghệ điện tử viễn thông.

Mã chuyên ngành : 52510302.2.
SĐT

: 0358.956.971.

Email

:

Địa chỉ liên hệ

: 31,Nguyễn Du, Phường7, Gò Vấp.

Tên đề tài

: Truyền thông đa kênh độc lập sử dụng ARM.

Người hướng dẫn : Lê Văn Hùng.
SĐT


: 0907.435.426.

Email

:

Cơ quan công tác : Trường Đại học Cơng Nghiệp TP.HCM.
Tp. Hồ Chí Minh, ngày
Người hướng dẫn

tháng năm 2019

Sinh viên

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)

2


THÔNG TIN CHUNG
Họ và tên sinh viên : Tạ Nguyễn Đăng Khoa.
MSHV

: 16015841.

Lớp


: Đại học Điện tử 12A.

Khóa

: 12.

Chuyên ngành

: Công nghệ điện tử viễn thông.

Mã chuyên ngành : 52510302.2.
SĐT

: 0333.913.344.

Email

:

Địa chỉ liên hệ

: 66 ấp Tây, Xã Đông Thạnh, Huyện Cần Giuộc, Tỉnh Long An.

Tên đề tài

: Truyền thông đa kênh độc lập sử dụng ARM.

Người hướng dẫn

: Lê Văn Hùng.


SĐT

: 0907.435.426.

Email

:

Cơ quan công tác

: Trường Đại học Cơng Nghiệp TP.HCM.
Tp. Hồ Chí Minh, ngày

Người hướng dẫn

tháng năm 2019

Sinh viên

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)

3


4



MỤC LỤC
DANH MỤC HÌNH ẢNH.......................................................................................7
MỞ ĐẦU..................................................................................................................8
1.Đặt vấn đề...........................................................................................................8
2. Mục tiêu của đề tài............................................................................................8
3. Đối tượng và phạm vi nghiên cứu.....................................................................8
4. Ý nghĩa thực tiễn của đề tài...............................................................................8
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI............................................................10
1.1. Giới thiệu chung về đề tài.............................................................................10
1.2. Tìm hiểu chuẩn truyền thơng trong ARM.....................................................10
1.3. Tìm hiểu về bộ định thời...............................................................................10
1.3.1 Các tiêu chuẩn định thời.............................................................................10
1.3.2 Các loại đinh thời........................................................................................11
1.4. Tìm hiểu về cách giao tiếp và điều khiển với các thiết bị ngoại vị................12
1.5. Tìm hiểu về ARM.........................................................................................12
1.6. Nội dung thực hiện........................................................................................13
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.....................................................................14
2.1. Giới thiệu về cổng và giao thức truyền thơng có dây phổ biến hiện nay.......14
2.1.1. RJ-45..........................................................................................................14
2.1.2. RS-232.......................................................................................................15
2.1.3. RS-485.......................................................................................................15
2.1.4. MODBUS..................................................................................................16
2.1.5. USB (Universal Serial Bus)......................................................................17
2.1.6 PROFIBUS (Process Field Bus).................................................................17
2.2. Truyền thông đa kênh tốc độ cao..................................................................18
2.3. Giới thiệu về ARM Cortex KIT STM32F4 DISCOVERY...........................19
2.4. Tổng quan về định thời độc lập....................................................................19

5



2.4.1.Tìm hiểu về bộ định thời độc lập................................................................19
2.4.2. Các tiêu chuẩn định thời............................................................................22
2.5. Bộ xử lý ngắt dùng ARM.............................................................................23
CHƯƠNG 3: PHÂN TÍCH ,THIẾT KẾ VÀ THI CƠNG HỆ THỐNG..........26
3.1. Phân tích hệ thống........................................................................................26
3.1.1 Sơ đồ các khối chính...................................................................................26
3.1.2 Chức năng các khối.....................................................................................27
3.1.3 lưu đồ giải thuật của hệ thống.....................................................................27
3.1.4 Lưu đồ giải thuật của vi điều khiển ARM...................................................27
3.1.5 Lưu đồ giải thuật ARDUINO......................................................................27
3.1.6 Lưu đồ giải thuật của driver điều khiển (C#)..............................................27
3.2. Thiết kế và thi công hệ thống........................................................................27
3.2.1 Mô hình mơ phỏng protues.........................................................................27
3.2.2 xây dựng phần mềm hệ thống (code)..........................................................29
3.2.3 Thiết kế phần cứng......................................................................................29
CHƯƠNG 4 : THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ............................30
4.1 Mơ hình thực tế.............................................................................................30
TÀI LIỆU THAM KHẢO.....................................................................................31

6


DANH MỤC HÌNH ẢNH
Hình 2.1.1: Cáp RJ45..................................................................................11
Hình 2.1.2: Cáp RS-232...............................................................................12
Hình 2.1.3: Đầu nối RS-485........................................................................12
Hình 2.1.5: Cáp USB..................................................................................13
Hình 2.3.1: KIT STM32F407 DISCOVERY...............................................15
Hình 2.5: Sơ đồ nguyên lý của NVIC..........................................................18

Hình 2.6.2 : Sơ đồ mơ phỏng truyền thơng đa kênh.....................................19
Hình 3.2.1:Các khối chính của hệ thống truyền thơng đa kênh....................20
Hình 4.1: Dự đoán kết quả hệ thống dùng KIT STM32F407.......................21

7


MỞ ĐẦU
1.Đặt vấn đề
Trong q trình phát triển của cơng nghệ hiện nay các yêu cầu công nghệ về truyền
thông rất nhiều, xử lý dữ liệu ngày càng lớn và tốc độ cao. Các vi điều khiển 8 bit và
16 bit không đủ khả năng với các yêu cầu điều khiển, xử lý truyền thông tốc độ cao,
cũng như không đủ không gian bộ nhớ để chứa dữ liệu, không đủ nhanh để xử lý dữ
liệu, hình ảnh. Từ những nhu cầu thực tế trên chúng em tiến hành thực hiện tìm hiểu
và nghiên cứu đề tài ‘Truyền thơng đa kênh độc lập sử dụng ARM’.
2. Mục tiêu của đề tài
Từ những vấn đề nêu trên, đồ án này hướng đến những mục tiêu chính sau:
- Xây dựng bộ Switch truyền dữ liệu đa kênh định thời độc lập, giao tiếp TCP/IP giữa
PC và bộ chuyển mạch. Ứng dụng trong truyền dữ liệu tốc độ cao ( Dữ liệu điều khiển
hoặc thơng tin)
- Phương pháp phân tích tài liệu, tổng kết thực nghiệm ( Sử dụng vi điều khiển ARM,
viết thuật toán Driver và các bộ định thời mềm hoặc cứng)
- Kết quả: Bộ chuyển mạch đa kênh và driver điều khiển đúng theo yêu cầu
- Đánh giá kết quả thu được và hoạch định những phương hướng phát triển.
3. Đối tượng và phạm vi nghiên cứu
Tập trung vào đối tượng nghiện cứu vi điều khiển ARM, thuật toán xây dựng định
thời độc lập. Xây dựng một hệ thống truyền thông dựa theo cảm biến và các thiết bị
điện tử, module dùng định thời miềm độc lập của ARM
4. Ý nghĩa thực tiễn của đề tài
Ngày nay các yêu cầu về truyền thông tốc độ cao và độc lập được sử dụng ngày

càng rộng rãi, với nhiều mục đích khác nhau. Độ trể trong các tín hiệu điều khiển và
thơng tin ảnh hưởng đến các kết quả xử lý online (yêu cầu đúng thời điểm không trể và

8


không tới sớm) của hệ thống. Nên xây dựng Driver điều khiển phối hợp luồng dữ liệu
đa kênh với độ định thời độc lập và linh động là yêu cầu cần thiết của các hệ thống
xuất tín hiệu điều khiển tốc độ cao từ đó ta có thể xây dựng một số hệ thống như sau:
- Hệ thống LED nghệ thuật.
- Hệ thống truyền dữ liệu đa kênh theo phương thức đóng gói tập tin.
- Hệ thống phân loại nơng sản.
- Hệ thống điều khiển không lưu.
- Hệ thống dẫn đường tên lửa

9


CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu chung về đề tài
1.2. Tìm hiểu chuẩn truyền thơng trong ARM.
Chuẩn truyền thông trong ARM sử dụng cổng USB để kết nối với ARM với PC qua
cáp USB type C.
Trong lĩnh vực lập trình hệ thống nhúng, một trong những cơng việc quan trọng
nhất với chúng ta đó chính là lập trình ghép nối, điều khiển các module, các thiết bị
ngoại vi ghép nối với hệ trung tâm. Để có thể làm được việc này, ngồi các kỹ năng
lập trình chúng ta còn cần phải thành thạo về các giao thức ghép nối phổ biến như
RS232, SPI, I2C và đặc biệt hiện nay nhu cầu tất yếu chúng ta phải tìm hiểu về chuẩn
USB vì đây có thể nói là một trong các chuẩn phổ biến nhất hiện nay
1.3. Tìm hiểu về bộ định thời

1.3.1 Các tiêu chuẩn định thời.
Các giải thuật định thời khác nhau có các thuộc tính khác nhau và có xu hướng
thiên vị cho một loại quá trình hơn một quá trình. Trong việc chọn giải thuật nào sử
dụng trong trường hợp nào, chúng ta phải xét các thuộc tính của các giải thuật khác
nhau.
Nhiều tiêu chuẩn được đề nghị để so sánh các giải thuật định thời biểu. Những đặc
điểm được dùng để so sánh có thể tạo sự khác biệt quan trọng trong việc xác định giải
thuật tốt nhất. Các tiêu chuẩn gồm:
-

Việc sử dụng CPU
Thơng lượng
Thời gian hồn thành
Thời gian chờ
Thời gian đáp ứng

1.3.2 Các loại đinh thời
1.3.2.1 Định thời đến trước được phục vụ trước
Giải thuật định thời biểu CPU đơn giản nhất là đến trước, được phục vụ trước
(first-come, first-served-FCFS). Với cơ chế này, quá trình yêu cầu CPU trước được

10


cấp phát CPU trước. Việc cài đặt chính sách FCFS được quản lý dễ dàng với hàng đợi
FIFO. Khi một quá trình đi vào hàng đợi sẳn sàng, PCB của nó được liên kết tới đi
của hàng đợi. Khi CPU rảnh, nó được cấp phát tới một q trình tại đầu hàng đợi. Sau
đó, q trình đang chạy được lấy ra khỏi hàng đợi. Mã của giải thuật FCFS đơn giản
để viết và hiểu.
Tuy nhiên, thời gian chờ đợi trung bình dưới chính sách FCFS thường là dài. Xét

tập hợp các quá trình sau đến tại thời điểm 0, với chiều dài thời gian chu kỳ CPU được
cho theo mini giây.
1.3.2.2 Định thời biểu công việc ngắn nhất trước
Một tiếp cận khác đối với việc định thời CPU là giải thuật định thời công việc
ngắn nhất trước (shortest-job-first-SJF). Giải thuật này gán tới mỗi quá trình chiều dài
của chu kỳ CPU tiếp theo cho q trình sau đó. Khi CPU sẳn dùng, nó được gán tới
q trình có chu kỳ CPU kế tiếp ngắn nhất. Nếu hai q trình có cùng chiều dài chu kỳ
CPU kế tiếp, định thời FCFS được dùng. Chú ý rằng thuật ngữ phù hợp hơn là chu kỳ
CPU kế tiếp ngắn nhất (shortest next CPU burst) vì định thời được thực hiện bằng
cách xem xét chiều dài của chu kỳ CPU kế tiếp của quá trình hơn là tồn bộ chiều dài
của nó. Chúng ta dùng thuật ngữ SJF vì hầu hết mọi người và mọi sách tham khảo tới
nguyên lý của loại định thời biểu này như SJF.
1.3.2.4 Định thời theo độ ưu tiên
Giải thuật SJF là trường hợp đặc biệt của giải thuật định thời theo độ ưu tiên
(priority-scheduling algorithm). Độ ưu tiên được gán với mỗi quá trình và CPU được
cấp phát tới quá trình với độ ưu tiên cao nhất. Quá trình có độ ưu tiên bằng nhau được
định thời trong thứ tự FCFS.
Giải thuật SJF là giải thuật ưu tiên đơn giản ở đó độ ưu tiên p là nghịch đảo với chu kỳ
CPU được đoán tiếp theo. Chu kỳ CPU lớn hơn có độ ưu tiên thấp hơn và ngược lại.
1.3.2.5 Định thời luân phiên
Giải thuật định thời luân phiên (round-robin scheduling algorithm-RR) được thiết
kế đặc biệt cho hệ thống chia sẻ thời gian. Tương tự như định thời FCFS nhưng sự
trưng dụng CPU được thêm vào để chuyển CPU giữa các quá trình. Đơn vị thời gian
nhỏ được gọi là định mức thời gian (time quantum) hay phần thời gian (time slice)
được định nghĩa. Định mức thời gian thường từ 10 đến 100 mili giây. Hàng đợi sẳn
sàng được xem như một hàng đợi vòng. Bộ định thời CPU di chuyển vòng quanh hàng
đợi sẳn sàng, cấp phát CPU tới mỗi q trình có khoảng thời gian tối đa bằng một định
mức thời gian.

11



Để cài đặt định thời RR, chúng ta quản lý hàng đợi sẳn sàng như một hàng đợi
FIFO của các q trình. Các q trình mới được thêm vào đi hàng đợi. Bộ định thời
CPU chọn quá trình đầu tiên từ hàng đợi sẳn sàng, đặt bộ đếm thời gian để ngắt sau 1
định mức thời gian và gởi tới q trình.
Sau đó, một trong hai trường hợp sẽ xảy ra. Q trình có 1 chu kỳ CPU ít hơn 1
định mức thời gian. Trong trường hợp này, quá trình sẽ tự giải phóng. Sau đó, bộ định
thời biểu sẽ xử lý quá trình tiếp theo trong hàng đợi sẳn sàng. Ngược lại, nếu chu kỳ
CPU của quá trình đang chạy dài hơn 1 định mức thời gian thì độ đếm thời gian sẽ báo
và gây ra một ngắt tới hệ điều hành. Chuyển đổi ngữ cảnh sẽ được thực thi và q
trình được đặt trở lại tại đi của hàng đợi sẳn sàng. Sau đó, bộ định thời biểu CPU sẽ
chọn quá trình tiếp theo trong hàng đợi sẳn sàng.
1.3.2.6 Định thời thời gian thực
Một hệ điều hành thời gian thực (real-time operating system (RTOS)) là một hệ
điều hành (OS) nhằm phục vụ các ứng dụng thời gian thực, xử lý dữ liệu khi nó đi vào,
mà khơng có sự chậm trễ của bộ đệm.
1.4. Tìm hiểu về cách giao tiếp và điều khiển với các thiết bị ngoại vị.
Giao tiếp với các thiết bị ngoại vi bằng cách kết nối qua các chuẩn truyền thơng có
dây và khơng dây.
Điều khiển thiết bị ngoại vi cho phép kiểm soát truy cập và điều khiển các thiết bị
ngoại vi được kết nối với PC theo nhiều cách khác nhau.
1.5. Tìm hiểu về ARM.
Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là 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ế di động.
Do có đặc điểm tiết kiệm năng lượng, các CPU ARM chiếm ưu thế trong các sản
phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một
mục tiêu thiết kế quan trọng hàng đầu.
1.6. Nội dung thực hiện.
Mục tiêu xây dựng hệ thống: “Truyền thông đa kênh độc lập sử dụng ARM” như

trên thì nhóm sẽ thực hiện những nội dung như sau:
- Tìm hiểu kit ARM.

12


- Tìm hiểu các tập lênh, cấu trúc ARM.
- Xây dựng thuật toán tạo cơ sở xây dựng hệ thống định thời độc lập đa kênh.
- Xây dựng một hệ thống truyền thông dựa theo cảm biến và các thiết bị điện tử,
module dùng định thời miềm độc lập của ARM.
- Thiết kế mơ hình phần cứng
- Đánh giá kết quả thực hiện và định ra được phương hướng phát triễn.

13


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu về cổng và giao thức truyền thơng có dây phổ biến hiện nay.
2.1.1. RJ-45.
Như chúng ta đều biết, Ethernet là một công nghệ mạng được sử dụng để kết nối
máy tính của bạn với Internet và giao tiếp với các máy tính hoặc thiết bị mạng khác.
Giao diện kết nối được sử dụng cho mạng máy tính và trong viễn thơng được gọi
là Registered Jack (RJ) và cổng RJ-45 nói riêng được sử dụng cho Ethernet thông qua
cáp. Đầu nối RJ-45 là đầu nối kiểu mô-đun 8 chân 8 (8P - 8C).
Công nghệ Ethernet mới nhất được gọi là Gigabit Ethernet và hỗ trợ tốc độ truyền
dữ liệu trên 10Gigabits mỗi giây. Ethernet hoặc cổng LAN có đầu nối loại 8P - 8C
cùng với cáp RJ-45 male được hiển thị ở hình 2.1.1.
Đầu nối mơ-đun 8P - 8C khơng có khóa thường được gọi là Ethernet RJ-45.
Thông thường, các cổng RJ-45 được trang bị hai đèn LED thông báo phát hiện truyền
dữ liệu và gói lưu lượng.


14


Hình 2.1.1: Cáp RJ45

2.1.2. RS-232.
RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị
ngoại vi với máy tính.Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng
bộ, kết nối nhiều nhất là 2 thiết bị, chiều dài kết nối lớn nhất cho phép để đảm bảo dữ
liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị
đặc biệt.

Hình 2.1.2: Cáp RS-232
2.1.3. RS-485.
Có thể coi chuẩn RS-485 là một phát triển của RS-232 trong việc truyền dữ liệu
nối tiếp.

15


Khi một mạng cần phải chuyển các khối nhỏ thông tin trên một khoảng cách dài,
RS-485 thường là chuẩn giao tiếp được lựa chọn. Các nút mạng có thể là máy tính cá
nhân,vi điều khiển, hoặc bất kỳ thiết bị có khả năng truyền thơng nối tiếp khơng đồng

bộ. So với Ethernet và giao diện mạng khác, phần cứng và giao thức yêu cầu của RS485 đơn giản hơn và rẻ hơn.

Hình 2.1.3: Đầu nối RS-485

2.1.4. MODBUS.

MODBUS là một giao thức truyền thông với nhiều thiết bị thông qua một cặp dây
xoắn đơn.
Ban đầu, nó hoạt động trên RS232, nhưng sau đó nó sử dụng cho cả RS485 để đạt
tốc độ cao hơn, khoảng cách dài hơn
Hiện nay, có 03 chuẩn modbus đang được sử dụng phổ biến: Modbus RTU,
Modbus ASCII, Modbus TCP
+ Modbus ASCII:
Mọi thơng điệp được mã hóa bằng hexadeci-mal, sử dụng đặc tính ASCII 4 bit. Đối
với mỗi một byte thơng tin, cần có 2 byte truyền thông, gấp đôi so với MODBUS RTU
hay MODBUS/TCP.

16


+ Modbus RTU: Dữ liệu được mã hóa theo hệ nhị phân, và chỉ cần một byte truyền
thông cho một byte dữ liệu.
+ Modbus TCP: MODBUS/TCP đơn giản là MODBUS qua Ethernet. Với
MODBUS/TCP, dữ liệu MODBUS được tóm lược đơn giản trong một gói TCP/IP.
2.1.5. USB (Universal Serial Bus).
USB (Universal Serial Bus) là một chuẩn kết nối tuần tự đa dụng trong máy tính.
USB sử dụng để kết nối các thiết bị ngoại vi với máy tính, chúng thường được thiết kế
dưới dạng các đầu cắm, với tính năng cắm nóng thiết bị (nối và ngắt các thiết bị khơng
cần phải khởi động lại hệ thống).

Hình 2.1.5: Cáp USB

2.1.6 PROFIBUS (Process Field Bus)
PROFIBUS sử dụng phương tiện truyền tin xoắn đôi và RS485 chuẩn công nghiệp
trong các ứng dụng sản xuất hoặc IEC 1158-2 trong điều khiển q
trình. PROFIBUS cũng có thể sử dụng Ethernet/TCP-IP.

PROFIBUS là một mạng Fieldbus được thiết kế để giao tiếp giữa máy tính và PLC.
Dựa trên nguyên tắc token bus không đồng bộ ở chế độ thời gian
thực, PROFIBUS xác định mối quan hệ truyền thông giữa nhiều master và giữa
master-slave, với khả năng truy cập theo chu kì và khơng theo chu kì, tốc độ truyền tối
đa lên tới 500 kbit/s (trong một số ứng dụng có thể lên tới 1,5Mbp hay 12Mbp).
Khoảng cách bus tối đa không dùng bộ lặp (repeater) là 200m và nếu dùng bộ lặp
khoảng cách tối đa có thể đạt được là 800m. Số điểm (node) tối đa nếu khơng có bộ
lặp là 32 và là 127 nếu có bộ lặp.

17


Họ PROFIBUS có 3 kiểu giao thức là: PROFIBUS DP, PA, FMS trong đó
PROFIBUS-DP được sử dụng rộng rãi nhất hiện nay.






 PROFIBUS DP là bus cấp thiết bị hỗ trợ cả tín hiệu tương tự và tín hiệu phân
tán. PROFIBUS DP được sử dụng rộng rãi cho các đối tượng như hệ thống I/O,
điều khiển động cơ và biến tần. Profibus DP truyền thông với tốc độ từ 9,6 Kbp
-12 Mbp trong phạm vi từ 100-1200m. Nó là PROFIBUS hoạt động trên giao
diện RS485 chuẩn và đã được bổ sung một số đặc điểm để phù hợp với các ứng
dụng quá trình như đọc/ghi dữ liệu q trình khơng theo chu kì, truyền trạng
thái thiết bị, cấp nguồn trên bus và an toàn nội tại. PROFIBUS DP được thiết kế
để truyền dữ liệu tốc độ cao tại cấp thiết bị. Trong trường hợp này, các bộ điều
khiển trung tâm (PLC, PC) giao tiếp với các thiết bị hiện trường phân tán của
chúng (I/O, drive, van…) qua một liên kết nối tiếp tốc độ cao. Hầu hết quá trình

truyền dữ liệu với các thiết bị phân tán này được thực hiện theo chu kì.
 PROFIBUS PA là một fieldbus có chức năng tồn diện thường được sử dụng
cho thiết bị cấp quá trình. PROFIBUS PA truyền thông với tốc độ 31,25 Kbp
với phạm vi tối đa 1.900m/phân đoạn. Chuẩn này được thiết kế cho những ứng
dụng Intrinsically Safe.
PROFIBUS FMS là một bus điều khiển được sử dụng để giao tiếp giữa DCS và
các hệ thống PLC.

2.2. Truyền thông đa kênh tốc độ cao.
Truyền thông đa kênh là cách thức truyền dữ liệu cho nhiều kênh để điều khiển các
thiết bị ngoại vị.
Được ứng dụng nhiều trong cơng nghiệp.
Dùng để điều khiển các máy móc thiết bị công nghiệp khác nhau.

18


Giải quyết yêu cầu về tính năng thời gian thực, độ tin cậy và khả năng tương thích
trong mơi trường công nghiệp của mạng truyền thông công nghiệp cao.
Đơn giản hóa cấu trúc liên kết giữa các thiết bị cơng nghiệp. Nhờ cấu trúc đơn giản
nên hệ thống giúp tiết kiệm dây nối và công thiết kế cũng như công lắp đặt hệ thống.
Các thông tin truyền đi luôn đảm bảo độ tin cậy và độ chính xác cao.
Nâng cao độ linh hoạt, tính năng mở của hệ thống.
Đơn giản hóa các tham số, chuẩn đốn định vị lỗi các thiết bị.
2.3. Giới thiệu về ARM Cortex KIT STM32F4 DISCOVERY
Dòng ARM Cortex KIT STM32F4 DISCOVERY là một bộ xử lí thế hệ mới đưa ra
một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ. Không giống như các chip
ARM khác, dịng Cortex là một lõi xử lí hồn thiện, đưa ra một chuẩn CPU và kiến
trúc hệ thống chung.
Dịng Cortex KIT STM32F4 DISCOVERY gồm có 3 phân nhánh chính: dịng A

dành cho các ứng dụng cao cấp, dịng R dành cho các ứng dụng thời gian thực như các
đầu đọc và dòng M dành cho các ứng dụng vi điều khiển và chi phí thấp.
KIT STM32F4 DISCOVERY sử dụng chip ARM7 hoặc ARM9 được các nhà sản
xuất bán dẫn thiết kế với giải pháp riêng của mình, đặc biệt là phần xử lí các các ngắt
đặc biệt (exception) và các ngắt thông thuờng (interrupt).

19


Hình 2.3.1: KIT STM32F407 DISCOVERY
2.4. Tổng quan về định thời độc lập.
2.4.1.Tìm hiểu về bộ định thời độc lập.
Được sử dụng trong vi điều khiển.
Có khả năng định thời độc lập thực hiện các chức năng của mình độc lập trong một
khoảng thời gian xác định và nhỏ nhất có thể chấp nhận được
Các hệ thống này có khả năng đáp ứng các tín hiệu ngõ vào hoặc các sự kiện trong
giới hạn một khoảng thời gian bắt buộc.
Chia sẻ tài nguyên một cách đơn giản: cung cấp cơ chế để phân chia các yêu cầu về
bộ nhớ và ngoại vi của MCU
Dễ debug và phát triển: Mọi người trong nhóm có thể làm việc một cách độc lập,
các lập trình viên thì có thể tránh được các tương tác với ngắt, timer, với phần cứng
(cái này mình khơng khuyến khích lắm vì hiểu được phần cứng vẫn sẽ tốt hơn nhiều)
Tăng tính linh động và dễ dàng bảo trì: thông qua API của RTOS, …
Dùng để xây dựng nên một hệ điều hành có thể
Cho phép nhiều chương trình chạy cùng 1 lúc (multi-tasking)
Có quản lý tài nguyên về phần cứng và cung cấp các dịch vụ cho các chương trình
khác

20



Hình trên là cấu tạo của một hệ điều hành thời gian thực (RTOS)
Nếu ứng dụng có kích thước chương trình lớn dần và độ phức tạp tăng lên thì
RTOS sẽ rất hữu dụng trong trường hợp này, lúc đó RTOS sẽ chia các ứng dụng phức
tạp thành các phần nhỏ hơn và dễ quản lý hơn.
Một hệ thống có khả năng thực hiện thời gian thực nghĩa là hệ thống đó phải thực
hiện các chức năng của mình trong một khoảng thời gian xác định và nhỏ nhất có thể
chấp nhận được. Khi đáp ứng được yêu cầu này, hệ thống đó có thể gọi là hệ thống
thời gian thực
Các hệ thống này phải có khả năng đáp ứng các tín hiệu ngõ vào hoặc các sự kiện
trong giới hạn một khoảng thời gian bắt buộc. Cho nên các hệ thống này không chỉ
phải trả về một kết quả đúng mà còn phải nhanh nhất đáp ứng được yêu cầu về tốc độ
của hệ thống. Trong các hệ thống thời gian thực, tốc độ cũng quan trọng không kém gì
độ chính xác của nó.

21


Cho nên các hệ thống này không chỉ phải trả về một kết quả đúng mà còn phải
nhanh nhất đáp ứng được yêu cầu về tốc độ của hệ thống. Trong hệ thống định thời
độc lập tốc độ cũng quan trọng khơng kém gì độ chính xác của nó
Có 2 loại thời gian thực: thời gian thực cứng và thời gian thực mềm. Đối với hệ
thống thời gian thực cứng, tất cả các chức năng của nó phải được thực thi chính xác
trong một khoảng thời gian xác định, nếu khơng cả hệ thống sẽ bị lỗi nghiêm trọng.
Ví dụ : hệ thống điều khiển không lưu, hệ thống dẫn đường tên lửa, thiết bị y tế . . .
Đối với hệ thống thời gian thực mềm, các chức năng phải được thực hiện trong một
khoảng thời gian xác định nhỏ nhất nhưng khơng bắt buộc.
Có 2 loại định thời độc lập :
+ Định thời mềm:
Là định thời mà chúng ta có thể viết diver điều khiển cho nó được, tùy theo loại

cấu tạo của vi điều khiển có một hoặc nhiều định thời mềm.
Linh hoạt trong việc ứng dụng vào cơng nghiệp.
Tiết kiệm được chi phí.
Có thể tùy chỉnh tốc độ, độ nhạy.
+ Định thời cứng:
Là định thời mà chúng được tích hợp sẵn trên vi điều khiển thơng thường một vi
điều khiển có ít bộ định thời cứng.
Dễ dàng viết code vì có chương trình khn.
Thiếu linh hoạt.
Số lượng ít nên khơng đáp ứng được nhu cầu trong công nghiệp.
2.4.2. Các tiêu chuẩn định thời
Việc sử dụng CPU: Chúng ta muốn giữ CPU bận nhiều nhất có thể. Việc sử dụng
CPU có thể từ 0 đến 100%. Trong hệ thống thực, nó nên nằm trong khoảng từ 40%
(cho hệ thống được nạp tải nhẹ) tới 90% (cho hệ thống được nạp tải nặng).

22


Thơng lượng: Nếu CPU bận thực thi các q trình thì cơng việc đang được thực
hiện. Thước đo của cơng việc là số lượng q trình được hồn thành trên một đơn vị
thời gian gọi là thông lượng (throughput).
Đối với các q trình dài, tỉ lệ này có thể là 1 quá trình trên 1 giờ, đối với các giao
dịch ngắn, thơng lượng có thể là 10 q trình trên giây.
Thời gian hoàn thành: Là khoảng thời gian từ thời điểm gởi q trình tới khi q
trình hồn thành được gọi là thời gian hoàn thành (turnaround time). Thời gian hồn
thành là tổng các thời gian chờ đưa q trình vào bộ nhớ, chờ hàng đợi sẵn sàng, thực
thi CPU và thực hiện nhập/xuất.
Thời gian chờ: Thời gian chờ (waiting time) là tổng thời gian chờ trong hàng đợi
sẵn sàng, khơng ảnh hưởng lượng thời gian q trình thực thi hay thực hiện nhập/xuất.
Thời gian đáp ứng: Trong một hệ thống giao tiếp, thời gian hồn thành khơng là

tiêu chuẩn tốt nhất. Do đó, một thước đo khác là thời gian từ lúc gởi yêu cầu cho tới
khi đáp ứng đầu tiên được tạo ra. Thước đo này được gọi là thời gian đáp ứng
(response time), là lượng thời gian mất đi từ lúc bắt đầu đáp ứng nhưng không là thời
gian mất đi để xuất ra đáp ứng đó. Thời gian hoàn thành thường bị giới hạn bởi tốc độ
của thiết bị xuất.
Chúng ta muốn tối ưu hóa việc sử dụng CPU và thơng lượng, đồng thời tối thiểu
hóa thời gian hoàn thành, thời gian chờ và thời gian đáp ứng. Trong hầu hết các trường
hợp, chúng ta tối ưu hóa thước đo trung bình.
2.5. Bộ xử lý ngắt dùng ARM.
NVIC (Nested Vectored Interrupt Controller) là thành phần tích hợp của vi xử lý
này có khả năng xử lý ngắt rất linh hoạt và nhanh chóng. Trong cài đặt chuẩn, nó cung
cấp một NMI (Non-Maskable Interrupt) và 32 ngắt vật lý đa dụng với 8 mức ưu tiên
pre-emption. Nó có thể được cấu hình từ 1 đến 240 ngắt vật lý với tối đa 256 mức độ
ưu tiên.

23


Bộ vi xử lý ARM sử dụng một bảng vector có thể tái định vị được, dùng để chứa
địa chỉ của hàm xử lý ngắt. Khi nhận một ngắt, bộ xử lý sẽ lấy địa chỉ từ bảng vector
thông qua bus chương trình. Bảng vector ngắt được đặt ở địa chỉ 0 khi reset, nhưng có
thể được di chyển đến vị trí khác bằng cách lập trình một thanh ghi điều khiển.
NVIC hỗ trợ ngắt lồng nhau, cho phép một ngắt được xử lý trước một ngắt khác
dựa trên mức độ ưu tiên. Nó cũng hỗ trợ cấu hình mức ưu tiên động cho các ngắt.
Độ ưu tiên có thể được thay đổi bằng phần mềm trong thời gian chạy (run time).
Các ngắt đang được xử lý đều bị khóa cho đến khi hàm xử lý ngắt hoàn thành, do đó,
độ ưu tiên của ngắt có thể thay đổi mà không cần lo đến chuyện trùng lặp.

24



Hình 2.5: Sơ đồ nguyên lý của NVIC
Trong trường hợp các ngắt nối đuôi nhau, các hệ thống cũ sẽ lặp lại hai lần việc lưu
trạng thái hoàn thành và khôi phục, dẫn đến độ trễ cao. Bộ vi xử lý ARM đơn giản hóa
việc chuyển đổi giữa các ngắt đang hoạt động và đang chờ bằng cách cài đặt cơng
nghệ tail-chaining trong phần cứng NVIC.
Tail-chaining xử lý để có độ trễ thấp hơn, bằng cách thay thế chuỗi các thao tác
pop và push vốn mất hơn 30 chu kỳ xung nhịp bằng một thao tác nạp lệnh đơn giản chỉ
mất 6 chu kỳ.
Trạng thái bộ vi xử lý được tự động lưu khi ngắt bắt đầu, được xử lý và phục hồi
ngay khi kết thúc, ít chu kỳ hơn so với việc thực thi bằng phần mềm, nâng cao hiệu
suất đáng kể ở hệ thống hoạt động dưới 100MHz.

25


×