找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2534|回復(fù): 16
打印 上一主題 下一主題
收起左側(cè)

用STC12單片機(jī)檢測SD擴(kuò)容假卡,要怎樣實(shí)現(xiàn)呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:283954 發(fā)表于 2021-2-13 03:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
本帖最后由 dalaoshi 于 2021-2-13 16:03 編輯

這幾天用STC12單片機(jī)成功啟動(dòng)了SD卡,從2G到32G都能用,而我手頭還有幾年前在某寶買到的所謂“擴(kuò)容卡”,標(biāo)明是2G,把歌曲寫進(jìn)去后,文件名都還在,就是歌曲打不開,上網(wǎng)搜尋才發(fā)現(xiàn)了有所謂擴(kuò)容卡。

擴(kuò)容卡可惡之處在于,寫文件時(shí)不會(huì)發(fā)生錯(cuò)誤,等寫完了讀不到才知道上當(dāng),花費(fèi)消費(fèi)者大量時(shí)間和精神,擴(kuò)容卡最近鬧得更兇,大量1T2T的卡,很便宜,很多人買了回去作測試,制作了大量視頻在油管上勸人們不要購買,他們的測試辦法是把大量文件抄進(jìn)去,然后讀出校驗(yàn),非常費(fèi)時(shí),動(dòng)輒幾個(gè)小時(shí)甚至隔夜。

我想應(yīng)該有辦法用SPI與SD卡對(duì)話讀出SD卡的標(biāo)稱容量和檢測出實(shí)際容量,但找遍所有CMD卻沒有看到,是否還有什么SD-CMD沒有公布?或者大家有什么建議。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

17#
ID:283954 發(fā)表于 2021-2-24 05:17 | 只看該作者
謝謝各位的提議,我這幾天也看了不少資料,原來做擴(kuò)容卡是用一個(gè)生產(chǎn)廠家生產(chǎn)SD卡的軟件隨便就可以設(shè)定的,根本就不是什么了不起的高科技,是操作系統(tǒng)層面的東西,若是直接與SD卡溝通,正如npn君所言,直接向標(biāo)稱容量的扇區(qū)寫數(shù)據(jù)再讀回,若發(fā)生錯(cuò)誤就是假卡了。但有大量的SD卡用戶卻被無良廠家所害,旅游所拍的照片不見了,快樂的假期變成夢魘,還得用大量時(shí)間證明卡的容量是假的,唉!
回復(fù)

使用道具 舉報(bào)

16#
ID:57657 發(fā)表于 2021-2-22 16:57 | 只看該作者
cheney03 發(fā)表于 2021-2-20 10:04
非常感謝樓主,確實(shí)是杜邦線過長,換了短的,通訊正常,成功讀寫SD卡。

高速信號(hào),遠(yuǎn)距離傳輸都是要用屏蔽線的。
回復(fù)

使用道具 舉報(bào)

15#
ID:57657 發(fā)表于 2021-2-22 16:16 | 只看該作者
向最后一個(gè)扇區(qū)寫數(shù)據(jù),寫進(jìn)去讀不出來1000%是假的。
回復(fù)

使用道具 舉報(bào)

14#
ID:743654 發(fā)表于 2021-2-22 15:11 | 只看該作者
我在網(wǎng)上下了一個(gè)工具,可以檢測是否為擴(kuò)容卡。工具的原理就是將存儲(chǔ)設(shè)備全部寫滿數(shù)據(jù),然后對(duì)這些寫入的數(shù)據(jù)進(jìn)行校驗(yàn)。這樣,不管是內(nèi)存卡上有“物理壞塊”還是“擴(kuò)容卡”,都逃不過此款工具的檢測。按這個(gè)原理可以給樓主提供一個(gè)思路,看有沒辦法通過SPI寫的方式 來檢測

SD卡檢測.zip

202.17 KB, 下載次數(shù): 5

回復(fù)

使用道具 舉報(bào)

13#
ID:283954 發(fā)表于 2021-2-21 17:28 | 只看該作者
cheney03,

C語言我只看懂一些,可能是死機(jī)了。你把各個(gè)命令逐個(gè)試,這樣才知道究竟卡在哪里,單單一個(gè)寫動(dòng)作就有很多步驟。邏輯分析儀取樣2M不夠大,至少要8M才容易抓到波形。
回復(fù)

使用道具 舉報(bào)

12#
ID:828160 發(fā)表于 2021-2-20 12:57 | 只看該作者
SD卡的真實(shí)容量很好測,用單片機(jī)寫程序就可以實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

11#
ID:743654 發(fā)表于 2021-2-20 10:32 | 只看該作者


我主程序中執(zhí)行到最后是while(1);死循環(huán),邏輯分析儀抓取不到前面SD卡寫CMD0等初始化各個(gè)命令的時(shí)序圖
回復(fù)

使用道具 舉報(bào)

10#
ID:743654 發(fā)表于 2021-2-20 10:28 | 只看該作者
請(qǐng)問你邏輯分析儀是怎么抓取時(shí)序圖的,我的沒信號(hào)。我看你另外一個(gè)帖子中,寫入每個(gè)命令的時(shí)序圖都能抓取到。


回復(fù)

使用道具 舉報(bào)

9#
ID:743654 發(fā)表于 2021-2-20 10:04 | 只看該作者
非常感謝樓主,確實(shí)是杜邦線過長,換了短的,通訊正常,成功讀寫SD卡。
回復(fù)

使用道具 舉報(bào)

8#
ID:283954 發(fā)表于 2021-2-20 00:24 | 只看該作者
我在實(shí)驗(yàn)中還發(fā)現(xiàn),連接線的長度長一些會(huì)偶爾會(huì)發(fā)生錯(cuò)誤,另外要測量一下供電壓,我用開發(fā)板在初期實(shí)驗(yàn)時(shí)給SD卡的電壓才2V,折騰了半天,最好有邏輯分析儀可以顯示四個(gè)腳的邏輯圖,多試幾次一定會(huì)成功,CMD0已經(jīng)成功了,那就沒有問題了。
回復(fù)

使用道具 舉報(bào)

7#
ID:743654 發(fā)表于 2021-2-19 16:08 | 只看該作者

例程中主函數(shù) 通過P0接LED燈狀態(tài)來檢查SD卡讀寫數(shù)據(jù)是否正確,貌似這樣無法判斷數(shù)據(jù)有無寫入或讀出。
因?yàn)榫彺鏀?shù)組中已經(jīng)寫入了512個(gè)0x7F,不管SD卡是否讀寫數(shù)據(jù),P0=BUFFER_DATA[0];P0的結(jié)果都是0x7F

還有一個(gè)問題:SD卡寫入數(shù)據(jù)后,用什么軟件可以看到哪個(gè)扇區(qū)寫入的具體內(nèi)容
回復(fù)

使用道具 舉報(bào)

6#
ID:743654 發(fā)表于 2021-2-19 16:00 | 只看該作者



我加入了串口調(diào)試,SPI直接 接SD卡對(duì)應(yīng)引腳 初始化成功
回復(fù)

使用道具 舉報(bào)

5#
ID:743654 發(fā)表于 2021-2-19 15:54 | 只看該作者

圖1用SD卡模塊連接(兩個(gè)模塊都試了),CMD0寫入后,讀不到返回值0x01,初始化不成功



圖2 SPI接口直接焊在SD卡對(duì)應(yīng)引腳上,寫入CMD0后,能讀取到返回值0x01,初始化成功
回復(fù)

使用道具 舉報(bào)

地板
ID:283954 發(fā)表于 2021-2-18 18:39 | 只看該作者
cheney03:

這篇文章很好,有C的代碼:

http://www.torrancerestoration.com/bbs/dpj-186038-1.html“單片機(jī)軟件SPI和硬件SPI讀寫SD卡,TF卡測試程序”

如果你是卡在CMD0,多半是接線錯(cuò)誤,或者接觸不良。CMD0命令很簡單。
回復(fù)

使用道具 舉報(bào)

板凳
ID:743654 發(fā)表于 2021-2-18 15:42 | 只看該作者
最近也在調(diào)試SD卡,一直卡在初始化CMD0寫入失敗,樓主的例程可否提供參考
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:678280 發(fā)表于 2021-2-14 11:34 | 只看該作者
對(duì)樓主的問題有興趣,但對(duì)我來說太高深。僅為一頂。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表