Bạn chắc chắn sẽ muốn chọn một lớp mạng tiêu chuẩn. Tôi đã thấy một số trường hợp mọi người tự lăn, và thường thì giao thức không hiệu quả, và cuối cùng thì thật lãng phí thời gian. Một lớp mạng đã được chứng minh cung cấp chức năng cơ bản để giải quyết hầu hết các vấn đề mà bạn có thể gặp phải khi kết nối mạng với một thiết bị nhúng và điều đó sẽ giúp bạn tiết kiệm thời gian và tiền bạc quý giá.
Tôi có quen với CANopen, vì vậy tôi sẽ đưa ra một lời giải thích ở đây và nó có thể giúp bạn quyết định xem đó có phải là con đường bạn muốn đi không. Nếu nó không phù hợp với những gì bạn cần làm, tôi sẽ xem xét một cái gì đó khác.
CANopen là trung tâm dữ liệu rất. Tất cả các nút nô lệ CANopen (những thứ bạn điều khiển từ nút chính, như cảm biến hoặc trình điều khiển động cơ) cung cấp một từ điển chứa tất cả dữ liệu cấu hình, kiểm soát và thu thập dữ liệu bạn cần đọc / ghi để hoàn thành công việc. Sau đó, bạn có thể đọc / ghi riêng các đối tượng này thông qua cơ chế SDO (đối tượng dữ liệu dịch vụ) hoặc đọc / ghi các đối tượng này theo định kỳ trong các lần truyền tin nhắn CAN theo thời gian thông qua cơ chế PDO (đối tượng dữ liệu của nhà sản xuất). Khởi động, tắt máy và thiết lập lại và phát hiện trục trặc nhịp tim / nút được cung cấp từ các dịch vụ NMT, cũng như dịch vụ gán ID nút (nếu bạn muốn sử dụng nó). Để triển khai thiết bị bằng thư viện CANOpen nhúng, về cơ bản, bạn thiết lập từ điển đối tượng, thiết lập PDO để gửi / nhận cập nhật dữ liệu định kỳ, và viết mã người dùng hành xử dựa trên các mục nhập dữ liệu đó. Có những thứ khác CANopen cung cấp, nhưng đó là phần lớn của nó. Đọc cuốn sách này để biết thêm.