Cấu hình đài

Mô-đun này bao gồm nội dung tóm tắt nền tảng cho cấu hình radio.

Tóm tắt

Hàm

otPlatRadioGetBusSpeed(otInstance *aInstance)
uint32_t
Nhận tốc độ bus tính bằng bit/giây giữa máy chủ lưu trữ và chip radio.
otPlatRadioGetCaps(otInstance *aInstance)
Khai thác các chức năng của đài phát thanh.
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
Lấy ngưỡng CCA ED của sóng vô tuyến tính bằng dBm đo tại đầu nối ăng ten theo tiêu chuẩn IEEE 802.15.4 - 2015 10.1.4.
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
Nhận mức tăng Rx LNA của FEM bên ngoài tính bằng dBm.
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
void
Nhận mã IEEE EUI-64 do nhà máy chỉ định cho giao diện này.
otPlatRadioGetNow(otInstance *aInstance)
uint64_t
Lấy thời gian hiện tại tính bằng micrô giây được tham chiếu đến đồng hồ vô tuyến cục bộ đơn điệu liên tục (chiều rộng 64 bit).
otPlatRadioGetPromiscuous(otInstance *aInstance)
bool
Xem trạng thái của chế độ hỗn tạp.
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
int8_t
Nhận giá trị độ nhạy của sóng radio.
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
Lấy công suất truyền của đài tính bằng dBm.
otPlatRadioGetVersionString(otInstance *aInstance)
const char *
Lấy chuỗi phiên bản đài.
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
Thiết lập ngưỡng CCA ED của sóng vô tuyến tính bằng dBm đo tại đầu nối ăng ten theo tiêu chuẩn IEEE 802.15.4 - 2015 10.1.4.
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
void
Đặt Địa chỉ mở rộng để lọc địa chỉ.
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
Đặt mức tăng LNA Rx của FEM bên ngoài tính bằng dBm.
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
void
Đặt giá trị bộ đếm khung MAC hiện tại.
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
void
Chỉ đặt giá trị bộ đếm khung MAC hiện tại khi giá trị mới cho trước lớn hơn giá trị hiện tại.
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
void
Cập nhật khoá MAC và chỉ mục khoá.
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
void
Đặt mã PAN để lọc địa chỉ.
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
void
Bật hoặc tắt chế độ hỗn tạp.
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
void
Đặt trạng thái rx-on-when-idle cho nền tảng radio.
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
void
Đặt Địa chỉ ngắn để lọc địa chỉ.
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
Đặt công suất truyền của đài bằng dBm.

Hàm

otPlatRadioGetBusSpeed

uint32_t otPlatRadioGetBusSpeed(
  otInstance *aInstance
)

Nhận tốc độ bus tính bằng bit/giây giữa máy chủ lưu trữ và chip radio.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Tốc độ bus tính bằng bit/giây giữa máy chủ và chip vô tuyến. Trả về 0 khi lớp MAC trở lên và lớp Radio nằm trên cùng một khối.

otPlatRadioGetCaps

otRadioCaps otPlatRadioGetCaps(
  otInstance *aInstance
)

Khai thác các chức năng của đài phát thanh.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Vectơ bit chức năng vô tuyến (xem định nghĩa OT_RADIO_CAP_*).

otPlatRadioGetCcaEnergyDetectThreshold

otError otPlatRadioGetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t *aThreshold
)

Lấy ngưỡng CCA ED của sóng vô tuyến tính bằng dBm đo tại đầu nối ăng ten theo tiêu chuẩn IEEE 802.15.4 - 2015 10.1.4.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[out] aThreshold
Ngưỡng CCA ED tính bằng dBm.
Giá trị trả về
OT_ERROR_NONE
Đã truy xuất thành công ngưỡng CCA ED.
OT_ERROR_INVALID_ARGS
aThreshold là NULL.
OT_ERROR_NOT_IMPLEMENTED
Cấu hình ngưỡng CCA ED qua dBm không được triển khai.

otPlatRadioGetFemLnaGain

otError otPlatRadioGetFemLnaGain(
  otInstance *aInstance,
  int8_t *aGain
)

Nhận mức tăng Rx LNA của FEM bên ngoài tính bằng dBm.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[out] aGain
Mức tăng LNA Rx Rx của FEM bên ngoài tính bằng dBm.
Giá trị trả về
OT_ERROR_NONE
Đã truy xuất thành công mức tăng LNA của FEM bên ngoài.
OT_ERROR_INVALID_ARGS
aGain là NULL.
OT_ERROR_NOT_IMPLEMENTED
Chế độ cài đặt LNA của FEM bên ngoài chưa được triển khai.

otPlatRadioGetIeeeEui64

void otPlatRadioGetIeeeEui64(
  otInstance *aInstance,
  uint8_t *aIeeeEui64
)

Nhận mã IEEE EUI-64 do nhà máy chỉ định cho giao diện này.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[out] aIeeeEui64
Con trỏ tới EUI-64 do nhà máy chỉ định.

otPlatRadioGetNow

uint64_t otPlatRadioGetNow(
  otInstance *aInstance
)

Lấy thời gian hiện tại tính bằng micrô giây được tham chiếu đến đồng hồ vô tuyến cục bộ đơn điệu liên tục (chiều rộng 64 bit).

Đồng hồ radio KHÔNG được gói trong thời gian hoạt động của thiết bị. Do đó, việc triển khai SHALL sẽ xác định và bù cho việc tràn bộ đếm nội bộ. Đồng hồ không có thời gian bắt đầu của hệ thống xác định và sẽ KHÔNG đưa ra bất kỳ sự điều chỉnh liên tục hoặc gián đoạn nào (ví dụ: giây nhuận). Các phương thức triển khai SẼ bù đắp cho mọi thời gian ngủ của thiết bị.

Các phương pháp triển khai CÓ THỂ chọn kỷ luật đồng hồ vô tuyến và bù lại thời gian ngủ bằng bất kỳ cách nào (ví dụ: bằng cách kết hợp RTC có độ chính xác cao/công suất thấp với bộ đếm độ phân giải cao) miễn là đồng hồ kết hợp tiếp xúc cung cấp độ phân giải micrô đơn âm liên tục trong giới hạn độ chính xác do otPlatRadioGetCslAccuracy công bố.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Thời gian hiện tại tính bằng micrô giây. UINT64_MAX khi nền tảng không hỗ trợ hoặc thời gian vô tuyến chưa sẵn sàng.

otPlatRadioGetPromiscuous

bool otPlatRadioGetPromiscuous(
  otInstance *aInstance
)

Xem trạng thái của chế độ hỗn tạp.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
Giá trị trả về
TRUE
Chế độ hỗn tạp đang bật.
FALSE
Đã tắt chế độ Nhược điểm.

otPlatRadioGetReceiveSensitivity

int8_t otPlatRadioGetReceiveSensitivity(
  otInstance *aInstance
)

Nhận giá trị độ nhạy của sóng radio.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Giá trị độ nhạy nhận sóng vô tuyến tính bằng dBm.

otPlatRadioGetTransmitPower

otError otPlatRadioGetTransmitPower(
  otInstance *aInstance,
  int8_t *aPower
)

Lấy công suất truyền của đài tính bằng dBm.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[out] aPower
Công suất truyền tính bằng dBm.
Giá trị trả về
OT_ERROR_NONE
Đã truy xuất thành công công suất truyền.
OT_ERROR_INVALID_ARGS
aPower là NULL.
OT_ERROR_NOT_IMPLEMENTED
Không triển khai cấu hình công suất phát qua dBm.

otPlatRadioGetVersionString

const char * otPlatRadioGetVersionString(
  otInstance *aInstance
)

Lấy chuỗi phiên bản đài.

Đây là chức năng nền tảng trình điều khiển vô tuyến không bắt buộc. Nếu không được trình điều khiển radio nền tảng cung cấp, OpenThread sử dụng phiên bản OpenThread thay thế (

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Con trỏ đến phiên bản radio OpenThread.
Xem thêm:
otGetVersionString()).

otPlatRadioSetCcaEnergyDetectThreshold

otError otPlatRadioSetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t aThreshold
)

Thiết lập ngưỡng CCA ED của sóng vô tuyến tính bằng dBm đo tại đầu nối ăng ten theo tiêu chuẩn IEEE 802.15.4 - 2015 10.1.4.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aThreshold
Ngưỡng CCA ED tính bằng dBm.
Giá trị trả về
OT_ERROR_NONE
Đã đặt thành công công suất phát.
OT_ERROR_INVALID_ARGS
Ngưỡng được chỉ định nằm ngoài phạm vi.
OT_ERROR_NOT_IMPLEMENTED
Cấu hình ngưỡng CCA ED qua dBm không được triển khai.

otPlatRadioSetExtendedAddress

void otPlatRadioSetExtendedAddress(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Đặt Địa chỉ mở rộng để lọc địa chỉ.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aExtAddress
Con trỏ tới Địa chỉ mở rộng IEEE 802.15.4 được lưu trữ theo thứ tự byte nhỏ.

otPlatRadioSetFemLnaGain

otError otPlatRadioSetFemLnaGain(
  otInstance *aInstance,
  int8_t aGain
)

Đặt mức tăng LNA Rx của FEM bên ngoài tính bằng dBm.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aGain
Mức tăng LNA Rx Rx của FEM bên ngoài tính bằng dBm.
Giá trị trả về
OT_ERROR_NONE
Đặt thành công mức tăng LNA của FEM bên ngoài.
OT_ERROR_NOT_IMPLEMENTED
Chế độ cài đặt mức tăng LNA của FEM bên ngoài không được triển khai.

otPlatRadioSetMacFrameCounter

void otPlatRadioSetMacFrameCounter(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

Đặt giá trị bộ đếm khung MAC hiện tại.

Được dùng khi đài cung cấp chức năng OT_RADIO_CAPS_TRANSMIT_SEC.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aMacFrameCounter
Giá trị bộ đếm khung MAC.

otPlatRadioSetMacFrameCounterIfLarger

void otPlatRadioSetMacFrameCounterIfLarger(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

Chỉ đặt giá trị bộ đếm khung MAC hiện tại khi giá trị mới cho trước lớn hơn giá trị hiện tại.

Được dùng khi đài cung cấp chức năng OT_RADIO_CAPS_TRANSMIT_SEC.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aMacFrameCounter
Giá trị bộ đếm khung MAC.

otPlatRadioSetMacKey

void otPlatRadioSetMacKey(
  otInstance *aInstance,
  uint8_t aKeyIdMode,
  uint8_t aKeyId,
  const otMacKeyMaterial *aPrevKey,
  const otMacKeyMaterial *aCurrKey,
  const otMacKeyMaterial *aNextKey,
  otRadioKeyType aKeyType
)

Cập nhật khoá MAC và chỉ mục khoá.

Được dùng khi đài phát có chức năng OT_Radio_CAPS_TRANSMIT_SEC.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aKeyIdMode
Chế độ giá trị nhận dạng khoá.
[in] aKeyId
Chỉ mục khoá MAC hiện tại.
[in] aPrevKey
Con trỏ tới khoá MAC trước đó.
[in] aCurrKey
Con trỏ tới khoá MAC hiện tại.
[in] aNextKey
Con trỏ tới khoá MAC tiếp theo.
[in] aKeyType
Loại khoá đã sử dụng.

otPlatRadioSetPanId

void otPlatRadioSetPanId(
  otInstance *aInstance,
  otPanId aPanId
)

Đặt mã PAN để lọc địa chỉ.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aPanId
Mã PAN theo chuẩn IEEE 802.15.4.

otPlatRadioSetPromiscuous

void otPlatRadioSetPromiscuous(
  otInstance *aInstance,
  bool aEnable
)

Bật hoặc tắt chế độ hỗn tạp.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aEnable
TRUE để bật hoặc FALSE để tắt chế độ hỗn tạp.

otPlatRadioSetRxOnWhenIdle

void otPlatRadioSetRxOnWhenIdle(
  otInstance *aInstance,
  bool aEnable
)

Đặt trạng thái rx-on-when-idle cho nền tảng radio.

Có một vài tình huống đài phát có thể chuyển sang trạng thái ngủ nếu thiết bị ở trạng thái rx-off-when-idle, nhưng SubMac khó có thể xác định những tình huống này và hướng dẫn đài chuyển sang trạng thái ngủ:

  • Hoàn tất tác vụ nhận khung hình thông thường, với điều kiện là:
    • Khung hình nhận được không có lỗi, vượt qua quá trình lọc và không phải là ACK giả.
    • Không yêu cầu ACK hoặc không thể truyền ACK do các điều kiện nội bộ.
  • Hoàn tất việc truyền khung hoặc truyền khung ACK khi không yêu cầu ACK trong khung truyền.
  • Việc hoàn tất hoạt động tiếp nhận của ACK được yêu cầu do:
    • Hết thời gian chờ ACK.
    • Có nhận ACK không hợp lệ hoặc không phải khung ACK.
    • Việc nhận ACK phù hợp, trừ khi khung đã truyền là một Lệnh yêu cầu dữ liệu và bit đang chờ xử lý khung trên ACK nhận được đặt thành true. Trong trường hợp này, việc triển khai nền tảng vô tuyến PHẢI giữ bộ thu ở trạng thái bật cho đến khi hết thời gian chờ được xác định, điều này sẽ kích hoạt thời gian không hoạt động.OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT có thể được dùng làm tài liệu tham khảo cho vấn đề này.
  • Hoàn thiện nhiệm vụ CCA độc lập.
  • Hoàn tất thao tác CCA có kết quả bận trong quy trình CSMA/CA.
  • Hoàn thành nhiệm vụ Phát hiện năng lượng.
  • Hoàn tất khung thời gian thu nhận sóng vô tuyến theo lịch với otPlatRadioReceiveAt.

Nếu một nền tảng hỗ trợ OT_RADIO_CAPS_RX_ON_WHEN_IDLE thì nền tảng đó cũng phải hỗ trợ OT_RADIO_CAPS_CSMA_BACKOFF và xử lý thời gian không hoạt động sau CCA như mô tả ở trên.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aEnable
TRUE để giữ đài ở trạng thái Nhận, FALSE để chuyển sang trạng thái Ngủ trong các thời gian rảnh.

otPlatRadioSetShortAddress

void otPlatRadioSetShortAddress(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Đặt Địa chỉ ngắn để lọc địa chỉ.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aShortAddress
Địa chỉ ngắn của IEEE 802.15.4.

otPlatRadioSetTransmitPower

otError otPlatRadioSetTransmitPower(
  otInstance *aInstance,
  int8_t aPower
)

Đặt công suất truyền của đài bằng dBm.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aPower
Công suất truyền tính bằng dBm.
Giá trị trả về
OT_ERROR_NONE
Đã đặt thành công công suất phát.
OT_ERROR_NOT_IMPLEMENTED
Không triển khai cấu hình công suất phát qua dBm.

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo Tài nguyên.