주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

멀티레이트 모델링(멀티태스킹 모드, 베어 보드, OS 없음)

이 모델은 멀티레이트 이산 시간 모델(운영 체제가 없는 타깃)에 맞게 구성된 멀티태스킹 베어보드 타깃에 대해 생성된 코드를 보여줍니다.

예제 모델 열기

예제 모델 MultirateMultitaskingBareBoard를 엽니다.

open_system('MultirateMultitaskingBareBoard')

예제 모델 살펴보기

이 모델에는 두 개의 샘플 시간이 포함되어 있습니다. Inport 블록 1과 Inport 블록 2는 각각 1초 및 2초의 샘플 시간을 지정하며, 이는 모델 구성 파라미터 주기적 샘플링 시간 제약 조건의 설정을 통해 적용됩니다. 이 솔버는 멀티태스킹 방식으로 설정되어 있으므로, 1초 태스크가 2초 태스크를 선점할 때 데이터 무결성이 보장되도록 하기 위해서는 레이트 변경 블록이 필요합니다. Simulink® 및 Simulink Coder™는 항상 적절한 레이트 변경을 보장합니다. 이 모델은 명시적 레이트 변경 블록을 지정합니다. 또는 Simulink에서 모델 구성 파라미터 데이터 전송을 위한 레이트 변경 자동 처리를 설정하면 이 블록이 자동으로 삽입될 수도 있습니다.

이 모델은 다이어그램이 업데이트될 때 샘플 시간별 색상을 표시하도록 구성되어 있습니다. 이를 확인하려면 모델을 연 후 Ctrl+D를 눌러 다이어그램을 새로 고침하십시오. 범례를 표시하려면 Ctrl+J를 누르십시오. 빨간색은 모델에서 가장 빠른 이산 샘플 시간, 녹색은 두 번째로 빠른 샘플 시간을, 노란색은 혼합된 샘플 시간을 나타냅니다.

데이터 전송에 관한 가정

작업 간 데이터 전송의 작동 원리:

  • 데이터 전환은 단일 읽기 작업과 단일 쓰기 작업 사이에서 발생합니다.

  • 바이트 크기의 변수에 대한 읽기 또는 쓰기 작업은 아토믹입니다.

  • 두 태스크가 데이터 전달을 통해 상호작용할 때, 그중 하나만이 다른 하나를 선점할 수 있다.

  • 주기적인 작업의 경우, 실행 속도가 빠른 작업이 실행 속도가 느린 작업보다 우선순위가 높으며, 실행 속도가 빠른 작업은 항상 실행 속도가 느린 작업을 선점합니다.

  • 작업은 단일 프로세서에서 실행됩니다. 시간 분할은 허용되지 않습니다.

  • 프로세스가 중단되거나 다시 시작되지 않습니다(특히 작업 간에 데이터가 전송되는 동안에는).