마이크로프로세서 응용회로설계실습(9주차 결과보고서1)1. fnd.c 파일의 static unsigned short fnd_hexadecimal[16] 을 완성하시오.static unsigned short fnd_hexadecimal[16] = {0x3F, // 00x06, // 10x5B, // 20x4F, // 30x66, // 40x6D, // 50x7D, // 60x07, // 70x7F, // 80x67, // 90x77, // A0x7C, // b0x39, // C0x5E, // d0x79, // E0x71 // F};마이크로프로세서 응용회로설계실습(9주차 결과보고서2)1. ‘선택 모드’에서 dc,cd,dcd,ccddcd를 입력하였을 때, 각각 어떤 장치가 선택되는가?‘선택 모드’에서 터미널에 d를 입력하면 Dot Matrix, c를 입력하면 CLCD를 선택한다.낱글자의 조합을 통해 장비를 선택할 수 있으며, 중복글자가 있어도 되므로 문제에서 주어진 dc, cd, dcd, ccddcd 모두 Dot Matrix와 CLCD가 선택된다.2. keypad에서 값을 읽어내려면 메모리 맵핑 시 어떤 보호 모드를 사용하여야 하는가?prot : 보호모드를 나타냄. 그 중 어떤 모드를 사용해야 하는가?keypad 값을 읽는 것은 ‘쓰기’가 아니라 ‘읽기’임을 명심하여 메모리맵핑을 하라고 한 점을 고려하여 보호모드를 선택해야 한다. prot인자는 원하는 메모리 보호모드인 PROT_READ를 사용한다. PROT_READ는 ‘페이지는 읽을 수 있다.’라는 의미를 지니고 있다.
마이크로프로세서 응용회로설계실습(6주차 결과보고서)1. “Hello”라는 한 개의 문자열을, 커서를 증가/감소 모드로 두고 입력했을 때, CLCD에는 각각 어떤 모습으로 나타나겠는가?Entry mode set에서 I/D=1이면 cursor가 Increment(증가)하고, I/D=0이면 Decrement(감소)하게 되는 것을 알 수 있다. 커서를 증가 모드로 하면 “Hello” 라고 왼쪽에서 오른쪽방향으로 문자열이 나타나고, 커서를 감소 모드로 하면 “olleH“ 라고 오른쪽에서 왼쪽방향으로 문자열이 나타난다.2. 문자열에서 NUL 값을 제외하기 위해 어떤 방법을 사용하였는가? 만약 정상적으로 동작하지 않는다면 이유는 무엇이며 어떻게 고쳐야 하겠는가?NUL은 문자열의 끝을 의미하는 문자이다. 문자열에서 NUL 값을 제외하기 위해서 clcd_write_string함수에서 변수 i가 하나씩 증가하는 반복문에서 str[i]가 NUL이 아닐 때까지 반복문을 돌리며 data write를 위해서 clcd_wtite_data에 str[i]값을 입력한다.3. CLCD 의 Function Set 기능을 이용할 때, DL, N, F 값은 각각 얼마이며 그 이유는 무엇인가?Function Set 기능에서 DL은 interface data length를 N은 number of display lines를 F는 character font를 지정한다. 하드웨어의 조건(CLCD 규격)에 맞도록 설정해야 한다.
마이크로프로세서 응용회로설계실습(5주차 결과보고서)1. main.c의 각 함수가 하는 역할에 대하여 간단히 설명하시오.1. main()file descriptor를 참조한 후, mapper 함수를 이용해서 LED와 Dot matrix를 mapping한다. 이후 LED와 Dot matrix를 초기화하고 inputter 함수에서 TRUE를 반환하는 동안 함수가 계속 실행되다가 False를 반환하면 mapping을 해제하고 참조한 fd를 닫은 후 함수가 종료된다.2. mapper()이전 실습에서 LED를 제어하기 위해 사용한 mmap 함수는 여러 인자를 사용한다는 번거로움이 있다. 그래서 메모리 주소만을 인자로 갖는 mapper 함수를 만들었고, 이를 이용해 여러 개의 주소를 다루는 Dot matrix를 mmap 함수와 동일하게 file을 가상 메모리에 mapping한다.3. unmapper()munmap 함수와 동일하게, mapping을 해제한다.4. emergency_closer()mapping에 실패했을 때, 프로그램을 종료한다.5. inputter()scanf 함수를 통해 사용자에게 input_int라는 입력을 받는다. if 조건문을 통해 입력값의 범위에 따라 함수의 동작방식이 달라져, LED와 Dot Matrix를 제어한다.2. 프로그램을 실행하고 3, 26, 32, 45를 입력할 때, 각각 어떤 결과가 예상되는가?1. 3Dot matrix는 3이 출력되고, LED는 on 된다.2. 26Dot matrix의 6과 LED 모두 down mode로 실행된다.3. 32LED가 점등과 소등을 반복 즉 점멸하고, 이후 Dot matrix에서 2와 2가 흑백 반전된 모양이 반복적으로 나타난다.4. 45False를 반환해서 프로그램을 종료시킨다.3. 만약 shift 연산을 사용할 수 없다면, 어떤 연산을 활용하여 같은 효과를 낼 수 있는가? 왼쪽이나 오른쪽으로 1bit씩 이동하는 경우에 대해 각각 설명하시오.shift는 bit연산이다. 예를 들어, 0010이라는 이진수를 left shift할 경우, 0100이 된다. 이는 2배를 한 것과 동일한 효과를 나타낸다. 만약 right shift의 경우 0001이 되고, 이는 1/2배를 한 것과 동일한 효과를 낸다. 즉, n번의 left shift는
마이크로프로세서 응용회로설계실습(4주차 결과보고서)1. led 함수들(led_down_shift, led_up_shift)에서 shift연산을 하는 이유는 무엇인가?교재 30page의 LED 회로를 보면 led는 16-bit edge triggered D Flip-Flop에, D Flip-Flop은 Data Bus의 15~0번 bit에 연결되어 있음을 알 수 있다. 또, D Flip-Flop의 LE단자는 Demultiplexer에, Demultiplexer에는 Address Bus의 22~20번 bit에 연결되어 있음을 알 수 있다. 이로인해 우리는 메모리의 특정 주소에 값을 써서 Address Bus와 Data Bus를 조작할 수 있고, 결과적으로 led 장치를 제어할 수 있다.led의 register에 0이 입력되면 led가 켜지고, 1이 입력되면 led가 꺼진다. 그래서 각 bit를 left shift 또는 right shift하여 각각의 register에 0과 1의 값을 부여해 led의 점등을 통해 기능을 수행하고자 shift 연산을 한다.
요약 : 이번 실험에서는 직렬 공진회로와 병렬 공진회로의 Q-factor 변화에 따른 bandpass filter의 그래프를 실험 데이터를 통해 그려보고, 공진주파수, 반전력주파수, 대역폭, Q-factor를 계산해보았다. 직렬 및 병렬 공진회로 모두 Q-factor의 값이 커질수록 그래프가 더 뾰족해지는 특성을 보여주었고, 이는 곧 대역폭의 감소로 이어지는 것을 계산을 통해서도 확인할 수 있었다. <중 략>1. 서론앞서 실험한 LPF, HPF의 경우 특정 주파수 이상 또는 이하의 신호만 통과시켰다면, 이번 실험에서는 사용한 bandpass filter는 특정 주파수 대역의 신호만 통과시키는 역할을 한다. bandpass filter는 직렬 공진 회로, 병렬 공진 회로로 구분할 수 있으며 이는 발진기, 라디오, TV의 channel 선택기 제작에 많이 쓰이는 중요한 회로이다. 이번 실험은 bandpass filter를 설계해 공진주파수, 반전력주파수, 대역폭, Q-factor 등을 이론적으로, 실험적으로 구하며 특징을 이해할 수 있는 실험이다.2. 설계실습 결과4.1 실험계획서에서 설계한 RLC직렬 bandpass filter (Q = 1, Q = 10)를 구성하고 R에 걸리는 전압을 출력이라 하였을 때 transfer function의 크기를 주파수를 변화시키면서 측정하라. 입력은 2 V(peak to peak) 정현파를 사용하라. 설계실습계획서에서 결정한 주파수에서 측정하라. 저항과 인덕터의 저항성분을 DMM으로 측정하여 기록하라. 공진주파수, 반전력주파수, 대역폭, Q-factor를 실험으로 구하라. 정확한 실험을 위해서는 가변저항을 사용하라. 실험에 사용된 소자의 정확한 값을 사용해 계산한 transfer function과 실험 4.1의 결과를 같은 그래프에 그려서 제출하라. 비교, 분석하라. 공진주파수, 반전력주파수, 대역폭, Q-factor의 이론치와 실험치를 비교하라. 오차는 몇 %인가 오차의 원인은 무엇이라 생각하는가?