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

tài liệu thư viện waijung hỗ trợ nhúng VDK STM bằng matlab

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 (1.38 MB, 31 trang )

1.1 Thư viện waijung
1.1.1 Khối target setup

- Ở mọi ứng dụng có sử dụng vi điều khiển STM32F4 thì cần thêm duy
nhất một khối này để: thiết lập cho vi điều khiển STM32F4, chọn và kiểm
sốt trình biên dịch, thiết lập các bộ định thời cho hệ thống.
- Các thiết lập của khối


- Chức năng các mục:
 Compiler: chọn trình biên dịch
 MCU: chọn loại chip sử dụng
 Clock configuration: chọn bộ xung clock cho hệ thống
 Pogrammer/debugger: chọn công cụ nạp
 Show memory configuration: hiển thị cấu hình bộ nhớ
 Enable auto compile and dowload: cho phép tự động biên dịch và
nạp xuống chip
 Full chip erase before dowload: xóa tồn bộ chip trước khi nạp
xuống
 Show/edit control strings(recommended for advance users only):
hiển thị / chỉnh sửa chuỗi điều khiển (chỉ được khuyến nghị cho
người dùng nâng cao)
 Run application after download: chạy chương trình sau khi nạp
xuống thành cơng
 Manually set base sample time: cài đặt thời gian lấy mẫu thủ cơng.
Vi xử lý lõi ARM Cortex M có một bộ đếm thời gian 24-bit hay
còn gọi là 24-bit system timer, như vậy nó có thể đếm tới 16777215
số đếm, mỗi lần đếm mất 1/HCLK giây, nếu đặt HCLK ở mức tối
đa 168MHZ thì để đếm tới 16777215 thì hệ thống mất 0,0998 giây,
đây là thời gian lớn nhất của hệ thống tức tất cả các tác vụ phải
hoàn thành trước thời gian này.


1.1.2 Digital output

- Được sử dụng khi cần đưa ra trạng thái logic mức cao hoặc thấp tại 1 hay
nhiều chân của vi điều khiển
- Các thiết lập của khối


- Khối này sử dụng để tạo logic đầu ra số ( mức thấp hoặc mức cao )
- Có thể có nhiều khối đầu ra số trong một mơ hình, để định cấu hình các
chân khác nhau của các port giống nhau hoặc khác nhau


- Type (push-pull/open-drain):
 Push-pull: khi tín hiệu điều khiển bằng 1 thì tín hiệu tại chân ngõ ra
vật lý ở mức cao, khi tín hiệu điều khiển bằng 0 thì tín hiệu tại chân
ngõ ra vật lý ở mức thấp
 Open-drain: khi tín hiệu điều khiển bằng 1 thì tín hiệu tại chân ngõ
ra vật lý được thả nổi, khi tín hiệu điều khiển bằng 0 thì tín hiệu tại
chân ngõ ra vật lý ở mức thấp
- Sample time: khoảng thời gian mỗi lần kiểm tra tín hiệu điều khiển đầu
vào và đưa tín hiệu ra chân ngõ ra vật lý, đơn vị giây
- Enable custom port labels: tùy chỉnh lại tên hiển thị của các chân ngõ ra
- Use global initialization: đặt phạm vi của khối là toàn cục
1.1.3 Digital input

- Được sử dụng khi cần xác định trạng thái mức logic tại 1 hay nhiều chân
vủa vi điều khiển


- Các thiết lập của khối


- Khối này sử dụng để xác địng mức logic tại chân được cài đặt (trên
1,2Vol mức cao, dưới 1,2Vol mức thấp)
- Có thể cài đặt trạng thái ban đầu của chân ở mức cao (pull-up) hoặc mức
thấp (pull-down)
- Có thể có nhiều khối đầu vào số trong một mơ hình, để định cấu hình các
chân khác nhau của các port giống nhau hoặc khác nhau


- Sample time: khoảng thời gian mỗi lần kiểm tra tín hiệu tại chân ngõ vào
vật lý và xử lý đưa vào hệ thống, đơn vị giây
- Enable custom port labels: tùy chỉnh lại tên hiển thị của các chân ngõ vào
1.1.4 Serial setup

- Khi ứng dụng cần gửi dữ liệu từ máy tính xuống vi điều khiển hoặc xử lý
dữ liệu nhận từ vi điều khiển gửi lên máy tính thì cần sử dụng khối này để
cài đặt các thông số
- Các thiết lập của khối










Port: chọn cổng com giao tiếp
Baud rate: tốc độ truyền

Data bits: giới hạn bit dữ liệu
Parity: bit chẵn lẻ
Stop bit: số bit stop
Hardware flow control: kiểm soát luồng phần cứng
Sample time: khoảng thời gian mỗi lần đọc ghi dữ liệu

1.1.5 Host serial Tx
- Sử dụng khối này khi cần gửi dữ liệu từ máy tính xuống vi điều khiển qua
giao thức Uart
- Các thiết đặt của khối


 Port: chọn cổng com giao tiếp
 Packet mode: lựa chọn bộ mã truyền nhận (trong đề tài sử dụng
binary)
 Binary header: ký tự bắt đầu sau ký tự này sẽ là dữ liệu
 Binary terminator: ký tự kết thúc, khi bắt được ký tự này tức đã kết
thúc khung truyền
 Lựa chọn số lượng các cổng nhận tương ứng với từng kiểu dữ liệu


 Sample time: khoảng thời gian mỗi lần nhận dữ liệu
1.1.6 Host serial Rx
- Chế độ kín (blocking): máy sẽ đợi cho đến khi nhận được đầy đủ dữ liệu
sau đó mới thốt khỏi khối và làm việc khác

- Chế độ hở (non-blocking): khi có dữ liệu được gửi từ vi điều khiển lên
máy tính thì dữ liệu sẽ được lưu vào bộ nhớ đệm bởi chế độ DMA sau đó
chờ xử lý


- Sử dụng khối này khi cần xử lý dữ liệu nhận được từ vi điều khiển gửi lên
qua giao thức Uart
- Các thiết lập của khối






Port: chọn cổng com giao tiếp
Transfer: chọn chế độ hoạt động blocking hoặc non-blocking
Wait time-out (seconds):










Packet mode: chọn bộ mã giao tiếp (trong đề tài sử dụng mã
binary)
Enable initial value (closed loop HIL test): bật chế độ gửi giá
trị ban đầu
Binary header: ký tự bắt đầu sau ký tự này sẽ là dữ liệu
Binary terminator: ký tự kết thúc, khi bắt được ký tự này tức
đã kết thúc khung truyền
Lựa chọn số lượng các cổng nhận tương ứng với từng kiểu

dữ liệu
Sample time: khoảng thời gian mỗi lần nhận dữ liệu và xử lý

1.1.7 Uart setup

- Khi ứng dụng cần gửi hoặc nhận dữ liệu từ thiết bị khác thơng qua giao
thức Uart thì cần sử dụng khối này để cài đặt các thông số
- Các thiết lập của khối


 Uart module (1,2,3,4,5,6): lựa chọn bộ uart, các bộ uart khác nhau
sẽ có các chân truyền nhận khác nhau, tùy vị trí bố trí linh kiện mà
người dùng lựa chọn bộ uart phù hợp
 Baud rate: tốc độ truyền (tối đa 10,5Mbps đối với module 1 và 6, và
5,25Mbps đối với các module còn lại)
 Data bits: độ dài của dữ liệu ( 8 bit đối với phiên bản mới nhất)
 Parity: lựa chọn bit chẵn lẽ
 Stop bit: lựa chọn bit kết thúc
 Tx, Rx pin: được tự động lựa chọn theo module mà người dùng cài
đặt
 Hardware flow control: kiểm soát luồng phần cứng, chỉ sử dụng
được với các bộ uart 1,2,3,6


 Advance options: tùy chọn nâng cao để tùy chỉnh kích thước bộ
nhớ đệm
1.1.8 Uart Rx
- Chế độ kín (blocking): CPU sẽ đợi cho đến khi nhận được đầy đủ dữ liệu
sau đó mới thốt khỏi khối và làm việc khác


- Chế độ hở (non-blocking): khi có dữ liệu được gửi xuống thì dữ liệu sẽ
được lưu vào bộ nhớ đệm bởi chế độ DMA sau đó chờ CPU xử lý

- Khi cần nhận dữ liệu được gửi từ thiết bị khác thơng qua giao thức Uart
thì cần thêm khối này vào mơ hình
- Các thiết lập của khối


 Uart module: cần lựa chọn bộ uart giống với bộ đã chọn tại khối
uart setup
 Transfer: chọn chế độ hoạt động ( kín hoặc hở)
 Packet mode: lựa chọn bộ mã truyền nhận (trong đề tài sử dụng
binary)
 Binary header: ký tự bắt đầu sau ký tự này sẽ là dữ liệu


 Binary terminator: ký tự kết thúc, khi bắt được ký tự này tức đã kết
thúc khung truyền
 Lựa chọn số lượng các cổng nhận tương ứng với từng kiểu dữ liệu
 Sample time: khoảng thời gian mỗi lần nhận dữ liệu
1.1.9 Uart Tx

- Chế độ kín: CPU sẽ đợi cho đến khi tất cả các byte được truyền đi rồi sau
đó mới thực hiện khối khác
- Chế độ hở: sau khi gửi dữ liệu truyền CPU sẽ không đợi mà thực thi các
khối các việc truyền dữ liệu sẽ được giao cho chế độ DMA ( dữ liệu được
lưu vào bộ nhớ đệm sau đó truyền đi vì vậy nên dữ liệu sẽ không bị mất
đi)
- Các thiết lập của khối



Uart module: cần lựa chọn bộ uart giống với bộ đã chọn tại khối
uart setup
 Transfer: chọn chế độ truyền
 Packet mode: chọn bộ mã truyền nhận (trong đề tài sử dụng binary)
 Binary header: ký tự bắt đầu, dữ liệu gửi đi sẽ được bao gồm ký tự
này ở đầu khung truyền
 Binary terminator: ký tự kết thúc, ký tự này được thêm vào khi kết
thúc khung truyền



 Lựa chọn số lượng các cổng truyền và kiểu dữ liệu tương ứng
 Sample time: khoảng thời gian truyền dữ liệu
1.1.10 Timer IRQ

- Khi cần sử dụng chế độ ngắt timer cần thêm khối này vào mơ hình, đầu ra
của khối sẽ được nối vào 1 subsystem với lệnh gọi là 1 function call, khi
xảy ra ngắt thì subsystem sẽ được thực thi
- Các thiết đặt của khối:
 Chế độ basic



Chế độ advance


Khối này cho phép tùy chỉnh bộ timer, mức độ ưu tiên ngắt và thời
gian xảy ra ngắt (sample time) đơn vị giây
 Khối này sử dụng thông tin thời gian ngắt được cung cấp (tính bằng

giây) để đặt các giá trị PRESCALER và AUTORELOAD của bộ
timer đã chọn để tạo ra thời gian ngắt đã đặt


1.2 Các khối sử dụng thư viện simmulink
1.2.1 Matlab function

- Khối này cho phép nhập vào các hàm tính tốn, các câu lệnh (if else,
while, for, …) giống với ngơn ngữ lập trình C và cho phép các khối
simmulink function được thực thi bằng cách gọi khối
- Khối cho phép có nhiều đầu vào và nhiều đầu ra với nhiều kiểu dữ liệu
khác nhau


1.2.2 Simmulink function

- Bên trong của khối sẽ bao gồm lệnh thực thi khối trigger port, các đầu vào
u và ngõ ra y, có thể có nhiều ngõ vào và ra

- Lệnh thực thi


- Treat as Simulink function: kích hoạt chức năng thực thi bằng tên gọi
tương tự như chương trình con trong code C
- Function name: đặt tên cho hàm, tên này sẽ được sử dụng để gọi hàm
- Function visibility: chọn phạm vi của khối toàn cục hoặc cục bộ
- Enable variant condition: điều kiện được phép thực thi hàm
- Variant control: biến điều kiện thực thi hàm nếu biến có giá trị là true thì
hàm được thực thi khi được gọi, và nếu biến có giá trị là false thì hàm sẽ
bị ẩn và khơng được tìm thấy




×