Mỗi thành phần đó là một trang web nhỏ,
được tải vào các khung trên giao diện trang
web chính. Nội dung toàn bộ các trang web
và ảnh liên quan lưu trong thư mục httpd của
web server:
- Tệp index.html: trang web chính, cung cấp
giao diện người dùng đầy đủ các chức năng.
Thư mục html: chứa các trang web nhỏ, bao
gồm control.html-giao diện điều khiển thiết
bị, dummy.html- giao diện giả,
temperature.html- giao diện nhiệt độ hệ
thống.
- Thư mục cgi-bin: chứa các tệp thực thi,
control.cgi- điều khiển các thiết bị.
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 qua hệ thống mạng. Hệ thống này
được ứng dụng cho giám sát tòa nhà thông
minh từ xa qua mạng Internet. Đâ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 và xây dựng và thiết
kế các hệ nhúng. Tiếp cận trên cho phép khai
thác được thế mạnh của kỹ thuật lập trình
(đưa được trí tuệ của con người vào hệ thống)
và phần cứng của công nghệ
6 trang |
Chia sẻ: thucuc2301 | Lượt xem: 621 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Tích hợp dịch vụ đo và kiểm soát từ xa sử dụng FPGA - Đào Ngọc Tôn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96
91
TÍCH HỢP DỊCH VỤ ĐO VÀ KIỂM SOÁT TỪ XA SỬ DỤNG FPGA
Đào Ngọc Tôn1, Nguyễn Phương Huy1, Nguyễn Thanh Hà2*
1Trường Đại học Kỹ thuật Công nghiệp - ĐH Thái Nguyên
2Đại học Thái Nguyên
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 đo và điều khiển vào chip FPGA cho đo và
giám sát tòa nhà thông minh qua mạng máy tính. Ở đâ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).
Từ khóa: FPGA, SOC, nhà thông minh
MỞ ĐẦU*
Trong những năm gần đây, công nghệ mạng
đã có những bước phát triển vượt bậc. Trong
tương lai rất gần, các dịch vụ truyền tin, điều
khiển, giám sát sẽ được tích hợp trên nền
mạng Internet.
Hệ thống giám sát và điều khiển từ xa qua
Ethernet dùng FPGA là một hệ thống số hoàn
chỉnh trên FPGA bao gồm các IP logic (hay
các khối logic) tự thiết kế, các IP cung cấp
sẵn, lõi Vi xử lý mềm MicroBlaze [5,8] cùng
với các hệ điều hành khác. Sau khi hoàn
chỉnh, hệ thống sẽ cần xử lý một khối lượng
công việc khá lớn như tổng hợp, thu thập dữ
liệu, giám sát và xử lý tệp sau đó truyền đi
qua giao thức TCP/IP với sự hỗ trợ của các hệ
điều hành [1,5,6]. Bên cạnh đó là việc nhận
và xử lý các tín hiệu điều khiển thiết bị của
người dùng từ phía giao diện web. Để giải
quyết những công việc như vậy, khối logic
xây dựng với mã VHDL đóng vai trò là một
IP logic trong hệ nhúng với vi xử lý
MicroBlaze. Tất cả việc xử lý, sự kiện điều
khiển, truyền trang web được xây dựng trên
hệ điều hành khác nhau...
Việc tích hợp các thiết bị trong một môi
trường hỗn hợp đa phương tiện cho phép xử
lý các thông tin hợp nhất (âm thanh, hình ảnh,
số liệu) áp dụng trong một phạm vi rất rộng
lớn như thông tin gia dụng, các ứng dụng hiện
trường, điều khiển công nghiệp đã và đang có
yêu cầu lớn. Từ các ngành cơ khí, hoá chất,
năng lượng cho đến các thiết bị di động
*
Tel: 0913 073591, Email: nguyenthanhha@tnut.edu.vn
nhỏ gọn với tính năng thông minh rất cao là
minh chứng cho thấy các công nghệ, đặc biệt
là các công nghệ cao ngày càng đáp ứng đầy
đủ các yêu cầu khắt khe của con người
[1,2,4,5].
Trong bài báo này, các tác giả trình bày một
phương pháp tích hợp các thuật toán đo và
điều khiển vào chip FPGA ứng dụng trong
việc đo lường và giám sát tòa nhà thông minh
qua mạng máy tính. Bài báo bao gồm các
phần: i) Mở đầu, ii) Phân tích hệ thống, iii)
Các công cụ phát triển, iv) Hệ nhúng với
MicroBlaze và các hệ điều hành trên FPGA, v)
Thiết kế hệ thống và ứng dụng, vi) Kết luận.
PHÂN TÍCH HỆ THỐNG
Nhu cầu quản lý tòa nhà thông minh
Một hệ thống nhà thông minh phải có các hệ
thống An ninh- An toàn, Chiếu sáng, Điều
khiển nhiệt độ - Quản lý năng lượng, hệ thống
âm thanh, Video - Camera giám sát, Chuông
cửa có hình, Rèm tự động, Bơm bể bơi, Bơm
tưới, và các hệ thống khác theo yêu cầu. Để
điều khiển hệ thống trên thì chi phí vận hành
các máy móc thiết bị cao và dường như đã
vượt quá tầm kiểm soát. Chịu ảnh hưởng từ
những tác động của việc tăng chi phí sử dụng
năng lượng, các yêu cầu về thân thiện với môi
trường, thiết bị và nhân lực làm việc với hiệu
suất thấp, các nhà quản lý đang tìm kiếm các
giải pháp có thể giúp họ quản lý và vận hành
các máy móc thiết bị một cách tiết kiệm và
hiệu quả nhất [3,4].
Các thiết bị, hệ thống cần quản lý
Các thiết bị, hệ thống cần quản lý được mô tả
trong hình 1 bao gồm:
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96
92
- Hệ thống điều khiển nhiệt độ, quản lý
năng lượng
- Hệ thống điều khiển chiếu sáng
- Hệ thống âm thanh
- Hệ thống camera giám sát
- Hệ thống an ninh
- Hệ thống điện thoại
- Hệ thống tưới vườn tự động và điều khiển
rèm cửa
- Hệ thống bể bơi và spa
- Truy cập và điều khiển từ Internet
Hình 1. Hệ thống quản lý tòa nhà thông minh
Hệ thống được xây dựng với hai chức năng
chính là giám sát và điều khiển tòa nhà từ xa
qua Internet. Sau khi phân tích các điều kiện
khả thi và các chức năng của hệ thống một
cách chi tiết, hệ thống được xây dựng dựa
trên nền tảng thiết kế logic trên FPGA với các
chức năng như sau:
- Cung cấp dịch vụ Web server.
- Điều khiển các thiết bị điện qua giao diện
web, các thiết bị này có thể kết nối trực tiếp
tới hệ thống qua dây hoặc không dây.
- Giao tiếp các cảm biến để cho phép theo dõi
được nhiệt độ nơi cần giám sát.
- Có khả năng mở rộng thêm với các chức
năng khác cho hệ thống.
Bên cạnh các yêu cầu chức năng của hệ thống
là các yêu cầu về tính hiệu năng của hệ
thống, môi trường hoạt động, các yêu cầu
về bảo mật
CÁC CÔNG CỤ PHÁT TRIỂN
Chip FPGA dùng để phát triển hệ thống được
trình bày trong bài báo này là chip của hãng
Xilinx cung cấp, do đó toàn bộ môi trường
phát triển và công cụ phát triển hệ thống
logic trên FPGA là phần mềm của hãng
Xilinx, bao gồm:
- Xilinx EDK (Embedded Development Kit):
Công cụ phát triển hệ thống nhúng trên FPGA.
Công cụ này được coi là công cụ thiết kế và
phát triển hệ thống logic trên FPGA, cho phép
cung cấp một hệ vi xử lý hoàn chỉnh trên
FPGA gồm các IP logic và vi xử lý.
- Xilinx ISE (Integrated Software
Environment): công cụ phần mềm môi trường
tích hợp. Công cụ này được coi là công cụ
thiết kế và phát triển các IP logic người dùng,
các IP logic này đã được định nghĩa khi đưa
ra thiết kế hệ thống logic với Xilinx EDK.
Bên cạnh đó, quá trình thiết kế và phát triển
các IP logic đòi hỏi công cụ mô phỏng logic
để kiểm tra các đặc tính, dạng sóng của tín
hiệu vào ra của khối logic đang được phát
triển có đúng theo đặc tả thiết kế hay không.
Trong bài báo này, công cụ mô phỏng được
sử dụng là phần mềm ModelSimXE.
Một công cụ quan trọng được sử dụng trong
đề tài là công cụ phát triển phần mềm nhúng
uClinux-PetaLinux của hãng PetaLogix, cũng
như các hệ điều hành khác. Công cụ này cho
phép nhúng hệ điều hành lên trên nền tảng
phần cứng đã xây dựng trên FPGA, điều
khiển toàn bộ hoạt động của hệ thống và cung
cấp các phần mềm ứng dụng dựa trên chức
năng mong muốn của hệ thống.
Công cụ cuối cùng dùng trong đề tài là phần
mềm thiết kế mạch Orcad của hãng Calence.
Công cụ này cho phép thiết kế các mạch mở
rộng cho chip FPGA giúp kết nối hệ thống
logic trên chip FPGA với các thiết bị bên
ngoài theo yêu cầu chức năng của hệ thống
HỆ NHÚNG VỚI MICROBLAZE VÀ CÁC
HỆ ĐIỀU HÀNH TRÊN FPGA
Một hệ thống FPGA hoàn chỉnh là một hệ
thống logic bao gồm nhiều IP logic, tuy nhiên
để kết hợp và điều khiển các IP đó với nhau
tạo thành một hệ thống có chức năng mong
muốn lại đòi hỏi cần có một Vi điều khiển
trung tâm và phần mềm nhúng. Chương này
sẽ trình bày về hai thành phần quan trọng
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96
93
trong hệ thống để thực hiện công việc này, đó
là Vi điều khiển MicroBlaze - Vi điều khiển
mềm của Xilinx và bộ công cụ nhúng hệ
điều hành.
Vi xử lý MicroBlaze
Vi xử lý MicroBlazeTM là một hệ Vi điều
khiển RISC, dạng lõi vi xử lý mềm, được
thiết kế tối ưu cho chip FPGA của Xilinx®. Sơ
đồ khối chức năng của lõi MicroBlaze được
biểu diễn trên hình 2.
Hình 2. Sơ đồ khối chức năng của MicroBlaze
MicroBlaze có cấu trúc tương tự như các Vi
điều khiển RISC 32 bit thông thường, bao
gồm các khối chức năng chính như: ALU,
giải mã lệnh, các thanh ghi đặc biệt, tệp thanh
ghi, bộ đếm chương trình, bus lệnh và bus địa
chỉ. Bên cạnh những khối chức năng cố định
thì với đặc tính mềm, MicroBlaze cho phép
tùy chọn các khối chức năng: đệm lệnh, đệm
dữ liệu, bộ nhân, bộ chia, bộ dịch, bộ xử lý
dấu phẩy động FPU. Điều này cho phép cấu
hình linh động MicroBlaze theo các thiết kế
có yêu cầu, đặc trưng riêng. Quá trình xử lý
lệnh theo kiến trúc đường ống, hầu hết các
lệnh của nó thực hiện trong một chu kỳ đồng
hồ. Quá trình xử lý lệnh được chia làm 3 giai
đoạn: nhận lệnh (Fetch), giải mã lệnh
(Decode), thi hành lệnh (Execute).
Phát triển trình điều khiển trên các lõi hệ
điều hành
Để ứng dụng của hệ điều hành có thể giao
tiếp với các thiết bị phần cứng, cần có một
tầng ứng dụng trung gian giữa ứng dụng của
hệ điều hành và các thiết bị gọi là trình điều
khiển, nó có nhiệm vụ xây dựng các API mức
cao giao tiếp với ứng dụng trên hệ điều hành
và chuyển thành các lệnh giao tiếp bậc thấp
dạng vào ra cơ sở cho các thiết bị phần cứng.
Vì uClinux tuân theo các quy ước của Unix,
mọi thứ được thực hiện qua tệp. Do đó phần
cứng được địa chỉ hóa qua một tệp có liên
quan đến thiết bị gọi là tệp thiết bị. Có ba loại
trình điều khiển thông dụng tương ứng cho ba
loại thiết bị thông dụng:
- Trình điều khiển ký tự (character drivers):
điều khiển thiết bị dòng dữ liệu mà chỉ có thể
được truy cập một cách tuần tự, và các trình
điều khiển truy cập các thiết bị này thông qua
tệp thiết bị như “dev/ttyS0” dành cho trình
điều điều khiển cổng com.
- Trình điều khiển khối (block drivers): truy
cập các khối dữ liệu, chúng cho phép truy cập
ngẫu nhiên, truy cập qua bộ đệm hệ thống, và
truy cập qua tệp thiết bị như “/dev/hda” dành
cho trình điều khiển ổ cứng.
- Trình điều khiển mạng (network drivers):
điều khiển thiết bị hướng gói tin. Các thiết bị
này nhận và truyền các gói tin cũng như truy
cập qua các dịch vụ mạng. Thiết bị mạng truy
cập thông qua định danh duy nhất, như “eth0”.
THIẾT KẾ HỆ THỐNG
Quy trình thiết kế hệ thống
Dựa trên quy trình thiết kế của Xilinx, quy
trình thiết kế VHDL, quy trình thiết kế hệ
nhúng. Trình tự thiết kế cho hệ thống được
chỉ ra trên hình 3 bao gồm.
(1) Xây dựng hệ thống logic - nền tảng phần
cứng của hệ thống, công việc này được thực
hiện trên công cụ Xilinx EDK.
(2) Thiết kế phần mềm nhúng cho hệ thống
bằng công cụ uClinux-Petalinux đã trình bày
trong phần 3
Thiết kế mạch mở rộng cho hệ thống
Hình 3. Quy trình thiết kế hệ thống
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96
94
Hình 4. Sơ đồ khối nền tảng phần cứng
Một hệ thống hoàn chỉnh sẽ bao gồm: nền
tảng phần cứng- hệ thống logic bao gồm các
IP logic cùng vi xử lý hợp thành hệ vi xử lý
nằm trên chip FPGA, hệ điều hành- hệ thống
tệp thực thi điều khiển toàn bộ hệ thống logic,
các mạch mở rộng phụ trợ cho chip FPGA kết
nối tới thiết bị bên ngoài. Cuối cùng, nạp tệp
cấu hình, tệp thực thi xuống FPGA và kết nối
các mạch mở rộng cho hệ thống, có sản phẩm là
một hệ thống logic có chức năng mong muốn.
Sơ đồ khối phần cứng
Hệ thống phần cứng xây dựng trong bài báo
là một hệ Vi điều khiển hoàn chỉnh bao gồm
CPU, RAM, ROM, các khối logic. Mỗi khối
logic đều có chức năng riêng biệt đảm bảo
cung cấp đầy đủ các chức năng riêng rẽ cho
hệ thống, bên cạnh những khối logic dùng sẵn
là các khối logic xây dựng mới bao gồm:
- Vi xử lý MicroBlaze
- Khối điều khiển DDR SDRAM
- Khối điều khiển FLASH ROM
- Khối Ethernet MAC
- Khối UART
- Khối bộ định thời
- Khối điều khiển ngắt
- Khối điều khiển GPIO
Các khối giao tiếp cảm biến
Toàn bộ hệ các khối logic trong hệ thống giao
tiếp với vi xử lí qua bus PLB, đóng vai trò là
tuyến kết nối dữ liệu, tín hiệu điều khiển, tín
hiệu địa chỉ cho toàn bộ nền tảng phần cứng
của hệ thống.
Thử nghiệm hệ thống đo và giám sát qua
internet trên FPGA
Các hệ thống đo và giám sát trên cơ sở mạng
internet đang ngày một gia tăng trong tất cả
các lĩnh vực của đời sống. Việc lựa chọn công
nghệ sao cho hợp lý, giảm chi phí và có thể
thiết lập được nhiều chức năng là một trong
những yêu cầu cần thiết. Các thiết bị đo lường
và điều khiển cho hệ thống tòa nhà khi kết nối
vào FPGA được thực hiện trên cơ sở môi
trường phát triển của KIT Spartan 3E. Các kết
nối vào/ra có thể thực hiện trên:
- Các chân J1, J2, J3,
- 100 chân (100 pins Hirose) trên hình 5
Hình 5. Các giao tiếp với các thiết bị ngoài với
KIT Spartan 3E
Thiết kế phần mềm
Toàn bộ phần mềm của hệ thống xây dựng
trên môi trường hệ điều hành uClinux-
petalinux. Đây là hệ điều hành đa tác vụ, do
đó khi xây dựng các phần mềm ứng dụng,
người dùng không gặp nhiều khó khăn về
việc chia sẻ tài nguyên hệ thống cũng như khả
năng xử lý công việc phức tạp của các module
chương trình. Từ chương trình lõi là hệ điều
hành khác hoặc uClinux, các module phần
mềm ứng dụng sẽ được gọi và xử lý. Phần
mềm của hệ thống bao gồm các module như
sLõi uClinux hay hệ điều hành khác: chương
trình lõi hệ điều hành Linux, chạy cùng thống
từ khi cấp điện và nạp cấu hình cho FPGA.
- Web server: chương trình phục vụ web,
cung cấp giao diện người dùng qua trang web
nhúng trên tệp hệ thống của hệ điều hành.
- Điều khiển thiết bị: chương trình điều khiển
bật, tắt các thíết bị kết nối tới hệ thống qua
mạch điều khiển.
- Giao tiếp DS1820: chương trình giao tiếp
với cảm biến
Giao diện người dùng
Giao diện người dùng là một trang web chính,
nội dung trang web chính bao gồm các thành
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96
95
phần chức năng của hệ thống: khung ảnh
MJPEG chứa hình ảnh khu vực cần quan sát,
bộ nút điều khiển hướng chuyển động
camera, bộ bật tắt thiết bị, text box hiển thị
thời gian và nhiệt độ.
Hình 6: Các module chương trình thiết kế
trên uClinux
Hình 7. Giao diện người dùng của hệ thống
Mỗi thành phần đó là một trang web nhỏ,
được tải vào các khung trên giao diện trang
web chính. Nội dung toàn bộ các trang web
và ảnh liên quan lưu trong thư mục httpd của
web server:
- Tệp index.html: trang web chính, cung cấp
giao diện người dùng đầy đủ các chức năng.
Thư mục html: chứa các trang web nhỏ, bao
gồm control.html-giao diện điều khiển thiết
bị, dummy.html- giao diện giả,
temperature.html- giao diện nhiệt độ hệ
thống.
- Thư mục cgi-bin: chứa các tệp thực thi,
control.cgi- điều khiển các thiết bị.
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 qua hệ thống mạng. Hệ thống này
được ứng dụng cho giám sát tòa nhà thông
minh từ xa qua mạng Internet. Đâ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 và xây dựng và thiết
kế các hệ nhúng. Tiếp cận trên cho phép khai
thác được thế mạnh của kỹ thuật lập trình
(đưa được trí tuệ của con người vào hệ thống)
và phần cứng của công nghệ
TÀI LIỆU THAM KHẢO
[1]. 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.
[2]. 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.
[3]. Hệ thống quản lý tòa nhà (IBMS). Nguồn:
[4]. Nguyễn Thanh Hà, Hệ thống báo cháy tòa nhà
thông qua mạng điện thoại, Tạp chí KHCN 52(4) -
Đại học Thái nguyên tháng 4 - 2009 - Tr 38-40
[5]. Mentor Graphics Corporation (2007,
September). ModelSim Tutorial [Online].
Available:
[6]. Xilinx (2008, September 18). EDK Concepts,
Tools, and Techniques [Online]. Available:
[7]. Xilinx (2008, September 18). ISE 10.1 Quick
Start Tuorial [Online]. Available:
Xilinx (2008, July 14). MicroBlaze Processor
Reference Guide [Online]. Available:
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96
96
SUMMARY
INTEGRATING REMOTE MEASUREMENT
AND CONTROL SERVICES USING FPGA
Dao Ngoc Ton1, Nguyen Phuong Huy1, Nguyen Thanh Ha2*
1College of Technology – TNU, 2Thai Nguyen University
The article presents the method of integration of control algorithms in FPGA chip for measuring
and monitoring intelligent buildings via computer networks. Here, the process of measuring,
processing software, the microprocessor and the control algorithms ... integrated into a file and
loaded into the FPGA in the direction of SOC (System On Chip).
Key words: FPGA, SOC, Smart House
Ngày nhận bài:22/10/2012, ngày phản biện:02/11/2012, ngày duyệt đăng:10/12/2012
*
Tel: 0913 073591, Email: nguyenthanhha@tnut.edu.vn
Các file đính kèm theo tài liệu này:
- brief_36954_40537_203201316184391_4607_2052159.pdf