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

Tính năng này cho phép các đối tác chọn cách đồng bộ hóa thời gian, từ Hệ điều hành ô tô Android (AAOS) hay từ hệ thống xe cộ sang Android. Để đảm bảo triển khai chất lượng, bạn có thể định cấu hình AAOS để sử dụng một trong hai thuộc tính VHAL mới được mô tả bên dưới nhằm truyền bá 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 thông tin chính xác về thời gian. VHAL hỗ trợ thuộc tính chỉ ghi này, giúp truyền đạt những thay đổi về thời gian từ Android sang các hệ thống phương tiện giao thông khác, chẳng hạn như Bộ điều khiển điện tử (ECU) và Mô-đun điều khiển thân xe (BCM).
  • EXTERNAL_CAR_TIME để không sử dụng Android làm nguồn thông tin chính xác về thời gian. Trong trường hợp này, VHAL hỗ trợ thuộc tính EXTERNAL_CAR_TIME chỉ đọc , giúp truyền đạt sự thay đổi thời gian từ các hệ thống 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 gốc của sự thật cho thời gian

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

Để làm như vậy, việc triển khai VHAL phải hỗ trợ thuộc tính chỉ ghi 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ả lúc 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 gốc của sự thật cho thời gian

Khi Android không được sử dụng làm nguồn thời gian, bạn có thể đồng bộ hóa thời gian Android để làm nguồn thời gian chính xác (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ác 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 chứa 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 .
  • thời gian external 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>
    

Chi tiết triển khai nội bộ Android

Luồng sau đây diễn ra khi thuộc tính ANDROID_EPOCH_TIME VHAL đượ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 xuất bản 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 tới các ECU và/hoặc đơn vị BCM khác nhau.

Luồng sau đây diễn ra khi thuộc tính EXTERNAL_CAR_TIME VHAL được hỗ trợ:

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