FEZ та .NET Micro Framework

Багато вже відчули зручність роботи з Arduino та її аналогами. Але прогрес не стоїть на місці. Платформа FEZ (GHI Electronics) дозволяє підняти рівень розробки вбудованих додатків на новий рівень. Все діло в тому, що в платах FEZ використовується .NET Micro Framework.

Основною концепцією .NET Micro Framework є те, що розробникам надається потужний інструмент розробки та налагодження з використанням сучасної мови програмування C# та з обширною бібліотекою класів. Таким чином, розробнику не потрібно вникати, наприклад, у роботу протоколу TCP або обмін даними з SD на низькому рівні тощо. Це є величезним плюсом, як для початківців, які освоюють мікроконтролери, так і для професіоналів. Початківець менше ніж за день може освоїти базові навички роботи з МК, а професіонал отримує зручний інструмент для попередньої розробки, тестування та налагодження. Також є великий плюс і для програмістів, які бажають зануритися в світ мікроконтролерів, оскільки все ПЗ в .NET Micro Framework пишеться на популярній та знайомій практично будь-якому програмісту мові C#, плюс знайома середа розробки. Таким чином, час адаптації людини, яка розробляла десктопні додатки, до контролера з підтримкою .NET Micro Framework, мінімальний.
Середа розробки та налагодження Microsoft Visual C# Express абсолютно безкоштовна.

Плати FEZ Mini, FEZ Domino та FEZ Panda II

Поговоримо про FEZ. У платах FEZ Mini, FEZ Domino, FEZ Panda II та інших використовується чіпсет USBizi з зашитим Microsoft .NET Micro Framework. Звичайно, існують і більш функціональні та, відповідно, дорожчі плати FEZ.
Великим плюсом плат FEZ є ще й те, що деякі з них (наприклад, Domino, Panda 2) за форм-фактором сумісні з Arduino. А це означає, що багато shield'ів від Arduino можна використовувати і в FEZ.

В даний момент під платформу FEZ розроблено величезну кількість бібліотек для роботи з софтом і периферією, наприклад, підтримка файлової системи FAT, роботи з UART, SPI, I2C, GPIO, ШІМ, АЦП, ЦАП та багато іншого.

Основні переваги FEZ:
1. Низька ціна, що порівняна з ціною оригінальної Arduino.
2. Працює на Microsoft's .NET Micro Framework.
3. Використовується безкоштовна, сучасна середа розробки Microsoft Visual C# Express.
4. Підтримка налагодження через USB або послідовний інтерфейс.
5. Програми пишуться на сучасній managed мові C#.
6. 32-бітне ARM ядро.
7. Файлова система FAT для зберігання даних на SD-картках та USB-накопичувачах.
8. Простий перехід від однієї платформи до іншої, наприклад, на більш функціональні плати ChipworkX або Embedded Master. ПЗ вимагає мінімальних змін.
9. Використовуване в FEZ ядро USBizi широко використовується в вбудованих додатках по всьому світу.

Багато, звичайно, скажуть, що втиснути .NET Micro Framework в процесор ARM7 72МГц — це викривлення. Але тут кому що, кому ефективність написання ПЗ, жертвуючи при цьому швидкодією, а хтось вважає кожен такт і біт пам'яті і пише на асемблері.

Наводжу приклад коду, за яким можна оцінити, наскільки просто можна програмувати під .NET Micro Framework:

using System;
using Microsoft.SPOT;
using System.Threading;
using GHIElectronics.NETMF.FEZ;
public class Program
{
	public static void Main()
	{
		// Створюємо об'єкт LED - вбудований на платі світлодіод
		FEZ_Components.LED onBoardLED = new FEZ_Components.LED(FEZ_Pin.Digital.LED);
		// Включаємо LED
		onBoardLED.TurnOn();
		//Пауза 1 сек
		Thread.Sleep(1000);
		// Вимикаємо LED
		onBoardLED.ShutOff();
		Thread.Sleep(1000);
		//Миготіння LED. Тривалість вкл. стану 50 мс, викл. 200 мс
		onBoardLED.StartBlinking(50, 200);
		Thread.Sleep(5000);
		onBoardLED.StopBlinking();
		//Видаляємо об'єкт LED
		onBoardLED.Dispose();
	}
}

Готові бібліотеки, драйвери, вихідні коди ПЗ для FEZ можна завантажити та переглянути тут

Джерело інформації: GHI Electronics

Top