제어 25

Lab6

가장 간단한 프로그램을 해보려고 하는데 Exam1으로 프로젝트를 하나 만든다. Nios II를 하나 만들고 c프로그램으로 선택하고 JTAG_UART를 선택한다. C 언어의 경우 JTAG_UART가 모니터 프로그램에 나온다. 디버깅하기가 너무 편해졌다 컴파일러가 어셈블리어로 쫙 바꾼다. printf를 했을 때 어떻게 되느냐 일일이 따라갈 필요는 없다. 결과값은 터미널 창에 나온다. 레지스터나 메모리 탭을 띄우지 않아도 된다 실험 6에서는 IO하는 부분을 다룰 것이다. 6장에서는 POLLED IO 7장에서는 INTERRUPT IO 푸쉬버튼 키가 4개 있는데 KEY0나 KEY2중에 하나를 누르면 출력이 되고 KEY3나 KEY1을 눌렀을 때 출력이되는데 몇개가 눌렸는지를 출력하는 형태를 돌려보려 한다. 우측에 ..

제어시스템 설계 (Week6)

인풋을 받아서 아웃풋이 나오는데 원하는 아웃풋과 비슷해야 한다. 타임과 주파수 영역에서 모델링 하는 법을 배웠었다. 모델링을 했으니 평가를 하는 도구들을 배웠었고 폴과 제로들이 있었다. 폴은 전달함수를 무한대로 만드는것 즉 분모를 0으로 만드는것이었죠 제로라고 하는것은 분자를 0으로 만드는것이었다. 폴은 네츄럴 리스폰스 인풋의 폴은 폴이 주어졌을 때 s plane에 표기를 한다. 폴이 허수 영역에만 존재하면 undamped 한다고 했었고 제타가 0에서 1 사이에 있을 때 underdamped 실수만 가질 때 critically damped 1보다 클 때 실수 영역만 남을 때 => overdamped 폴을 s 플레인에서 라플라스 변환을 통해서 폴의 위치를 찾아보면 시스템의 반응을 분석할 수가 있었다. 면접..

Lab5

인터럽트 IO를 실습해볼 것이다. Exception 말 그대로 예외 내부에서 혹은 외부에서 이벤트가 발생할 때 0으로 나눈다거나 컴파일러의 버그나 해킹을 당해서 없는 instruction set을 undefined instruction 혹은 외부 인터럽트가 있을 때 (키보드나 마우스의 푸쉬버튼,센서 등등) 이러한 exceptional한 이벤트들이 들어오는게 인터럽트 hardware interrupt에 대해서 주로 다룰것 입니다. trap이라는 명령어가 있는데 이것을 사용하면 인터럽트가 발생합니다. 운영체제에서(?) 쭉 하다가 프로세스 동작하는것을 끊고 넘겨준다거나 시스템 콜을 할 때 exeption을 발생시킬 때 trap을 사용하곤 합니다. 하드웨어,소프트웨어,언디파인드 세가지로 분류한다. 인터럽트가 발..

Lab4

IO를 하려고 임베디드 시스템을 한다. lab4에서는 인터럽트를 사용하지 않고 사용하는 IO lab5에서는 인터럽트를 사용해서 IO를 사용한다. Memory-Mapped IO 메모리의 일정 부분인냥 IO를 다루게 된다. 다른 프로세서들은 IO를 위한 포트가 따로 있고 명령어가 따로 있고 사용하는 방식도 다른 방식으로 동작하는데 Memory -mapped IO는 메모리 명령어와 동일하게 사용한다. peripheral device와 load/store 명령어를 사용해서 peripherals도 사용할 수 있다. io 명령어를 뒤에 붙여주면 된다. 안붙여줘도 되지만 cache를 bypass 해주기 위해서 io를 뒤에 붙여 준다. cache 캐시는 cpu에 있는것 (서럽장 같은 존재. 사용하면 빠른데 캐시에 있는..

제어시스템 설계 (Week5)

타임 도메인 모델링에 이어서 TIME RESPONSE를 배울것입니다. FREQUENCY 도메인에서는 매우 직관적이나 LTI에서만 적용가능 TIME 도메인에서는 덜 직관적이나 적용범위가 넓다. 리뷰 어떤 스테이트 들이 x1,x2,x3,---xn까지 있으면 x2=x1'으로 표현되는 것을 phase variable이라고 했고 TF->SS로 표현이 쉽게 가능하다. 두개의 equation으로 표현된 시스템이 있다면 라플라스 변환을 해주고 이것을 이용해서 전달함수를 구해줬었다. 모델링을 했으면 Response를 살펴보는 시간입니다. 제시설은 왜 배웠었나 특정 인풋에 대해서 아웃풋 리스폰스가 있는데 제시설을 설계하는것은 원하는 아웃풋을 만드는것이 목적이었다. system response를 분석하는 시간 입니다. fo..

제어시스템 설계 (Week4)

1장에서 제어시스템 정의 인풋이 있을 때 시그널을 적절히 조절해서 아웃풋을 만들어내는거 3장은 타임 도메인에서 모델링 하는 방법입니다. why? classical을 적용할 수 있는 도메인이 한정적이다. 선형 시불변에서만 가능하기 때문에. 타임 도메인에서 어프로치를 state-space approach라고 부르는데 배우는 이유는 더 general하기 때문입니다. lti가 아니여도 적용이 가능하다. 깔금하지 않고 직관적이지 않다는 단점이 있다. state-space 어프로치는 타임 도메인에서 물리적인것을 어떻게 표현할것인가? 크게 다섯가지 스텝으로 진행되는데 1.스텝의 모든 변수들 중에서 일부변수를 고르는것 입니다. 인풋과 아웃풋이 주어졌을때 subset을 말하고 선택된 varible을 state-varia..

[전자HW설계] LAB3

FIND SUM C에서는 while문을 사용하면 된다. N0이 0이 아닐 때 까지 N을 더한다. BUBBLE SORT 파트2는 sorting 즉 정렬을 할 겁니다. 시간적 복잡도 폴리노미얼 time에 풀 수 있으면 컴퓨터가 풀만한 문제 지수적으로 증가하는 형태이다==>컴퓨터가 풀기 어려운 문제 descending order로 해라 추가적인 메모리를 사용하지 말고 주어진 메모리만 사용해라 데이터들의 위치만 바꿔가면서 정렬을 해라 소팅 루틴 자체는 서브루틴이 필요 없다=>안쓰는 방향으로 설계하세요. 데이터가 들어있는 리스트는 워드 타입으로 되어있다. 32비트라서~ 가장 먼저 오는 숫자는 원서의 갯수를 적어준다. 모니터 프로그램에서 메모리 탭을 열면 메모리 값을 볼 수 있다. 포인터는 주소값을 저장하는 변수입..

[전자HW설계] LAB2

32개 비트 중에서 1이 몇번 연달아서 나오느냐? 가장 간단한것은 for문 돌리는거겠죠? 계속 1일 때 까지 모니터링하다가 1나오면 스탑하고 그것이 max면 비교해서 갈아치우고? for문 돌리면 몇번 돌아가는가? 0~31까지 32번 루프가 돌게 되어있다. r9에 NUM을 집어 넣습니다. 0x 뒤에 있는 애가 16진수다라는 말입니다. 알파벳 하나가 4개의 비트를 표현합니다. 32비트면 4개가 8개 있어야겠죠? 16진수로 적는 이유는 사람들이 읽기 편하니까 r9에 들어가게 되는데 r9에 있는 2진수 중에서 비트1이 몇번 나오는지 카운트 할것이다. r10은 결과를 저장시키기 위한 레지스터 r9에는 3fabedef 들어가 있다. srli r11, r9, 0x01 shift right logical i 1만큼 오..

제어시스템설계 (Week3) [Transfer functions & Linearization]

Laplace Transform 수학적으로 모델링해서 적용하는 부분 주파수영역에서 모델링하고 있는데 time->s-plane why? 물리법칙은 미분방정식의 형태로 표현할 수 있기 때문이다. 미분 방정식을 다항식으로 표현하고 싶을 때 Laplace Transform으로 변환을 시켜줘서 솔루션을 구하고 다시 time domain으로 보낸다 전달함수 input:R(s) output:C(s) G(s)=C(s)/R(s) all initial conditions are zero 예제 2.4 Electrical network transfer functions 예제 2.6 OP-amp Translational Mechanical System Transfer Functions Rotational Mechanical S..