Trong hệ thống nhúng, giao tiếp nối tiếp là phương pháp được áp dụng rộng rãi nhất để truyền dữ liệu giữa các thiết bị và thiết bị ngoại vi. Điều gì đằng sau sự phổ biến của nó? Và kỹ sư hệ thống nhúng nên nắm vững những giao thức cổng nối tiếp chung nào? Hãy để RF-star giải thích.
Truyền thông nối tiếp là gì?
Xét về phương pháp cơ bản, các giao thức truyền dữ liệu nói chung có thể được phân thành hai loại: giao thức song song và giao thức nối tiếp.
Các giao thức nối tiếp sử dụng một hoặc hai đường truyền để truyền và nhận bit. Các bit được truyền tuần tự qua bus máy tính hoặc kênh truyền thông. Trong khi đó, các giao thức song song, truyền và nhận các bit với một số kênh song song cùng một lúc.
Giao thức truyền thông nối tiếp là một cách giao tiếp đơn giản và đáng tin cậy với các quy tắc được tuân theo bởi người gửi và người nhận. Ba ví dụ phổ biến về giao thức truyền thông nối tiếp được sử dụng trong rất nhiều ứng dụng.
Giao thức truyền thông nối tiếp UART SPI I2C & Mô-đun UART Bluetooth
Ví dụ về giao thức truyền thông nối tiếp: UART, SPI, I2C
Các loại giao thức truyền thông nối tiếp chính là UART, SPI và I2C.
UART là gì?
UART hay còn gọi là bộ thu/phát không đồng bộ phổ quát là một trong những giao thức nối tiếp sớm nhất và đơn giản nhất để trao đổi dữ liệu nối tiếp giữa hai thiết bị. Giao thức truyền thông không đồng bộ chỉ sử dụng hai dây, đó là đường truyền (TX) và đường nhận (RX), để truyền và nhận dữ liệu.
Các thiết bị được kết nối qua UART giao tiếp bằng cách gửi các bit ở tốc độ truyền được xác định trước, thường bao gồm các bit bắt đầu, dừng và các bit chẵn lẻ tùy chọn. Các thiết bị UART không sử dụng tín hiệu đồng hồ dùng chung. Thay vào đó, họ phải thống nhất về tốc độ truyền và định dạng dữ liệu.
Nhiều nhà phát triển sử dụng UART để kết nối không dây và xử lý máy tính vì tính dễ cài đặt, giao diện thân thiện với người dùng và giá cả phải chăng.
SPI là gì?
SPI là viết tắt của Serial Peripheral Interface, một giao thức truyền thông nối tiếp thường được sử dụng trong các hệ thống nhúng để trao đổi dữ liệu tốc độ cao giữa nhiều thiết bị trên bus. Các thiết bị giao tiếp qua SPI có kiến trúc chủ-phụ với nhiều thiết bị phụ được kết nối với một thiết bị chính. Ngoài ra, giao tiếp SPI hỗ trợ giao tiếp song công hoàn toàn, nghĩa là cả chủ và phụ đều có thể truyền và nhận dữ liệu đồng thời.
Không giống như các giao thức truyền thông khác như UART hay I2C, SPI không có giao thức được xác định trước và không có thông số truyền thông cố định. Tính linh hoạt này làm cho SPI trở nên lý tưởng cho các ứng dụng truyền dữ liệu yêu cầu truyền dữ liệu theo thời gian thực hoặc băng thông cao.
Bấm vào đây để biết thêm thông tin về giao diện UART và SPI .
I2C là gì?
I2C (viết tắt của Inter-Integrated Circuit), còn được gọi là I2C hoặc IIC, là một bus truyền thông nối tiếp đồng bộ, đa chủ/đa nô lệ. Nó là bus nối tiếp hai dây hai chiều sử dụng dây đồng hồ nối tiếp (SCL) và dây dữ liệu nối tiếp (SDA) để gửi và quản lý dữ liệu từng bit giữa nhiều thiết bị. Với I2C, nhiều nô lệ có thể được kết nối với một chủ duy nhất (như SPI) và nhiều chủ có thể điều khiển một hoặc nhiều nô lệ.
I2C mang lại khả năng mở rộng và tính linh hoạt cao trong việc kết nối nhiều thiết bị. Tuy nhiên, nó có một vài nhược điểm. Nó hoạt động ở tốc độ chậm hơn so với SPI, đồng hồ và đường dữ liệu cần có điện trở kéo lên. I2C cũng liên quan đến việc xử lý lỗi và logic phức tạp hơn cũng như các vấn đề tiềm ẩn như xung đột bus và nhiễu.
Giao thức truyền thông nối tiếp nào tốt nhất, UART, SPI, I2C? Thật không may, không có giao thức truyền thông nối tiếp tối ưu nhất định vì mỗi giao thức đều có ưu điểm và nhược điểm riêng. Bảng so sánh giao tiếp UART, SPI và I2C, SPI hiển thị trực tiếp các ưu điểm, nhược điểm và chức năng khác nhau của chúng để giúp bạn dễ dàng lựa chọn giao tiếp khả thi.
So sánh giao tiếp UART, SPI và I2C, SPI
Nếu bạn bối rối trong việc chọn một giao thức nối tiếp phù hợp, những lời khuyên này được khuyến nghị như sau:
- Khi bạn ưu tiên tốc độ truyền dữ liệu, SPI sẽ là giao thức truyền thông nối tiếp nhanh nhất.
- Nếu giao tiếp không dây nhằm kết nối nhiều thiết bị trong khi vẫn duy trì việc thiết lập tương đối đơn giản thì I2C sẽ là lựa chọn ưu tiên.
- Nếu dự án của bạn chỉ thiên về truyền dữ liệu một cách minh bạch giữa hai thiết bị thì UART là giải pháp đơn giản và tiết kiệm chi phí nhất, đặc biệt đối với các ứng dụng có tài nguyên phần cứng hạn chế.
Ví dụ về mô-đun Bluetooth UART
Mô-đun không dây RF-star sử dụng công nghệ cổng nối tiếp 2.4GHz và có thể truyền dẫn trong suốt với giao thức UART được cung cấp để truyền dữ liệu đồng thời. Hơn nữa, các lệnh AT phong phú cho phép bạn rút ngắn thời gian phát triển và đẩy nhanh quá trình phát hành sản phẩm cuối cùng.
Dưới đây là các mô-đun Bluetooth UART chất lượng cao được liệt kê.
Mô-đun RF không dây dòng CC2340R5
Tất cả các mô-đun RF không dây dòng RF-BM-2340Xx đều dựa trên MCU không dây CC2340R5 SimpleLink, hỗ trợ Bluetooth 5.3 Low Energy, ZigBee 3.0, SimpleLinkTM TI 15.4-stack và hệ thống Độc quyền. Tất cả các mô-đun RF-star CC2340R5 đều được nhúng với giao thức truyền trong suốt BLE5.0 UART. Ngoài ra, mô-đun cổng nối tiếp CC2340R5 với nhiều phiên bản ăng-ten mở rộng (ví dụ: PCB, IPEX, Chip), có kích thước khác nhau. Chúng rất phù hợp cho các ứng dụng y tế di động, ô tô, năng lượng mới, công nghiệp và điện tử tiêu dùng.
Mô-đun Bluetooth năng lượng thấp dòng CC264x
Các mô-đun BLE dòng CC264x RF-star được nhúng với MCU TI CC2642R và CC2640R cũng được lập trình sẵn với giao thức truyền trong suốt BLE5.0 UART. Sự khác biệt nằm ở vai trò của CC2640R và CC2642R. Trong giao thức UART, mô-đun Bluetooth năng lượng thấp CC2642R RF-BM-2642B1 và RF-BM-2642B2 có thể hỗ trợ chế độ chính-phụ cùng lúc, trong khi mô-đun Bluetooth công suất thấp CC2640R có thể hoạt động như một thiết bị chính hoặc thiết bị phụ, tùy thuộc vào về các yêu cầu ứng dụng. Do hiệu suất ổn định và chi phí thấp, các mô-đun dòng CC264x đã được đánh giá cao trong lĩnh vực quảng cáo, tìm hướng và mạng lưới Bluetooth.
Mô-đun Bluetooth LE5.3 dòng EFR32BG22
Các
mô-đun dòng EFR32BG22 dựa trên SoC BG22 của Silicon Labs hỗ trợ BLE 5x năng lượng thấp, lưới BLE, AoA / AoD và giao thức độc quyền. Chúng đều được lập trình sẵn với
giao thức truyền thông cổng nối tiếp (UART) và giao thức truyền thông I2C . Họ có thể giao tiếp đồng thời với nhiều chủ và nô lệ. Chức năng đa kết nối, mức tiêu thụ điện năng cực thấp tốt nhất trong phân khúc và các chức năng lệnh AT phong phú cho phép các mô-đun chủ-phụ BLE linh hoạt và có thể mở rộng trong nhiều ứng dụng khác nhau.
Mô-đun BLE dòng nRF52
Các mô-đun BLE dòng RF-star nRF52 bao gồm các mô-đun RF không dây này dựa trên các chip tích hợp Bắc Âu nRF52805, nRF52810 và nRF52832. Các mô-đun nRF52810 RF-BM-ND04Cx và RF-BM-ND08Cx chỉ có thể hoạt động như một thiết bị phụ trong giao thức truyền trong suốt BLE5.0 UART. Thay vào đó, các mô-đun nRF52832 RF-BM-ND04x và RF-BM-ND08 được thiết kế dưới dạng mô-đun Bluetooth chủ-nô lệ , thậm chí hoạt động như một mô-đun chính và nhiều phụ. Các mô-đun đa giao thức dòng nRF52840 đã được nhúng với giao thức cổng nối tiếp BLE5.0 (UART).
Bản tóm tắt
Các mô-đun không dây RF-star, đặc biệt là các mô-đun Bluetooth Low Energy được tích hợp với giao thức truyền dẫn trong suốt BLE UART. Các mô-đun cổng nối tiếp sẽ giúp sản phẩm cuối của bạn giao tiếp dễ dàng và trực tiếp trong các hệ thống nhúng. Nếu dự án của bạn yêu cầu giao tiếp SPI hoặc I2C, RF-star sẵn lòng cung cấp giải pháp liên lạc không dây tùy chỉnh.