용어정리(생활법률)1)성문법:성문법이란 권한 있는 국가기관에 의해 일정한 절차와 형식으로 문서화 되어 공포된 법을 말한다. 여기서 권한 있는 국가기관이라 함은 일반적으로 입법권을 가진 의회를 의미한다. 따라서 성문법은 입법권한을 가진 의회를 의미한다. 또한 성문법은 적어도 입법권한을 가진 국가기관이라고 할 수 있는 의회와 같은 기관을 창설하고 운용할 수 있을 정도의 정치문화를 가질 것을 전제로 하기 때문에 사실상 불문법으로부터 발전된 모습이라고 할 수 있다. 이 안에는 헌법, 법률, 명령, 규칙, 자치법규, 조약이 포함되어 있다.2)불문법:불문법이란 문자로 성문화된 제정법이 아니라 사회생활 속에서 현실적·관행적으로 존재하는 성문법 이외의 문서화되어 있지 않은 법원이다. 이와 같은 불문법은 공식적인 입법기관에 의한 제정절차를 거치지 않고 자연스럽게 또는 자율적으로 형성된 법이기 때문에 한편으로는 비제정법 이라고도 일컬어지며, 이에는 흔히 관습법과 판례법 및 조리 등이 해당된다. 오늘날과 같은 복잡하고 다원화된 사회에서 기존의 성문법 체계만으로는 법에 대한 유연성과 다양성에 대한 요구를 충족하기에는 어려움이 있다. 이에 따라 오늘날에는 불문법의 성문법에 대한 보충의 중요성이 커지고 있다.3)헌법: 헌법이란 국가 통치기관의 구성과 그 작용, 국가의 지향할 바의 이념과 국민 의 기본권을 규정한 것으로 국가의 최고규범이라 할 것으로서 국가의 모든 법질서는 바로 헌법을 최고의 정점으로 하며 그 아래도 법률과 명령, 그리고 조례와 규칙 등으로 체계화되어 있는 것이다. 헌법은 최고규범성과 관련하여 헌법은 제107 조칙 등으로 체계화되어 있는 것이다. 헌법은 최고규범성과 관련하여 헌법은 제 107조 제1항에서 ‘법률이 헌법에 위반되는 여부가 재판의 전제가 된 경우에는 법 원은 헌법재판소에 제청하여 그 심판에 의하여 재판한다.’와 헌법 제107조 제2항, 헌법 제111조 제1항, 헌법 부칙 제5조로 헌법의 최고규범성을 명확히 밝히고 있다. 이와 같은 사실을 고려해 볼 때 성문법던 입법권과 집행권만을 넘겨줌으로서 이를 통해 국가는 사회의 공동선을 위하여 요구되는 법규를 제정할 권한과 이를 강제로 시행할 권한만을 넘겨받게 되는 것으로 보았다. 셋째 토마스 홉스는 국가가 있기 전의 자연 상태를‘만인의 만인에 대한 투쟁 상태’라고 규정하고 이를 종결시키기 위한 시민 상호간의 계약에 의하여 국가가 성립 된다고 보았다. 이와 같은 자연법은 실정법의 정당성에 대한 판단의 기준으로서 그리고 인간의 본성과 사물의 본성에 근거하여 시대와 민족, 국가와 사회를 초월하여 보편타당하게 적용되는 객관적 질서라 할 수 있다.9)시간적 효력:법의 시간적 효력은 3가지로 볼 수 있다1)법의 시행과 폐지 : 법률적 효력은 그 법률이 제정,공포되어 시행한 날로부터폐지될때 RK지 효력을 가지며 다만 오랜세월 지속*반복된 관습이 법적확신을 얻으며 관습법이 되며 이는대표적으로 재판을 통한 판례를 통해 얻어지며 이를 제외한 일반적인 제정법은 의결과 공포를 거처 적용*시행되며 공포일로부터 시행일 까지를 주지기간이라한다.또 폐지란 해당 법률이 더 이상 구속력을 가지지 못하는 것을 의미하며 애초 법률의 제정에서부터 특별한 목적 등의 이유로 시간적 제한 범위내에서 효력을 가지는 한시법의 경우 그 기간 경과로 실효된다. 또 신법과 구법이 모순*접촉될때 구법을 묵시적으로 실효및 폐지 된 것으로 보다 이를 ‘신법 우선의 법칙’이라 한다.그리고 특별한 목적을위해 제정된 특별법역시 여타 법률에 대해 우선적으로 적용되며 이를 ‘특별법 우선의 원칙’이라한다2)법률 불소급의 원칙:법률불소급의 원칙이란 법은 시행 후에 발생한 사항에 대하여 적용되며, 그 시행 이전에 발생한 사항에 대하여는 소급하여 적용되지 않는다는 원칙을 말한다이는 특히 형법상 엄격히 지켜야하는 원칙이며 법생활의 안정과 신뢰존중의 요청에 기한것이다 ‘헌법 제13조 1항 모든 국민은 행위시의 법률에 의하여 범죄를 구성하지 아니하는 행위로 소추되지 아니하며, 동일한 범죄에 대하여 거듭 처벌받지 아니한다.’ ‘동법 제2항 모든 국민은이 재판을 통하여 하는 해석을 말한다. 즉 법원은 재판에 있어서 판단의 근거로서 해당 법규를 해석하여 적용하는데 이 경우 법해석은 판결속에 나타난다.법원의 판결을 통한 사법적해석이 법적구속력을 명시적으로 가진 영미법계와 다르게 우리와 같은 성문법의 대륙법계는 완전한 구속력이 약하다 하지만 상위 법원의 판례가 하급 법원을 구속하는점과 판례법의 보충적 수용 등을 고려해볼때 판례을 통한 사법적 해석의 의미는 적지않다3)행정적해석: 해정부가 법집행기관으로서 행하는 해석을 말한다 ,즉 행정기관이 행하는 행정행위는 기본적으로 법에 근거하여 행해지며 이를 법치행정이라 한다 그리고 행정기관은 법의 집행을 통해 법을 구체적으로 해석 하게된다 또한 하급 행정관청은 상급 행정관청의 감독과 관련하여 훈령이나 지령등의 형식으로 해석하게 된다 그리고 여기에서 하급 행정관청은 상급 행정관천의 법해석에 구속받기 때문에 다른 해석을 할 수 없다.물론 행정기관의 법해석에 대해 이의나 불복이 있는 경우 행정심판이나 행정 소송 등의 행정쟁송절차를 통해 변경,취소 구제 받을 수 있다. 결과적으로 사법해석이 행정해석보다 우위의 최종적 해석이라고 할 수 있다.16)권리의 본질:권리의 내용은 특정한 생활이익이다. 권리의 내용은 법의 보호를 받는 생활이익, 즉 법익이다. 법익은 재산적인 이익뿐만 아니라 생활 · 신체 · 명예와 같은 비재산적인 이익도 포함되어 있으며 권리는 특정인에게 부여되는 것이다. 이 특정인을 권리의 주체라고 보며 권리는 법적힘이다. 법적 힘이라고 하는 것은 법에 의하여 부여된 노력범위, 즉 생활이익을 향수하기 위하여 필요한 행위를 하고 또는 주장할 수 있는 「가능성」을 의미하며, 사람의 자연적인 실력은 아니다. 따라서 사실상의 힘을 가지고 있어도 권리가 없는 경우도 있고, 권리는 가지고 있으나 사실상의 힘을 가지고 있지 않는 경우도 있다. 그리고 권리는 법을 떠나서는 존재할 수 없고, 법에 의하여 부여된 것이므로 법이 먼저 존재하고, 법이 권리를 부여한 것이다. 권리의 본질에 관한 장하는 것이 되지 못했다 따라서 모올이 국민의 권리보장을 내용으로 하는 법치주의적 입헌주의를 전개하였으나 슈타할 등 몇몇 학자들에 의해 법률만 따르기만 한다면 어떠한 정치도 합법적이라는 형식적 법치주의로 축소 되었다.인권보장과 의회정치 무시라는 제국대통령제에 의한 통치가 이루어졌고 결국 히틀러하는 독재자를 낳은 요인이 되었다3. 2권분립: 자유민주적 정부조직원리로서 권력분리를 처음으로 주장한 사람이 로크(John Locke) 이다. 로크는 국가의 최고권력은 국민에게 있다는걸 전제하여, 그 최고 권력 아래 입법권이 있고 ,입법권 아래 집행권과 동맹권이 있다고 주장하였다. 즉 입법권은 국가 권력이 사회및 사회구성원의 유지를 위해 어떻게 행사될 것인가를 법률로써 정하는 권력으로서 직접적으로 민의에게 기초하므로 다른 권력에 우월하는 국가 최고의 권력이다, 또 집행권은 국내에 있어서 법률이 부단한 집행을 확보하는 권력이며,동맹권은 선전,강화,조약의 체결등 외교관계를 처리하는 권력이므로서 변천하는 국제정치정세에 좌우되므로 입법권이 정한느 일반 규범에 구속되지 않는 점에서 집행권과 차이다 있다.내정과 외교가 다른 방심에서 행해지면 국정의 무질서와 파괴가 초래되므로 동맹권은 집행권 담당자 이외에 맡길 수 없고 입법권과 집행권이 통합되면 권력자는 자기가 제정한 법률에 복종하지 않게 되며 자기의 이익을 공익에 우선시켜 사회*정치 목적을 위반할 수 있다고 보았다 따라서 입법권과 집행권을 동일한 기관에 귀속시켜서 안된다고 하여 2권 분립을 주장하였다.4. 3권분립 몽테스키외(Montesquieu)는 국가 권력을 입법권 사법권 행정권으로 나누는 것을 주장하였다 국가 작용은 입법,재판(사법),집행과 행정의 3가지로 분립되고 각 작용은 저마다 독립되 기관에서 분속되어야 하며 각 기관에는 그 관할사항에 있어 타작용을 담당하는 기관으로부터 구속없이 결정하는 기능이 주어져야 하고 3권중 특히 입법부와 행정부는 서로 견재하는 권능을 가져 서로 억제하여 권력의 균형을 이루도록 조직되어야 한다.5균적 정의와 배분적 정의로 나누어진다. 먼저 평균적 정의는 절대적 평등을 요구하는데, 인간으 인간으로서 동일한 인격적 가치를 가지고 있으므로 항상 절대적으로 평등하게 취급되어져야한다는 것을 말한다. 이는 일반적으로 사법상의 정의로 나타나는데 매매에서의 등가원칙등 이외에 선거권 국민투표권 등에 있어서 절대적 평등을 요구하는 것이다. 다음 배분적 정의는 비례평등을 의미한다. 이는 공법상의 정의로 나타나는데, 개인의 능력과 사회적 기어에 있어서 서로 차이가 있다는 것을 전제로 하여 재화의 급여 사회적 명예와 직책의 등에 차등을 두는 것이다. 즉 개인차를 고려 ‘평등한 것은 평등하게 불평등한 것은 불평등하게 취급하는 것을 말한다. 결국 아리스토 텔레스의 정의론은 개인주의와 단체 주의의 양 측면을 고려하고 그 조화를 꾀한 것으로서 후세의 정의론에 결정적인 영향을 미쳤다고 할 수 있다.4. 저항권의 행사요건: 저항권의 행사 요건은 목적상,대상성,방법상의 요건으로 나누어 볼 수 있다.목적상의 요건저항권행사의 목적은 기본권과 입헌질서의 회복 및 수호에 있다. 따라서 이와 같이 저항권행사의 목적에 근거한 성격은 일방적으로 보수적 내지 방어적이라고 볼 수 있으며, 이 같은 관점에서 헌법 질서의 적극적인 파괴나 현존 체제의 붕괴와 같은 혁명과는 다르다고 할 수 있다 다만 비민주적인 기본헌법을 전제할 경우 비보수적 저항권은 기본 비민주적 헌법을 파기하여 정당한 헌법으로 나아가기 위한 것이므로 현행 헌법질서의 유지와 복구라는 보수적 요건을 요구할 수는 없다고 보아야 한다.대상성의 요건저항권은 주권자인 국민이 가지는 일종의 긴급권으로서 그 행사의 남용가능성을 제어함으로써 저항권의 오남용에 따른 부작용을 최소화할 필요가 있다. 따라서 실정헌법에서 명문으로 저항권의 행사 요권으로서의 대상성을 규정하고 있거나 또는 그렇지 않거나 떠나 이 같은 저항권을 행사하기 위해서는 헌법의 기본 질서를 전면적으로 부인하는 경우에, 국가의 권력행사가 그야말로 불법이라는 것이 객관적으로 명백할 경우, 그리고다.
임베디드 시스템 설계학 과학 번이 름제출일확 인ATmega128 의 내부 USART에 대해 이해하고 이를 이용해 컴퓨터에서 ATmega128로 전송받은 데이터를 LCD에 표현해본다.USART(Universal Synchronous and Asynchronous serial Receiver and Transmitter)범용 동기/비동기 수신기 및 송신기로 RS232, RS485, RS422 등의 통신에 사용하는 UART,SPI 통신과 같이 마스터 MCU가 슬레이브 MCU로 클록을 공급해야하는 USRT가 있다.올바른 통신을 위해, 송신측과 수신측은 동일한 프레임 구조와, 전송속도가 일치해야 한다.USART의 통신방식ㆍ?직렬 통신과 병렬 통신직렬 통신이란 송신 측과 수신 측 장비들 간에 하나의 전송 선로만 존재하며 한 순간에 한 비트의 데이터만을 전송할 수 있는 방식이다.?병렬 통신이란 송신 측과 수신 측 장비들 간에 여러 개의 전송 선로가 존재하여 한 순간에 여러 비트의 데이터를 한꺼번에 전송할 수 있는 방식이다. 전송 속도는 직렬 통신에 비해 빠르지만 회선을 많이 사용하기 때문에 비용이 많이 든다.직렬 통신병렬 통신가격이 저렴하다가격이 비싸다속도가 느리다속도가 빠르다거리에 대한 제한이 조금 여유로움거리에 대한 제한이 있음RS-232대량 데이터 통신 (하드 디스크)동기전송 & 비동기 전송ㆍ?동기식(Synchronous) 방식?기준 클록인 동기 클록 라인이있고, 데이터 송수신에 필요한 라인이 있다. 즉, 동기 클록에 동기해서 데이터를 순차적으로 송/수신 하는 방법이다. 이는 높은 전송 효율을 필요로 하고 선로에 잡음이 있거나 장거리 전송에 유리하며 대량의 데이터를 고속으로 전송하는 데 사용된다 .ㆍ?비동기식(Asynchronous) 방식?동기가 아니므로 동기 클록 없이 데이터를 송수신하는 방법이다. 동기 클록이 없으면 무엇인가가 동기를 만들어 주어야하는데, 이것을 데이터의 전송 속도가 대신하는데 흔히 보레이트 (Buad rate)라고 부르며 1초당 데이터를 몇 개씩 보내느냐에 따라서 달라진다. 그러면 양쪽에 주고 받는 송수신기는 약속된 속도에 맞추어 데이터를 주고받을 수 있다. 이 모드는 데이터를 보내기 전에 제어 비트가 필요하다. 이 제어 비트는 시작과 끝을 알리는 Start bit와 Stop bit가 있다동기식 방식[Synchronous]비동기식 방식[Asynchronous]동기 클럭에 데이터를 송수신동기 클럭 없이 데이터를 송수신높은 전송 효율을 필요보울레이트(Buad rate)에 의해 송수신선로에 잡음, 장거리 전송에 유리송·수신기는 보울레이트에 맞추어 통신대량의 데이터를 고속 전송시작과 끝을 알리는 Start bit와 Stop bit가 필요USART (범용 동기·비동기 송수신 장치)ㆍ?ATmega 128? USART 4가지 모드1. Normal Asynchronous mode2. Double Speed Asynchronous mode3. Master Synchronous mode?4. Slave Synchronous modeㆍ ATmega 128 ?PORTㆍ송수신을 동시에 할 수 있는 전이중 방식의 통신 모드 지원ㆍ비동기식 또는 동기식의 통신 모드 지원ㆍ동기식으로 동작 마스터 또는 슬레이브 모드 지원ㆍ고 분해능의 보레이트 발진기를 내장ㆍ짝수 또는 홀수 패리티 발생/검사 기능을 하드웨어로 지원ㆍ데이터 오버런/프레임 오류 검출 기능을 내장ㆍ시작 비트 검출과 디지털 저대역 필터 등과 같은 잡음 제거 기능 내장ㆍ송신 완료, 송신 데이터 준비 완료, 수신 완료 세 가지 인터럽트 지원ㆍ다중 프로세서 통신 모드를 지원ㆍ비동기 2배속 통신 모드를 지원데이터 전송 형식USART의 프레임ㆍ 프레임 : USART 통신에서 단위 바이트의 데이터를 전송하기 위해 구성되어 지는 신호의집합ㆍ 프레임을 전송하지 않는 구간에서 USART 는 대기 상태를 가짐대기 상태에서 RXD, TXD는 반드시 1(High)이어야 함ㆍ START (시작) 비트는 반드시 0(Low) 이어야 함ㆍ 데이터 비트는 5~9 비트를 사용자가 임의로 설정할 수 있고, 전송시 최 하위 비트(LSB)를 먼저 전송함ㆍ 패리티 비트는 사용하지 않는 경우 프레임의 구성에서 빠질 수 있음ㆍ STOP (정지) 비트는 반드시 1(High) 이어야 함짝수와 홀수 패러티의 공식USART 하드웨어 구조시스템 클럭클럭, 데이터 복원패러티 비트 생성동기식 통신클럭에 맞춰1비트씩 시프트USART 레지스터ㆍ?UDRn - USARTn I/O Data Registerㆍ?UCSRnA ? USART Control and Status Register Aㆍ?UCSRnB ? USART Control and Status Register Bㆍ?UCSRnC ? USART Control and Status Register Cㆍ?UBRRnL 과 UBRRnH - USART baud rate registerUCSRnA ? USART Control and Status Register Aㆍ?비트7(RXCn) : 수신 완료 플래그 - 새로운 프레임을 수신 버퍼에 수신한 상태ㆍ?비트6(TCXn) : 송신 완료 플래그 - 송신 시프트 레지스터의 데이터가 STOP 비트까지모두 송신 되고, 송신 버퍼도 비어 있는 상태ㆍ?비트5(UDREn) : 송신 버퍼 공백 플래그. 비어 있으면 1ㆍ?비트4(FEn) : 수신된 프레임의 stop 비트에 에러가 있을 경우에 1 에러가 없으면 0.ㆍ?비트3(DORn) : 데이터 오버런 플래그. - 수신된 데이터가 읽혀 지지 않은 상태에서새로운 데이터가 수신될 때 1, 앞서 수신된 데이터를 잃을 수 있음ㆍ?비트2(UPEn) : 패리티 에러 플래그 - 수신된 데이터의 패리티 에러가 발생하면 1.ㆍ?비트1(U2Xn) : 2배속 모드 플래그 ? 분주비를 16분주에서 8분주로 낮춤ㆍ?비트0(MPCMn) : 멀티프로세서 통신 모드?UCSRnB ? USART Control and Status Register Bㆍ?비트7(RXCIEn) : 수신완료 인터럽트를 허용ㆍ?비트6(TXCIEn) : 송신완료 인터럽트를 허용ㆍ?비트5(UDRIEn) : 송신 데이터 레지스터 준비 완료 인터럽트를 허용ㆍ?비트4(RXENn) : RX가 동작하도록 허용ㆍ?비트3(TXENn) : TX가 동작하도록 허용ㆍ?비트2(UCSZn2) : UCSZn1~0 비트와 함께 전송 문자의? 비트 수를 설정ㆍ?비트1(RXB8n) : 9비트 전송 시 수신된 9번째 비트 저장ㆍ?비트0(TXB8n) : 9비트 전송 시 송신하는 9번째 비트 저장UCSRnC ? USART Control and Status Register Cㆍ?비트6(UMSELn) - USART Mode Select Bit1이면 동기전송모드 0이면 비동기 전송모드.ㆍ?비트5:4(UPMn1:0) - parity mode 비트 - 시리얼 통신의 패리티 모드를 설정.ㆍ?비트3(USBSn) - USART Stop Bit Select 비트 - Stop Bit를 설정.ㆍ?비트2:1(UCSZn1:0) - character size - 전송문자의 데이터 비트수를 설정한다.ㆍ?비트0(UCPOLn) ? Clock Polarity : 동기 전송 모드에서 클럭의 에지를 설정.?UBRRnH, UBRRnL? - USART baud rate registerㆍ USART의 통신 속도를 설정한다ㆍ UBRRn[11:0] 는 UBRRnH와 UBRRnL 레지스터로 분리ㆍ UBRRnH - bit 11-8 : UBRRn -> USART 보레이트(Baud Rate) 레지스터 상위 4비트ㆍ UBRRnL - bit 7-0 : UBRRn -> USART 보레이트(Baud Rate) 레지스터 하위 8비트UDRn(USART I/O Data Register)ㆍUSART의 송신 및 수신 데이터를 읽거나 쓸 수 있는 버퍼ㆍ송수신 버퍼는 UDRn의 동일한 이름으로 접근? UDRn의 읽기 동작 접근에서 수신 버퍼(RXBn[7:0])에 접근ex) ch = UDR0; // 수신 버퍼에서 값을 읽고, ch 변수에 저장
임베디드 시스템 설계학 과학 번이 름제출일확 인ATmega128의 디지털 입출력 핀 구조입/출력핀? PORT A, B, C, D, E, F, G-8비트 병렬 입출력 포트 : A, B, C, D, E, F-5비트 병렬 입출력 포트 : G-총 53개 디지털 입출력 핀을 가짐? 디지털 입출력 핀의 DC 전류 : 최대 40mA-LED의 직접 구동이 가능-소형 RELAY의 직접 구동이 가능? RMW-현재 레지스터 값을 Read한후 원하는 값으로Modify하고, 수정된 값으로 Write한다.-SBI, CBI 명령 수행 중 다른 읽기/쓰기 동작이 끼어들 수 없는 Atomic 구조를 가진다.-레지스터는 8비트 병렬 읽기/쓰기만 가능하지만 RMW를 보장하기 때문에 AVR의 SBI,CBI 명령으로 특정 비트의 SET과 CLEAR 동작 결과를 보장한다.데이터 방향 설정 레지스터(DDRx)? DDRA, DDRB, DDRC, DDRD, DDRE, DDRF, DDRG? 디지털 입출력 포트의 데이터 방향을 설정하는 레지스터-x = A ~ G, n = 0 ~ 7-DDxn = 0 : 데이터는 입력 방향-DDxn = 1 : 데이터는 출력 방향입력 방향 설정은 AVR이 핀의 논리(logic)를 내부로 읽을 수 있는 설정이며, 출력 방향 설정은 AVR이 핀의 논리(logic)를 변경하여 쓸 수 있는 설정이다.포트 데이터 레지스터(PORTx)? PORTA, PORTB, PORTC, PORTD, PORTE, PORTF, PORTG? 포트의 출력 데이터 값을 설정하는 레지스터(DDRxn = 1)-x = A ~ G, n = 0 ~ 7-PORTxn = 0 : 0을 포트의 핀에 출력-PORTxn = 1 : 1을 포트의 핀에 출력포트 입력 핀 어드레스(PINx)? PINA, PINB, PINC, PIND, PINE, PINF, PING? 포트의 핀의 논리를 읽기 위해 접근하는 주소-x = A ~ G, n = 0 ~ 7-읽기 전용이며, 초기값은 알수 없다.풀업 저항 연결 해제(PUD)? PUD = 1 일 때 : 모든 포트 풀업 저항 연결 해제? PUD = 0 일 때 : DDRxn, PORTxn 의 설정에 따라 풀업 저항 연결이 달라진다.내부 풀업저항에 대한 블록도는 다음과 같으며, 저항의 크기는 20~50[㏀]이다.대체기능포트 A의 다른기능 : 외부 메모리 접속시 address data low byte를 연결할때 사용한다.포트 B의 다른기능? /SS (bit 0): Slave port Select inputSPI를 슬래이브 모드 일 때, DDB0의 설정 값에 관계없이 입력 상태로 되며, 이 입력이 0상태일 때 SPI가 Enable된다.SPI를 마스터 모드 일 때, DDB0의 설정 값에 따라 입출력 방향이 결정된다.입력 모드 일 때, Pull-up 상태는 PORTB0 비트로 제어 된다.? SCK (bit 1): SPI 클럭(마스터 클럭 출력, 슬래이브 클럭 입력)SPI가 슬래이브 모드 일 때, DDB1의 설정 값에 관계없이 입력 상태로 된다.SPI가 마스터 모드 일 때, DDB1의 설정 값에 따라 입출력 방향이 결정된다.입력 모드 일 때, Pull-up 상태는 PORTB1 비트로 제어 된다.? MOSI (bit 2): SPI 마스터 데이터 출력, 슬래이브 데이터 입력SPI가 슬래이브 모드 일 때, DDB2의 설정 값에 관계없이 입력 상태로 된다.SPI가 마스터 모드 일 때, DDB2의 설정 값에 따라 입출력 방향이 결정된다.입력 모드 일 때, Pull-up 상태는 PORTB2 비트로 제어 된다.? MISO (bit 3): SPI 마스터 데이터 입력, 슬래이브 데이터 출력SPI가 마스터 모드 일 때, DDB3의 설정 값에 관계없이 입력 상태로 된다.SPI가 슬래이브 모드 일 때, DDB3의 설정 값에 따라 입출력 방향이 결정된다.입력 모드 일 때, Pull-up 상태는 PORTB3 비트로 제어 된다.? OC0/PWM0 (bit 4):타이머 / 카운터0의 Output Compare 출력 또는 타이머 / 카운터0가 PWM 모드일 때PWM 출력인데, 이 기능을 사용하기 위해서는 반드시 출력 방향으로 설정되어야 한다.? OC1A/PWM1A (bit 5):타이머 / 카운터1의 Output Compare 출력 A 또는 타이머 / 카운터1가 PWM 모드일 때PWM A 출력인데, 이 기능을 사용하기 위해서는 반드시 출력 방향으로 설정되어야 한다.? OC1B/PWM1B (bit 6):타이머 / 카운터1의 Output Compare 출력 B 또는 타이머 / 카운터1가 PWM 모드일 때PWM B 출력인데, 이 기능을 사용하기 위해서는 반드시 출력 방향으로 설정되어야 한다.? OC2/OC1C (bit 7):타이머 / 카운터2의 Output Compare 출력 또는 타이머 / 카운터1의 Output Compare와PWM C 출력포트 C의 다른 기능: 외부 메모리 접속시 어드레스 상위 byte에 연결한다.포트 D의 다른 기능:? PD0 (bit 0)외부 인터럽트0/TWI 시리얼 통신 클럭? PD1 (bit 1)외부 인터럽트1/TWI 시리얼 통신 데이터? PD2 (bit 2)외부 인터럽트2/UART1의 수신 핀? PD3 (bit 3)외부 인터럽트3/UART1의 송신 핀? IC1 (bit 4)타이머/카운터1의 입력 Capture 핀으로 상승 또는 하강 에지에서 타이머/카운터1 값이입력 캡 쳐 레지스터로 래치 된다. 이 기능으로 사용 시에는 입출력 방향은 입력방향으로 해야 하고, Pull-up 기능을 활성화하여 사용할 수도 있다.? XCK1 (bit 5)외부클럭1, USART1 의 외부 클럭. 외부 클럭1은 USART1이 동기모드 일때만 사용한다.? T1 (bit 6)타이머/카운터1의 카운터 클럭 입력? T2 (bit 7)타이머/카운터2의 카운터 클럭 입력포트 E 의 다른기능? PDI/RXD (bit 0)직렬 다운 로드모드에서 데이터 입력 핀으로 사용되거나 UART의 RXD 핀으로 사용.UART의 수신이 Enable되면, DDRE0의 설정 값에 관계없이 입력 모드로 되고, PORTE0를1로 설정하면 내부 Pull-up이 동작된다.? PDO/TXD (bit 1)직렬 다운 로드모드에서 데이터 출력 핀으로 사용되거나 UART의 TXD 핀으로 사용된다.? AIN0/XCK0 (bit2)아날로그 비교기 Positive 입력 또는 USART0의 외부 클럭 입출력? AIN1/OC3A (bit3)아날로그 비교기 Negative 입력 또는 타이머/카운터3에 대한 비교출력 및 PWM 출력 A? INT4/OC3B (bit4)외부 인터럽트4 입력 또는 타이머/카운터3에 대한 비교출력 및 PWM 출력 B? INT5/OC3C (bit 5)외부 인터럽트5 입력 또는 타이머/카운터3에 대한 비교출력 및 PWM 출력 C? INT6/T3 (bit 6)외부 인터럽트6 또는 타이머/카운터3의 클럭 입력? INT7/IC3 (bit7)외부 인터럽트7 또는 타이머/카운터3의 캡쳐 입력 트리거포트 F의 다른기능? PF0 (bit 0) - ADC 입력 채널0번? PF1 (bit 1) - ADC 입력 채널1번? PF2 (bit 2) - ADC 입력 채널2번? PF3 (bit 3) - ADC 입력 채널3번? PF4 (bit 4) - ADC 입력 채널4번, JTAG 클럭? PF5 (bit 5) - ADC 입력 채널5번, JTAG 테스트 모드 선택? PF6 (bit 6) - ADC 입력 채널6번, JTAG 데이터 출력핀? PF7 (bit 7) - ADC 입력 채널7번, JTAG 데이터 입력핀포트 G의 다른동작? /WR (bit 0) - Write data외부 데이타 메모리를 쓰기위한 strobe 제어신호? /RD (bit 1) - Read data외부 데이타 메모리를 읽기위한 strobe 제어신호? PG2 (bit 2) - ALE외부 데이타 메모리를 Latch Enable 하기 위한 신호? PG3 (bit 3) - TOSC2, Real-Time Clockd을 위한 타이머/카운터0ASSR 레지스터의 AS0 비트를 1로 하면, 동기 클럭 입력으로 사용되며, I/O로 사용되지못한다.(Timer OSC 핀 2)? PG4 (bit 4) - TOSC, Real-Time Clock을 위한 타이머/카운터0ASSR 레지스터의 AS0 비트를 1로 하면, 동기 클럭 입력으로 사용되며, I/O로 사용되지
임베디드 시스템 설계학 과전자공학과학 번이 름제출일확 인ATmega128 의 ADC(아날로그 디지털 변환) 기능을 통해 PWM을 조절해 발광다이오드의 밝기를 조절한다.ADC연속적인 신호인 아날로그 신호를 디지털 신호로 변환하는 일을 하는 기계장치를 아날로그 디지털 변환기(Analog to Digital Convertor)라고 한다.ADC의 분해능이 높을수록 변환된 디지털 신호를 정밀한 아날로그 신호로 변환이 가능해 진다. 샘플링 속도가 높을수록 변환된 디지털 신호를 정밀한 아날로그 신호로 변환이 가능해 진다.ATmega128의 ADC특징? 10비트 분해능, 15kSPS의 최대 분해능? 0.5 LSB 적분 비선형성, ±2 LSB 정확도? 13 ~ 260 usec 변환시간 (50 kHz ~ 200 kHz)? 8채널의 멀티플렉스된 단일 입력? 7채널의 차동 입력? 10배 또는 200배의 증폭률을 가진 2채널의 차동 입력? ADC 결과 값의 좌정렬? 0 ~ AVCC의 ADC 입력 전압 범위? 선택 가능한 2.56V의 ADC 기준 전압? 지속(Free running) 또는 단일(Single) 변환 모드? ADC 변환 완료 인터럽트? ADC 잡음 감소 슬립 모드 지원ADC의 블록도? 축차 비교형(SAR) ADC? AVCC, AGND 별도 전원 사용? AREF 외부 기준 전압 단자? 포트 F를 AD 입력 채널로 사용? ADC0 ~ ADC7? 축차비교형 ADC의 기본 구성? 10비트 DAC? 아날로그 비교기? 10비트 링카운터? 레지스터? ADMUX : AD 멀티플렉서? ADSCR : AD 상태 제어? ADCH : AD 변환 상위 바이트? ADCL : AD 변환 하위 바이트단극성 입력에서의 변환 결과차동 입력에서의 변환 결과(V _{POS} `: +극 전압,V _{N`EG} `: -극 전압)ADC변환에서 기준 전압을 변경하거나 입력 채널을 변경할 경우에는 AD변환이 시작되기 전에 변경하는 것이 원칙이며, 변경한 이후에는 AD변환을 시작하기 전에 최소한 125us 이상 기다려야 한다. 또한 차동 입력에서는 좀 더 많은 시간이 필요하다. 따라서 사용자는 값을 새로 변경한 후에는 AD변환을 시작하기 전에 충분한 시간을 기다리는 것이 좋다.제어관련 레지스터bit 7:6 -> REFS1:0 (Reference Selection Bits)REFS1REFS2기준 전압 선택00외부의 VREF핀에 입력된 전압을 선택01외부의 AVCC핀에 입력된 전합을 선택10예약됨11내부 2.56V의 기준 전압을 선택bit 5 -> ADLAR (ADC Left Adjust Result)? ADLAR = 0 : 변화 결과 우측 정렬? ADLAR = 1 : 변환 결과 좌측 정렬bit 4:0 -> MUX4:0 (Analog Channel and Gain Selection Bits)? ADC의 입력 채널 및 차동 입력에서의 이득을 선택MUX 4:0 표? Bit 7 -> ADEN : ADC 인에이블(ADC Enable)? ADEN = 1 이면, ADC의 동작을 허용하고, ADEN = 0 이면, 금지하는 기능을 수행? Bit 6 -> ADSC : AD 변환 시작(ADC Start Conversion)? ADSC = 1이면 ADC는 AD 변환을 시작한다.? 단일 변환 모드 : ADSC = 1이면 시작하고, 변환이 완료되면 ADSC = 0 이 된다.? 프리 러닝 모드 : ADSC = 1이면 시작하고, 변환이 완료되어도 ADSC = 1 이다.? Bit 5 -> ADFR : ADC 프리 러닝 선택(ADC Free Running Select)? ADFR = 1 이면 ADC는 프리 러닝 모드로 동작하고, ADFR = 0이면 단일 변환 모드로동작한다.? Bit 4 -> ADIF : ADC 인터럽트 플래그(ADC Interrupt Flag)? ADIF = 1이면 AD 변환이 완료되었음을 나타냄? 인터럽트를 허용한 경우에 ADC 변환 완료 인터럽트 서브 루틴이 호출되고, ADIF = 0으로 클리어 된다.? Bit 3 -> ADIE : ADC 인터럽트 인에이블(ADC Interrupt Enable)? ADIE = 1이면 ADC 변환 완료 인터럽트를 허용하고, 변환 완료시 ADC 변환 완료인터럽트 서브 루틴을 호출한다.? Bit 2:0 -> ADPS2:0 : ADC 프리스케일러 선택 비트(ADC Prescaler Select Bits)? ADPS2:0 은 AD 변환기로 입력되는 분주된 클록을 선택하는 기능을 수행한다.ADPS2ADPS1ADPS0분주비**************************11064111128? 이 분주비의 선택에 따라 AD 변환 시간은 달라진다.? ADCL, ADCH : ADC 데이터 레지스터? Bit 15:0 -> ADC 데이터 레지스터(ADC Data Register)? ADC의 변환 결과 값을 저장하는 레지스터? 단극성 입력의 경우 : 0 ~ 1023의 데이터가 저장? 차동 입력의 경우 : -512 ~ +512의 데이터가 저장(2의 보수법)코딩필요한 헤더파일을 선언한 뒤 TIM2를 고속 PWM을 사용하여 강제출력을 만들어 내었다. 고속PWM모드의 출력은 OCn에서 나옴으로 LED가 연결된 PORTA에서 출력을 내기위하여 이와같이 강제 출력을 만들어낸 것이고 ADC는 기준전압을 AVCC, ADCL부터 정렬하게 하였다. ADCSRA는 우선 ADC을 허용해주는 비트를 set시켜주었고 ADC스타트 비트를 설정해주었다 그후 ADC프리런닝 모드를 설정해주어 별도의 ADC스타트, 종료에 따라 비트를 설정해주 않아도 된게 해주어다. 마지막으로 무한 루프문에 들어가 ADC값이 10bit임으로 타이머카운트 TOP=255를 10bit로 조절할 수 있게 0.249를 1024(10it)에 곱해주고 전체(255)-(0.249*ADCW)라는 식을 세워 ADC값에 따라 LED를 제어하였다.
임베디드 시스템 설계학 과학 번이 름제출일확 인PWM제어에 대해 이해하고, 제어를 통해 OC0pin 의 Output을 확인한다.ADC로 읽어드린 값을 LED의 밝기로 표현한다.PWM(Pulse Width Modulation)하드웨어 구조? 최대값 = 255(0XFF)? 최소값 = 0 (0X00)? 일반 모드? PC PWM 모드? CTC 모드?. 고속 PWM 모드? RTC (32.768kHz)? 0~1024 프리스케일러 (0, 1, 8, 32, 64, 256, 1024)제어레지스터WGM0WGM1Mode00Normal Mode10CTC Mode01PC PWM Mode11Fast PWM ModeCOM01COM00Mode01Non-INV11INVCS02CS01CS00분주비000클럭 소스 차단001clk _{TOS}010clk _{TOS}/8 (프리스케일러로부터)011clk _{TOS}/32 (프리스케일러로부터)100clk _{TOS}/64 (프리스케일러로부터)101clk _{TOS}/128 (프리스케일러로부터)110clk _{TOS}/256 (프리스케일러로부터)111clk _{TOS}/1024 (프리스케일러로부터)AS0 = 1이면TOSC1이 선택타이머/카운터 0의프리스케일러 리셋TCNT0 : 타이머/카운터 레지스터 0클록의 시작위치를 설정해 준다.OCR : 출력 비교 레지스터 0? 2중 버퍼링 구조로 데이터 업데이트 되는 레지스터? 프로그램 동작 중 OCR0 레지스터에 값이 써지더라도TCNT0이 TOP 또는 BOTTOM의 값을 가졌을 때 업데이트 된다TIMSK : 타이머 인터럽트 마스크 레지스터? 인터럽트 플래그 레지스터는 인터럽트 서브 루틴 진입시자동으로 클리어(=0) 된다.? 사용자의 프로그램에서 플래그를 클리어 하기 위해서는 플래그 비트에 ‘1’을 써야 한다.OCIE0 ? 출력비교 인터럽트 요청. (1: 요청있음, 0: 요청 없음)TOIE0 ? 오버플로우 인터럽트 요청. (1: 요청있음, 0: 요청 없음)TIFR : 타이머 인터럽트 플래그 레지스터? 인터럽트 플래그 레지스터는 인터럽트 서브 루틴 진입시 자동으로 클리어(0이) 된다.? 사용자의 프로그램에서 플래그를 클리어 하기 위해서는 플래그 비트에 ‘1’을 써야 한다.TCNT == OCR코드작성(주기)Non-INVINV1. OCR 업데이트2. 오버플로우 인터럽트 발생1. 비교 일치 인터럽트 발생TCNT == MAX, 다음 클록에서 TCNT = 01. CTC mode나 Fast PWM mode, Phase Correct PWM mode를 사용하여 주기를 생성 할 것, ADC를 이용하여 듀티 비를 조정 할 것. (Fast PWM 모드 사용)