Energia - Arduino và ARM TI
Như các bạn đã biết lợi ích của Arduino giúp chúng ta lập trình một cách nhanh chóng với thư viện sẵn có khổng lồ và cộng đồng lớn mạnh, nó giúp chúng ta có thể test các phần cứng cũng như tạo ra một sản phẩm mẫu một cách nhanh chóng. Vậy Energia là gì ? Nó có liên quan gì với Arduino và tại sao chúng ta lại nên sử dụng nó ?
Energia là gì ?
Energia là một phần mềm dùng để lập trình ARM, được tạo ra để phục vụ cho các dòng ARM của Texas Instrument, giúp cho người dùng có thể lập trình một cách nhanh chóng mà không cần phải biết quá nhiều về phần cứng. Nếu đã quen thuộc với Arduino IDE thì bạn có thể nhận ra 2 giao diện phần mềm này hoàn toàn giống hệt nhau, chỉ khác Arduino chuyên trị các kit Arduino dùng Atmega, còn Energia thì chuyên cho các kit ARM của TI.
Vì sao mình lại sử dụng Energia ?
Vì nhu cầu IO cũng như bộ nhớ tăng lên cũng như việc sẵn có kit TIVA rồi, nên thay vì tốn thêm gần 400k để mua một kit Arduino Mega thì mình quyết định chuyển qua dùng TIVA luôn. Vậy mình sẽ được hưởng lợi gì khi chuyển từ Arduino Uno sang dùng TIVA và Energia ?
- Cách lập trình hoàn toàn giống với Arduino: nhờ vào nó mà mình không cần phải học thêm ngôn ngữ lập trình nào nữa, chuyển sang kế thừa hầu như toàn bộ code từ Arduino.
- Tốc độ: được nâng từ 16Mhz lên 80Mhz
- IO: từ khoảng 20 IO lên 43 IO thoải mái cho việc kết nối thêm các ngoại vi
- Bộ nhớ và RAM: từ 2KB RAM tăng lên 32KBx8 SRAM, EEPROM từ 1KB lên 2KBx8, bộ nhớ FLASH từ 32KB lên 256KB.
- Có thể debug can thiệp sâu hơn khi kết hợp Energia và CCS.
- Có hỗ trợ USB, RTOS, CAN,..
- ADC độ phân giải tăng từ 10 bit lên 12 bit
- Có nguồn 3v3 và 5v
Bạn thấy đấy, mình có thể được hưởng lợi khá nhiều từ việc chuyển đổi này 🙂
Nhược điểm hiện tại của Energia là gì ?
Vì sinh sau đẻ muộn, cũng như lâu lâu mới được cập nhật nên Energia vẫn còn một số hạn chế:
- Hỗ trợ MSP430 là chính, một số ví dụ còn phải chỉnh lại pin để chạy được với TIVA
- Nếu có bug phát sinh thì tự mình sửa :D. Hơi khoai tí nhưng kết hợp với CCS cũng như hỏi thăm trên cộng đồng thì không là vấn đề nhỉ.
Bắt đầu với Energia
Việc bắt đầu với Energia vô cùng đơn giản, bạn cần có 1 kit TIVA (hoặc MSP430/432) và phần mềm Energia tải tại Energia Download, ở đây mình chọn phiên bản Window, tải về và giải nén ra sau đó click chọn energia.exe để bắt đầu. Nếu bạn gặp khó khăn với vấn đề phần mềm có thể tải luôn bản zip này về dùng luôn cho tiện
Chọn Tool -> Board -> Board Manager để cài đặt board TIVA
Chọn Board TIVA C (80Mhz) và cổng COM, sau đó viết chương trình làm quen tại đây để tiếp cận nhanh nhất.
Đây là hình ảnh về chân của TIVA C tương ứng, bạn có thể xem hình bên dưới
Bạn có thể sử dụng code trong phần Examples của Energia, tuy nhiên có một số chỗ chân không chính xác nên sẽ chạy không đúng.
Tạm kết
Có một số lý do mà mình chuyển sang dùng TIVA và Energia để thay thế hoàn toàn cho Arduino, mình nghĩ đây là một phương án thay thế khá là phù hợp, mình sẽ cố gắng để cập nhật về khả năng tương thích cũng như viết lại các thư viện Arduino để phù hợp với Energia hơn. Hi vọng sẽ nhận được sự góp ý thêm từ các bạn.