Nếu như LG G5 phải tắt máy mới có thể thay hoặc lắp thêm các module, thì điều bất tiện này lại không xảy đến với Moto Z, và chính kiến trúc hệ thống của Moto Mod là một trong những lý do làm nên sự tiện lợi đó.
Dù mảng di động của LG chưa đến mức phải bán mình như Motorola, nhưng nếu có một điều nhà sản xuất điện thoại của Hàn Quốc cần phải học tập từ đồng nghiệp người Trung Quốc gốc Mỹ này, đó là cách làm một chiếc smartphone module là như thế nào. Trong khi LG G5 mang lại một trải nghiệm bất tiện cho người dùng khi phải tắt và bật máy mỗi lần thay hoặc lắp thêm module, thì Moto Mod lại tránh được vết xe đổ đó.
Bằng cách kết nối các phụ kiện Moto Mod với chiếc điện thoại Moto Z thông qua 16 chấu nam châm trên nắp lưng, người dùng sẽ không cần phải tắt nguồn hay gián đoạn quá trình sử dụng mỗi khi tháo lắp nóng các module này.
Tuy nhiên đằng sau thao tác tháo lắp đơn giản đó lại là sự phức tạp của kiến trúc hệ thống Moto Mod, nhằm định ra một nền tảng thống nhất và phù hợp để các module phụ kiện gắn kèm có thể hoạt động như sự mở rộng liền mạch và tự nhiên của thiết bị, hệ điều hành Android và bản thân trải nghiệm người dùng.
Kiến trúc hệ thống các Moto Mod
Kiến trúc của hệ thống các Moto Mod có các vai trò như sau:
- Xác định tiêu chí để có thể thiết lập khả năng tương thích cơ học và điện tử của các Moto Mod với chiếc smartphone Moto Z.
- Định nghĩa những tương tác tiêu chuẩn giữa Moto Z và các Moto Mod, bao gồm chương trình khởi động (bootstrap), tính an ninh, khả năng phát hiện và liệt kê thiết bị.
- Định nghĩa (và nền tảng cung cấp) một khối phần mềm, có thể mở rộng giao diện thiết bị Android nguyên bản cho các thiết bị ví dụ như màn hình, âm thanh và năng lượng cho Moto Mod.
- Định nghĩa các kênh giao tiếp phần cứng riêng biệt, để có thể kiểm soát dữ liệu và dòng thông tin quản lý điện năng giữa một Moto Mod và Moto Z.
- Thiết kế một giao thức đặc biệt để cho phép việc giao tiếp độc quyền giữa một Moto Mod và một ứng dụng Moto Mod-aware chạy trên Moto Z.
Bộ công cụ phát triển Moto Mods Development Toolkit (MDK) bao gồm một SDK với các hàm API cần thiết cho việc phát triển các ứng dụng Moto Mod-aware, có thể nhận biết những loại Moto Mod cụ thể và điều khiển các gói I/O (các gói ra/vào) với Moto Mod một cách trực tiếp.
Mỗi Moto Mod lại có một vi điều khiển Moto Mod (MuC). Nó chịu trách nhiệm khởi tạo giao diện của Moto Mod với chiếc smartphone Moto Z, liệt kê các giao thức được hỗ trợ, quản lý năng lượng và cập nhật firmware. MuC chạy một khối phần mềm, dựa trên hệ điều hành theo thời gian thực NuttX và Greybus, một lớp hệ thống mạng được thiết kế cho các kiến trúc thành phần của điện thoại di động Module.
Moto High Speed Bridge được sử dụng để hỗ trợ cho các giao diện tốc độ cao, tiêu thụ năng lượng thấp với các module màn hình và camera của Moto Mod. Các dữ liệu tốc độ cao giữa Moto Bridge và Moto Z được trao đổi thông qua một đường dẫn riêng biệt. Trong khi MuC chịu trách nhiệm thiết lập các đường dẫn tốc độ cao này, Moto Bridge có thể ở trạng thái tắt khi không sử dụng.
Tại lớp dưới cùng của mình, nền tảng Moto Mod sử dụng giao thức nguồn mở Greybus để lấy ra các driver của thiết bị có thể cắm vào bên trong một Moto Mod. Với vai trò lớp hệ thống mạng, Greybus kết hợp và phân tách các gói dữ liệu khi chúng chảy qua giữa Moto Mod và Moto Z. Nó cho phép các driver của nhân chạy trên Moto Mod sẽ được bộ xử lý ứng dụng của Moto Z đối xử như driver nội bộ.
Trong nhiều trường hợp, một Moto Mod sẽ hoạt động như một thành phần phần cứng có sẵn trên Moto Z. Ví dụ, hệ thống loa ngoài Moto Mod sẽ hiển thị trên Android như bất kỳ thiết bị âm thanh nào được tích hợp trong đó, cũng như tham gia vào và tuân theo các chuẩn âm thanh định tuyến của hệ điều hành.
Hệ thống và kiến trúc Moto Mod làm được điều này bằng cách đưa vào nhiều giao thức có nguồn gốc từ hệ điều hành Android. Điều này làm giảm nhẹ gánh nặng cho các nhà phát triển khi họ không phải viết các driver chuyên biệt cho nhân Android, các bản cập nhật nền tảng hay một ứng dụng độc đáo để tạo ra một Moto Mod với đầy đủ chức năng và có thể thương mại hóa.
Ngược lại, các Moto Mod có sẵn các cảm biến tùy chỉnh hay các thiết bị USB có thể sẽ cần ứng dụng Android riêng cho chúng. Ứng dụng của bạn sẽ liên kết trong bộ Android SDK, và sẽ tận dụng giao thức Raw để trao đổi thông tin giữa Moto Mod và ứng dụng trên Moto Z.
Với vi điều khiển MuC đóng vai trò trung gian và kiểm soát, dòng năng lượng sẽ hỗ trợ cho việc trao đổi năng lượng hai chiều.
Các giao diện phần cứng
Các Moto Mod có thể được tạo ra từ rất nhiều các giao diện khác nhau. Cách bạn chọn để kết hợp chúng bên trong sản phẩm như thế nào hoàn toàn là do bạn. Bảng dưới đây cho thấy các giao diện hiện có và khả năng của chúng.
Kiến trúc bộ xử lý
Nền tảng các Moto Mod được xây dựng xung quanh việc triển khai kép của khối giao thức Greybus. Trong đó một giao thức chạy trên MuC của Moto Mod và giao thức còn lại chạy AP của Moto Z. Trong thiết kế này, MuC hành động như điểm trung tâm của việc kiểm soát, phản ánh vai trò của AP trên Moto Z.
Các trách nhiệm của MuC
Vi điều khiển MuC hiện tại là một chip Cortex-M4F trên nền ARM7 (bao gồm cả FPU) và hỗ trợ một các kiểu flash và kích thước bộ nhớ RAM. Mọi nhà phát triển của Moto Mod sẽ cần tạo ra một firmware riêng để điều khiển và quản lý các thiết bị ngoại vi của họ.
Vi điều khiển MuC xử lý toàn bộ các hàm logic gắn vào / tách ra, và kiểm soát năng lượng giữa Moto Z và Moto Mod. Khi gắn vào Moto Z, MuC sẽ giao tiếp với bản kê khai phần cứng, để mô tả các giao thức Greybus hiện có của mình là gì. Tất cả các giao thức Greybus này sẽ kết thúc tại MuC, sẽ cung cấp các cách thức kiểm soát tổng thể cho Moto Mod. Do một số giao thức (như I2S và USB) có thể đi qua nhiều con đường khác nhau, vi điều khiển MuC cũng giao tiếp với đường dẫn vật lý đang được sử dụng, cho phép Moto Z cấu hình chính xác các switch bên trong của nó.
Các thuật ngữ viết tắt trong bài viết.
Trong nhiều trường hợp, các thiết bị ngoại vi của bạn sẽ được gắn trực tiếp vào MuC thông qua các giao diện chuẩn I2C, SPI hay UART. Các chuẩn GPIO, các bộ chuyển đổi từ analog sang kỹ thuật số, các bộ đếm thời gian và USB cũng có sẵn cho nhà phát triển sử dụng. MuC giao tiếp với các chuẩn này một cách trực tiếp và xử lý việc dịch chuyển sang giao thức Greybus thích hợp.
Các trách nhiệm của Moto High Speed Bridge
Moto cung cấp việc thực thi cầu nối tốc độ cao trong một IC chuyên dụng gắn trong. Moto High Speed Bridge là một thành phần tùy chọn trong kiến trúc hệ thống Moto Mod. Nó có sẵn để các nhà phát triển, những người đòi hỏi một giao diện tốc độ cao. Moto Bridge xử lý việc ghép kênh và truyền tin của các giao diện băng thông cao, bao gồm DSI, CSI, I2S và HSIC theo cách hiệu quả nhất về năng lượng.
Khi dự án của bạn đòi hỏi Moto Bridge, một UART được sử dụng cho một IPC với MuC. Liên kết này được sử dụng bởi MuC để thiết lập và kiểm soát kết nối dữ liệu tốc độ cao, sử dụng giao thức Moto Mod High Speed IPC (MHB). MHB cung cấp các cấu trúc dữ liệu và thông điệp để loại bỏ nhu cầu phải chỉnh sửa firmware của Moto Bridge để làm việc với thiết bị ngoại vi mà bạn lựa chọn. Ví dụ, nếu thiết bị màn hình mà bạn chọn cho Moto Mod sử dụng các thông điệp DSI để điều khiển độ sáng, MuC sẽ hướng dẫn Moto Bridge để đưa các lệnh thích hợp vào bên trong dòng lệnh DSI.
Tham khảo Motorola
NỔI BẬT TRANG CHỦ
Google: Giải được bài toán 10 triệu tỷ tỷ năm chỉ trong 5 phút, chip lượng tử mới là bằng chứng về đa vũ trụ
Điều đáng ngạc nhiên hơn cả là nhiều người trên cộng đồng mạng thế giới lại đang đồng tình với kết luận của Google.
Gần 2025 rồi mà vẫn dùng USB để lưu công việc thì quả là lỗi thời