• 전문가 요청 쿠폰 이벤트
*태*
Bronze개인인증
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 32
검색어 입력폼
  • 논리회로설계실험 프로젝트 7 segment 스탑워치 평가B괜찮아요
    논리회로설계 설계 보고서 #21. 설계 배경 및 목표논리회로설계 수업을 진행하며 학습한 내용을 활용하여 목표에 따른 논리회로를 설계한다.7segment에 표시되는 스탑워치를 설계한다.스탑워치는 분, 초, 1/100초를 나타내며, reset기능과 stop/restart기능을 가진다.2. 관련 기술 및 이론(1) BCDBCD(Binary-coded decimal) 코드는 우리말로 ‘이진화 십진법’ 이라 한다. 십진법의 숫자들을 이진법으로 타나낸 비트들이 연속적으로 나열되어 있다. 보통 8421코드를 의미하는데, MSB부터 8, 4, 2, 1로 지정되어있다.BCD 코드의 4자리 숫자와 십진법의 한 자리 숫자가 대응 되어 서로 간의 변환이 쉽다. 하지만 쓰이지 않고 버려지는 데이터양이 많아 질 수 있어 저장 시 더 많은 데이터가 요구된다.컴퓨터의 경우에 BCD코드를 사용하면 십진법의 계산이 가능하다 하지만 사람이 계산할 경우 BCD코드를 십진법으로 변환 한 후에 다시 BCD코드로 변환해주어야 하는 단점이 있다.십진수를 이진수로 나타내기 위해서는 나눗셈을 시행하는 복잡한 회로가 요구되기 때문에, BCD코드는 10진 출력을 요하는 회로나, 마이크로프로세서에 주로 사용된다.10진법0123456789BCD0*************1*************011110001001 10진법과 10진법에 대응되는 BCD(2) BCD 덧셈일반적으로 BCD 덧셈은 10진 방식과 비슷하게 계산을 하는데, 다음의 규칙이 있다.① 2진수의 덧셈 규칙에 따라 두 수를 더한다② 연산결과 4비트의 값이 9거나 9보다 작으면 그대로 결과값으로 사용한다.③ 연산결과 4비트의 값이 9보다 크거나 자리 올림수가 발생하면 그 결과값에 6(0110)을 더하여 결과 값으로 사용한다.특히, ②,③ 규칙은 이번 설계에서 중요하게 쓰이는 규칙이기 때문에, 이 규칙에 맞는 조건을 이용하여 회로를 설계해야한다.BCD 코드의 특성상 비트 4자리가 0~9 만을 나타낼 수 있기 때문에 입력 시에는 10 이상의 수를 4자리 비트로 바꾸어 입력할 수 없다.(10진수는 꼭 BCD코드로 변환하여 입력)BCD 덧셈의 예는 다음과 같다.10진 덧셈 BCD 덧셈 10진 덧셈 BCD 덧셈4 0100 54 0101 0100+ 5 + 0101 + 13 +0001 00119 1001 69 0110 0111계산결과가 1001 이후의 숫자가 나오게 된다면, 계산결과에 0110(10진수 6)을 더해준다.10진 덧셈 BCD 덧셈9 1001+ 3 + 001112 1100+ 01100001 0010(3) 7 segment7개의 선분(획)으로 구성되어있다. 이 중 몇 개를 선택하여 조광함으로써 0에서 9까지 10진 숫자를 표시할 수 있도록 한 표시장치이다. 대부분의 7 세그먼트 표시 장치는 발광다이오드(LED)를 사용하여 획을 표시하지만, 음극 방전관, 진공관, LCD, 기계적 표시를 사용하는 경우도 있다.7 세그먼트 표시 장치는 숫자 뿐만 아니라 제한적으로 로마자와 그리스 문자를 표시할 수도 있다. BCD 입력에 의해서 표시장치를 동작시키기도 한다. 7 segment의 내부 구조위 그림은 7segment의 내부구조이다. 각각의 핀은 숫자판에 연결되어있다. com은 공통단자 (common) 부분으로 내부 LED의 배치에 따라 GND 혹은 Vcc가 된다. 공통단자가 Vcc라면 이 7segment는 common anode 타입이라 할 수 있고, 공통단자가 GND라면 common cathode 타입이다.common cathode 방식은 개수가 많아질수록 동시에 켜아 하는 LED 수가 많아지기 때문에, 사용되는 숫자를 Vcc를 별도로 공급하고 나머지 수는 GND 처리하는 common anode 방식을 더 많이 사용한다.이번 설계에서 우리는 common cathode 방식을 사용한다 7 segment 표시common cathode 방식의 7segment는 표시하길 원하는 획의 데이터가 ‘1’, 끄기를 원하는 데이터를 ‘0’으로 입력한다. 캐소드 방식 진리표는 다음과 같다.입력출력DCBAabcdefg*************01011***************************************0*************0*************0*************10011111011 BCD to 7 segment common cathode 방식 진리표common anode 방식의 7segment는 표시하길 원하는 획의 데이터가 0, 끄기를 원하는 데이터를 1로 입력한다. 어노드 방식의 진리표는 다음과 같다.입력출력DCBAabcdefg0000*************0*************1000*************10*************10**************************00*************0100 BCD to 7 segment common andode 방식 진리표(4) 카운터어떤 이벤트(event)의 발생을 나타내는 입력 신호를 카운트하고, 그 값을 출력하는 순차회로 모듈 플립플롭들의 수와 연결 방식에 따라, 카운트 할 수 있는 최대값이 결정된다.카운트 된 값을 나타내는 2진 비트 수만큼의 플립플롭들과 게이트들로 구성된다.동작 방식에 따라서 비동기식 카운터와 동기식 카운터로 나뉜다.이번 설계에서는 동기식 카운터를 사용한다.- 비동기식 카운터(asynchronous counter)공통 클록을 사용하지 않기 때문에, 플립플롭들의 동작시간이 서로 일치하지 않는 카운터이다. 하나의 플립플롭 출력이 결정되면, 다음 플립플롭이 그 값을 받아 동작을 수행한다.플립플롭들은 직렬로 연결되어 있고, 입력 펄스는 첫 번째 플립플롭의 클록입력으로만 입력되며, 그 플립플롭의 출력이 다음 플립플롭의 클록 입력에 연결되고, 이와 같은 방식이 반복된다.플립플롭 결과들은 순차적으로 트리거되기 때문에, 플립플롭의 상태변화가 서로 다른 시간에 발생한다.- 동기식 카운터(synchronous counter)하나의 공통 클록이 카운터의 모은 플립플롭에 동시에 인가된다. 따라서 플립플롭들의 동작시간이 일치한다.동작시간이 대폭 단축된다.(5) 클락 분주기입력 클럭을 특정 주파수로 분주하는 회로. 낮은 주파수의 클럭이 생성 되며 클럭의 주기는 길어진다.(6) chattering/debouncingchattering 이란 전자 회로 내의 스위치나 계전기의 접점이 붙거나 떨어질 때 기계적인 진동에 의해 실제로 짧은 시간 안에 접점이 붙었다 떨어지는 것을 반복하는 현상을 말한다.chattering으로 인해 정상적인 출력결과가 나오지 않을 수 있으며, 이를 방지하는 것을 debouncing 이라고 한다.debouncing은 하드웨어적 방법과 소프트웨어적 방법으로 행할 수 있는데, 주로 소프트웨어적 방법으로 해결한다. 이번 설계에서도 debouncing코드를 이용하여 소프트에어적으로 해결하였다.debouncing 코드는 입력값을 일정하게 유지시키는 프로세스와 스위치의 연속적 입력상태에도 상태가 유지되는 프로세스를 포함한다.3. 설계 내용과 방법(1) 설계 내용1) 소스 코드stop watch_1stop watch_2stop watch_3stop watch_4debouncingSchematic● ex1 => debouncing 회로● clock => stopwatch 몸체2) 핀 할당(2) 설계 방법1) Stopwatch스탑워치 코드의 작동방식은 다음과 같다. 우선 시간 부분을 설명하면 다음과 같다. 4Mhz의 클락을 분주시켜서 주기가 0.01초인 클락으로 바꾼다. 그 클락이 100번 진행되면 1초가 되는 것이고 1초가 60번 진행되면 1분이 되는 것이다. 따라서 3개의 process를 만들어서 각각의 process에서 카운터를 만들어서 카운터가 각각 10000번, 100번, 60번이 되면 해당되는 클락의 역을 출력해 주는 방식으로 시간을 구현하였다. 다음으로는 시간의 출력 부분이다. 각각에 해당되는 클락 clk_milsec, clk_sec, clk_min이 down 클락이 될 때마다 count를 1씩증가시켜주는 방식으로 구현하였는데, bcd방식이기 때문에 10이 넘어가면 0으로 바꿔주는 방식으로 코딩하였다. 이때 milsec은 100까지, sec와 min은 60까지로 하였고, 4~7까지는 10의 자리의 숫자를 저장, 0~3까지는 0의 자리의 숫자를 저장하는 방식으로 코딩하였다. 그리고 주어진 dc코드와 출력코드를 이용해서 6자리의 7segment에 순서대로 출력하였다. 다음으로는스탑을 구현하는 방법이다. 스탑은 변수 하나를 선언해서 sw스위치를 누를때마다 변수가 바뀌도록 구현하였는데. 변수가 0이면 클락 카운터가 카운터를 하지않고 그대로 멈추게 하였고1이면 클락 카운터가 카운터를 하도록 구현하였다. 따라서 스위치가 눌린 상태에는 7segment가 멈추도록 작동되는 것을 확인할 수 있다.2) debouncingdebouncing 코드는 크게 2부분으로 구성된다.첫 번째 프로세스는 채터링으로 인한 입력값의 변화를 일정하게 유지시키기 위해 플립플롭을 사용한다. D플립플롭의 값이 클락 상승 때마다 1씩 이동하는데, clean_output 결과는 D플립플롭 비트들의 or 값이므로 일정한 입력값을 가질 수 있게된다.두 번째 프로세스 문에서는 스텝 클록 발생회로이다. 초기 상태에서 스위치를 누르면 클록상승 때 S1으로 상태가 바뀌고 스위치를 계속 누른 상태이면 상태 S1을 계속 유지한다. S1에서 스위치를 때면 입력은 0이되고 상태는 S0으로 바뀐다.3) Schematic설계한 stopwatch와 debouncing 코드를 schematic 방법으로 함께 동작하게 하였다.각 각의 회로를 schematic symbol로 만든 후, 공통의 clk과 reset을 이용해 이어주었다. clock의 입력 sw는 debouncing코드를 거쳐 stopwatch 코드에 입력되므로 chattering이 방지될 수 있다. 이번 설계에서는 스위치 하나 만을 사용하기 때문에 debouncing 코드 역시 한 번만 사용하였다.4. 설계 결과(1) 작동화면작동전 대기상태2. 스위치를 눌러 작동 시작3. 작동중4. 스위치를 눌러 일시정지
    공학/기술| 2015.04.17| 15페이지| 3,000원| 조회(942)
    미리보기
  • 논리회로설계실험 프로젝트 라인트레이서
    논리회로설계 프로젝트 설계 보고서1. 설계 배경 및 목표논리회로설계 수업을 진행하며 학습한 내용을 활용하여 목표에 따른 논리회로를 설계한다.line tracer 가 적외선 센서를 이용해 흰 줄을 따라 이동하도록 하는 것이 설계의 목표이다.2. 관련 기술 및 이론(1) Line tracer(라인 트레이서)주어진 주행선을 센서로 검출하여 목적위치까지 이동하는 자율이동 로봇이다. 흰선, 혹은 검은 선을 따라 이동할 수 있다. 차체 전후방에 설치된 적외선 센서를 이용하여 바닥과 주행선을 구분하여 주행선을 따라 이동한다.라인트레이서는 센서부, 모터부, 제어부로 구성된다.■ 기본 동작바닥에 부착되어 있는 적외선 센서를 이용하여, 반사되어 들어오는 빛으로 라인을 구분한다.오른쪽 센서로 입력을 받으면 왼쪽 바퀴의 속도를 올리고, 왼쪽 센서로 입력을 받으면 오른쪽 바퀴의 속도를 올려 주행한다.(2) 스테핑 모터펄스(pulse)가 입력 될 때마다, 일정한 각도씩 모터가 회전하도록 제어된다. 이 때, 회전각은 스텝각이라고 부른다. 스텝각을 작게하면, 모터의 위치를 결정하는 정밀도를 향상시킬 수 있다. 보통 1개의 입력 펄스에 대한 회전각은 1.8°이다. 펄스 속도를 빠르게 입력하면 스테핑 모터의 회전속도를 빠르게 할 수 있다.■ 스테핑모터의 특징1. 간단한 개회로(open loop)에서의 고정밀의 위치 제어가 가능하다.2. 기동, 정지의 특성과 응답성이 우월하다.3. 정지시의 각도 오차는 누적되지 않는다.4. 정지상태에서 큰 자기유지력(Holiding torque)를 갖는다.5. 저속 시에는 높은 토크를 갖는다.6. 모터의 구조가 간단해서, 유지관리가 간단하다.7. 특정 주파수에서 진동, 공진이 발생하기 쉽고 관성이 있는 부하에 약하다.8. 고속 운전 시 탈조(출력이 입력 속도를 따라가지 못해 심하면 정지하는 현상)가 발생하기 쉽다.■ 스테핑모터의 구조회전축에 부착된 자석(로터), 그 바깥쪽에 고정된 전자석(스테타)로 구성된다. 스테타에 감겨있는 코일에 펄스전류를 흘리면, 자력이 발생하고, N극이 S극을 S극이 N극의 로터를 끌어당김을 반복하여 스테핑 모터가 회전한다. 스테핑모터 구조■ 스텝모터의 구동 방식스텝 모터는 여자(코일에 전류를 가해줌)를 이용하여 모터를 구동한다. 스테이터를 어떻게 여자 시키느냐에 따라 1상, 2상, 1-2상 여자방식으로 나뉠 수 있다.- 1상 여자 방식이 방식은 스테이터를 하나씩 여자하여 모터를 구동하는 방식이다.로터의 위치가 스테이터의 위치와 일정하며, 구현이 쉽다. 하지만 진동이 발생하기 쉽다.- 2상 여자 방식2개의 코일을 동시에 여자시켜 모터를 구동하는 방식이다. 이 때 로터는 여자된 2개의 2개의 스테이터의 중간에 위치하게 된다. 1상 여자방식에 비해 에너지 효율은 떨어지지만 댐핑특성이 양호하다.- 1-2상 여자 방식1상 여자와 2상여자를 교대로 수행하는 방식이다.정밀한 위치 제어를 요구하는 시스템에 많이 사용된다.이번 설계에서 우리는 1상 여자 방식을 이용하여 설계하였다.(3) ROM(read only memory)ROM은 읽기만 가능한 메모리이다. 비휘발성이기 때문에 전원이 차단되어도 저장된 내용을 반영구적으로 유지한다. 일반적으로 사용자가 데이터를 써 넣을 수 없으며 언제든지 다시 사용할 수 있다.이번 실험에서는 ROM중에서도 프로그래밍이 가능한 PROM을 이용해 프로그래밍 한다.■ PROM(Programmable Read-Only Memory)입력 신호들이 인가되는 AND 배열은 연결 상태가 고정되어 있으며, 출력을 발생하는 OR배열은 퓨즈를 이용하여 프로그래밍 할 수 있도록 구성된 PLD(Programmable Logic Device)(4) 적외선 센서적외선은 파장이 매우 짧은 전자기파(750 ~ 3000nm의 파장)을 말한다. 적외선 센서는 발광 센서와 수광 센서로 구성된다. 발광 센서에서는 일정한 주파수의 빛을 발산하며, 수광 센서에서는 발산된 빛을 받아들이는 역할을 수행한다.발광센서에서 발산된 빛이 검은색 물체에 닿았을 때 빛은 흡수되어 다시 수광센서로 도달 하지 못한다. 하지만 빛이 흰색 물체에 닿았을 경우에는 반사되어 수광센서로 도달이 가능하다.(5) 카운터어떤 이벤트(event)의 발생을 나타내는 입력 신호를 카운트하고, 그 값을 출력하는 순차회로 모듈 플립플롭들의 수와 연결 방식에 따라, 카운트 할 수 있는 최대값이 결정된다.카운트 된 값을 나타내는 2진 비트 수만큼의 플립플롭들과 게이트들로 구성된다.동작 방식에 따라서 비동기식 카운터와 동기식 카운터로 나뉜다.이번 설계에서는 동기식 카운터를 사용한다.- 비동기식 카운터(asynchronous counter)공통 클록을 사용하지 않기 때문에, 플립플롭들의 동작시간이 서로 일치하지 않는 카운터이다. 하나의 플립플롭 출력이 결정되면, 다음 플립플롭이 그 값을 받아 동작을 수행한다.플립플롭들은 직렬로 연결되어 있고, 입력 펄스는 첫 번째 플립플롭의 클록입력으로만 입력되며, 그 플립플롭의 출력이 다음 플립플롭의 클록 입력에 연결되고, 이와 같은 방식이 반복된다.플립플롭 결과들은 순차적으로 트리거되기 때문에, 플립플롭의 상태변화가 서로 다른 시간에 발생한다.- 동기식 카운터(synchronous counter)하나의 공통 클록이 카운터의 모은 플립플롭에 동시에 인가된다. 따라서 플립플롭들의 동작시간이 일치한다.동작시간이 대폭 단축된다.(6) 클락 분주기입력 클럭을 특정 주파수로 분주하는 회로. 낮은 주파수의 클럭이 생성 되며 클럭의 주기는 길어진다.3. 설계 내용과 방법(1) 설계 내용1) 소스 코드line tracer_1line tracer_2line tracer_3line tracer_4line tracer_52) 핀 할당(2) 설계 방법라인트레이서의 작동 원리는 네 가지 부분으로 나눌 수 있다. 적외선 센서를 통한 라인 인식된 라인을 통하여 속도를 결정, 결정된 속도를 클럭으로 변환, 변환된 클럭을 이용하여 모터를 돌리는 과정이다. 첫 째는 적외선 센서를 통한 라인 인식이다. 검은 바탕을 0, 흰 선을 1로 두었을 때 흰 선이 가운데에 올경우 0001000이나 0011100일 경우에는 좌측과 우측 모터의 속도를 같게 하여 직진을 하도록 하고, 모터의 속도는 빠르게 해서 빠른 직진이 가능하게 한다. 반면에 0111000, 0110000, 0100000과 같이 흰 선이 좌측으로 가있는 경우에는 좌측의 모터를 우측보다 더 빠르게 해서 우측으로 회전이 되게 한다. 반면에 0001110, 0000110이 되는 경우에는 좌측보다 우측이 더 빠르게 해서 좌측으로 회전이 되게 한다. 다음으로는 인식된 선을 통하여 속도를 정하는 것이다. 4가지 숫자를 이용해서 모터의 주파수를 지정하였는데, 00일 경우에는 모터가 정지하도록, 01일 경우에는 모터의 주파수가 150hz, 10일 경우에는 모터의 주파수가 300hz, 11일 경우에는 450 hz로 하였다. 직진을 할 경우에는 좌,우측 모터를 최대치인 450hz로 지정하였고, 우회전 할 경우에는 좌측은 150hz 우측은 300hz로 지정하였고좌회전 할 경우에는 우측은 150hz, 좌측은 300hz로 지정하였다. 다음으로는 지정된 주파수를 이용해서 클럭을 만드는 것이었는데, 이는 저번의 프로젝트인 7segment를 이용한 스탑워치를 만드는 방식가 유사한 방법으로 하였다. 카운터를 하나 지정해서 카운터가 주파수 보다 커질 경우에 모터 클락을 반대로 출력하는 방식으로 구현하였다. 모터가 좌 우 양쪽에 있으므로 두개의 프로세스가 필요했다. 그 다음으로는 모터 클락을 이용해서 1상 여자 방식을 이용해서 모터를 돌리는 과정이다. 모터 클락이 바뀔때마다 A - B - NA - NB순서로 모터를 돌려주었는데 우측과 좌측 모터가 도는 방향이 같기 때문에 우측은 NB - NA - B - A 순서로 모터를 돌려주었다.센서 데이터좌, 우 모터 속도(01 : 150Hz, 10 : 300Hz, 11 : 450Hz, 00 : 정지)좌우비고00010001111빠른 직진*************000111000101느린 직진00110001110느린 우회전00100001101빠른 우회전01*************100*************1느린 좌회전00001000111빠른 좌회전00011*************010그 외0000정지4. 설계 결과(1) 작동결과1. 직진하는 line tracer2. 우회전하는 line tracer3. 직진하는 line tracer(2) 결과설명라인트레이서를 주행판에 놓으면 라인트레이서의 적외선 센서가 반사되는 빛을 감지하여 줄을 따라 이동한다. 주행판의 처음은 직진 구간이므로 센서데이터가 0001000 으로 빠른 직진상태로 이동한다. 라인트레이서가 우회전 구간에 접어들면 적외선 센서는 바닥 흰색 선의 변화를 감지한다. 센서 데이터가 0011000부터 0010000, 0111000, 0110000, 0100000까지 변화하면서 라인트레이서가 흰색선을 따라 우회전한다. 이때 왼쪽바퀴가 주파수가 빨라져 더 빨리 돌아 우회전이 가능하다. 결과사진에는 우회전 밖에 없지만, 좌회전은 우회전과 반대되는 방식으로 왼쪽으로 진행할 수 있다. 우회전 구간이 끝난 후 다시 직진구간에 접어들며 처음과 마찬가지로 빠른 직진상태로 이동할 수 있다.
    공학/기술| 2015.04.17| 13페이지| 2,000원| 조회(431)
    미리보기
  • 논리회로설계실험 프로젝트 8Bit 계산기
    논리회로설계 설계 보고서 #11. 설계 배경 및 목표논리회로설계 수업을 진행하며 학습한 내용을 활용하여 목표에 따른 논리회로를 설계한다.8bit 덧셈기를 구현하고 결과를 7 segment로 출력하는 회로를 설계하는 것이 이번 설계의 목표이다.설계된 회로로 수행할 덧셈은 다음과 같다.1) 93 + 772) 27 + 643) 51 + 984) 43 + 325) 69 + 686) 조원 학번 마지막 두 자리 덧셈16 + 692. 관련 기술 및 이론(1) BCDBCD(Binary-coded decimal) 코드는 우리말로 ‘이진화 십진법’ 이라 한다. 십진법의 숫자들을 이진법으로 타나낸 비트들이 연속적으로 나열되어 있다. 보통 8421코드를 의미하는데, MSB부터 8, 4, 2, 1로 지정되어있다.BCD 코드의 4자리 숫자와 십진법의 한 자리 숫자가 대응 되어 서로 간의 변환이 쉽다. 하지만 쓰이지 않고 버려지는 데이터양이 많아 질 수 있어 저장 시 더 많은 데이터가 요구된다.컴퓨터의 경우에 BCD코드를 사용하면 십진법의 계산이 가능하다 하지만 사람이 계산할 경우 BCD코드를 십진법으로 변환 한 후에 다시 BCD코드로 변환해주어야 하는 단점이 있다.십진수를 이진수로 나타내기 위해서는 나눗셈을 시행하는 복잡한 회로가 요구되기 때문에, BCD코드는 10진 출력을 요하는 회로나, 마이크로프로세서에 주로 사용된다.10진법0123456789BCD0*************1*************011110001001 10진법과 10진법에 대응되는 BCD(2) BCD 덧셈일반적으로 BCD 덧셈은 10진 방식과 비슷하게 계산을 하는데, 다음의 규칙이 있다.① 2진수의 덧셈 규칙에 따라 두 수를 더한다② 연산결과 4비트의 값이 9거나 9보다 작으면 그대로 결과값으로 사용한다.③ 연산결과 4비트의 값이 9보다 크거나 자리 올림수가 발생하면 그 결과값에 6(0110)을 더하여 결과 값으로 사용한다.특히, ②,③ 규칙은 이번 설계에서 중요하게 쓰이는 규칙이기 때문에, 이 규칙에 맞는 조건 있기 때문에 입력 시에는 10 이상의 수를 4자리 비트로 바꾸어 입력할 수 없다.(10진수는 꼭 BCD코드로 변환하여 입력)BCD 덧셈의 예는 다음과 같다.10진 덧셈 BCD 덧셈 10진 덧셈 BCD 덧셈4 0100 54 0101 0100+ 5 + 0101 + 13 +0001 00119 1001 69 0110 0111계산결과가 1001 이후의 숫자가 나오게 된다면, 계산결과에 0110(10진수 6)을 더해준다.10진 덧셈 BCD 덧셈9 1001+ 3 + 001112 1100+ 01100001 0010(3) 7 segment7개의 선분(획)으로 구성되어있다. 이 중 몇 개를 선택하여 조광함으로써 0에서 9까지 10진 숫자를 표시할 수 있도록 한 표시장치이다. 대부분의 7 세그먼트 표시 장치는 발광다이오드(LED)를 사용하여 획을 표시하지만, 음극 방전관, 진공관, LCD, 기계적 표시를 사용하는 경우도 있다.7 세그먼트 표시 장치는 숫자 뿐만 아니라 제한적으로 로마자와 그리스 문자를 표시할 수도 있다. BCD 입력에 의해서 표시장치를 동작시키기도 한다. 7 segment의 내부 구조위 그림은 7segment의 내부구조이다. 각각의 핀은 숫자판에 연결되어있다. com은 공통단자 (common) 부분으로 내부 LED의 배치에 따라 GND 혹은 Vcc가 된다. 공통단자가 Vcc라면 이 7segment는 common anode 타입이라 할 수 있고, 공통단자가 GND라면 common cathode 타입이다.common cathode 방식은 개수가 많아질수록 동시에 켜아 하는 LED 수가 많아지기 때문에, 사용되는 숫자를 Vcc를 별도로 공급하고 나머지 수는 GND 처리하는 common anode 방식을 더 많이 사용한다.이번 설계에서 우리는 common anode 방식을 사용한다. 7 segment 표시common cathode 방식의 7segment는 표시하길 원하는 획의 데이터가 ‘1’, 끄기를 원하는 데이터를 ‘0’으로 입력한다. 캐소드 방식 진리표는 다음과 같*************0*************0***************************************0011111011 BCD to 7 segment common cathode 방식 진리표common anode 방식의 7segment는 표시하길 원하는 획의 데이터가 0, 끄기를 원하는 데이터를 1로 입력한다. 어노드 방식의 진리표는 다음과 같다.입력출력DCBAabcdefg0000*************0*************1000*************10*************10**************************00*************0100 BCD to 7 segment common andode 방식 진리표3. 설계 내용과 방법(1) 설계 내용1) 소스 코드BCD_ ADDER7 segmentSchematic2) 테스트벤치(2) 설계 방법1) BCD adderBCD가산기는 기본적으로 4bit를 하나의 숫자(0~9)로 인식을 한다는 특징이 있다. 우선 SUM을 “000000000000”로 초기화 해준 뒤에 두 입력 A(7:0), B(7:0)를 가져와서 A(3:0)과 B(3:0)을 더해주는데 이때 A와 B를 5자리로 만들어 줘서 덧셈을 해준다. 이때 덧셈의 결과가 9보다 큰 경우에는 캐리를 1로 출력을 해주고, 덧셈의 결과에 6(00110)을 더해준 뒤 SUM(4:0)에 출력을 내보낸다. 다음으로 A(7:4)과 B(7:4)을 더해줄 때 역시 5자리로 만들어 줘서 덧셈을 해준다. 이 경우는 둘의 합에다가 캐리를 더해준 결과가 9보다 큰 경우에는 덧셈의 결과에 6(00110)을 더해준 뒤 SUM(8:4)에 출력을 내보낸다. 9보다 작은 경우에는 덧셈의 결과를 SUM(8:4)에 출력을 주면 된다. 그리고 SUM(8:4)에 그 결과를 내보낸다. 끝으로 SUM(11:9)는 이미 0으로 초기화 돼있으므로 SUM은 올바른 BCD 덧셈 결과를 가지게 된다.2) 7segment7segment는 bcdadder의 가져와서 common an구문을 이용해서 SUM의 값에 해당되는 7segment 숫자를 출력하는 방식으로 설계하였다. sum은 12비트 즉 3자리의 숫자이므로 seg1, seg2, seg3을 각각 만들어서 seg1은 sum(11:8)을 표시하게 했고, seg2은 sum(7:4)을 표시하게 했고, seg3은 sum(3:0)을 표시하게 했다. 각각의 seg는 7비트이다. 그리고 common anode방식이므로 표시하길 원하는 획의 데이터를 0, 원하지 않는 데이터를 1로 출력한다.3) Schematic위에서 구현한 두 개의 소스코드를 Schematic 방식으로 모듈화했다. 그 뒤 bcdadder에는 두 입력 A(7:0), B(7:0)을 입력시키고 7segment와 연결시켰다. 7segment에는 세 개의 출력 seg1(6:0), seg2(6:0), seg3(6:0)을 출력하게 해서 sum이 나타내는 3자리의 숫자를 7segment 방식으로 출력할 수 있게 하였다. 그리고 sum은 bcdadder의 출력값이므로, 7segment와 bcd adder를 잇는 선에서 sum값을 가져와서 출력되게 구성하였다.4. 설계 결과(1) waveform(2) 결과 설명주어진 6개의 문제는 다음과 같다 [1) 93 + 77, 2) 27 + 64, 3) 51 + 98, 4) 43 + 32,5) 69 + 68, 6) 조원 학번 마지막 두 자리 덧셈(16 + 69)]. 이 6개의 문제를 bcd방식으로 덧셈 한 뒤에 결과값과 그 값을 해당되는 7segment방식으로 출력하는 것이 이번 프로젝트의 목표이다.우선 wave form을 보면 a[7:0]과 b[7:0]이 있는데 이것들은 입력값을 나타낸다. 다음으로 SUM[11:0]이 있는데 이것은 출력값을 나타낸다. 7에서 11로 증가한 이유는 bcd 덧셈은 4비트를 한자리 숫자로 취급하기 때문에 자리올림이 일어날 경우 4비트가 증가하기 때문이다. 다음으로는 A2, A1가 있는데 이것들은 각각 a의 10의 자리 숫자와 a의 1의 자리 숫자를 나타낸다. 같은 방식으로 B2,다음으로는 S3,S2, S1이 있는데 이것들은 각각 SUM의 100의 자리 숫자, 10의 자리 숫자, 1의 자리 숫자를 나타낸다. 이것들은 New Divider 기능과 New Vitual Bus 기능을 사용해서 가독성 좋게 출력하였다. 끝으로 seg1[6:0], seg2[6:0], seg3[6:0]이 있는데 이것들은 각각 SUM의 100의 자리 숫자, 10의 자리 숫자, 1의 자리 숫자를 해당되는 common anode 7segment방식의 값들을 나타낸다.5. 토의이번 설계의 목표는 8비트 BCD 덧셈기를 설계하고, 그 결과를 7 segment로 출력하는 회로를 설계하는 것이었다. 우리는 이 목표를 수행하기 위하여 우선 BCD 계산기와 7 segment를 VHDL을 이용하여 설계하고, 각 회로를 schematic 방법을 이용하여 하나의 회로로 만들기로 하였다.이를 위해 우리는 BCD 덧셈의 방법에 대하여 알아보았다. 입력하는 숫자는 99를 넘지 않기 때문에 입력변수는 8비트의 2진수 2개를 가지고 출력변수는 한자리수 당 4비트, 백의자리까지 출력값이 나오므로 총 12비트 변수 1개를 가진다. BCD 덧셈에서는 한 자리 수의 덧셈 결과가 9가 넘으면 6(2진수 ‘0110‘)을 더해야 하고, 덧셈의 특성상 올림(carry)이 발생할 수 있기에 이 2가지에 집중하여 회로를 설계하였다. if 문으로 덧셈이 9가 넘을 때와 넘지 않을 때를 나누어 설계하였다.7 segment는 ‘common cathode’ 방식과 ‘common anode’ 방식으로 나뉘는데 이번 설계에서는 ‘common anode’ 방식을 사용하였다. ‘common cathode’와 ‘common anode’는 1과 0의 값에 따라 표시되는 숫자에 많은 차이가 있어 주의를 요했다. 이번 설계에서는 BCD 덧셈 결과를 표시하기 위해 3개의 7segment를 이용하므로, 7 segment 회로의 출력변수는 3개를 갖게 하였다. 입력에 따른 올바른 출력을 나타내기 위하여 우리는 지난 실습 때 설계하였던 디다.
    공학/기술| 2015.04.17| 11페이지| 2,000원| 조회(1,044)
    미리보기
  • 01 논리회로설계실험 결과보고서(And, or gate) 평가A좋아요
    논리회로설계 실험 결과보고서 #1실험 1. 기본게이트 설계1. 실험 목표VHDL을 이용하여 AND gate와 OR gate를 설계한다.각 게이트를 설계 할 때, 동작적 모델링과 자료 흐름 모델링을 이용한다.3. 실험 결과실험 1. AND, OR GATE를 동작적 모델링과 자료 흐름 모델링으로 작성하시오.(1) AND GATE1) 진리표입력 X입력 Y출력 F*************) 소스 코드동작적 모델링자료 흐름 모델링3) 테스트 벤치 코드4) Wave Form(1) 동작적 모델링 결과(2) 자료 흐름 모델링 결과5) 결과 분석AND GATE 설계 시 동작적 모델링에서는 if 조건문을 이용하여 X,Y 값이 모두 1일 때 결과값 F가 1이 되고, 나머지 경우는 F가 0의 값을 갖도록 설계하였다. 자료 흐름 모델링에서는‘X and Y’라는 간단한 문구로 설계 할 수 있었다. 테스트 벤치를 이용한 설계 결과 X, Y 값의 변화에 따라 F가 AND gate 진리표의 값과 같은 값을 갖는 것을 확인 할 수 있다.(2) OR GATE1) 진리표입력 X입력 Y출력 F*************) 소스 코드동작적 모델링자료 흐름 모델링3) 테스트 벤치 코드4) Wave Form(1) 동작적 모델링 결과(2) 자료 흐름 모델링 결과5) 결과 분석OR GATE 설계 시 동작적 모델링에서는 if 조건문을 이용하여 X,Y 값이 모두 0일 때 결과 F값이 0이 되고, 나머지 경우는 else if를 이용하여 F가 1의 값을 갖도록 설계하였다.자료 흐름 모델링에서는 ‘X or Y’라는 간단한 문구로 설계 할 수 있었다. 테스트 벤치를 이용한 설계 결과 X, Y 값의 변화에 따라 F가 OR gate 진리표의 값과 같은 값을 갖는 것을 확인 할 수 있다.실험 2. 진리표를 보고 동작적 모델링과 자료 흐름 모델링으로 작성하시오.1) 진리표ABCF*************1*************011112) 소스 코드동작적 모델링자료 흐름 모델링3) 테스트 벤치 코드4) Wave Form(1) 동작적 모델링 결과(2) 자료 흐름 모델링 결과5) 결과 분석설계 대상인 진리표를 카누맵을 이용하여 논리식으로 표현 하였을 때, A’+BC 식으로 표현 할 수 있다. 이를 VHDL에서 동작적 모델링으로 표현했을 때, Y값이 1이고 Z 값이 1일 때는 결과값 F가 1, 진리표에서 X값이 0일 때는 Y,Z값에 상관없이 F값이 1이기 때문에 else if를 이용하여 이를 표현, 나머지 경우는 F값을 0으로 설계하였다. 자료 흐름 모델링 표현에서는 논리식을 NOT, AND, OR 등을 이용하여 표현하였다. 테스트벤치를 이용한 결과 X, Y, Z 값이 달라짐에 따라 결과 F값이 달라지는데 이 값은 진리표에 따르는 것을 확인 할 수 있다.4. 고찰생소한 VHDL을 이용하여 AND, OR 게이트를 설계 해보고, 주어진 진리표에 맞는 논리회로를 설계하였다. 논리회로 설계 시에는 동작적 모델링과 자료 흐름 모델링 2가지 방법을 이용하여 설계한다. 두 방법을 이용하여 AND, OR 게이트를 설계한 결과 각각의 진리표와 같은 결과를 나타내었다. 또한 같은 게이트에서 동작적 모델링과 자료 흐름 모델링 각 각의 결과가 같았다.
    공학/기술| 2014.09.27| 7페이지| 3,000원| 조회(263)
    미리보기
  • 09 논리회로설계실험 예비보고서(fsm)
    논리회로설계 실험 예비보고서 #9실험 9. FSM1. 실험 목표FSM의 개념에 대해 이해하고 Mealy machine과 Moore machine의 차이에 대해 알아본다.회로의 정상적 동작을 방해할 수 있는 glitch와 chattering에 대해 알아보고 그 방지법에 대해 생각해본다.무어머신의 개념을 이용하여 커피자판기를 설계해본다.2. 예비 이론(1) FSMFinite State Machine(유한 상태 기계)는 주어진 모든 시간에 있을 수 있는 유한개의 상태를 가지고 주어진 입력에 따라 어떤 상태에서 다른 상태로 전환되거나 어떤 출력을 갖는 기계이다. 순차회로를 제어하는 데 쓰이며, 밀리 머신과 무어 머신으로 구분된다.(2) Mealy machine회로의 출력 신호가 현재 상태들과 입력 신호에 의해 결정되는 형태의 순차회로. 외부로부터 들어오는 입력신호도 출력신호에 영향을 주는 회로.입력신호 조건에 따라 여러 개의 출력 신호를 가질 수 있으며 자유도가 높은 상태도 구현이 가능하다.입력 신호가 변화하면 출력신호가 클락에 관계없이 바뀔 수 있다. 따라서 입력 신호를 클락과 동기화시키지 않으면 출력이 수시로 바뀌는 불안정한 회로가 될 수 있다. 밀리머신 구조도(3) Moore machine회로의 출력 신호가 현재 상태들에 의해 결정되는 순차회로이다.공통 클락의 trigger edge에서 상태들이 바뀌면, 출력신호도 그와 동시에 바뀐다.한 개의 상태에 대해서 한 개의 출력만을 갖는다. 밀리 머신에 비해 상태수가 상대적으로 증가하는 단점이 있다. 하지만 입력의 노이즈가 출력에 전달되지 않기 때문에, 밀리머신보다 안정적인 동작을 수행하는 회로이다. 무어머신 구조도(4) glitch두 가지 입력 신호의 값이 바뀔 때, 두 가지 신호의 지연시간 차이에 의해 발상되는 원하지 않는 출력 값을 glitch라고 한다. 혹은 Hazard라고도 한다.dynamic hazard(동적 해저드), static 1-hazard, static 0-hazard 등이 존재한다.(5) chattering전자 회로 내의 스위치나 계전기의 접점이 붙거나 떨어질 때 기계적인 진동에 의해 실제로는 매우 짧은 시간 안에 접점이 붙었다 떨어지는 것을 반복하는 현상.(6) chattering 제거방법, DebouncingR-S 래치를 이용하는 등의 하드웨어적 방법들이 있지만 소프트웨어적으로 처리하는 경우가 많다.falling으로 키의 눌림을 계속 체크한다. 만약 키가 눌린다면 키를 처리하고, 키가 떨어질 때 까지 계속 기다린다.3. 실험 내용- 실험 1. 무어 머신을 이용한 커피 자판기 설계(1) 자판기 상태 다이아그램(2) 상태표P.sInputOutput00011011YS1S1S3S2-0S2S2S4S5-0S3S3S2S4-0S4S1---1S5S3---1(6) VHDL 코딩자판기 설계library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity vending isport ( Reset : in STD_LOGIC;CLK : in STD_LOGIC;X : in STD_LOGIC (1 downto 0);Y1 : out STD_LOGIC_VECTOR (3 downto 0));end vending;architecture Behavioral of vending istype STATE is (S1, S2, S3, S4, S5);signal STATE_C : STATE;beginprocess(Reset,CLK)beginif Reset = ‘1’ thenSTATE_C
    공학/기술| 2014.09.27| 6페이지| 2,000원| 조회(475)
    미리보기
전체보기
받은후기 2
2개 리뷰 평점
  • A+최고예요
    0
  • A좋아요
    1
  • B괜찮아요
    1
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 18일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
11:31 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감