基于fpga和avr的sd卡数据读取传输系统的制作方法

文档序号:8125636阅读:501来源:国知局
专利名称:基于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日
发明者叶展行, 正 唐, 韬 李, 贺前华 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1