基於fpga和avr的sd卡數據讀取傳輸系統的製作方法
2023-05-15 01:37:41
專利名稱:基於fpga和avr的sd卡數據讀取傳輸系統的製作方法
技術領域:
本實用新型涉及LED控制技術,具體涉及一種基於FPGA和AVR的SD卡 數據讀取傳輸系統。
背景技術:
隨著我國城市化進程的加快,城市燈光景觀受到越來越多的重視。由於LED 具有節能,壽命長等優勢,是取代霓虹燈的最佳選擇,因此大型LED景觀燈飾 控制系統的使用也越來越廣泛,不但美化了城市,而且豐富人們的生活。目前 一般採用計算機或工控機作為控制系統對大型LED景觀燈飾進行實時控制,具 有較靈活的播放效果,但是計算機或工控機體型大、成本高、穩定性不足、速 度較慢、結構也較複雜,尤其對於橋梁和一些難以安置計算機或工控機的建築 安裝起來就十分不便,而對於燈光效果並不需要頻繁變換的場合,採用計算機 或工控機作為控制系統更是造成資源浪費。
為了克服以上所述控制系統體型大、成本高、安裝使用不方便的缺點,許 多LED燈飾景觀採用體型小、成本低的SD卡數據讀取和傳輸系統作為其控制 系統,但是這些SD卡數據讀取和傳輸系統並不具有燈光效果文件系統,這就導 致在效果更換和播放時的不便。而且這些控制系統穩定性不足,速度較慢,影 響到大型LED景觀系統的實際應用。
實用新型內容
本實用新型的目的在於克服現有技術的不足和諸多弊端,提供一種效果更 換和播放方便、穩定性足、速度快、實際應用性高的基於FPGA和AVR的SD 卡數據讀取傳輸系統。
本實用新型的目的通過下述技術方案實現基於FPGA和AVR的SD卡數 據讀取傳輸系統,包括AVR單片機、FPGA、 SD卡、緩存設備、輸出設備、輸 入設備、乙太網接口,所述AVR單片機作為整個系統的控制晶片分別與SD卡、 FPGA、輸出設備、輸入設備相連接,同時,FPGA作為SD卡的硬體加速晶片分別與SD卡、緩存設備、乙太網接口相連接。 所述輸出設備為顯示器。 所述輸入設備為鍵盤。 所述緩存設備為外部SRAM。 所述SD卡釆用FAT32文件系統。
所述SD卡、AVR單片機均設置有SPI總線接口,且兩SPI總線接口通過 SPI總線相連接。
所述SD卡、FPGA均設置有SD總線接口,且兩SD總線接口通過SD總 線相連接。
所述AVR單片機設置有與輸入設備相連接的鍵盤輸入埠 、復位埠 。
所述AVR單片機設置有與輸出設備相連接的顯示控制接口 。
所述AVR單片機設置有文件地址傳輸接口、 FPGA控制接口, FPGA設置
有文件地址接口、 AVR控制接口,所述文件地址傳輸接口、 FPGA控制接口與
文件地址接口、 AVR控制接口對應連接。
所述AVR單片機的FPGA控制接口 、 FPGA的AVR控制接口均包括讀地址
使能埠、讀數據使能埠和AVR時鐘埠,且各埠對應連接。 所述FPGA設置有與緩存設備相連接的SRAM讀寫接口 。 所述FPGA設置有與乙太網接口相連接的乙太網發送使能埠和乙太網數
據埠。
所述FPGA設置有與外部晶振相連接的系統時鐘埠,輸入系統時鐘信號 至U FPGA。
所述AVR單片機包括依次連接的SD卡初始化模塊、SD卡文件系統讀取模 塊、用戶操作模塊以及文件地址讀取模塊。
所述SD卡初始化模塊、SD卡文件系統讀取模塊、文件地址讀取模塊分別 與SD卡相連接,用戶操作模塊與輸出設備、輸入設備相連接,文件地址讀取模 塊同時與FPGA相連接。
所述FPGA包括文件地址接收模塊、數據處理模塊、數據發送模塊以及內 部RAM,文件地址接收模塊、數據處理模塊分別與AVR單片機相連接,所述 數據處理模塊還分別與數據發送模塊、內部RAM相連接,同時內部RAM與數 據發送模塊相連接。
所述數據處理模塊包括相互連接的外部SRAM數據讀取模塊、SD卡數據讀取模塊。
所述數據發送模塊包括內部RAM數據讀取模塊、網口發送模塊以及速度控 制模塊,網口發送模塊兩端分別與內部RAM數據讀取模塊、速度控制模塊相連 接。
本實用新型的工作過程包括以下步驟
(1) 系統啟動後,SD卡初始化模塊通過SPI總線向SD卡發送SD卡激活 信號,激活SD卡,然後將SD卡初始化完成信息發送到SD卡文件系統讀取模 塊;
(2) SD卡文件系統讀取模塊接收到所述SD卡初始化完成信息後,使用 FAT文件系統命令,並通過SPI總線向SD卡發送SD卡命令,讀取SD卡文件 系統的信息,並將文件系統信息傳輸到用戶操作模塊;
(3) 用戶操作模塊將文件系統的信息輸出到所述輸出設備,並且讀取用戶 通過所述鍵盤輸入的命令,將命令傳送到數據地址讀取模塊;
(4) 文件地址讀取模塊根據鍵盤輸入的命令中用戶選定讀取文件的文件 名,使用FAT文件系統命令,並通過SPI總線向SD卡發送SD卡命令,從SD 卡中讀取用戶選定文件的文件地址,將文件地址發送到FPGA,當所有的文件地 址都發送到FPGA後,文件地址讀取模塊通過所述FPGA控制接口向FPGA發 送讀文件地址使能信號;
(5) 當FPGA接收到所述AVR單片機發送的讀文件地址使能信號後,所 述文件地址接收模塊首先接收AVR單片機發送來的文件地址數據,並將文件地 址數據傳輸並保存到外部SRAM中,當文件地址接收完成後,AVR單片機向數 據處理模塊發送讀文件數據使能信號;
(6) 當數據處理模塊接收到讀文件數據使能信號後,所述外部SRAM數據 讀取模塊從SRAM中讀取第一個文件地址,並經SD卡數據讀取模塊發送給SD 卡,SD卡確認文件地址有效後,通過所述SD總線向FPGA發送數據有效標識, 同時使用SD模式向FPGA發送數據到SD卡數據讀取模塊,並將SD數據緩存 到內部RAM中;
(7) 當上述文件地址對應的SD卡數據全部被讀取並緩存到內部RAM後, 數據處理模塊向數據發送模塊發送命令,指示數據發送模塊開始運行內部RAM 數據讀取模塊讀取內部RAM的數據,同時根據速度控制模塊調節網口發送模塊 發送數據的速度,將從讀取的內部RAM的數據經網口發送模塊發送出去;(8)當第一個文件地址對應的SD卡數據通過網口發送出去後,FPGA以 上述步驟(6)、 (7)中同樣的方式循環處理下一個文件地址對應的SD卡數據。 步驟(2)中,SD卡文件系統讀取模塊使用的FAT文件系統命令包括讀 主引導區函數、讀文件地址函數、讀文件信息函數、根目錄信息保存函數和尋 找文件函數。
步驟(4)中,所述文件地址讀取模塊使用的FAT文件系統命令包括尋找 文件函數和讀文件地址函數。
相對於現有技術具有如下的優點及效果
1 、本實用新型採用AVR單片機及FPGA聯合控制的方式實現SD卡數據讀 寫及發送,具有結構簡單,成本低的優勢;
2、 本實用新型使用FPGA通過SD模式讀取SD卡的文件數據,可以穩定 而且高速地讀取SD卡中的數據、實際應用性高;
3、 本實用新型採用同一片FPGA控制乙太網晶片傳輸數據以及SD卡數據 讀取,具有數據讀取與傳輸協同性好的特點;
4、 本實用新型中的SD卡數據存儲採用FAT32文件系統,具有良好的容量 擴展性,而且可以兼容FAT16文件系統;
5、 本實用新型設備集成度高,體型小。
圖1是本實用新型基於FPGA和AVR的SD卡數據讀取傳輸系統的結構示 意圖2是本實用新型SD卡與系統其他部分連接的電路結構圖3是本實用新型AVR單片機與系統其它部分連接的電路結構圖4是本實用新型AVR單片機的結構示意圖5是本實用新型FPGA與系統其他部分連接的結構示意圖6是本實用新型FPGA的結構示意圖。
具體實施方式
下面結合實施例及附圖對本實用新型作進一步詳細的描述,但本實用新型的 實施方式不限於此。 實施例圖1所示為本實用新型基於FPGA和AVR的SD卡讀取數據傳輸系統的具 體結構,本實用新型系統包括AVR單片機、FPGA、 SD卡、外部SRAM、液晶 顯示器、小鍵盤、乙太網接口,所述AVR單片機作為整個系統的控制晶片分別 與SD卡、FPGA、液晶顯示器、小鍵盤相連接,同時,FPGA作為SD卡的硬 件加速晶片分別與SD卡、外部SRAM、乙太網接口相連接。
圖2為所述SD卡與系統其他部分連接的電路結構圖。SD卡通過SPI總線 與AVR單片機連接,進行SPI模式通信,SPI總線包括SPI_DI、SPI—CLK、 SPI_DO
和spij:s。其中,spi—cs是sd卡使能信號端,當spij:s為低電平時,sd卡
可以進行讀寫。SPI_DI是SD卡命令的輸入端,控制SD卡的動作。SPI—CLK 是SD卡時鐘的輸入端。SPI_DO用於傳輸SD卡的文件數據及文件系統信息。 SD卡通過SD總線與FPGA連,進行SD模式通信,即可以實現四路同時傳輸 數據。SD卡與FPGA的連線包括SD_CLK、 SD—CMD、 SD—DATAl、 SD—DATA2、 SD_DATA3和SD—DATA4。其中,SD一CLK是SD卡時鐘的輸入端。SD_CMD 是SD卡命令的輸入輸出端,在本系統中用於輸入SD卡中的文件地址數據,輸 出的是SD卡是否成功讀取該地址數據的標識信息。
圖3為AVR單片機與系統其它部分連接的電路結構圖。所述AVR單片機 是整個系統的控制晶片,所使用的型號是ATmega32L-8AI,採用FAT32文件系 統。所述AVR單片機設置的管腳包括顯示控制接口、 SPI總線接口、文件地 址傳輸接口、復位埠、 FPGA控制接口和鍵盤輸入接口。所述顯示控制接口, 使用的管腳是PB0、 PB1和PB2,用於控制液晶顯示模塊,所述液晶顯示模塊 型號為OCM2X8C。 SPI總線接口包括SPI—CS、 SPI_DI、 SPI—DO和SPI_CLK, 用於與所述SD卡通信,讀取SD卡的文件系統信息和文件地址數據。所述文件 地址傳輸接口包括PD7 PD0,用於把文件地址以8Bits為單位發送至FPGA。 所述復位埠 RES連接的是用於復位的小鍵盤。所述鍵盤輸入接口包括KEYO、 KEY1和KEY2,連接有三個輸入小鍵盤,作用分別為選擇文件、確定選擇和 取消選擇。所述FPGA控制接口包括PA0 PA2: PA1作為所述FPGA讀文件地 址使能端,當PA1為低電平,所述FPGA讀取所述AVR單片機發送的文件地址 數據,並將文件地址數據保存在所述外部SRAM中;PA2作為所述FPGA讀文 件數據使能端,當PA2為低電平,所述FPGA讀取所述外部SRAM保存的文件 地址數據,根據文件地址讀取所述SD卡的數據;當PA1和PA2同為低電平是, 所述FPGA復位;PAO是AVR控制時鐘的輸出端,所述FPGA根據AVR控制圖4所示為本實用新型AVR單片機的結構示意圖,本實用新型AVR單片 機包括依次連接的SD卡初始化模塊、SD卡文件系統讀取模塊、用戶操作模塊 以及數據地址讀取模塊。所述SD卡初始化模塊、SD卡文件系統讀取模塊、文 件地址讀取模塊分別與SD卡相連接,用戶操作模塊與輸出設備、輸入設備相連 接,文件地址讀取模塊同時與FPGA相連接。
本系統的AVR單片機的工作流程具體如下
(1) 系統啟動後,SD卡初始化模塊通過SPI總線向SD卡發送SD卡激活 信號,激活SD卡,然後將SD卡初始化完成信息發送到SD卡文件系統讀取模 塊;
(2) SD卡文件系統讀取模塊接收到所述SD卡初始化完成信息後,使用 FAT文件系統命令包括讀主引導區函數、讀文件地址函數、讀文件信息函數、 根目錄信息保存函數和尋找文件函數,並通過所述SPI總線向SD卡發送SD卡 命令,讀取SD卡文件系統的信息,並將文件系統信息傳輸到用戶操作模塊;
(3) 用戶操作模塊將文件系統的信息輸出到所述輸出設備,並且讀取用戶 通過所述鍵盤輸入的命令,將命令傳送到數據地址讀取模塊;
(4) 文件地址讀取模塊根據鍵盤輸入的操作命令中用戶選定讀取文件的文 件名,使用FAT文件系統命令包括尋找文件函數和讀文件地址函數,並通過 所述SPI總線發送SD卡命令,從SD卡中讀取用戶選定文件的文件地址,將文 件地址發送到FPGA,並且產生讀文件地址使能信號,通過所述FPGA控制接口 發送到FPGA,系統控制FPGA接收發送的文件地址;當所有的文件地址都發送 到FPGA後,數據地址讀取模塊產生讀文件數據使能信號,通過所述FPGA控 制接口 ,控制FPGA讀取並發送對應文件地址的SD卡數據。
圖5所示為本實用新型FPGA與系統其他部分連接的結構示意圖。所述 FPGA與AVR單片機通信有兩個接口 ,分別是文件地址接口和AVR控制接口 。 文件地址接口用於接收8Bits的文件地址數據。AVR控制接口包括Clk、 R_en 和W_en, Clk埠是AVR控制時鐘,R—en埠是讀文件地址使能端,W_en 埠是讀文件數據使能端。所述FPGA連接SRAM,所述的SRAM使用的是 IS61LV25616,用於緩存FPGA接收到的文件地址數據。所述FPGA連接SD卡, 使用SD模式讀取SD卡的數據。所述FPGA連接乙太網接口,乙太網晶片採用 RTL8021CL晶片,RTL8201CL是一個單埠的物理層收發器,實現了全部的10/100M乙太網物理層功能。
圖6所示為本實用新型FPGA的結構示意圖。系統啟動後,所述FPGA的 各個模塊均處於等待狀態,等待所述AVR單片機發送的命令,然後進行以下工 作流程
(5) 當FPGA接收到AVR單片機通過FPGA控制接口發送的讀文件地址 使能信號後,文件地址接收模塊開始啟動,所述文件地址接收模塊首先通過文 件地址接口接收文件地址數據,並且將文件地址數據保存到外部SRAM中,當 文件地址接收完成後,數據地址讀取模塊向數據處理模塊發送讀文件數據使能 信號;
(6) 當數據處理模塊接收到讀文件數據使能信號(即開始讀取SD卡數據) 後,數據處理模塊開始運行。所述數據處理模塊中的外部SRAM數據讀取模塊 從SRAM中讀取32Bits的文件地址(即一次讀取一個文件地址),再將此文件 地址傳輸到SD卡數據讀取模塊,SD卡數據讀取模塊通過所述SD—CMD埠發 送給SD卡,SD卡確認了文件地址有效後,也通過SD—CMD埠發送數據有效 標識,同時使用SD模式,4路同時發送數據到SD卡數據讀取模塊,同時將接 收到的SD數據緩存到內部RAM中;
(7) 當上述文件地址對應的SD卡數據全部被讀取並緩存到內部RAM後, 數據處理模塊向數據發送模塊發送命令,指示數據發送模塊開始運行;所述的 數據發送模塊包括了三部分內部RAM數據讀取模塊、網口發送模塊和速度控 制模塊;內部RAM數據讀取模塊是以4Bits為單位,讀取內部RAM的數據, 為網口發送做好準備,速度控制模塊可以調節網口發送模塊發送數據的速度, 具體操作是按照速度參數的設置,定時向網口發送模塊發送一個命令,網口發 送模塊接收到命令之後,開始發送乙太網幀的前導碼,然後發送內部RAM數據 讀取部分準備好的數據,從而完成了 SD卡數據的快速讀取和傳輸的整個過程;
(8) 當第一個文件地址對應的SD卡數據通過網口發送出去後,FPGA以 上述步驟(6)、 (7)中同樣的方式循環處理下一個文件地址對應的SD卡數據。
如上所述,較好地實現了本實用新型。
權利要求1、基於FPGA和AVR的SD卡數據讀取傳輸系統,其特徵在於包括AVR單片機、FPGA、SD卡、緩存設備、輸出設備、輸入設備、乙太網接口,所述AVR單片機作為整個系統的控制晶片分別與FPGA、SD卡、輸出設備、輸入設備相連接,同時,FPGA作為SD卡的硬體加速晶片分別與SD卡、緩存設備、乙太網接口相連接。
2、 根據權利要求1所述的基於FPGA和AVR的SD卡數據讀取傳輸系統, 其特徵在於所述輸出設備為顯示器,所述輸入設備為鍵盤,所述緩存設備為 外部SRAM。
3、 根據權利要求1所述的基於FPGA和AVR的SD卡數據讀取傳輸系統, 其特徵在於所述SD卡、AVR單片機均設置有SPI總線接口,且兩SPI總線接口通過 SPI總線相連接;所述SD卡、FPGA均設置有SD總線接口 ,且兩SD總線接口通過SD總 線相連接;所述AVR單片機設置有與輸入設備相連接的鍵盤輸入埠 、復位埠 ;所述AVR單片機設置有與輸出設備相連接的顯示控制接口 ;所述AVR單片機設置有文件地址傳輸接口、 FPGA控制接口, FPGA設置有文件地址接口、 AVR控制接口,所述文件地址傳輸接口、 FPGA控制接口與文件地址接口、 AVR控制接口對應連接;所述AVR單片機的FPGA控制接口 、 FPGA的AVR控制接口均包括讀地址使能埠、讀數據使能埠和AVR時鐘埠,且各埠對應連接; 所述FPGA設置有與緩存設備相連接的SRAM讀寫接口 ; 所述FPGA設置有與乙太網接口相連接的乙太網發送使能埠和乙太網數據埠;所述FPGA設置有與外部晶振相連接的系統時鐘埠,輸入系統時鐘信號 至'j FPGA。
4、 根據權利要求1所述的基於FPGA和AVR的SD卡數據讀取傳輸系統, 其特徵在於所述AVR單片機包括依次連接的SD卡初始化模塊、SD卡文件系 統讀取模塊、用戶操作模塊以及文件地址讀取模塊。
5、 根據權利要求1所述的基於FPGA和AVR的SD卡數據讀取傳輸系統, 其特徵在於所述FPGA包括文件地址接收模塊、數據處理模塊、數據發送模 塊以及內部RAM,文件地址接收模塊、數據處理模塊分別與AVR單片機相連 接,所述數據處理模塊還分別與數據發送模塊、內部RAM相連接,同時內部 RAM與數據發送模塊相連接。
6、 根據權利要求5所述的基於FPGA和AVR的SD卡數據讀取傳輸系統, 其特徵在於所述數據處理模塊包括相互連接的外部SRAM數據讀取模塊、SD卡數據讀 取模塊;所述數據發送模塊包括內部RAM數據讀取模塊、網口發送模塊以及速度控 制模塊,網口發送模塊兩端分別與內部RAM數據讀取模塊、速度控制模塊相連 接。
7、 根據權利要求1述的基於FPGA和AVR的SD卡數據讀取傳輸系統,其 特徵在於所述SD卡採用FAT32文件系統。
專利摘要本實用新型提供了一種基於FPGA和AVR的SD卡數據讀取傳輸系統,包括AVR單片機、FPGA、SD卡、緩存設備、輸出設備、輸入設備、乙太網接口,所述AVR單片機作為整個系統的控制晶片分別與FPGA、輸出設備、SD卡、輸入設備相連接,所述FPGA作為所述SD卡的硬體加速晶片分別與SD卡、緩存設備、乙太網接口相連接。本實用新型採用FPGA和AVR雙處理器架構,通過SPI模式讀取SD卡文件地址數據,通過SD模式高速讀取SD卡文件數據,並將數據發送給乙太網接口,使該系統具備驅動大型LED燈飾系統的能力,同時SD卡文件地址和文件數據的分離處理提高了系統的穩定性。
文檔編號H05B37/02GK201234382SQ20082005154
公開日2009年5月6日 申請日期2008年7月31日 優先權日2008年7月31日
發明者葉展行, 正 唐, 韜 李, 賀前華 申請人:華南理工大學