MMC 전문가를위한 또 다른 질문입니다. 데이터 스토리지 CRC.

K

kender

Guest
동료, 데이터와 함께 MMC / SD 카드 저장 CRC (또는 체크섬)합니까? 감지 또는 저장하는 동안 데이터 손상을 방지하는 메커니즘이 있나요? 감사합니다 - 닉 PS 나도 도왔 사람들을 위해 "도움을 나에게"를 클릭하는 것을 잊지 마세요.
 
MMC / SD 카드는 기본 모드에서 기본적으로 CRC를 사용합니다. SPI 모드에서 CRC은 기본적으로 비활성화되어 있지만, CMD59와 함께 필요한 경우 사용할 수 있습니다. SPI 모드에서 전송되는 첫 번째 명령은 올바른 CRC해야 - CMD0, CRC = 0x95과를,이 후에 CRC 필요하지 않습니다. 그러나, 사용하지 않을 경우에도, 가짜 (임의의) 바이트 CRC 장소로 발송해야 전송되는 바이트의 숫자가 CRC와 마찬가지로 동일합니다 그럼. 카드를 작성지도와 블록은 CRC를 확인하지 않으며 쓰기 오류를보고하지 않습니다하십시오. 독서에 당신은 또한 사용하지 않을 경우에도 CRC 바이트를 읽을 수있다. 제가 블록 읽기 / SD 카드 루틴을 작성할 구현하면,는 다음 자습서를 사용 : http://www.cs.ucr.edu/ ~ amitra / sdcard / 추가 / sdcard_appnote_foust.pdf http://www.sdcard.org/about/memory_card/pls/은 http://elm-chan.org/docs/mmc/mmc_e.html은 편집 미안 해요, 난 당신을 생각 구현을 단순화하기 위해 CRC를 방지하지만, 당신이 그것을 필요하다면, 카드 독에 따라 기능을 활성화하고 CRC16를 계산하는 것입니다. 나는 정말 CRC를 저장는지, 아니면 내가 "CRC 모드없이"에서 카드에 파일을 작성 (가짜 CRC 바이트)와 경우 불러서 그것이, 올바른 데이터 전송 (리더 카드)를 보장하기 위해 계산하지 그것은 PC의 리더 (CRC를 사용하는)에, 내가 쓰기에 CRC를 사용한 경우처럼 확인을 읽을 것입니다.
 
정답. 하지만 난 다른 질문을했다. 난 "저장 CRC"가 아닌 "통신 CRC '에 대해 묻는거야. 당신이 데이터를 쓸 즉, MMC는 CRC를 계산하고 데이터로 저장합니다. 어떤 이유로 들어, 데이터 저장 (예를 들어, 누군가가 X - 레이 카드) 중에 손상됩니다. 손상된 데이터가 데이터가 작성되었을 때, 계산 CRC와 일치하지 않기 때문에 사용자가 데이터를 읽을 때, 카드는 당신에게 오류를 제공합니다.
 

Welcome to EDABoard.com

Sponsor

Back
Top