雖然 Microchip 的 MCHPMSD 程式是用 PIC18F4550 芯片,但是硬件是基於 PICDEM FS USB Demonstration Board + PICtail Board for SD & MMC,而 BWS 工作室實驗的硬件配置會有少許出入,所以首先要修改硬件的設定。
▲ PICDEM及 BWS實驗板硬件配置 |
▲ io_cfg.h 的硬件配置設定 |
▲ sdcard.h 的硬件配置設定 |
SD 記憶卡可在 SD Bus(SD匯流排)模式或 SPI(Serial Peripheral Interface,串列外設介面)模式下工作。在這應用中, SD 卡的 SPI 匯流排相連並在SPI 模式下工作。在 SPI 模式下,每個方向上只使用一條資料線來傳輸資料。因此,該模式下的資料傳輸速率和用一條資料線的 SD Bus 模式相同(可高達25 Kbps)。除電源(Power)和地(Ground)之外, SPI 匯流排由片選(Chip Select,CS)、串列資料登錄(Serial DataInput , SDI) 、串列資料輸出(Serial Data Output,SDO)和串列時鐘信號(Serial Clock,SCLK)組成。SD 卡和 MMC 卡在時鐘的上升沿採集讀入資料,在時鐘下降沿設置輸出資料。上電時, SD 卡以 SD Bus 模式喚醒。因此,需要初始化常式把 SD 卡轉換到 SPI 模式。初始化可通過在復位命令 CMD0 接收期間設置 CS 信號(邏輯低 = 0)來完成。在 SPI 模式,所選中的卡始終對命令做出回應,這和 SD Bus 模式是不同的。如果出現數據檢索問題, SD 卡就回應一個錯誤回應而不是超時,這和 SD Bus 模式是一樣的。
SD 記憶卡內格式是 FAT16,用 512 byte 作為 Sector 的標準大小,所以要在 18F4550.lkr 文件檔內將 2 個 Bank 合併成為 1 個 DATABANK,開始位置在 0x600 至 0x7FF (512 byte) 。
▲18f4550.lkr 文件檔 |
※ DIY - PIC:SD 記憶卡規格 (七十)
※ DIY - PIC: FAT 表檔案配置表種類 (七十一)
※ DIY - PIC:SD 記憶卡 FAT 表 (七十二)
※ DIY - PIC:SD 記憶卡初始化 (七十三)
※ DIY - PIC:PIC18F4550 SD 記憶卡電路 (七十四)
※ DIY - PIC:PIC18F4550 SD 記憶卡穩壓電路 (七十五)
※ DIY - PIC:PIC18F4550 SD 記憶卡程式 (七十六)
※ DIY - PIC:PIC18F4550 MCHPMSD 實驗板 (七十七)
※ DIY - PIC:PIC18F4550 MCHPMSD 程式介紹 (七十八)
※ DIY - PIC:PIC18F4550 MCHPMSD 編程開始 (七十九)
※ DIY - PIC:PIC18F4550 MCHPMSD 初始化 (八十)
※ DIY - PIC:PIC18F4550 MCHPMSD 讀取 SD 記憶卡程式 (八十一)
※ DIY - PIC:PIC18F4550 MCHPMSD 寫入 SD 記憶卡程式 (八十二)
※ DIY - PIC:PIC18F4550 MCHPMSD SD 記憶卡程式 (八十三)
相關網址:
※ SD 記憶卡
※ SDHC 記憶卡
※ SDXC 記憶卡
2011年 6月 4日 天氣報告
氣溫:28.0 度 @ 21:00
相對濕度:百分之82%
天氣:大致多雲
沒有留言:
張貼留言