주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Rate Transition

서로 다른 레이트에서 동작하는 블록 간 데이터 전송 처리

라이브러리:
Simulink / Signal Attributes
HDL Coder / Signal Attributes

설명

Rate Transition 블록은 한 레이트에서 동작하는 블록의 출력에서 다른 레이트에서 동작하는 블록의 입력으로 데이터를 전송합니다. 응답 속도를 높이거나 메모리 요구 사항을 낮추려면 블록 파라미터를 사용하여 데이터 무결성과 결정적 전송 사이에서 상호 절충하십시오. 데이터 무결성과 결정적 데이터 전송에 대해 알아보려면 Data Transfer Considerations (Simulink Coder) 항목을 참조하십시오.

변경(Transition) 처리 동작

동작파라미터 설정참고
  • 데이터 무결성

  • 결정적 데이터 전송

  • 최대 대기 시간

선택:

  • 데이터 전송 시 데이터 무결성 보장

  • 결정적 데이터 전송 보장

  • 생성 코드는 신호의 데이터 바이트(폭이 넓은 신호의 요소 포함)가 동일한 시간 스텝에서 나오도록 데이터를 전송합니다.

  • 데이터가 한 레이트에서 다른 레이트로 전송되는 상대적 샘플 시간(지연)은 동일합니다.

  • 코드 생성기는 ANSI® C 코드만 생성합니다.

  • 타깃별 임계 섹션 보호가 필요하지 않습니다.

  • 데이터 무결성

  • 비결정적 데이터 전송

  • 최소 대기 시간

  • 더 높은 메모리 요구 사항

선택:

  • 데이터 전송 시 데이터 무결성 보장

선택 해제:

  • 결정적 데이터 전송 보장

  • 생성 코드는 신호의 데이터 바이트(폭이 넓은 신호의 요소 포함)가 동일한 시간 스텝에서 나오도록 데이터를 전송합니다.

  • 한 데이터 전송에서 다음 데이터 전송까지 데이터가 전송되는 상대적 샘플 시간(지연)은 달라질 수 있습니다. 데이터 전송 시 데이터 무결성 보장결정적 데이터 전송 보장을 모두 선택한 경우에 비해서, 데이터를 읽고 쓰는 코드가 더 자주 실행됩니다. 최악의 시나리오에서는, 지연이 데이터 전송 시 데이터 무결성 보장결정적 데이터 전송 보장을 선택했을 때와 동일하지만 지연이 더 적을 수 있으며, 이는 일부 응용 분야에서 중요할 수 있습니다.

  • 비동기 레이트로 주고받는 데이터 전송을 지원합니다.

  • 코드 생성기는 ANSI C 코드만 생성합니다.

  • 타깃별 임계 섹션 보호가 필요하지 않습니다.

  • 잠재적 데이터 무결성 손실

  • 비결정적 데이터 전송

  • 최소 대기 시간

  • 더 낮은 메모리 요구 사항

선택 해제:

  • 데이터 전송 시 데이터 무결성 보장

  • 결정적 데이터 전송 보장

  • 코드 생성기가 Rate Transition 블록에 대한 코드를 생성하지 않습니다.

  • 스칼라 데이터형의 아토믹 액세스가 보장되고 데이터의 상대적 시간 값이 중요하지 않은 응용 분야에 적합합니다.

  • 지연이 발생하지 않습니다.

Rate Transition 블록의 동작은 다음에 따라 달라집니다.

블록 레이블

모델 다이어그램을 업데이트하면 Rate Transition 블록에 시뮬레이션 동작을 나타내는 레이블이 표시됩니다.

레이블블록 동작
ZOH 영차 유지 역할
1/z 단위 지연 역할
Buf 세마포어 제어 상태에서 입력을 출력으로 복사
Db_buf 이중 버퍼를 사용하여 입력을 출력으로 복사
3buf삼중 버퍼를 사용하여 입력을 출력으로 복사
Copy 입력에서 출력으로의 보호되지 않는 복사
NoOp 작업 없음
Mixed 다른 동작이 있는 여러 블록으로 확장
RT

스케줄 편집기를 사용할 때 파티션 간 데이터 전송을 나타냅니다.

자세한 내용은 Using the Schedule Editor 항목을 참조하십시오.

Memory

메모리 모드를 나타냅니다. 결정적 데이터 전송 보장(최대 지연)이 선택 해제되어 있으면 블록은 메모리 모드에 있습니다.

블록 동작 레이블은 서로 다른 레이트에서 동작하는 태스크 간에 데이터를 안전하게 전송하는 방법을 보여줍니다. 샘플 시간 색 기능(View Sample Time Information 참조)을 사용하여 블록이 연결하는 상대적인 레이트를 표시할 수 있습니다. 다음 예제 모델을 살펴보겠습니다.

Model that includes Rate Transition blocks that handle a fast-to-slow rate transition and a slow-to-fast rate transition.

샘플 시간 색과 블록 동작 레이블은 다음을 보여줍니다.

  • 다이어그램 상단의 Rate Transition 블록은 빠름-느림 변경에서 영차 유지 역할을 합니다.

  • 다이어그램 하단의 Rate Transition 블록은 느림-빠름 변경에서 단위 지연 역할을 합니다.

자세한 내용은 Data Transfer Representation and Processing (Simulink Coder) 항목을 참조하십시오.

동기 샘플 시간의 영향

다음 표에는 입력 포트와 출력 포트의 샘플 시간(inTsoutTs)이 주기적, 즉 동기적일 때 각 레이블이 표시되는 방식이 요약되어 있습니다.

블록 설정

블록 레이블

Rate Transition

Rate Transition 블록의 조건

데이터 무결성 및 결정성(Determinism) 있음

데이터 무결성만 있음

데이터 무결성 또는 결정성 없음

inTs = outTs

(같음)

inTsOffset < outTsOffset

없음(오류)

Buf

Copy 또는 NoOp(표 다음에 나오는 참고 사항 참조)

inTsOffset = outTsOffset

Copy 또는 NoOp(표 다음에 나오는 참고 사항 참조)

Copy 또는 NoOp(표 다음에 나오는 참고 사항 참조)

inTsOffset > outTsOffset

없음(오류)

Db_buf

inTs < outTs

(빠름-느림)

inTs = outTs / N

inTsOffset, outTsOffset = 0

ZOH

Buf

inTs = outTs / N

inTsOffsetoutTsOffset

없음(오류)

inTs = outTs / N

inTsOffset > outTsOffset

없음(오류)

Db_buf

inTsoutTs / N

없음(오류)

inTs > outTs

(느림-빠름)

inTs = outTs * N

inTsOffset, outTsOffset = 0

1/z

Db_buf

inTs = outTs * N

inTsOffsetoutTsOffset

없음(오류)

inTs = outTs * N

inTsOffset > outTsOffset

없음(오류)

inTsoutTs * N

없음(오류)

  • inTs, outTs: 각각 입력 포트와 출력 포트의 샘플 시간

  • inTsOffset, outTsOffset: 각각 입력 포트와 출력 포트의 샘플 시간 오프셋

  • N: 1보다 큰 정수 값

참고

모델 구성 파라미터인 블록 축소를 선택하면 CopyNoOp로 축소됩니다. NoOp 레이블을 갖는 Rate Transition 블록에 대해서는 코드 생성이 발생하지 않습니다. 블록 축소가 켜져 있을 때 블록이 축소되지 않도록 하려면 블록 출력에 테스트 지점을 추가하십시오(Configure Signals as Test Points 항목 참조).

비동기 샘플 시간의 영향

다음 표에는 입력 포트나 출력 포트의 샘플 시간(inTs 또는 outTs)이 주기적이지 않을 때, 즉 비동기적일 때 각 레이블이 표시되는 방식이 요약되어 있습니다.

블록 설정

블록 레이블
데이터 무결성 및 결정성(Determinism) 있음데이터 무결성만 있음데이터 무결성 또는 결정성 없음

inTs = outTs

Copy

Copy

Copy

inTsoutTs

없음(오류)

Db_buf

  • inTs, outTs: 각각 입력 포트와 출력 포트의 샘플 시간

장치 구성의 영향

모델 구성 파라미터 장치 공급업체장치 유형의 설정에서 아토믹 데이터 불러오기 및 저장 작업을 지원하는 하드웨어를 지정하는 경우, 타깃 하드웨어가 전송되는 신호의 데이터형에 대하여 아토믹 불러오기 및 저장 작업을 지원하면 코드 생성기는 생성된 레이트 변경 코드를 최적화합니다. 코드 생성기는 비동기 태스크 간의 이중 버퍼링 코드를 메모리 복사를 한 번 수행하는 코드로 대체함으로써 하드웨어에 기반한 데이터 불러오기 및 저장 기능을 활용합니다.

포트

입력

모두 확장

새로운 샘플 레이트로 변경되는 신호로, 스칼라, 벡터, 행렬 또는 N차원 배열로 지정됩니다. 응답 속도를 높이거나 메모리 요구 사항을 낮추기 위해 데이터 무결성과 결정적 전송 사이에서 상호 절충이 가능한 블록 파라미터에 대해 알아보려면 변경(Transition) 처리 동작 항목을 참조하십시오.

데이터형: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

출력

모두 확장

지정한 샘플 레이트로 변환된 입력 신호입니다. 디폴트 구성은 안전하고 결정적인 데이터 전송을 보장합니다. 응답 속도를 높이거나 메모리 요구 사항을 낮추기 위해 데이터 무결성과 결정적 전송 사이에서 상호 절충이 가능한 블록 파라미터에 대해 알아보려면 변경(Transition) 처리 동작 항목을 참조하십시오.

데이터형: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

파라미터

모두 확장

이 파라미터를 선택하면 블록이 데이터를 전송할 때 데이터 무결성을 보장하는 코드가 생성됩니다. 이 파라미터가 선택된 상태에서 전송이 비결정적인 경우(결정적 데이터 전송 보장 참조), 생성 코드는 입력 레이트와 출력 레이트의 우선 순위에 따라 단일 버퍼나 다중 버퍼를 사용하는 적절한 알고리즘을 사용하여 데이터 전송 시 데이터 무결성을 보호합니다.

그렇지 않은 경우 Rate Transition 블록은 축소되거나 아니면 데이터 전송에 영향을 미치는 복사 작업을 사용하여 코드를 생성합니다. 이 보호되지 않는 모드는 메모리를 더 적게 사용합니다. 그러나 복사 작업이 중단될 수 있으므로 데이터 전송 시 데이터 무결성이 손실될 수 있습니다. 생성 코드가 최대 반응 속도로(즉, 비결정적으로) 동작하고 데이터 무결성을 유지하도록 하려면 이 파라미터를 선택하십시오. 자세한 내용은 Control Data Transfer Behavior in Generated Code (Simulink Coder) 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: Integrity
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'on'

이 파라미터를 선택하면 더 느린 블록의 샘플 레이트에서(즉, 결정적으로) 데이터를 전송하는 코드가 생성됩니다. 이 파라미터를 선택하지 않으면, 소스 블록에서 새 데이터를 사용할 수 있고 수신 블록이 해당 데이터를 수신할 준비가 되었을 때 데이터 전송이 발생합니다. 전송 지연을 방지하여 시스템이 최대 반응 속도로 동작하도록 할 수 있습니다. 그러나 예기치 않게 전송이 발생할 수 있으므로 일부 응용 사례에서는 바람직하지 않을 수 있습니다. 자세한 내용은 Control Data Transfer Behavior in Generated Code (Simulink Coder) 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: Deterministic
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'on'

이 파라미터는 느림-빠름 변경에만 적용됩니다. 느린 블록에서 오는 입력 신호가 없어서 출력 신호가 없는 경우 변경이 시작될 때 Rate Transition 블록의 초기 출력을 지정합니다. Simulink®에서 이 블록의 초기 출력은 InfNaN이 될 수 없습니다. 지정하는 값은 스칼라이거나 입력 신호와 차원이 같아야 합니다.

프로그래밍 방식의 사용법

블록 파라미터: InitialCondition
유형: 문자형 벡터
값: 유한한 스칼라
디폴트 값: '0'

출력 포트 샘플 시간을 설정하기 위한 모드를 지정합니다.

  • 지정출력 포트 샘플 시간 파라미터를 사용하여 블록이 입력 레이트를 얼마만큼의 출력 레이트로 변환할지를 지정합니다.

  • 상속 — 블록이 출력 포트가 연결된 블록으로부터 출력 레이트를 상속합니다.

  • 입력 포트 샘플 시간의 배수샘플 시간 배수(>0) 파라미터를 사용하여 블록 출력 레이트를 입력 레이트의 배수로 지정합니다.

상속을 선택하고 출력 포트에 연결된 블록도 샘플 시간을 상속하면 모델에서 가장 빠른 샘플 시간이 적용됩니다.

프로그래밍 방식의 사용법

블록 파라미터: OutPortSampleTimeOpt
유형: 문자형 벡터
값: 'Specify' | 'Inherit' | 'Multiple of input port sample time'
디폴트 값: 'Specify'

블록이 입력 레이트를 변환하여 얻게 될 출력 레이트의 값을 여기에 입력합니다. 디폴트 값(-1)은 Rate Transition 블록이 출력 포트가 연결된 블록으로부터 출력 레이트를 상속하도록 지정합니다. 출력 레이트를 지정하는 방법에 대한 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 출력 포트 샘플 시간 옵션지정으로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: OutPortSampleTime
유형: 문자형 벡터
값: 스칼라 | 벡터
디폴트 값: '-1'

출력 레이트를 입력 포트 샘플 시간의 배수인 양수 값으로 지정해 입력합니다. 디폴트 값(1)은 출력 레이트를 입력 레이트와 동일하게 지정합니다. 값 0.5는 출력 레이트를 입력 레이트의 절반으로 지정합니다. 값 2는 출력 레이트를 입력 레이트의 두 배로 지정합니다.

종속성

이 파라미터를 활성화하려면 출력 포트 샘플 시간 옵션입력 포트 샘플 시간의 배수로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: OutPortSampleTimeMultiple
유형: 문자형 벡터
값: 스칼라
디폴트 값: '1'

블록 특성

데이터형

Boolean | bus | double | enumerated | fixed point | half | integer | single

직접 피드스루

다차원 신호

가변 크기 신호

아니요

영점교차 검출

아니요

확장 기능

모두 확장

고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.

버전 내역

R2006a 이전에 개발됨