Chúng ta đã thảo luận về hai loại Giao diện Ngoại vi Đa năng trong các hệ thống nhúng UART và I2S trong Chương Ⅰ . Bây giờ chúng ta hãy tìm hiểu về I2C, ADC và CAN bus trong Chương Ⅱ .
I2C (Mạch tích hợp liên kết) là một bus nối tiếp hai dây, bán song công do Philips phát triển, chủ yếu được sử dụng để liên lạc giữa các chip ở khoảng cách gần và tốc độ thấp. Nó là một tiêu chuẩn xe buýt được sử dụng rộng rãi trong lĩnh vực điều khiển truyền thông vi điện tử. Đây là một hình thức giao tiếp đồng bộ đặc biệt, với các ưu điểm như ít đường giao diện hơn, phương pháp điều khiển đơn giản và đóng gói thiết bị nhỏ.
I2C có thể truyền thông tin giữa các nút multi-master và multi-salve chỉ bằng hai dây: SDA (dữ liệu nối tiếp) và SCL (đồng hồ nối tiếp). Tốc độ truyền dữ liệu hai chiều 8-bit nối tiếp có thể đạt 100 Kbit/s ở chế độ tiêu chuẩn, 400 Kbit/s ở chế độ nhanh và 3,4 Mbit/s ở chế độ tốc độ cao. Kết nối thiết bị được hiển thị trong Hình 1.
Hình 1 Kết nối I2C Bus Master tới Slave
Dữ liệu trên đường SDA phải ổn định trong khoảng thời gian cao của đường SCL. Trạng thái CAO hoặc THẤP của đường SDA chỉ có thể thay đổi khi tín hiệu đồng hồ trên đường SCL ở mức thấp.
Hình 2 Tín hiệu dữ liệu đồng bộ
Điều kiện bắt đầu : Khi SCL ở mức CAO và SDA nhảy từ CAO xuống THẤP, quá trình truyền dữ liệu bắt đầu.
Điều kiện dừng : Khi SCL ở mức CAO và SDA nhảy từ THẤP lên CAO, quá trình truyền dữ liệu dừng lại.
Cả điều kiện bắt đầu và điều kiện dừng đều do các thiết bị chính đưa ra. Sau khi điều kiện bắt đầu được tạo, xe buýt ở trạng thái bị chiếm đóng. Và sau khi điều kiện dừng được tạo, xe buýt được giải phóng và ở trạng thái không hoạt động.
Ở trạng thái nhàn rỗi, cả SCL và SDA đều ở mức cao. Quá trình này được thể hiện trong Hình 3 bên dưới.
Hình 3 Điều kiện Bắt đầu và Điều kiện Dừng
Tín hiệu xác nhận: sau khi hoàn thành việc truyền 1 byte, tức là trong chu kỳ xung nhịp SCL thứ 9, chủ cần giải phóng bus SDA và bàn giao quyền điều khiển bus cho nô lệ. Do vai trò của điện trở kéo lên, lúc này bus ở mức cao. Nếu nô lệ nhận chính xác dữ liệu do chủ gửi, nó sẽ kéo SDA xuống, biểu thị tín hiệu xác nhận.
Tín hiệu không xác nhận : Khi đạt đến chu kỳ xung nhịp SCL thứ 9, SDA vẫn ở mức cao, biểu thị tín hiệu không xác nhận.
Mỗi byte phải được đảm bảo là 8 bit. Khi truyền dữ liệu, bit cao nhất (MSB) được truyền trước và sau mỗi byte được truyền phải được theo sau bởi một bit xác nhận (tức là một khung có tổng cộng 9 bit). Nếu không có tín hiệu xác nhận từ nô lệ trong một thời gian nhất định, nó sẽ tự động được coi là nô lệ đã nhận dữ liệu chính xác và chủ sẽ gửi điều kiện dừng để kết thúc giao tiếp. Định dạng truyền dữ liệu được hiển thị trong Hình 4.
Hình 4 Định dạng truyền dữ liệu
I2C thường được sử dụng để liên lạc giữa các thiết bị ngoại vi MCU hoặc nhiều MCU. Giao diện I2C có các đặc điểm của phần cứng đơn giản và lập trình phần mềm dễ dàng.
Trong các hệ thống thiết bị, thường cần phải chuyển đổi các tín hiệu tương tự thay đổi liên tục được phát hiện như nhiệt độ, áp suất, tốc độ dòng chảy, tốc độ và cường độ ánh sáng thành các tín hiệu kỹ thuật số rời rạc trước khi chúng có thể được nhập vào máy tính để xử lý. Các tín hiệu analog này được chuyển đổi thành tín hiệu điện (thường là tín hiệu điện áp) thông qua các cảm biến, sau khi được khuếch đại bởi các bộ khuếch đại, chúng cần tiến hành một số xử lý nhất định để trở thành tín hiệu số. Thiết bị chuyển đổi tín hiệu tương tự sang số thường được gọi là bộ chuyển đổi tương tự sang số (ADC), viết tắt là A/D.
Quá trình chuyển đổi A/D là một quá trình lấy mẫu, giữ, định lượng và mã hóa. Ý tưởng cơ bản của ADC là so sánh điện áp tương tự đầu vào với điện áp tham chiếu (trực tiếp hoặc gián tiếp) và chuyển đổi nó thành đầu ra kỹ thuật số. Có ba loại ADC: loại so sánh song song, loại xấp xỉ liên tiếp và loại tích phân kép.
Khi sử dụng ADC, mối quan tâm quan trọng nhất là độ chính xác của chuyển đổi và thời gian chuyển đổi. Độ chính xác chuyển đổi chủ yếu bị ảnh hưởng bởi các yếu tố bên ngoài như độ ổn định của điện áp nguồn và điện áp tham chiếu, độ ổn định của bộ khuếch đại hoạt động và nhiệt độ môi trường. Các yếu tố bị ảnh hưởng bởi bản thân chip bao gồm độ phân giải, lỗi lượng tử hóa, lỗi tương đối, lỗi tuyến tính, v.v.
Tên đầy đủ của CAN bus là Controller Area Network. Nó là một bus nối tiếp, đồng bộ và bán song công. Được phát triển bởi Công ty BOSCH ở Đức, giao diện ngoại vi này là một trong những bus trường được sử dụng rộng rãi nhất trên toàn thế giới.
Các đặc điểm của bus CAN như sau:
Giao thức truyền thông CAN như sau:
CAN chỉ định tổng cộng 5 loại khung, còn được gọi là gói. Khung dữ liệu là quan trọng và phức tạp nhất trong giao tiếp CAN. Khung dữ liệu bắt đầu bằng một bit rõ ràng (logic 0) và kết thúc bằng bảy bit ẩn liên tiếp (logic 1).
Đa truy cập cảm nhận nhà cung cấp dịch vụ (CSMA): Mỗi nút phải lắng nghe xe buýt trước khi gửi tin nhắn. Chỉ khi xe buýt không hoạt động, nó mới có thể được gửi.
Phát hiện xung đột+Phân xử về mức độ ưu tiên của tin nhắn (CD+AMP): Giải quyết xung đột thông qua mức độ ưu tiên của tin nhắn được lập trình trước bằng phân xử bit, với mức độ ưu tiên của tin nhắn nằm trong miền nhận dạng của mỗi tin nhắn. Tin nhắn có số nhận dạng ưu tiên cao hơn luôn có thể có được quyền truy cập bus, điều đó có nghĩa là tin nhắn cuối cùng trong số nhận dạng vẫn ở mức logic cao sẽ tiếp tục được truyền đi vì nó có mức độ ưu tiên cao hơn.
Hình 5 Khung dữ liệu bus CAN
CAN tiêu chuẩn : Chỉ mã định danh 11 bit được sử dụng để xác định mức độ ưu tiên của tin nhắn. Giá trị trong trường này càng nhỏ thì mức độ ưu tiên càng cao. Như thể hiện trong Hình 6.
Hình 6 Mã định danh CAN 11 bit tiêu chuẩn
CAN mở rộng : Mã định danh 29 bit. Như thể hiện trong Hình 7.
Hình 7 Mã định danh CAN 29-bit mở rộng
Bus CAN chủ yếu sử dụng CAN tốc độ thấp (nghĩa là tiêu chuẩn ISO11898-3) trong lĩnh vực điều khiển công nghiệp và sử dụng CAN tốc độ cao 125 Kbps trong lĩnh vực ô tô. Giao thức CAN được sử dụng rộng rãi trong tất cả các loại ứng dụng của ngành ô tô, bao gồm ô tô chở khách, xe tải hạng nặng và xe đa dụng cũng như xe nông nghiệp.
Hầu hết các mô-đun ngôi sao RF được nhúng với các thiết bị ngoại vi UART, ADC, I2C và I2S trong phần cứng. Do nhu cầu của thị trường, UART là một trong những chế độ giao tiếp quan trọng nhất của chúng tôi trong phần mềm. Hầu như tất cả các mô-đun BLE và mô-đun Wi-Fi của RF-star dựa trên TI, Silicon Labs, Nordic, Realtek và các IC tự phát triển của chúng tôi đều được trang bị giao thức cổng nối tiếp UART để truyền trong suốt nhằm dễ dàng phát triển tích hợp cuối cùng sản phẩm, rút ngắn chu kỳ phát triển, tiết kiệm thời gian và chi phí thẩm định chứng chỉ với các mô-đun được chứng nhận và linh hoạt hơn với nhiều thiết kế RF mô-đun hơn. Ví dụ: các mô-đun không dây này rất được hoan nghênh:
RF-BM-2642B1 , RF-BM-BG22A1 , RF-BM-ND04 , RSBRS02ABR , RF-WM-20CMB1
Công ty TNHH Công nghệ ngôi sao RF Thâm Quyến (RF-star) là một công ty công nghệ cao tập trung vào các thiết bị tần số vô tuyến và là IDH bên thứ ba chính thức của Texas Instruments trong hơn một thập kỷ. RF-star cung cấp các mô-đun không dây IoT và một bộ giải pháp đầy đủ, bao gồm BLE, Wi-Fi, ZigBee, Thread, Matter, Wi-SUN, Sub-1G, v.v. Để biết thêm thông tin, vui lòng truy cập trang web chính thức https: // www.rfstariot.com/ hoặc liên hệ với chúng tôi tại info@szrfstar.com.