728x90
반응형
F_CPU 클록 주파수
- TWPS는 TWSR 레지스터에 설정된 프리스케일러 비트값 TWPS1~0이다.
-TWI의 마스터 모드에서 전송속도를 결정하기위한 프리스케일러, 전송속도는 시스템 클록의 주파수와 이 프리스케일러 및 TWBR 레지스터의 설정값에 의하여 결정된다. -
- 프리스케일러의 0 / 0 전송속도 1을 사용한다. -
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TWI의 동작
- TWI 통신에서는 동작이 끝날 때마다 인터럽트가 발생하며 다음동작을 지정한다.
모든 통신 동작은 인터럽트에 의하여 백그라운드로 수행된다.
<마스터가 슬레이브에게 1byte의 데이터를 전송하고자 할 때 어떻게 TWI 하드웨어와 연계되어 직렬통신을 수행하는지에 대한 그림>
/**** EEPROM에서는 Data를 WORD ADDRESS로 받아들인다. ****/
/**** ACK는 EEPROM에서 발생 ****/
[검정] - 시간상 흐름 ~(while)~
1. TWI 하드웨어가 START 조건을 전송하도록 TWCR의 레지스터를 초기화
- TWINT = 1로 셋팅되어 있으면 어떤 동작도 수행 X
- 반드시 TWINT 비트에 1을 입력하여 0으로 만들어 주어야함.
2. START 조건의 전송이 완료되면 TWCR레지스터에서 TWINT = 1로 다시 셋팅된다.
~(while)~
3. TWDR레지스터에서 SLA + W를 라이트, TWCR을 초기화한다.
- 반드시 TWINT비트에 1을 입력하여야함
4. TWCR레지스터에서 TWINT = 1로 셋팅되면서 슬레이브가 어드레스 패킷에 대하여 확인신호로 응답했는지의 여부가
상태 코드로 표시됨.
~(while)~
5. TWDR레지스터에 송신할 데이터를 라이트, TWCR을 초기화한다.
- 반드시 TWINT비트에 1을 입력하여야한다.
6. TWCR레지스터에서 TWINT = 1로 셋트되면서 TWSR레지스터에 데이트터 패킷의 전송이 성공적으로 전송되었으며
슬레이브가 데이터 패킷에 대하여 확인신호로 응답했는지의 여부가 상태코드로 표시됨.
~(while)~
7. STOP조건을 전송하도록 TWCR을 초기화,
- 반드시 TWINT비트에 1을 입력하여야한다.
- TWINT에는 모든 각각의 조건을 수행한 후 무조건 1을 입력해주어야한다. (데이터의 엔터역할) -
// EEPROM의 구간과 맞춰주기 위해 단계를 늘림 //
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EEPROM
EEPROM은 Page로도 가능하며 Byte로도 가능하다.
Page = 8byte / Byte = 1
한꺼번에 1바이트를 쓸 수도 있고 8바이트를 쓸 수도 있다.
(P2/P1/P0을 사용 X 전부 0으로 채운다.)
- AT24C16, 16K SERIAL EEPROM
(내부적으로)블럭이 8개이며 256Page가 있고 각각 8byte로 구성되어있다.
Random word addressing requires an 11-bit data word address.
/**** TWI의 동작에서는 WORD ADDREWSS를 Data로 받아들인다. ****/
-WORD ADDRESS-
/**** TWI의 동작 5번사용 - 15번지 사용****/
- EEPROM안에있는 데이터 주소를 사용해야 하기 때문에 15번지를 사용한다. -
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Read
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Network |
728x90
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
socket 소스 - 김화린 (0) | 2014.06.13 |
---|---|
2014.06.13 김대희 소켓소스 (0) | 2014.06.13 |
2014.06.12 업무보고 출석번호 5번 김상엽 (13) | 2014.06.12 |
2014.06.11 출석3번 김대희 필기 (12) | 2014.06.11 |
TWI.c/TWI.h (0) | 2014.06.10 |
20140609 출석번호 1번 고윤석 (12) | 2014.06.09 |
2014년 6월 5일 업무일지 허수웅 [출석번호 22번] (14) | 2014.06.07 |
2014.06.03 업무일지 출석번호 21 이재우 (12) | 2014.06.03 |