| FPGA và các ứng dụng nhúng |
|
|
| Người đăng: Hùng Mạnh | 20/11/2007 (Số lần xem: 5297) |
|
Từ khoá: FPGA, MCU, embedded, hệ thống nhúng Bạn đã làm quen với hệ thống nhúng (embedded system) bắt đầu từ các họ Vi điều khiển 8051 rồi đến PIC, AVR và cao hơn nữa là họ ARM, AVR32 hay pSoC. Rồi bạn tìm hiểu FPGA với một cách tiếp cận hoàn toàn khác. Vậy bao nhiêu công sức, kinh nghiệm về vi điều khiển và cả những công trình nghiên cứu của bạn bị xếp xó ? Bạn không phải lo lắng, thực ra FPGA chỉ phát huy sức mạnh của nó khi được ghép nối với vi điều khiển. Đó cũng chính là mục đích và tư tưởng thiết kế của co-design.
Co-design kết hợp năng lực về phần cứng của FPGA với ưu thế xử lý phần mềm của Vi điều khiển để tạo nên một hệ thống đầy sức mạnh. Ví dụ bạn muốn thiết kế một ứng dụng đo nhiệt độ phòng với cảm biến nhiệt có giao tiếp I2C. Nếu bạn chỉ dùng MCU thông thường không có giao tiếp I2C thì sẽ gặp rất nhiều khó khăn (Phải lập trình ngắt, bắt sườn, mức của xung,...). Còn nếu bạn chỉ sử dụng FPGA trong ứng dụng này cũng không ổn vì lúc đó bạn sẽ gặp khó khăn nhất định trong các tính toán số học. Ví dụ cảm biến đo nhiệt độ bằng đơn vị độ F, trong khi bạn muốn hiển thị độ C, mà muốn thực hiện các phép toán cộng trừ nhân chia để chuyển đổi độ F với độ C bằng FPGA là không hề đơn giản. Trong trường hợp này ta thiết kế theo phương thức co-design. FPGA phụ trách giao tiếp với cảm biến I2C và trả về các số liệu thô để MCU thực hiện các tính toán số học. Đến đây không ít người băn khoăn, tại sao không lấy một MCU có sẵn giao tiếp I2C hoặc nối một controlller I2C với MCU? Câu trả lời là nếu sau này bạn tìm thấy một cảm biến khác tốt hơn, chính xác hơn nhưng lại là giao tiếp SPI hoặc CAN, lúc đó bạn phải bỏ nhiều công sức vào đó để thay đổi thiết kế(thay một MCU khác có SPI, CAN hoặc thay controller khác) trong khi nếu sử dụng khả năng tuỳ biến phần cứng của FPGA, bạn có thể cấu hình lại giao thức I2C thành SPI hay CAN,... Tuyệt vời hơn nữa là bạn có thể lưu cấu hình của FPGA trong thẻ nhớ ngoài (MMC, compact flash) và MCU sẽ cấu hình lại FPGA ngay trong quá trình hoạt động mà bạn không cần phải nạp lại chương trình. Thậm chí nhiều FPGA còn có đặt tính cấu hình lại một phần của FPGA trong khi các phần khác vẫn hoạt động mà không cần phải reset lại FPGA. Trong thực tế, bạn có thể ghép nối FPGA với MCU ngoài bằng các chân giao tiếp thông thường. Một cách khác là sử dụng MCU nhúng có sẵn trong FPGA một hoặc nhiều MCU cứng hoặc mềm). Với Altera là Nios, Nios II (MCU mềm) hay Excalibur (MCU cứng với lõi ARM922T). Còn trong các FPGA của Xilinx là Picoblaze, Microblaze (MCU mềm) hay PowerPC (cứng). MCU cứng được thiết kế cứng sẵn trong FPGA, còn MCU mềm thực chất là một IP thường bằng VHDL và công cụ thiết kế sẽ triển khai IP đó xuống FPGA. Chính vì vậy MCU mềm sẽ tiêu tốn một phần tài nguyên của FPGA, nhưng bù lại nó có thể được cập nhật, thay đổi tuỳ biến theo các phiên bản khác nhau. Bạn yên tâm là các lõi MCU Nios hay Microblaze, PowerPC khá thông dụng nên bạn có thể tìm thấy các hỗ trợ khá dễ dàng, chẳng hạn bạn muốn nhét một lõi RTOS vào trong một core MCU Nios II hoặc Microblaze thì bạn có thể dễ dàng tìm thấy port cho các MCU này. Hùng Mạnh Bài viết liên quan
Bài viết khác
Bình luận
(26)
Viết bởi V.Dũng (khách), 24/11/07 21:38
Tại sao không sử dụng lõi MCU nhúng vào FPGA luôn. Lúc này FPGA trở thành tổ hợp của MCU và giao tiếp I2C hoặc CAN luôn. Tôi nghĩ đây mới là thế mạnh của FPGA. Một số core AVR, 8051, PIC đều là opencore, có thể download miễn phí trên mạng. Thay vì mất công sức tạo 1 core MCU, ta hãy sử dụng nó cho một ứng dụng có hơn không?
Viết bởi xuantung (khách), 06/12/07 16:01
nội dung này hay đấy. Bạn Hùng Mạnh viết tiếp đi để anh em còn học tập. Thanks a lot!
Viết bởi giathuyet (khách), 16/01/08 08:39
"Một vấn đề nữa là nếu cấu hình của FPGA lưu ở bộ nhớ ngoài và muốn không cần nạp lại FPGA qua JTAG thì NIOS chịu không thể làm gì được. Cái này chỉ có Microblaze hay PowerPC trong dòng Virtex của Xilinx mới làm được."
->điều này thì mình xin có ý kiến như sau, Xilĩn thì mình không dùng nhiều nhưng với Altera (NIOS) sử dụng phương pháp đó là lưu file cấu hình lên bộ nhớ FLASH, và bất cứ khi nào POWER ON file cấu hình sẽ được đọc và nạp cấu hình vào FPGA. Thân chào Ngô Gia Thuyết Viết bởi primer (khách), 03/04/08 09:35
Cho minh hoi mot van de duoc khong?
Minh bat dau nghien cuu EDK, sau khi thiet ke cac giao tiep hoan thanh thi cong viec chu yeu la phai lap trinh bang ngon ngu C cho loi MCU nhung trong FPGA phai khong?
Thanks Manh Hung!
Ban co the cho minh mot project ve truyền uart su dung edk duoc khong? Cam on rat nhieu!
email cua minh la:
Địa chỉ email này đang được bảo vệ khỏi chương trình thư rác, bạn cần bật Javascript để xem nó
Minh cam on ban truoc nhe!
Hien tai minh dang thu nghiem tren spartan3 starter kit, minh dang dung phien ban EDK 7.1i Hien nay minh dang ve FPGA, minh chu yeu viet tren VHDL. Bay gio tiep can voi he thong nhung. Ban co hay viet code vhdl khong? Neu co the, khi nao ban co thoi gian minh co the trao doi duoc khong? :)
Người ta không bao giờ so sánh FPGA với MCU vì phạm vi ứng dụng và khả năng tính toán hoàn toàn khác biệt nhau (thị trường khác nhau).
FPGA chỉ thường được so sánh với DSP mà thôi. Và lúc này, khi so sánh về năng lực tính toán và mức tiêu thụ điện năng.... FPGA tốt vẫn thua thiệt so với các dòng DSP tốt. Viết bởi Acronics (khách), 17/06/08 14:13
Anh Hùng Mạnh thân mến.
Tôi có quan tâm về lĩnh vực nhúng và hiện có kết hoạch làm một Soc có chức năng chuyển đổi giữa ATA và NANDFlash. Anh Hùng có thể cho biết email để tôi tiện liên lạc nhé. Rất mong hỗ trợ của Anh Thân Trọng Tuấn
Chao anh Hung
Toi dang su dung spartan-3e Starter Kit de thiet ke 10/100 Ethernet MAC anh co the tu van giup toi hoac tim giup toi file co the thuc hien duoc nhiem vu cua minh co duoc khong. Toi dang lam do an tot nghiep dung FPGA cua Xilinx. Cam on anh !
Hi!
Cam on anh Hung Manh. Toi cung da lay duoc nhieu file support cho thiet ke cua minh nhung chu yeu la dung cho ML40x. Toi rat ban khoan khong hieu la thiet ke dung cho ml40x thi co the ap dung nhu cho spartan 3e duoc khong. Hinh nhu spartan 3a cung co phan dung nhu sparan 3e chu khong han la chi dành cho dsp phai khong a? Toi noi that rang thoi gian danh cho do an cua toi chi con dung 1 tuan nua thoi. Rat mong nhan duoc su trao doi cua anh thuong xuyen. Tim duoc trang web nay cua anh khoi phai noi toi mung the nao dau!!! Cam on anh that nhieu
Toi cung da co file xapp942. Nhung toi doc ky ma khong thay no noi gi den viec khi thu nghiem thi co can phai thiet lap dia chi icp/ip khong. Hinh nhu trong no khong co phan webserver thi phai. Neu vay, khi thu nghiem co the ket noi internet duoc khong? Anh tra loi giup toi voi nhe.
A! toi cung co ca xapp1026 nua. Vay co su dung no duoc cho Spartan 3e starter kit khong.
cam on anh Hung Manh da chi giup.Toi dang cai ie 8.2.03i nhung khong duoc. toi doawload phan mem nay tren trang web cua xilinx. Anh chi giup toi cach cai no voi. Cam on anh
Toi da cai íe va edk 8.2i roi, chay tot, nhung xapp942 dung voi íe 8.2.01i nen toi da doawload ise 8.2.03i de su dng nung ko cai dc. Anh chi giup toi cai the nao voi nhe. help me !!!!!
You must be logged in to a comment. Please register if you do not have an account yet.
|
|
| < Trước | Tiếp > |
|---|
Đọc báo giùm bạn
Virus lừa người dùng bằng các thương hiệu quen thuộc
Microsoft “câu” lãnh đạo cấp cao của Yahoo
ĐTDĐ biết phòng bệnh cúm
Xuất hiện mã độc chỉ tấn công Firefox
Khám phá “nội thất” BlackBerry Storm
Nokia N97 và “vũ khí” của kẻ đến muộn
6 loại USB đẹp và đa chức năng
Blog Yahoo!360 không bị đóng cửa
Asus chuẩn bị ra mắt Eee Box cao cấp
Mốt "tán tỉnh" qua tin nhắn tại Việt Nam
Đang được quan tâm
22 ứng dụng miễn phí hàng đầu dành cho Windows Mobile
Những phần mềm và ứng dụng nổi bật nhất trong năm 2008
Ông Trương Gia Bình thôi làm Chủ tịch FPT Software
Bẻ khoá iPhone 3G kiểu... Việt Nam
Mốt "tán tỉnh" qua tin nhắn tại Việt Nam
Các công cụ quản lý file tiêu biểu
Core i7 Extreme Edition 965 được overclock lên 5,5 GHz
PDFTK Builder - Tiện ích chỉnh sửa file PDF
Ra mắt môi trường Linux KDE 4.2 beta 1
Apple khuyến cáo người dùng sử dụng phần mềm diệt virus
Mây từ khóa công nghệ
Sự kiện và Bình luận
Trận chiến của các hệ điều hành năm 2008
Công nghệ số sinh ra thế hệ ít kiến thức nhất?
CMC-IS - Phần mềm Việt miễn phí chống được triệu virus
Phần mềm diệt virus hay diệt… Windows?
“New 7 Wonders” - các phương tiện truyền thông Việt Nam bị lừa ?
Nguyên nhân S-fone tăng giá gói cước Forever Couple !
BKAV vi phạm bản quyền phần mềm ?
Đăng nhập
Phần mềm miễn phí
Greasemonkey giúp tăng cường khả năng tìm kiếm video trên VideoSurf
20 việc cần làm sau khi cài xong Ubuntu
Microsoft Windows Azure: Khám phá hệ điều hành "đám mây"
Nokia Friend View: giúp bạn bè ở gần nhau hơn!
Microsoft giới thiệu Live Photos, dịch vụ chia sẻ ảnh đa tương tác
6 thủ thuật cải thiện Windows
Windows Live thế hệ cải tiến ra đời









