Định cấu hình nguồn thời gian AAOS

Tính năng này cho phép đối tác chọn cách đồng bộ hoá thời gian, cho dù từ Hệ điều hành Automotive (AAOS) hoặc từ hệ thống phương tiện vận tải sang Android. Nhằm đảm bảo chất lượng triển khai, bạn có thể định cấu hình AAOS để sử dụng một trong hai thuộc tính VHAL mới mô tả bên dưới để truyền các giá trị một cách hiệu quả. Sử dụng:

  • ANDROID_EPOCH_TIME để sử dụng Android làm nguồn đáng tin cậy thời gian. VHAL hỗ trợ thuộc tính chỉ ghi này cho biết các thay đổi về thời gian từ Android sang các hệ thống phương tiện vận tải khác, chẳng hạn như Đơn vị điều khiển điện tử (ECU) và Mô-đun điều khiển cơ thể (BCM).
  • EXTERNAL_CAR_TIME để không sử dụng Android làm nguồn đáng tin cậy nhất về thời gian. Trong trường hợp này, VHAL hỗ trợ chế độ chỉ có thể đọc Thuộc tính EXTERNAL_CAR_TIME cho biết sự thay đổi thời gian của phương tiện khác (chẳng hạn như ECU và BCM) sang Android.

AAOS cũng cung cấp TimeDetectorStrategy có thể định cấu hình để giúp bạn ưu tiên các nguồn thời gian khác nhau trong Android.

Android là nguồn đáng tin cậy về thời gian

Khi Android được dùng làm nguồn thời gian, OEM có thể đồng bộ hoá các hệ thống khác trên ô tô (bao gồm ECU và BCM) với thời gian Android.

Để thực hiện việc này, việc triển khai VHAL phải hỗ trợ thuộc tính chỉ ghi thuộc tính ANDROID_EPOCH_TIME. Android xuất bản bản cập nhật cho thuộc tính bằng cách đọc thời gian hệ thống, cả tại thời điểm khởi động và bất cứ khi nào nguồn thời gian trong Android thay đổi.

Android không phải là nguồn đáng tin cậy về thời gian

Khi Android không được dùng làm nguồn thời gian, bạn có thể đồng bộ hoá thời gian trên Android là nguồn thông tin đáng tin cậy về thời gian (ví dụ: với ECU hoặc BCM). Trong trường hợp này, Việc triển khai VHAL phải hỗ trợ thuộc tính chỉ đọc EXTERNAL_CAR_TIME và xuất bản cập nhật cho thuộc tính này bất cứ khi nào nguồn thời gian thay đổi hoặc hiệu chỉnh lại đồng hồ.

OEM cũng phải đảm bảo rằng:

  • Các giá trị config_autoTimeSourcesPriority có trong core/res/res/values/config.xml
  • Thuộc tính config_enableExternalCarTimeToExternalTimeSuggestion trong Cấu hình lớp phủ CarServices packages/services/Car/service/res/values/config.xml được đặt thành true.
  • external thời gian có mức độ ưu tiên thích hợp trong Cấu hình TimeDetectorStrategy. Để tìm hiểu thêm, hãy xem Phát hiện thời gian GNSS. Ví dụ:
    <!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list take precedence over lower ones.
    See com.android.server.timedetector.TimeDetectorStrategy for available sources. -->
         <string-array name="config_autoTimeSourcesPriority">
            <item>external</item>
            <item>gnss</item>
            <item>network</item>
            <item>telephony</item>
        </string-array>

Thông tin chi tiết về phương thức triển khai nội bộ của Android

Quy trình sau đây diễn ra khi thuộc tính VHAL ANDROID_EPOCH_TIME là được hỗ trợ:

  1. TimeHalService (trong CarServices) nhận được thông báo từ hệ thống Android cho Intent.ACTION_TIME_CHANGED
  2. TimeHalService phát hành bản cập nhật cho thuộc tính VHAL ANDROID_EPOCH_TIME
  3. VHAL có thể truyền giá trị thời gian nhận được đến các thiết bị ECU và/hoặc BCM khác nhau.

Quy trình sau đây diễn ra khi thuộc tính VHAL EXTERNAL_CAR_TIME là được hỗ trợ:

  1. VHAL cập nhật thuộc tính EXTERNAL_CAR_TIME.
  2. TimeHalService (trong CarServices) đọc tài sản thông qua một gói thuê bao.
  3. TimeHalService tạo và gửi một ExternalTimeSuggestion đến TimeManager.
  4. TimeManager chuyển tiếp đề xuất đến TimeDetectorService.
  5. TimeDetectorService sử dụng TimeDetectorStrategy để chọn một tài khoản mới giờ hệ thống.