4

Click here to load reader

Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC

  • Upload
    pvdai

  • View
    190

  • Download
    0

Embed Size (px)

DESCRIPTION

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC Integration of control algorithms on FPGA in the direction of SOCLê Bá Dũng, Bùi Thị Thanh Quyên Viện Công nghệ Thông tin, Viện KH&CN Việt nam e-Mail: [email protected] Tóm tắtBài báo trình bầy phương pháp tích hợp các thuật toán điều khiển như PID, Fuzzy, thích nghi…vào chip FPGA. Ở đây các quá trình đo, phần mềm xử lý, các bộ Vi xử lý, các thuật toán điều khiển… được tích

Citation preview

Page 1: Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC

Integration of control algorithms on FPGA in the direction of SOC

Lê Bá Dũng, Bùi Thị Thanh Quyên

Viện Công nghệ Thông tin, Viện KH&CN Việt nam

e-Mail: [email protected]

Tóm tắt Bài báo trình bầy phương pháp tích hợp các thuật toán

điều khiển như PID, Fuzzy, thích nghi…vào chip

FPGA. Ở đây các quá trình đo, phần mềm xử lý, các

bộ Vi xử lý, các thuật toán điều khiển… được tích

hợp vào một file và được nạp vào FPGA theo hướng

SOC (System On Chip).

Abstract: The article presents the method of integration of

control algorithms such as PID, Fuzzy, adapted ... the

FPGA chip. Here the process of measuring,

processing software, the microprocessor, the control

algorithms ... integrated into a file and loaded into the

FPGA in the direction of SOC (System On Chip).

Ký hiệu Ký hiệu Đơn vị Ý nghĩa

yd(t) Giá trị đặt, giá trị cần

yp(t) Tín hiệu ra của hệ thống

điều khiển

e(t) Sai lệch điều khiển=yd(t)-

yp(t)

de(t) Đạo hàm của sai lệch điều

khiển

u(t) Tác động điều khiển

Chữ viết tắt SOC System on chip

VHDL Very High speed intergrated circuit

Hardware Description Language

FPGA Field Programmable Gate Array

PIC Programmable Intelligent Computer

1. Mở đầu Xây dựng và thiết kế các thiết bị điều khiển chứa

đựng tất cả các thành phần đo, xử lý số, các thuật toán

điều khiển.… được tích hợp vào một file và sau đó

nạp vào FPGA là một trong những nội dung nghiên

cứu, phát triển trong nhũng năm gần đây. Trên thị

trường, như đã thấy có rất nhiều thiết bị với kích cỡ

rất nhỏ nhưng chứa đựng rất nhiều các thành phần, ví

dụ các thiết bị di động bao gồm rất nhiều chức năng

thu, phát, xử lý cuộc gọi, soạn thảo văn bản…các

thành phần của thiết bị được tích hợp trên một chip,

đã thu nhỏ đáng kể thiết bị về mặt vật lý và hơn thế

nữa các thiết bị đó còn mang tính thông minh cao rất

phù hợp cho các dịch vụ đa phương tiện. Bài báo trình

bầy phương pháp tích hợp các thành phần đo, xử lý

số, các thuật điều khiển, các bộ Vi xử lý… vào một

chip FPGA. Nộ dung của bài báo được trình bầy theo:

i) Phần mở đầu, ii) Tiếp cận hệ thống, iii) Xây dựng,

thiết kế các hệ thống thử nghiệm đo và điều khiển trên

công nghệ FPGA và phần iv) Kết luận

2. Tiếp cận hệ thống Các hệ thống đo lường, xử lý số liệu và điều khiển

bao gồm rất nhiều thành phần. Việc tích hợp các

thành phân của hệ thống điều khiển vào một file cần

phải được thực hiện theo những yêu cầu nhất định và

theo những trình tự nhất định.

2.1 Thiết kế các Vi điều khiển theo VHDL

Nói chung từ trước đến nay chúng ta thường làm

quyen với các bộ Vi xử lý cứng: Bộ vi xử lý ARM, bộ

vi xử lý 8051… viếc thiết kế các thiết bị đo, điều

khiển thường xuất phát từ các bộ Vi xử lý có sẵn như

vậy. Tuy nhiên bên cạnh các bộ Vi xử lý có sẵn chúng

ta còn thấy tồn tại các bộ Vi xử lý mềm (soft core)

được viết trên ngôn ngữ VHDL vi dụ trên H. 1 là cấu

trúc của bộ vi xử lý PIC. Microchip PIC xây dựng

trên FPGA bằng ngôn ngữ VHDL thực hiện mạch

logic tổ hợp có chức năng giống như các tính năng

của một con chip PIC của hãng Microchip. Thiết kế

bao gồm bốn thực thể là PIC, Prom, Dram, và Core.

Thực thể PIC là thực thể ở mức cao nhất (top level)

bao chứa các thực thể còn lại. Các thực thể này được

thực hiện trong các tệp tin có tên tương ứng với tên

của thực thể và có đuôi là .vhd. H. 1 mô tả sơ đồ phân

cấp thực thể của thiết kế.

2.2 Thực thể PIC, Core, Prom, Dram

Thực thể PIC được khai báo theo cấu trúc của VHDL,

trong thực thể này khai báo có chứa các thực thể còn

lại của hệ thống.

Các thực thể của lớp dưới là Core, Dram, Prom được

tích hợp trong thực thể PIC và có dạng tổng thể trên

H.2. Việc xây dựng các file .vhd ở trên cần phải được

nghiên cứu tỷ mỷ, phải thử nghiệm nhiều lần với các

tình huống khác nhau, thể hiện đầy đủ các chức năng

của bộ Vi điều khiển.

PIC.vhd

Prom.vhd Dram.vhd Core.vhd

H.2 Sơ đồ phân cấp thực thể

102

Page 2: Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

H.2 Sơ đồ tích hợp các thực thể

3. Xây dựng, thiết kế các hệ thống thử

nghiệm đo và điều khiển trên công

nghệ FPGA theo hướng SOC Sau khi đã xây dựng được các thành phần của bộ Vi

điều khiển mềm, chúng ta có thể thiết kế các hệ thống

đo và xử lý số liệu và điều khiển

3.1 Hệ thống tích hợp đa tác vụ thời gian thực trên

công nghệ FPGA

Ngày nay các hệ tác nghiệp trên các hệ nhúng cũng

được thiết kế để xử lý đa tác vụ [1,2,3]. Các hệ tác

nghiệp xử lý đa tác vụ là phần mềm điều khiển

chuyên dụng thường được dùng trong những ứng

dụng điện toán nhúng có tài nguyên bộ nhớ hạn chế

và yêu cầu ngặt nghèo về thời gian đáp ứng tức thời,

tính sẵn sàng cao và khả năng tự kiểm soát một cách

chính xác. Để đáp ứng các yêu cầu đó cũng như tích

hợp vào FPGA, các Modules thực thể của bộ Vi điều

khiển cần có để nhúng vào FPGA bao gồm:

Modul thực thể chia tần

Module thực thể Vi điều khiển

Module thực thể DRAM

Module thực thể chương trình đa tác vụ

Tuỳ theo thiết kế, các Modules này có thể viết trên

VHDL, verlog, hoặc viết trên C… Trong hệ thí

nghiệm này chúng tôi sử dụng 2 ngôn ngữ là VHDL

và C.

3.1.1 Thiết kế chương trình điều khiển đa tác vụ.

Trên Hình 3 miêu tả sơ đồ thuật toán cho hệ thống xử

lý đa tác vụ

Bắt Đầu

Khởi tạo Salvo và LCD cùng các

thanh ghi

Tạo các TASK

Định thời các TASK

Chạy TASK thích hợp

H.3 Sơ đồ thuật toán

Sơ đồ được cài đặt như sau:

void main( void )

{ //Cấu hình choTIMER)

//Chấp nhận ngắt TIMER0

……

// Chấp nhận ngắt

……….

// Tạo TASK 1

………….

// Định thời

}

3.1.2 Ứng dụng hệ đa tác nghiệp cho điều khiển

một nút giao thông

Để xây dựng một hệ xử lý đa tác vụ cho điều khiển

các đèn xanh đỏ và bộ đếm ….cho một nút giao

thông, chúng tôi thực hiên như sau:

Mỗi một hướng đi là một tác vụ cho thực hiện

các công việc.

Bật đèn xanh hay đỏ.

Thực hiệm đếm lùi theo một khoảng thời

gian nhất định cho thời gian đợi hay thời gian

được phép đi.

Mỗi một nút giao thông có thể có đến 5 tác vụ.

Khả năng thực hiện số lượng lớn các tác vụ phụ

thuộc vào thời gian xử lý của bộ Vi điều khiển.

Trên H. 4. cho kết quả thử nghiêm nhúng hệ xử lý đa

tác vụ vào FPGA chạy trên KIT spartan 3E. Sơ đồ

thuật toán cho một tác vụ trên H.6

H.4 Mô phỏng kết quả thực hiện hai tác vụ trên KIT

FPGA.

3.2 Thiết kế hệ điều khiển mờ cho điều khiển nhiệt

độ trên công nghệ FPGA.

Sơ đồ thiết kế hệ điều khiển mờ được thể hiện trên

H.5

H.5 Sơ dồ khối bộ điều khiển mờ

Theo H 5 các thành phần của bộ điều khiển mờ gồm:

Hệ số tỷ lệ đầu vào

Quá trình mờ hoá

Suy diễn mờ trên cơ sở hệ luật

Giải mờ

Hệ số tỷ lệ đầu ra

103

Page 3: Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Đặt con trỏ của LCD về đầu

dòng

BLUE_1=48?

Xuát chuỗi ký tự ra

màn hìnhXuất chuỗi ký tự ra

màn hình

Chuyển đổi hàng đơn

vị và hàng chục của

RED_1 thành mã

ASCII

Xuất RED_1 ra màn

hình

RED_1=0?

Giảm BLUE_1 đi một

TRỄ 1s

Chuyển hàng đơn vị và

hàng chục của

BLUE_1 thành má

ASCII

Xuất BLUE_1 ra màn

hinh

BLUE_1=0?

Giảm RED_1 đi mộtBLUE_1=48

RED_1=32Giảm BLUE_1 đi một

Bắt Đầu

Đúng Sai

SaiĐúng SaiĐúng

H.6 Sơ đồ thuật toán cho một tác vụ

Trên H.7 là sơ đồ của bộ điều khiển mờ sử dụng

FPGA.

H.7 Sơ đồ thiết kế bộ điều khiển mờ sử dụng công nghệ

FPGA

Hệ luật của bộ điều khiển mờ được xây dựng theo

bảng 1. Từ bảng 1 các tín hiêu vào được biểu diễn cho

nhiệt độ đo được và được mờ hoá bởi NB (Negative

big), NS (Negative small), Z (zero), PB (Positive

big), PS (Positive small). Hệ luật điều khiển mờ được

biểu diễn dưới dạng bảng 1 trong đó e là sai lệch điều

khiển giữa nhiệt độ đo được với nhiệt độ đặt, de là tốc

độ thay đổi của sai lệch điều khiển và u là tác động

điều khiển thể hiện ở thời điểm thứ k và luật thứ i có

dạng:

Ri: if e is NB and de is PS then u is PS

Bảng 1 Hệ luật cho bộ điều khiển mờ

H.8 Ma trận suy diễn của bộ điều khiển mờ

104

Page 4: Tích hợp các thuật toán điều khiển trên FPGA theo hướng SOC

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

H,8 là sơ đồ lắp đặt hệ thống điều khiển.

H.9 Sơ đồ thiết kế phần cứng

Trên H.10 là kết quả của hệ điều khiển mờ cho nhiệt

độ thử nghiệm trên công nghệ FPGA.

H.10 Kêt quả thử nghiệm cho điều khiển nhiệt độ sử dụng

công nghệ FPGA

4. Kết luận Bài báo trình bầy một phương pháp thiết kế hệ đo, xử

lý và điều khiển tích hợp vào công nghệ FPGA. Đây

là một hướng nghiên cứu mới, rất có ý nghĩa trong đo

lường và điều khiển. Nó cho phép khai thác được thế

mạnh của kỹ thuật lập trình và phần cứng của công

nghệ. Tác giả xin chân thành cảm ơn các đề tài “Hệ

thử nghiệm đo và giám sát quá trình qua Internet sử

dụng FPGA” và “Nghiên cứu xây dựng hệ thống tích

hợp đa dịch vụ trên nền mạng di động không dây

băng thông rộng WiMAX 4G ” đã cổ vũ, hỗ trợ kinh

phí để thực hiện có kết quả quá trình nghiên cứu.

Tài liệu tham khảo [1] Lê Bá Dũng. Bộ vi diều khiển PIC16F84 và

phần mềm tác nghiệp thời gian thực cho thu

thập xử lý dữ liệu và điều khiển. Tạp chí Khoa

học công nghệ (6 trường ĐH) số 44-45 tr. 32-36

[2] Le Ba Dung, Bui Nguyen Dai: A real time

multitasking operating software based on IBM

PC for data acquisition, processing and control.

The Sixth National Conference on Automation

VICA 6, Hà nội, 2005.

[3] Lê Bá Dũng, Bùi Nguyên Đại, Trần Thế Hoàng.

Xây dựng hệ thống nhúng đa nhiệm và thiết kế

máy tính đơn Board với vi xử lý Intel x86.

Tuyển tập Hội thảo CNTT, Hải phòng, 2005

[4] Lê Bá Dũng, Báo cáo đề tài “Thiết kế Bộ xử lý

chuyên dụng cho đo lường và điều khiển”. Viện

KH&CN Việt nam 2009

L.B.Dũng tốt nghiệp Đại học

CVUT Praha năm 1974 và

Ph.D tại Viện CNTT Viện

KHCN Việt nam năm 1996.

Năm 1986-1987 Cộng tác viên

KH tại Viện Lý thuyết thông

tin và tự động hoá, Viện Hàn

lâm KH Tiệp khắc. Năm 1989-

1990 Công tác viên KH tại Viện KFKI, Viện hàn lâm

KH Hungary. Các vấn đề lĩnh vực KH quan tâm hiện

nay là xây dựng các hệ thông minh từ dữ liệu, các hệ

mờ, nơ ron và giải thuật di truyền, các Công nghệ

FPGA và hướng SOC.

T. T. Quyen Bui received her

B.S. and M.S. degrees in Hanoi

University of Technology,

Vietnam, in 2001 and 2006,

respectively. She is currently a

Ph.D. program student in the

School of Mechanical

Engineering, Pusan National University, Korea. Her

research interests include robotics, vision systems,

and navigation of autonomous vehicles.

105