방금 LPC2132 칩을 사용하여 프로젝트를 완료했지만 전체 64kb의 RAM을 사용하는 데 문제가 발생했습니다.
다음 프로젝트에서는 훨씬 더 큰 외부 메모리 칩을 참조 할 수있는 무언가를 사용하고 싶습니다. 어떤 종류의 ARM이이 작업을 수행 할 수 있으며 두 장치가 통신하도록하려면 어떻게해야합니까?
답변
외부 RAM 메모리에는 MMU가 필요하지 않습니다. 필요한 경우 더 많은 공간이 필요한 것과는 완전히 별개의 문제입니다. 금속에 직접 코딩했다면 실제로 MMU가없는 삶을 더 쉽게 만들 수 있습니다. 또한 MMU는 사실상 외부 구성 요소가 아니라 SoC 다이에 있습니다.
많은 제품군에서 ARM7의 외부 메모리를 허용하는 ARM SoC를 찾을 수 있습니다. 예를 들어 NXP LPC2212 시리즈 는 최고를 말하지 않고 외부 메모리 인터페이스가있는 Google에서 처음으로 나온 ARM7 SoC입니다. 많은 옵션이 있습니다. .
외부 메모리 컨트롤러가있는 SoC에서 거의 모든 것을 찾을 수 있기 때문에 ARM 제품군의 다양한 코어 기능에 더주의를 기울일 것입니다.
이제 필요한 메모리 유형과 작동 방법에 대해서는 선택한 SoC 및 외부 메모리 컨트롤러가 지원하는 메모리에 따라 다릅니다. 예를 들어 ARM7 SoC i 링크는 외부 SRAM과 플래시 및 ROM을 지원하고 최대 4 개의 16MB 뱅크를 지원하므로 외부 플래시와 SRAM을 동시에 연결할 수 있습니다.
별도의 RAM과 플래시 IC를 사용할 수 있으며 MCP (Multi Chip Package)라고하는 패키지가 있으며 1 개의 패키지에 플래시와 램을 모두 포함 할 수 있습니다. 이러한 장치를 선택하는 방법은 여러 요소에 따라 다르므로 응용 프로그램에 대해 더 구체적이어야합니다.
이것이 얼마나 쉬운 지 필요한 속도에 달려 있습니다. 대부분의 외부 메모리 컨트롤러에는 프로그래밍 가능한 클럭 속도가 있습니다. 메모리 인터페이스 클럭 속도는 최소 10MHz 이상으로 매우 높을 수 있습니다. 간단히 말해서 이와 같은 브레드 보드를 만들지 않을 것이므로 PCB를 설계하고 이러한 라인의 신호 무결성 문제에 특별한주의를 기울여야합니다.
가장 좋은 방법은 놀고 싶은 코어를 선택하고 외부 메모리가있는 많은 개발 보드 중 하나를 찾는 것입니다.
답변
더 큰 시리즈의 STM32 프로세서 (32 비트 Cortex-M3 코어)에는 FSMC가 있는데, 이는 유연한 정적 메모리 컨트롤러입니다. 이를 통해 플래시, RAM 및 LCD와 같은 기타 메모리 주변 장치를 연결할 수 있습니다.
tcrosley도 말했듯이 나는 STM32F103ZET6를 추천 할 수 있습니다, 당신은 $ 68 이베이에 플래시 및 SRAM을 포함하여 개발 보드를 얻을 수 있습니다 – http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220619908411
답변
최근에 새 프로젝트와 비슷한 요구 사항이 있었으며 512K의 내부 플래시와 64K의 내부 RAM을 갖춘 STMicro STM32F103ZET6 (ARM 32 비트 Cortex-M3)을 약 10 달러에 구매했습니다. 최대 64MB의 외부 메모리 (26 개 주소 비트)를 처리 할 수있는 메모리 컨트롤러가 있습니다. 144 핀 LQFP 패키지로 제공됩니다. (프로토 타입에 BGA를 사용하는 것을 좋아하지 않습니다.) 다른 접착제없이 멀티플렉싱없이 2MB Cypress SRAM과 인터페이스 할 것입니다.
답변
아마 Atmel AT91SAM9G20 ?
약간의 짐승 (217 핀 BGA 패키지)이지만 가격면에서 훌륭한 칩입니다. 좀 더 인간 친화적 인 것을 찾고 있다면 Atmel AT91M42800A를 사용해보십시오 . 적어도 Atmel의 외장 메모리 하드웨어를 갖춘 가장 작은 MCU라고 생각합니다. 144 핀 LQFP 패키지입니다.
Atmel에는 파라 메트릭 선택기가 있습니다. http://www.atmel.com/dyn/products/param_table_v2.asp?family_id=605&OrderBy=part_no&Direction=ASC
(나는 Atmel에서 일하지 않는다고 덧붙여 야한다고 생각합니다.