업그레이드 할 때 MacBook Pro에서 제거한 남은 2GB RAM 모듈이 2 개 있습니다. 예를 들어 Arduino와 함께 사용할 수 있는지 궁금합니다. 실제로 어쨌든이 작업을 실제로 시도하기에는 초보자가 너무 많지만 가능한 경우 또는 마이크로 컨트롤러가 처리 할 수있는 메모리가 너무 많은지 궁금합니다.
업그레이드 할 때 MacBook Pro에서 제거한 남은 2GB RAM 모듈이 2 개 있습니다. 예를 들어 Arduino와 함께 사용할 수 있는지 궁금합니다. 실제로 어쨌든이 작업을 실제로 시도하기에는 초보자가 너무 많지만 가능한 경우 또는 마이크로 컨트롤러가 처리 할 수있는 메모리가 너무 많은지 궁금합니다.
답변:
가장 기본적인 비 호환성은 모듈에 너무 많은 핀이있어 물리적으로 Arduino에 인터페이스 할 수 없다는 것입니다. 유사한 소형 마이크로 컨트롤러를위한 Ditto. ARM Cortex M3가 점점 가까워지고 있지만 실제로 그러한 방식으로 RAM을 인터페이스하는 데 필요한 외부 버스가있는 것은 거의 없습니다 (제 생각에).
그러나 나는 더 나아갈 것이다. 칩을 Arduino에 인터페이스 할 수 있다고 가정하면 다른 기본적인 전기 호환성 문제는 필요한 전압입니다. 이 RAM 모듈은 바닐라 Arduino 보드 또는 다른 기본 취미 마이크로 컨트롤러에는 존재하지 않는 2.2V와 같은 이상한 것을 사용한다고 생각합니다.
칩을 처리했다고 가정하면 칩은 다른 외부 메모리와 마찬가지로 Arduino에 거의 작동합니다. 사람들은 웹 서버 로그 등을 저장하기 위해 중요한 상수 또는 SD / MMC 카드를 저장하기 위해 외부 EEPROM을 추가합니다. 물론,이 맥락에서 RAM 모듈은 Arduino에 실질적인 이점을 제공하지 않습니다. 주요 특징은 속도이며 Arduino (및 다른 취미 마이크로 제어 장치)는 일반적으로 클럭 속도에서 25MHz를 깨지 않습니다. 속도를 걱정하기에는 너무 느립니다. SD / MMC 카드와의 인터페이싱이 훨씬 쉽고 플레이 공간이 넓기 때문에 스토리지 크기는 큰 문제가되지 않습니다.
따라서 가능하더라도 실제로 권장되지는 않습니다.
나는 fpga가 메모리와 대화하고 마이크로 컨트롤러가 페이징 방식을 사용하여 fpga와 대화하는 사이에 적절한 크기의 (fp count) fpga를 고수하지 않고 아니라고 말할 것입니다.
아마도 래치 시스템을 사용하여 arduino와 같은 것이 32 비트의 주소를 생성 할 수 있으며 아마도 리프레시 사이클을 생성하는 몇 가지 체계를 고안 할 수는 있지만 기술적으로는 예외가 아닙니다. 운동.
인터페이스 회로는 아마도 결과 시스템에서 가장 복잡한 부분 일 수 있으며 결과에는 실질적인 가치가 거의 없습니다. 아두 이노는 RAM에서 코드를 실행할 수없고, 스토리지는 휘발성이며, 아두 이노보다 더 많은 전력을 소비 할 것입니다. 데이터를 저장하려면 SPI EEPROM이 훨씬 더 나은 솔루션 일 것입니다.
DRAM 칩 데이터 시트를 살펴보면 DDR2의 최소 클럭 속도는 50MHz +입니다. 따라서, 하드웨어 지원 기능이 내장되어 있지 않으면 마이크로 컨트롤러와 인터페이스 할 수 없습니다.
짧은 대답은 '아니요'입니다.
Arduino는 DDR 또는 DDR2 메모리 인터페이스를 구동 할 수 없습니다. FPGA가있는 SPI 인터페이스를 사용하여 DDR / DDR2 컨트롤러를 만들 수는 있지만 중요한 작업입니다.
저전압 드라이버 (SSTL)와 약 100 개의 채널을 제어 할 수있는 방법이 필요합니다 (각 차동, 약 200 핀. BGA를 생각해보십시오).
대부분의 DRAM은 최소 1kHz에서 리프레시해야하며 비트 오류율이 낮을 수 있습니다. 그런 다음 주요 백그라운드 작업을 구성하고 그러한 속도로 메모리를 새로 고칠 수 있다면 Arduino의 대부분의 처리 능력을 사용합니다.
그래도 PIC24F / H / dsPIC33F와 같은 일부 마이크로 컨트롤러에서는 병렬 마스터 버스 인터페이스를 지원하여 일부 유형의 병렬 SRAM에 액세스 할 수 있습니다. 이 외부 메모리는 여러 개의 코드 변수와 내부 및 외부 메모리를 결합하는 블록에 매핑 될 수 있으므로 C도 지원합니다. 외부 메모리를 사용하려면 PMB 코드를 작성해야합니다. 그래도 최대 1MB까지만 처리 할 수 있습니다.