이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
비동기 이벤트
비동기 지원
일반적으로, 주기적 인터럽트 소스(예: 하드웨어 타이머)를 통해 코드를 생성할 모델의 타이밍을 설정합니다. 주기적으로 클록이 공급되는 싱글레이트 모델 내의 블록들은 타이머 인터럽트 속도(모델의 기본 속도)로 실행됩니다. 주기적인 클록 신호가 적용되는 멀티레이트 모델 내의 블록들은 고정 스텝 크기(기본 샘플 시간) 또는 그 속도의 배수로 실행됩니다.
또한 많은 시스템은 시스템의 주기적 타이밍 소스와 비동기적인 이벤트에 대응하여 블록의 실행을 지원해야 합니다. 예를 들어, 주변기기는 인터럽트를 생성하여 입력 작업의 완료를 알릴 수 있습니다. 시스템은 예를 들어, 인터럽트를 발생시킨 장치로부터 데이터를 수집하는 등의 방식으로 이러한 인터럽트를 처리해야 합니다.
블록을 사용하여 실시간 운영 체제(RTOS) 환경에서 하드웨어에서 생성된 인터럽트 처리, 타이머 관리, 비동기 읽기 및 쓰기 작업, 비동기 작업 생성 등을 포함한 비동기 이벤트 처리를 모델링하고 코드를 생성할 수 있습니다. 이 블록들은 특정 RTOS를 타깃으로 하지만, 본 문서에서는 다른 타깃 RTOS에서 비동기 이벤트 처리를 지원하는 블록을 개발하는 데 활용할 수 있는 소스 코드 분석 및 기타 정보를 제공합니다.
실시간 운영 체제 호출을 위한 블록 라이브러리
모델에서 실시간 운영 체제(RTOS)에 대한 비동기 처리를 구현하려면, vxlib1 또는 Interrupt Templates 블록 라이브러리의 블록을 사용하십시오. 두 라이브러리 모두 Async Interrupt 및 Task Sync 블록을 포함하고 있습니다. Async Interrupt 블록을 사용하여 인터럽트 레벨 코드를 생성합니다. Task Sync 블록을 사용하여 함수 호출 서브시스템을 호출하는 RTOS 태스크를 생성합니다.
vxlib1 블록 라이브러리에는 Protected RT 및 Unprotected RT 블록도 포함되어 있는데, 이 블록들은 데이터 전송 중 데이터 무결성을 보장하거나 결정론적 데이터 전송을 보장하도록 사전 구성된 Rate Transition 블록의 변형 버전입니다.
두 라이브러리에 포함된 블록들은 그대로 사용하거나, 특정 RTOS를 지원하도록 수정하여 사용할 수 있는 예제 역할을 합니다. vxlib1 라이브러리의 블록들은 VxWorks® RTOS와 연동되도록 구성되어 있습니다.
vxlib1 블록 라이브러리를 열려면 MATLAB® 명령 프롬프트에서 vxlib1를 입력하십시오.
비동기 지원 구현에 대한 추가 정보
| 목표 | 관련 정보 |
|---|---|
| 인터럽트 서비스 루틴(ISR)을 생성합니다. | Generate Interrupt Service Routines |
| RTOS에 대한 비동기 지원을 구현하기 위해 Async Interrupt 및 Task Sync 블록을 사용자 지정합니다. | Create a Customized Asynchronous Library |
| 비동기 환경에서 미리 구성된 Rate Transition 블록을 사용하십시오. | Asynchronous Rate Transitions |
| 다중 작업 레이트 기반 모델의 레이트 변경을 처리합니다. | Time-Based Scheduling and Code Generation |
| 참조되는 모델에 비동기 함수 호출 입력을 지정합니다. | Convert Asynchronous Subsystem to a Referenced Model |
| VxWorks RTOS에 대한 시스템 호출을 이해합니다. | Wind River® 웹사이트의 VxWorks 시스템 문서 |
참고 항목
도움말 항목
1 VxWorks is a registered trademark of Wind River Systems, Inc.