FPGA與CF卡的接口設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/191961.htm
3 CF卡讀數(shù)據(jù)
從 CF卡讀取一個(gè)扇區(qū)的數(shù)據(jù),如圖 3所示。首先根據(jù)表 1所示的控制命令設(shè)定 8位工作模式、設(shè)置讀取的扇區(qū)數(shù)目、相應(yīng)地址和訪問模式;然后發(fā)送讀命令(0x20),等待 CF卡準(zhǔn)備就緒后,從數(shù)據(jù)寄存器中連續(xù)讀取一個(gè)扇區(qū)的數(shù)據(jù)放入到數(shù)據(jù)緩沖區(qū)。
4 CF卡讀數(shù)據(jù)源程序
由于篇幅限制,這里僅給出部分程序。
always @(posedge clk or negedge reset)
begin if((set_finished==0)||((cf_to_ram1)(ram1_finished==0))||((cf_to_ram2) (ram2_finished==0))||((cf_to_ram2_first)(ram2_finished==0)))
begin if(time_cont = 166) begin
time_cont = time_cont +1; end else begin
time_cont = 0; end
end if(time_cont == 26) begin
ceaddr = `features_wr ; write_data = `features_data; write_start = 1;
end if(time_cont == 28) begin
iowr = 0; end if(time_cont == 34) begin
iowr = 1; end if(time_cont == 35) begin
ceaddr = 5'b11111; write_start = 0; end
end
5 結(jié)束語
本設(shè)計(jì)采用 FPGA讀寫 CF卡,既利用了 FPGA的內(nèi)部資源豐富和設(shè)計(jì)方便的優(yōu)點(diǎn),同時(shí)利用了 CF卡容量大、體積小和價(jià)格低廉等優(yōu)點(diǎn),給出了高效讀寫 CF卡的方法,該方法已成功應(yīng)用于實(shí)際系統(tǒng)中。
評(píng)論