hướng dẫn chi tiết để có thể hiểu chức năng các khối của thư viện waijung và sử dụng để lập trình nhúng VDK STM, hiểu chức năng các mục trong khối, hướng dẫn chi tiết các sử dụng, sử dụng trong các ứng dụng lập trình nhúng VDK với matlab
1.1 Thư viện waijung 1.1.1 Khối target setup - Ở ứng dụng có sử dụng vi điều khiển STM32F4 cần thêm khối để: thiết lập cho vi điều khiển STM32F4, chọn kiểm soát trình biên dịch, thiết lập định thời cho hệ thống - Các thiết lập khối - Chứ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 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 nhớ Enable auto compile and dowload: cho phép tự động biên dịch nạp xuống chip Full chip erase before dowload: xóa tồn chip trước 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ỉ khuyến nghị cho người dùng nâng cao) Run application after download: chạy chương trình sau 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 thời gian 24-bit hay cịn gọi 24-bit system timer, đếm tới 16777215 số đếm, lần đếm 1/HCLK giây, đặt HCLK mức tối đa 168MHZ để đếm tới 16777215 hệ thống 0,0998 giây, thời gian lớn hệ thống tức tất tác vụ phải hoàn thành trước thời gian 1.1.2 Digital output - Được sử dụng cần đưa trạng thái logic mức cao thấp hay nhiều chân vi điều khiển - Các thiết lập khối - Khối sử dụng để tạo logic đầu số ( mức thấp mức cao ) - Có thể có nhiều khối đầu số mơ hình, để định cấu hình chân khác port giống khác - Type (push-pull/open-drain): Push-pull: tín hiệu điều khiển tín hiệu chân ngõ vật lý mức cao, tín hiệu điều khiển tín hiệu chân ngõ vật lý mức thấp Open-drain: tín hiệu điều khiển tín hiệu chân ngõ vật lý thả nổi, tín hiệu điều khiển tín hiệu chân ngõ vật lý mức thấp - Sample time: khoảng thời gian lần kiểm tra tín hiệu điều khiển đầu vào đưa tín hiệu chân ngõ vật lý, đơn vị giây - Enable custom port labels: tùy chỉnh lại tên hiển thị chân ngõ - Use global initialization: đặt phạm vi khối toàn cục 1.1.3 Digital input - Được sử dụng cần xác định trạng thái mức logic hay nhiều chân vủa vi điều khiển - Các thiết lập khối - Khối sử dụng để xác địng mức logic chân cài đặt (trên 1,2Vol mức cao, 1,2Vol mức thấp) - Có thể cài đặt trạng thái ban đầu chân mức cao (pull-up) mức thấp (pull-down) - Có thể có nhiều khối đầu vào số mơ hình, để định cấu hình chân khác port giống khác - Sample time: khoảng thời gian lần kiểm tra tín hiệu chân ngõ vào vật lý 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ị chân ngõ vào 1.1.4 Serial setup - Khi ứng dụng cần gửi liệu từ máy tính xuống vi điều khiển xử lý liệu nhận từ vi điều khiển gửi lên máy tính cần sử dụng khối để cài đặt thông số - Các thiết lập khối Port: chọn cổng com giao tiếp Baud rate: tốc độ truyền Data bits: giới hạn bit 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 lần đọc ghi liệu 1.1.5 Host serial Tx - Sử dụng khối cần gửi liệu từ máy tính xuống vi điều khiển qua giao thức Uart - Các thiết đặt khối Port: chọn cổng com giao tiếp Packet mode: lựa chọn mã truyền nhận (trong đề tài sử dụng binary) Binary header: ký tự bắt đầu sau ký tự liệu Binary terminator: ký tự kết thúc, bắt ký tự tức kết thúc khung truyền Lựa chọn số lượng cổng nhận tương ứng với kiểu liệu Sample time: khoảng thời gian lần nhận liệu 1.1.6 Host serial Rx - Chế độ kín (blocking): máy đợi nhận đầy đủ liệu sau khỏi khối làm việc khác - Chế độ hở (non-blocking): có liệu gửi từ vi điều khiển lên máy tính liệu lưu vào nhớ đệm chế độ DMA sau chờ xử lý - Sử dụng khối cần xử lý liệu nhận từ vi điều khiển gửi lên qua giao thức Uart - Các thiết lập khối Port: chọn cổng com giao tiếp Transfer: chọn chế độ hoạt động blocking non-blocking Wait time-out (seconds): Lựa chọn số lượng cổng truyền kiểu liệu tương ứng Sample time: khoảng thời gian truyền liệu 1.1.10 Timer IRQ - Khi cần sử dụng chế độ ngắt timer cần thêm khối vào mơ hình, đầu khối nối vào subsystem với lệnh gọi function call, xảy ngắt subsystem thực thi - Các thiết đặt khối: Chế độ basic Chế độ advance Khối cho phép tùy chỉnh timer, mức độ ưu tiên ngắt thời gian xảy ngắt (sample time) đơn vị giây Khối sử dụng thông tin thời gian ngắt cung cấp (tính giây) để đặt giá trị PRESCALER AUTORELOAD timer chọn để tạo 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 cho phép nhập vào hàm tính tốn, câu lệnh (if else, while, for, …) giống với ngôn ngữ lập trình C cho phép khối simmulink function thực thi cách gọi khối - Khối cho phép có nhiều đầu vào nhiều đầu với nhiều kiểu liệu khác 1.2.2 Simmulink function - Bên khối bao gồm lệnh thực thi khối trigger port, đầu vào u ngõ y, có nhiều ngõ vào - Lệnh thực thi - Treat as Simulink function: kích hoạt chức thực thi tên gọi tương tự chương trình code C - Function name: đặt tên cho hàm, tên sử dụng để gọi hàm - Function visibility: chọn phạm vi khối toàn cục cục - Enable variant condition: điều kiện phép thực thi hàm - Variant control: biến điều kiện thực thi hàm biến có giá trị true hàm thực thi gọi, biến có giá trị false hàm bị ẩn khơng tìm thấy