[分享] FAT32文件格式大容量视频系统设计 基于DSP支持

[复制链接]
  • TA的每日心情
    开心
    2014-4-2 21:30
  • 签到天数: 3 天

    [LV.2]九品芝麻官

    534

    主题

    400

    回帖

    7742

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    7742
    发表于 2016-3-19 10:15:26 | 显示全部楼层 |阅读模式
    随着国内信息化建设的不断深入,公安、金融等部门对视频监视系统的需求不断增长。目前用于银行ATM的视频监控系统主要是通过网络将获取的图像压缩后取走,但是存在由于网络速度慢而来不及取走数据的情况,造成了实时性差、稳定性差等关键问题。而硬盘以其容量大、接口智能化程度高、控制方便越来越受到人们的重视,因此本文提出了一种基于DSP支持FAT32文件格式的视频监控系统的设计,用于控制硬盘进行视频数据的存储,解决远程控制传输占有系统资源过多的问题,极大的提高了系统的性价比。

       839779_0.jpg
      表1:重要的BPB参数
      基于DSP支持FAT32文件格式的IDE大容量视频系统设计图片1

      
      FAT32文件系统结构简介
      
      FAT32文件系统是实现在PC机上普遍应用的文件系统,采用图像直接记录成FAT32文件格式,既方便后续的操作,也很容易将硬盘直接移植到计算机上使用。经过PC机高级格式化后的硬盘本身包含了FAT32文件系统的系统参数,将该硬盘直接连接到嵌入式系统的IDE接口,可以由DSP芯片读写和管理硬盘上的文件并且也可以将该硬盘作为第二硬盘接到PC机上进行数据处理。
      IDE硬盘或Flash存储器经分区、格式化后,分为主引导区(MBR)、DOS引导记录区(DBR)、文件分配表(FAT)、数据区4个部分,它们在磁盘上是顺序分布的,如图1。掌握了FAT32文件系统的结构,就可以获取相关文件系统参数,对文件进行管理。

    839779_1_o.jpg
      基于DSP支持FAT32文件格式的IDE大容量视频系统设计图片2
      主引导区从物理第一扇区开始,记录了第一磁盘分区的入口和剩余磁盘分区的入口信息、第一分区的文件系统格式、起始扇区号和大小。接下来就是FAT32文件系统的引导区,存放着BPB参数和系统引导程序。然后是文件分配表及其备份FAT1和FAT2,用于管理和分配文件区的磁盘空间,其位置和大小由系统引导区中的参数计算可得。

      引导区在分区的第一个扇区,其中包含了非常重要的BIOS参数,根据这些参数可以找到FAT和根目录的入口地址。本文所用的参数见表1。
      
      系统硬件设计
      
      系统中采用数字摄像头,视频压缩编码芯片,德州数字媒体处理器DMP(TI Digital Media Processor ),时序与控制逻辑电路,IDE笔记本硬盘、网络芯片等基本部件。结构如图2所示。通过数字摄像头采集视频图像,然后在时序与逻辑电路的配合下送到视频压缩编码DSP中处理。DSP对接受的信号进行识别,编码等运算,一方面将处理好的图像通过IDE接口存储到本地的硬盘上,另一方面通过网络芯片进行D/A转换后,把经过压缩的视频信号无失真的通过网络传给远端用户。
      采用DSP来实现压缩和编码的优点在于它比采用专业压缩芯片的方法灵活性大,产品的升级或算法的更改极为方便。图像数据存储器和通信缓冲器都是大容量的存储器,要存储压缩编码后的图像数据,并且要提供通信用的缓冲区。
      基于DSP支持FAT32文件格式的IDE大容量视频系统设计图片3
      图2 硬件系统框图
    839779_2.jpg
      IDE接口的硬盘驱动器提供两种数据传输模式:PIO模式和DMA模式。由于采用PIO模式控制相对容易,并且提供了一种可编程控制输入/输出的快速传输方法,所以本系统使用PIO模式。该模式采用高速的数据块IO,以扇区为单位,用中断请求方式与CPU进行批量数据交换。
      
      系统软件设计
      
      本系统的软件设计采用程序结构化和功能模块化的设计方法,以便于此设计具有良好的可移植性。系统软件包括主程序和任务子程序。任务子程序由读扇区、写扇区、错误处理、逻辑块地址写、IDE读、IDE写等组成。主程序如图3所示:
      首先初始化,判断是否有任务到达,如有任务,则根据命令进入到相应任务子程序。在进入任务子程序之前,必须先检测驱动器的状态。
      
      ● 直接读写IDE硬盘扇区
      文中使用了结构ATACMD来定义对硬盘的控制。对IDE硬盘寻址可采用物理寻址(CHS)和逻辑寻址(LBA)两种方式,可以通过对lba的设置进行选择,由于FAT32文件系统中的扇区地址都是采用的逻辑地址,本文采用了LBA的方式。对硬盘的操作是通过向硬盘的命令寄存器组中的寄存器写入命令来实现的。硬盘控制器命令长度为7 B,其中前6 B为参数,最后1 B为命令码。其中ft、sc、sn、cl、ch、drhd是传给硬盘的参数,cmd给出对硬盘的操作命令。
  • TA的每日心情
    奋斗
    2017-3-3 07:49
  • 签到天数: 32 天

    [LV.5]六品通判

    5

    主题

    1093

    回帖

    1219

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1219
    发表于 2017-2-10 23:36:20 | 显示全部楼层
    谢谢
    学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-3-8 10:10
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    11

    回帖

    31

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    31
    发表于 2017-3-8 10:10:15 | 显示全部楼层
    学习学习学习
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2020-1-15 08:19
  • 签到天数: 23 天

    [LV.4]七品知县

    20

    主题

    144

    回帖

    320

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    320
    发表于 2019-11-6 09:31:25 | 显示全部楼层
    感谢LZ分享精神,很有用的东西!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表