2011年6月4日 星期六

DIY - PIC:PIC18F4550 MCHPMSD 編程開始 (七十九)

DIY - PICPIC18F4550 MCHPMSD 程開始 (十九)

雖然 Microchip MCHPMSD 程式是用 PIC18F4550 芯片,但是硬件是基於 PICDEM FS USB Demonstration Board + PICtail Board for SD & MMC,而 BWS 工作室實驗的硬件配置會有少許出入,所以首先要修改硬件的設定。

PICDEM BWS實驗板硬件配置
 程式 io_cfg.h sdcard.h 都有設定 SD 記憶的硬件配置設定,必須從新設定。LED (m_LED_1) 是用 RA1 (PICDEM設定 RD0) A/D 接在 RA0 引腳 (PICDEM設定 RA0),按鍵 SW3 接在 RB5 引腳 (PICDEM設定 RB5)

io_cfg.h 的硬件配置設定
sdcard.h 的硬件配置設定

SD 記憶卡可在 SD BusSD匯流排模式或 SPISerial Peripheral Interface串列外設介面模式下工作。在這應用中, SD 卡的 SPI 匯流排相連並在SPI 模式下工作。在 SPI 模式下,每個方向上只使用一條資料線來傳輸資料。因此,該模式下的資料傳輸速率和用一條資料線的 SD Bus 模式相同(可高達25 Kbps)。除電源(Power)和地(Ground)之外, SPI  匯流排由片選(Chip SelectCS)、串列資料登錄(Serial DataInput SDI 、串列資料輸出(Serial Data OutputSDO)和串列時鐘信號(Serial ClockSCLK)組成。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% 
天氣:大致多雲  

沒有留言:

張貼留言