이 RAM에서 핀 순서가 중요합니까?


11

pic32 칩을 128kB SRAM 으로 라우팅하려고합니다.17 개의 어드레스 라인과 8 개의 데이터 라인을 모두 연결하는 데 어려움이 있습니다. 첫 번째 16 개의 주소 핀을 포트 B 핀 0-15에 연결하고 데이터 핀을 포트 D 0-7에 연결하려고합니다. 잠시 동안 그것에 대해 생각한 후에 나는 rb0을 a0, rb1을 a1 등으로 정렬하여 인생을 더 어려워 할 것임을 깨달았습니다. 실제로 할 수있는 것은 portB에 16 비트 값을 쓰는 것입니다. 주소의 대부분을로드하고 준비하십시오. 라우팅 용이성을 기반으로 핀을 할당하면 논리 주소가 mcu와 램간에 다르지만 최소한 일관성이 있어야합니다. RAM과 통신 할 필요가 없기 때문에 mcu가 주소 0x101을 요청하고 RAM이 주소 0x110을 제공하면 문제가되지 않을 것이라고 생각합니다.

그러나 그것이 좋은 아이디어인지 궁금합니다. RAM 내부에 순차적 읽기를보다 효율적으로 만들 수 있도록 설계된 구조가 있거나 그와 비슷한 것이 있으면 1 : 1 라우팅 문제로 가고 싶습니다. 두 칩 요금에 대한 핀 배열은 나에게 다소 임의적이므로 특정 숫자를 무시할 수 있다면 훨씬 쉬울 것입니다. 내가 그렇게해야하거나하지 말아야 할 이유가 있습니까?

답변:


12

이 경우 데이터 비트를 교환하고 주소 비트를 교환하는 것이 전적으로 허용되는 것 같습니다. 당신이 당신의 질문에서 암시하는 것처럼 이것은 보편적으로 그렇지 않습니다.

이 경우 장치는 정적 RAM입니다. AS6C1008 데이터 시트 를 빠르게 훑어 보면 어떤 종류 또는 주소 관련 타이밍 종속성의 빠른 액세스도 수행 할 수있는 능력이 없었습니다.


일반:

일부 동적 메모리는 주소의 높은 부분을 래치 한 다음 낮은 주소 비트를 시퀀싱하여 데이터 버스트를 허용합니다. 이것은 공개 된 논리적 행 및 열 구조 또는 외부에서 명백하게 보이지 않는 일부 비전 내부 메커니즘에 해당 할 수 있습니다. 이러한 경우 스토리지 장애를 피하기 위해 데이터 시트의 내용을 고수해야합니다.

일부 초기 동적 메모리는 메모리 셀 리프레시를 달성하기 위해 주소 시퀀싱 및 액세스 타이밍에 의존했습니다. 요즘에는이 중 많은 것을 만나지 못할 것입니다.

일부 메모리 (플래시, eerom, 다른 메모리)는 액세스 당 (읽기 또는 쓰기) 또는 일반적으로 쓰기 당 또는 메모리 위치 또는 메모리 셀의 일부에 따라 액세스 횟수에 따라 수명이 다릅니다. . 후자의 경우 주소 라인을 스크램블하면 마모 수준 알고리즘을 방해 할 수 있습니다. 이것은 상당히 전문적인 장치에서만 잠재적 인 문제가 될 것이며 데이터 시트는 요구 사항에 대해 합리적으로 명확 해지기 쉽습니다.


"이 경우"규정 자에 대해 +1이며, 그렇지 않을 경우에 대한 설명.
SplinterReality

5

아니요, 주문은 중요하지 않습니다. 데이터 라인과 마찬가지로 주소 라인은 임의의 순서로되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.