| FPGA và các ứng dụng nhúng |
|
|
| Người đăng: Hùng Mạnh | 20/11/2007 11:34 (Số lần xem: 12227) |
|
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
(31)
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 !!!!!
Chao ban Hung manh
Minh cung dang phai thiet ke mot ung dung nhu sau: He thong cua minh la : mot may tinh PC ket noi den cong ethernet tren bo kit do và mot may tinh PC con lai ket noi den cong uart tren bo kit do. Van de la minh phai thiet ke bo chuyen doi ethernet sang uart de hai may tinh co the ping voi nhau duoc Ban giup minh duoc khong? Cam on ban rat nhieu! |
|
| < Trước | Tiếp > |
|---|
Đọc báo giùm bạn
HTC Incredible: điện thoại “khủng” nhất của HTC
Add-on cho Firefox “dính” trojan
Đánh sập “lò” đào tạo hacker lớn nhất Trung Quốc
Quá trình sản xuất và thử độ bền Nexus One
Cảnh báo hàng loạt lỗ hổng trên iPhone
Samsung sắp ra laptop có màn hình “trong suốt”
Windows Mobile 7 không hỗ trợ chạy đa nhiệm
iPhone OS 3.1.2 vừa ra mắt đã bị bẻ khóa
Đã có “chiêu” ngăn chặn virus tự nhân bản
Mạng Facebook chuẩn bị tung ra dịch vụ email?
Đang được quan tâm
Sử dụng WinUtilities Pro 9.41 bản quyền miễn phí
Cư dân mạng cùng CA bắt kẻ lừa đảo: người điều tra có phạm luật?
Máy tính bảng iTablet thách thức iPadNhiều dòng laptop mới của Lenovo sẽ xuất hiện tại Việt Nam
Những lưu ý khi sử dụng ĐTDĐ liên lạc dịp Lễ, Tết
Đã có “chiêu” ngăn chặn virus tự nhân bản
Samsung sắp ra laptop có màn hình “trong suốt”
Quá trình sản xuất và thử độ bền Nexus One
Cảnh báo hàng loạt lỗ hổng trên iPhone
Đánh sập “lò” đào tạo hacker lớn nhất Trung Quốc
Sự kiện và Bình luận
6 lý do khiến người dùng quay lưng với Linux
Tình yêu thời Facebook
Mỗi giáo viên, sinh viên sẽ có netbook tích hợp 3G
Làm CNTT ở Việt Nam khó giàu?
Microsoft Việt Nam rũ trách nhiệm đuổi phóng viên
Vụ phát hiện địa chỉ máy chủ tấn công website Mỹ, Hàn: Bkis có phạm luật?
Truyền thông xã hội có đáng để tốn thời gian?
Phần mềm miễn phí
Quản lí Power Settings trong Windows 7
Ba ứng dụng nghe nhạc ấn tượng cho Android
Cài đặt module hiện thị thời tiết cho joomla
Add-on cho Firefox “dính” trojan
Tinh chỉnh các dịch vụ của Windows 7 với công cụ SMART
Hướng dẫn sử dụng tính năng Screeshot trong Microsoft Word 2010
Driver Easy: tự động nhận dạng và tìm driver cho thiết bị



