본문 바로가기

Digital Design

(3)
I2C의 장점과 여러 가지 모드 I2C는 여러 집적 회로 (Integrated Circuit) 사이의 단거리 통신에 사용되는 동기식, 다중 마스터, 다중 슬레이브, 직렬 통신 프로토콜 입니다. 1980년대에 Phillips라는 회사(현재는 NXP)가 개발했습니다. 오늘은 I2C에 대한 기본적인 내용을 간단히 짚어보고 I2C를 보다 깊이 이해하기 위해 디테일한 요소들을 살펴보겠습니다. 먼저 I2C는 데이터 전송을 위해 SDA, 동기화를 위해 SCL이라는 두 개의 양방향 Line을 사용합니다. 이 두 개의 Line은 Master/Slave Device와 연결되어 데이터를 주고 받게 되는데 일반적으로 마스터가 시작 조건을 전송한 뒤에 해당 슬레이브의 주소가 뒤따르는 방식으로 통신을 하게 됩니다. I2C를 쓰는 이유는 여러 장점이 있기 때문입..
Set up time과 Hold time 지난 시간에 clock domain crossing과 metastable에 대해 알아보았습니다. clock domain이 바뀔 때, clock domain crossing 처리를 해주지 않으면 metastable 상태에 빠지게 되고 회로가 정상적으로 작동할 수 없다고 했습니다. metastability는 바로 오늘 알아볼 내용인 set up time, hold time과 관련이 깊습니다. metastability가 발생하는 근본적인 이유를 생각해보면 data가 flip flop에 입력될 때 clock이 해당 data를 채가지 못하기 때문에 발생합니다. 이상적으로 생각해보면 신호가 flip flop으로 들어온 직후에 clock이 toggle해도 flip flop이 data를 챌 수 있을 것 같지만 실제로는..
CDC와 Metastable 오늘은 CDC(Clock Domain Crossing)와 Metastable에 대해 알아보겠습니다. 먼저 CDC는 이름에서 예상할 수 있듯, clock과 관련된 용어인데요.디지털 회로에서 clock은 아주 필수적인 요소입니다. 사람으로 따지면 공기와 같습니다. 계속해서 공급해줘야 신체를 움직일 수 있듯 디지털 회로에 clock이 끊기지 않고 toggle 해주어야 디지털 회로가 잘 동작할 수 있습니다.이렇게 하나의 디지털 시스템은 clock 베이스로 움직이는데 이 clock이라는 것은 속도를 갖습니다. 100MHz의 속도를 가질수도 있고 80MHz를 가질 수도 있습니다. clock speed는 Architecture Engineer가 시스템의 큰 그림을 그릴 때 결정됩니다.여기서 중요한 것은 하나의 디지털..