'SDRAM'에 해당되는 글 11건
- 11.파워 다운(Power Control) :: SDRAM의모든것 (2) | 2009/02/14
- 10.SDRAM초기화 프로그램 분석 :: SDRAM의모든것 | 2009/02/14
- 9.리플레쉬(REFRESH) :: SDRAM의모든것 | 2009/02/14
- 8.초기화 :: SDRAM의모든것 | 2009/02/14
- 7.파워 다운(Power Control) :: SDRAM의모든것 (4) | 2009/02/14
- 6.타이밍 분석(WRITE 동작) :: SDRAM의모든것 | 2009/02/14
- 5.어드레스 디코딩 :: SDRAM의모든것 | 2009/02/14
- 4.타이밍 분석(READ 동작) :: SDRAM의모든것 | 2009/02/14
- 3.HOST 인터페이스 :: SDRAM의모든것 | 2009/02/14
- 2.기본 동작 :: SDRAM의모든것 (1) | 2009/02/14
11.파워 다운(Power Control) :: SDRAM의모든것 - 2009/02/14 16:37
POWER DOWN 휴지 상태(IDLE)에서 SDRAM 소모전력을 최소화 하기 위한 용도로서의 'POWER DOWN' 에 대한 내용을 다루어 보겠습니다. 이를 위한 조작은 의외로 매우 단순합니다. Figure 1-3을 보시죠. CKE를 'LOW'로 함과 동시에 SDRAM은 'POWER DOWN' 모드로 진입됩니다. 적어도 이같은 파워다운 상태에서의 SDRAM은 CKE 을 제외한 데이터 버스를 비롯한 모든 제어신호들이 '하이 임피던스' 혹은 의미없는 'DON'T CARE'로 취급되는 신호로 되어 버립니다. CKE 는 지난 시간에 'SELF REFRESH' 에서도 잠시 등장 했었죠. CKE는 이밖에도 금번의 칼럼에서는 특별히 언급하지는 않지만 'CLOCK SUSPEND'의 기능도 가지고 있습니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
10.SDRAM초기화 프로그램 분석 :: SDRAM의모든것 - 2009/02/14 16:32
SDRAM 은 SRAM 과 달리 초기화를 한 후 비로소 사용이 가능하다고 합니다. 그러면 금번의 칼럼에서는 이 초기화 프로그램의 실제 사례를 가지고 분석을 해보는 시간을 갖도록 합니다. 예로서 사용된 것은 씨러스로직의 ARM920T 코어가 내장된 EP9302 프로세서와 SDRAM 인터페이스가 되겠습니다. SDRAM 컨트롤러는 EP9302에 내장되어 있는것이 사용됩니다. ( EP9302 데이터북은 여기!!! ) 초기화 프로그램의 예 다음처럼 초기화 프로그램의 예를 먼저 선 보이고 설명을 시작 하도록 합니다. 이는 시스템에 전원이 인가되고 부트 스타트업이 기동되면서 함께 실행되는 프로그램으로서 함수의 이름은 'sdram_cfg' 가 됩니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
9.리플레쉬(REFRESH) :: SDRAM의모든것 - 2009/02/14 16:28
리플레쉬(REFRESH) Figure 1-1 Refreshing the Memory Figure 1-2 The Capacitors Refresh tREF 시간은 SDRAM 의 리플레쉬 주기라 합니다. 한편, tRC는 한 ROW가 리플레쉬되는 시간이 됩니다. Figure 1-3는 읽기 / 쓰기 동작을 함께 그려 놓은 타이밍 도 입니다. 여기서 확인 하실 것은 적색타원의 시간들입니다. tRC, tRAS, tRP, tRCD, tCAC 등의 수치 의미를 이해 하시면 좋겠습니다. tRAS 는 RAS ACTIVE 구간을 나타냅니다. tRP 는 프리차지 시간 정보를 담고 있습니다. tRAS + tRP=tRC 즉, tRC는 한 버스 사이클의 시간으로 생각 할 수 있습니다. 읽기 명령이후 실제 메모리셀의 데이타가 I/O버퍼에 로딩 되는 시간정보인 tCAC 는 CAS레이턴시 입니다. 뱅크 'ACTIVE' 이후 CAS 신호에 의해 메모리셀이 선택되는 tRCD는 'RAS to CAS Delay' 타임입니다. Figure 1-4 List for refresh values tREF 는 통상 64ms 가 많이 사용됩니다. 아마도 이는 SDRAM에 충전된 전하(ELECTRON)가 자연적으로
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
8.초기화 :: SDRAM의모든것 - 2009/02/14 16:25
SDRAM 은 SRAM 과 달리 초기화를 한 후 비로소 사용이 가능하다고 합니다. 그러면 이번 시간에 알아 볼 것은 바로 이 초기화라는 것이 어떤 것인가와. 초기화의 방법이 되겠습니다. SDRAM의 초기화는 다음에 열거하는 두 가지 방법이 모두 적용되어야 합니다. (1)SDRAM 컨트롤러의 초기화 와 (2)SDRAM 모드 레지스터의 초기화가 바로 그것입니다. 이번 시간에는 이중 SDRAM 모드 레지스터의 초기화에 대해서 알아 봅니다. 초기화 시퀀스 시스템에 전원(POWER) 이 인가된 이후의 SDRAM 상태변화와 동작에 대하여 순서대로 정리한 것입니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
7.파워 다운(Power Control) :: SDRAM의모든것 - 2009/02/14 16:22
버스트 읽기/쓰기 동작의 설명에 앞서서 'BURST' 라는 말의 뜻을 먼저 새겨 보겠습니다. 어드레스를 순차적(sequential)으로 증가 혹은 감소 시키면서 다량의 데이터를 읽거나 쓰는 행위를 버스트(Burst) 동작으로 정의 합니다. 임베디드시스템에서 이런 버스트 동작의 유형은 여러 군데서 목격이 됩니다. DMA 블럭전송, cache동작, 명령어fetch, I2c 형태의 EEPROM 에서도 이런 비슷한 동작이 있습니다. 초기 어드레스 한번 주고 쭈욱!~ 읽어버리지요/써버리지요. 버스트(BURST) SDRAM 에서의 BURST 동작은 조금 독특합니다. 아니! 강력합니다. Figure 1-1 Read/Write Cycle with Burst Length of 8 Figure 1-1은 Burst 동작이 어떤 것인지를 보여 주는 좋은 도면입니다. 이 그림에서 가장 주목 해야 할 부분은 Burst 동작은 하나의 ROW 내에서만 가능하다는 것입니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
6.타이밍 분석(WRITE 동작) :: SDRAM의모든것 - 2009/02/14 16:19
쓰기(WRITE OPERATION) 읽기 명령과 마찬가지로 쓰기 동작(Write operation)도 또한 precharge 가 필요 함을 Figure 1-3 을 통해서 확인 할 수가 있습니다. 한편, 읽기 동작과 뚜렷하게 차이가 있는 한 가지는 쓰기 동작에서는 레이턴시가 항상 '0' 즉, 레이턴시가 없다는 것입니다. 즉 CL=2, CL=3 어떤 경우에도 쓰기동작의 경우 CAS레이턴시는 '0'이 됩니다. ROW와 COLUMN 주소가 입력된 이후 메모리셀에서 I/O버퍼로 올라오는 시간을 정의한 레이턴시의 개념을 생각해 보면 어찌보면 당연하다 하겠습니다. 쓰기의 경우는 호스트인터페이스를 경유하여 데이터가 I/O버퍼로 즉시 들어 갈 겁니다. 쓰기 동작의 경우도 이 I/O버퍼에서 실제 메모리셀에 기록되기 까지 시간이 걸리겠지요. 하지만 이는 SDRAM 내부에서 일어나는 동작이기 때문에 고려치 않아도 됩니다. 데이터를 I/O버퍼까지 정확히 넣어주는 것 까지가 우리의 책임입니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
5.어드레스 디코딩 :: SDRAM의모든것 - 2009/02/14 16:16
Figure 1-1은 SDRAM과는 직접적인 관련은 없지만 설명을 위하여 넣었습니다. STATIC 메모리와 마이크로프로세서와의 인터페이스 한 예입니다. BANK Figure 1-1 메모리 인터페이스 회로 27256 EPROM 메모리가 4개 사용 되었습니다. 이들은 서로 다른 주소 공간을 할당 받아야 합니다. 이를 위하여 Figure 1-2처럼 어드레스 디코딩을 할 수가 있을겁니다. 4개의 메모리가 서로 다른 베이스 주소를 가지게 됩니다. 이들 각각을 뱅크(BANK) 라 칭합니다. 마찬가지로 만약 어떤 SDRAM 메모리가 BANK의 크기가 4라고 한다면 이와 마찬가지로 연상하시면
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
4.타이밍 분석(READ 동작) :: SDRAM의모든것 - 2009/02/14 16:13
레이턴시(LATENCY) Figure 1-1의 T2 클럭시간에 읽기 명령이 입력됩니다. 그러면 SDRAM 메모리 셀에서 실제로 첫번째 데이타가 나오는 시점은 2클럭 이후인 T4에서 입니다. Q1, Q2, Q3, Q4 차례대로 T4 이후에 흘러 나옵니다. 이런 상황을 레이턴시가 '2'이다 즉, CL=2 로 표현합니다. 읽기 명령 이후에 데이터가 바로 인출이 안되고 2 클럭 이후에나 데이터가 나오기 시작하는 것은 아마도 물리적으로 캐패시터로 이루어져 있으며 내부 버퍼가 존재함에 기인하지 않나 생각됩니다. 어쨌든, 이런 레이턴시가 '3'인 경우도 Figure 1-1의 하단에 보이고 있습니다. 나중에 SDRAM 초기화 칼럼에서도 다루게 되겠지만 이 레이턴시 값은 우리가 사용하는 SDRAM의 동작 클럭(CLK)속도와 SDRAM의 응답시간을 고려하여 결정됩니다. Figure 1-1의 하단 tRCD, tRAS, tRC, tRP 들은 우리가 앞으로 관심있게 지켜 봐야 하는 중요한 숫자들입니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
3.HOST 인터페이스 :: SDRAM의모든것 - 2009/02/14 16:03
금번 시간에는 SDRAM 와 마이크로 프로세서와의 인터페이스에 관하여 이야기 해 보도록 합니다. Figure 1-1 Host Interface of SDRAM Figure 1-1처럼 SDRAM의 사용을 위하여는 필히 SDRAM 제어기(CONTROLLER)가 있어야 합니다. 보통의 ARM 코어 내장형 SOC(System On Chip의 약어) 들에는 기본적으로 이런 DRAM 컨트롤러가 내장 되어 있곤 합니다. 컨트롤러의 가장 중요한 역할은 SDRAM의 데이터의 수납과 리플레쉬(REFRESH)가 됩니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
2.기본 동작 :: SDRAM의모든것 - 2009/02/14 16:00
SRAM(static Random Access Memory) 이 1개의 셀(CELL) 을 위하여 6~8개의 트랜지스터를 사용하는 구조라 한다면, 이에 반해 SDRAM(Synchronous Dynamic Random Access Memory) 은 수십펨토1 패럿 용량의 캐패시터를 기본 구조로 합니다. Figure 1-1 1-bit DRAM cell Figure 1-1은 Figure 1-2의 적색부를 확대한 그림이며 마찬가지로 Figure 1-3의 적색부를 확대한 것은 Figure 1-2가 됩니다. SDRAM의 기초동작 : 정보의 저장및 인출 동작 (1) 전하셀에 정보 '1'을 기록하기 Figure 1-1의 CELL에 '1'을 기록하기 위하여는 BITLINE 에 'HIGH' 전압을 겁니다. 그러면 셀 캐패시터는 트랜지스터를 경유하여 전하를 공급받아 충전됩니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 




