//Logo Image
作者:蔡宗成(2005-07-24);推薦:徐業良(2005-07-*)

檔案存取晶片簡介與應用-使用電腦透過RS232控制檔案存取

本文介紹一款檔案存取晶片ALFAT-SD[http://www.saelig.com/],可透過RS232傳輸界面下達控制指令,對SD/MMC記憶卡進行檔案存取動作,所建立的檔案為Windows作業系統所支援的FAT格式。本文先簡介使用電腦透過RS232控制檔案存取晶片ALFAT-SD之使用方法,後續將再介紹使用單晶片透過RS232存取檔案。

1.     檔案存取晶片ALFAT-SD規格

ALFAT-SD內有一塊Philips的微處理器LPC2114,再加上相關電路如電源管理、SD/MMC記憶卡連接器與傳輸接腳,整合成一塊電路板,如圖1,售價59.9美元。LPC2114微處理器已燒錄FAT檔案之存取程式,讓使用者以較簡易的方式在SD/MMC記憶卡上建立FAT檔案與存取資料。

1. 檔案存取晶片ALFAT-SD

ALFAT-SD之相關特性簡介如下:

l          支援FAT32FAT16FAT12檔案格式

l          UARTSPI兩種傳輸界面模式,本文使用UART方式

l          控制指令分為text-baseframe兩種,本文使用text-base方式

l          可同時存取16個檔案

l          檔案寫入速度為35 Kbytes/Sec

l          檔案讀取速度為250 Kbytes/Sec

l          支援SDMMC兩種記憶卡

l          電源消耗40~50mA

2ALFAT-SD外型尺寸與傳輸接腳號碼,表1為傳輸接腳定義,有些接腳有UARTSPI兩種傳輸功能。本文使用UART傳輸界面,基本上只需要接腳1, 2, 4, 5, 7, 910,功能說明如表2

2. ALFAT-SD外型尺寸與傳輸接腳號碼[http://www.saelig.com/]

1. 傳輸接腳定義

號碼

定義

號碼

定義

1

USER_USRT_TX/SPI_DATARDY

6

USER_SPI_SSEL

2

USER_USRT_RX/SPI_BUSY

7

ALFAT_RESET

3

USER_SPI_SCK

8

UART_SPI

4

USER_SPI_MOSI/CTS

9

GND

5

USER_SPI_MISO/RTS

10

+5V

2. UART傳輸界面所需接腳功能說明

號碼

定義

說明

1

USER_USRT_TX

ALFAT-SD傳輸資料給主機

2

USER_USRT_RX

ALFAT-SD接收資料由主機

4

CTS

主機控制電位狀態

High: ALFAT-SD停止傳輸資料
Low: ALFAT-SD
開始傳輸資料

5

RTS

ALFAT-SD控制電位狀態

High: 接收暫存區已滿
Low:
接收暫存區已空

7

ALFAT_RESET

電位狀態為Low時,晶片重置

9

GND

地線

10

+5V

+5V電源

2.     控制指令text-base方式簡介

ALFAT-SD的控制指令分為text-baseframe兩種,本文使用text-base方式,表3text-base方式的部份控制指令說明。

3. text-base方式的部份控制指令說明

指令

用途

參數

範例

備註

CD

更改資料夾路徑

資料夾名稱

CD MYFOLDER

CD .. 回到上一資料夾

CD \ 回到根資料夾

MD

產生新資料夾

資料夾名稱

MD MYFOLDER

如果資料夾已存在則回傳錯誤訊息

RD

刪除資料夾

資料夾名稱

RD MYFOLDER

資料夾內為空才能刪除

OF

開啟檔案

開啟模式#標記 檔名

開啟模式:R讀取;          W寫入;A從已存在檔案內 容結尾寫入

標記:1-F(HEX)

OF R#0 text.txt

OF W#1 text1.txt

OF A#B data.dat

l      如果一檔案內有資料,而使用開啟模式2,則原始資料會被清除

l      當檔名不存在時,使用開啟模式2,則會建立一新檔案

CF

關閉檔案標記

#標記

 

檔案處理完畢後要使用此指令以避免檔案資料遺失

FF

清除寫入暫存區

#標記

 

 

DF

刪除檔案

檔名

DF test.txt

 

WF

寫入資料到已開啟之檔案

#標記 資料大小

資料大小:(1-FF)bytes

WF #1 8

8bytes資料寫入標記為1的已開啟檔案,使用CF指令避免檔案內容遺失

RF

讀取資料從已開啟之檔案

#標記 資料大小
資料大小:(1-FF)bytes

RF #0 6

從標記為0的已開啟檔案讀取6bytes的資料,讀取完畢後,使用CF指令避免檔案內容遺失

LF

列出存在的檔名與資料夾

 

 

 

IF

列出存在的檔案資訊

檔名

IF file.txt

回傳檔案資訊

RN

更改檔案或資料夾名稱

檔名 新檔名

RN old.txt new.txt

 

QF

快速格式化

CONFIRM FORMAT

QF CONFIRM FORMAT

 

EE

啟動回響

1 啟動,  0 關閉

EE 1

初始設定為啟動回響

3.     使用電腦透過RS232控制ALFAT-SD

本文介紹使用電腦透過RS232傳輸界面控制檔案存取晶片ALFAT-SD。由於電腦的RS232之電壓準位與ALFAT-SD不同,所以必須使用MAX232 IC進行電壓轉換,轉換電路如圖3,此電壓轉換電路曾出現在PIC_PROTOPIC_SERVER之應用。圖3中,U3MAX232 ICH2為連接電腦的RS232SV1為連接ALFAT-SD,整體電路供應5V電源,SV1的第4(CTS)連接到地,電位狀態為LOW,連續傳送資料。SV1的第5(RTS)可不接。SV1的第7(ALFAT_RESET)連接一按鈕開關(SW1),按下時,連接到地,電位狀態為LOW,檔案存取晶片ALFAT-SD系統重置。

3. RS232電壓轉換電路

使用超級終端機設定通訊埠與鮑率(如圖4),ALFAT-SD內部設定的鮑率為9600bps,雖然可由指令改變鮑率,但是當電源關閉或是重置時,鮑率會自動回歸為9600bps,是不方便的設計。圖5為設定ASCII接收,當終端機接收到ALFAT-SD傳來的資料,加上換行指令,方便使用者觀察。

4. 超級終端機設定

5. ASCII接收設定

6為使用RS232控制ALFAT-SD之連續操作,應用表3text-base方式控制指令。當ALFAT-SD接上電源或是按下SW1開關來重置後,ALFAT-SD回傳BL字串,代表電壓轉換電路與相關設定正確,此時按下鍵盤大寫R,讀取ALFAT-SD版本資訊,並進入Z:>,輸入A:,按Enter傳送,如果記憶卡插槽是空的或是裝置不良,會回傳錯誤訊息(ER 67,請參考使用手冊),反之進入A:>。建議先進行格式化,輸入QF CONFIRM FORMAT字串,約5秒後,完成格式化,回到A:>。接著輸入MD FOLDER字串,產生一資料夾;輸入CD FOLDER字串,進入FOLDER資料夾路徑裡;輸入OF W#1 TEXT.TXT字串,建立可寫入的檔案;輸入WF #1 8字串,對檔案寫入8bytes的資料,系統回傳「」等待輸入資料,輸入資料時,系統會自動計算資料大小,並回傳「」結束;檔案寫入後,切記使用CF指令關閉檔案避免資料遺失。圖7為記憶卡內所建立的資料夾與檔案內容。

6. ALFAT-SD示範操作

7. 按照圖6操作之結果

如圖8,使用LF指令觀察已存在的檔案或資料夾;輸入IF TEXT.TXT,系統回傳檔案資訊;輸入CD ..字串,回到A:>,按照圖6方法,建立另一新檔案TEXT1.TXT,輸入資料大小為6bytes,資料為6.235V,切記關閉檔案。圖9為記憶卡內所建立的資料夾與檔案內容。

8. ALFAT-SD示範操作

9. 按照圖8操作之結果

如圖10輸入OF R#1 TEXT1.TXT字串,開啟檔案為讀取狀態,使用RF指令讀取6bytes資料,回傳資料大小與資料內容。同樣使用CF指令關閉檔案避免檔案遺失。

10. ALFAT-SD示範操作

在「PIC_SERVER教材(11)-使用MMC記憶卡」一文中,介紹PIC_SERVER存取MMC記憶卡,先將MMC記憶卡進行格式化後,依照使用者需求,先依序放入一堆空白預建檔至MMC裡,再經計算得知這些空白預建檔的起始位址與結束位址,便可在指定位址存取資料數值。

資料要在不同平台傳遞就必須要有共同遵守的檔案格式,以Windows作業系統而言,FAT是常用的檔案格式。FAT(File allocation table)名為檔案配置表,儲存檔案時,會將檔案名稱、位置、大小等資訊記錄在檔案配置表裡,也就是說,MMC記憶卡格式化後,便會在MMC的前段一記憶區塊建立檔案配置表,當放入一檔案時,會在檔案配置表裡,記錄此檔案的索引,告知電腦可以經由此索引找到檔案內容的位址。ALFAT-SD裡的微處理器LPC2114便是負責進行上述複雜的存取動作,透過ALFAT-SD建立FAT格式的檔案。使用預建檔案方式的成本較低,但檔案的流通、傳遞不易,使用者可依本身需求選擇合適的解決方案。

另外一種解決方案為專門為MicrochipPIC18系列的FAT軟體程式庫,由Progressive Resources LLC研發,售價$139.00,支援FAT12FAT16的檔案格式存取。

參考資料

ALFAT-SD產品使用手冊,http://www.saelig.com/

FAT軟體程式庫,FlashFile - SD/MMC FAT12/16 File System for PIChttp://www.prllc.com/productcart/pc/viewPrd.asp?idcategory=17&idproduct=51#details