当前位置:首页 > 存储介质
  • 世界上最密集存储介质 DNA芯片获突破

    据国外媒体报道,在谈到信息存储时,硬盘完全不能和DNA相提并论。在人类的基因序列中,1克的重量就可以包含几十亿GB的数据,而1毫克分子的信息存储空间就可以包含美国国会图书馆全部的书籍,并且还有剩余。在过去,这些只是理论上的概念。现在,最新的一项研究表明,研究人员可以把一部遗传学教科书的内容存储到1微微克(picogram,相当于万亿分之一克)DNA中,这一技术上的突破很可能会革命性的提升人类存储信息的能力。 过去,有些研究团队一直试图向活细胞中的基因组写入数据,但是这种方式有一些不足之处。首先,细胞会死亡,这并不是你存储学期论文的好方法。另外,细胞还会分裂、复制,其中会不断发生变异,从而改变数据的内容。 为解决这些问题,一个由波士顿哈佛医学院合成生物学家乔治-丘奇(GeorgeChurch)领导的研究团队发明了一种DNA信息归档系统,完全不需要利用细胞。相反,利用的是一台喷墨打印机,从而将化学合成的一小段DNA嵌入到一块微型玻璃芯片的表面。为了给数字文件进行编码,研究人员把文件划分为微小的数据块,并把这些数据块以A、C、G、T(DNA的四种脱氧核苷酸)的字母组合来表示,放弃了过去在计算机上的1和0编码方法。每条DNA片段还包含了一个数字“条码”,用来记录数据在原文件中的位置信息。在读取信息时,需要DNA测序仪和电脑将所有片段按序重新组合起来,并转换为数字的格式。计算机还需要负责处理错误信息,因为每个数据块都可能会被复制上千次,经过比对,任何小错误都可以被发现和纠正。 为证实这一系统在实际应用中的能力,该团队使用了这种DNA芯片将丘奇同他人合著的一本遗传学书籍进行了编码。他们成功了。在将书籍内容转换为DNA的信息、并将其翻译成数字存储模式后,该系统显示的出错率为每百万比特仅两个错误,相当于一些小小的拼写错误。这同DVD的性能差不多,远远好过硬盘。本周五,该团队在《科学》杂志上发布的报告称,考虑到DNA芯片的体积非常小,它成为了目前世界上最密集的信息存储介质。 不过,你最好别急着将闪存上的数据复制到基因存储上。美国马里兰州罗克维尔市克雷格-文特尔研究所的合成生物学家丹尼尔-吉布森(DanielGibson)表示,DNA测序仪和其他设备的成本相当高,目前还不适宜推广,但是这一领域发展迅速,这项科技将会变得更便宜、更快速和更轻便。吉布森过去领导的研究团队曾合成了世界上第一个最完整的基因组,并在DNA中加入了一些额外的信息作为“水印”。不过,这些研究人员使用的是三个字母的编码系统,要比丘奇团队的效率低一些,但是却成功阻止了活体细胞的复制,从而不会将DNA转换为蛋白质。吉布森说,“如果DNA要被用来存储信息,并且使用环境不在实验室里,那么你还需要DNA测序仪的帮助,而这是很不现实的。”丘奇不同意这种观点。他表示,除非某人有意识的“破坏”他的DNA数据存储系统,否则信息将非常安全。 更多嵌入式资讯请关注嵌入式频道

    时间:2012-08-23 关键词: 芯片 dna 存储介质

  • 以优盘为存储介质的mp3播放器设计

    以优盘为存储介质的mp3播放器设计

          引言       随着mp3播放器作为消费类产品的普及,MP3的设计与生产也越来越多。在当前的MP3播放器中,一般有以下几种设计方案:       ①  MCU内置硬解码模块。典型的芯片有Atmel公司的AT89C51SNDI等芯片。       ②  外置独立的MP3硬解码芯片。此种方案的好处是可以使用众多的MCU,可根据需要任意选择。硬解码芯片典型的有VS1011B、STA013等芯片。       ③  使用功能强大的MCU进行软解码,如使用DSP或是高性能的ARM。此种方案较为灵活,通过软件升级即可实现产品的升级。       MP3播放器的存储介质一般采用Flash存储芯片。随 着USB技术和闪存技术的发展,优盘已经成为一种大众化的电子产品被广泛使用,但优盘一般只是作为PC的移动存储器。本文研究的一种方案是在上述MP3设计方案②的基础上,外扩优盘读写电路,使存储介质使用普通的优盘。这样可以解决普遍使用的优盘只能作为PC外设存储数据用的问题,使U盘的使用范围扩展到MP3上。更大的意义还在于,本文提出了一种在以嵌入式系统、MCU为核心的消费类电子产品或工业产品中,将优盘作为数据存储器使用的设计方案,为在微计算机测控系统、仪器仪表、无纸化数据记录仪、数码相机等产品中添加优盘外设功能提供有益的参考。      1  硬件设计       S3C44B0X是Samsung公司开发生产的为嵌入式设备提供的一个低成本、高性能的ARM7TMDI核处理器,其最高运行频率可达66 MHz。SL811HS是Cypress公司的一款遵从USB1.1协议的嵌入式Host/Slave USB芯片;可以支持低速和高速模式,能自动侦测低速模式1. 5 Mbps设备和高速模式12 Mbps全速设备。由于具有8位数据总线的支持,使该芯片可以较为简单地与微控制器相连,SL811HS芯片与S3C44B0X的接口较为简单。本系统中ARM读/写优盘原理框图如图1所示。        SL811HS的控制命令和数据均通过D0~D7传输,A0为数据或地址选择线。当A0置为低电平时,D0~D7上传输的是SL811HS片内寄存器的地址;反之当A0置为高电平时传输的则为数据。nWR、nRD、nCS、nRST0分别为写控制线、读控制线、片选线和复位线,S3C44B0X通过这几根控制线完成对SL811HS片内缓冲区的读写、片选和复位等操作。INT是SL811HS的中断请求信号线。当SL811HS检测到优盘插入、拔出时,通过将INT线拉高通知S3C44B0X。S3C44B0X可以通过查询SL811HS片内状态寄存器来得知是优盘插入或是拔出。对状态寄存器进行写操作可以清除中断,但需要注意的是ARM的结构特性。ARM内部通常是Little Endian方式存储和使用4字节对齐方式[1],并且当采用16位数据总线时,地址线ADDR0是无效的[2]。在本系统中,SL811HS芯片A0端是与ADDR1相连接的。       VS1011B是一款单芯片的MP3解码芯片,在国际MP3业余爱好者中影响较大,集成解码、A/D转换、音频放大等功能。VS1011B与S3C44B0X接口为SPI接口,其连接电路原理框图如图2所示。        VS1011B的控制与数据传输是通过SPI接口完成的,DREQ、xDCS、xCS、nRST1分别为数据请求端口、数字片选信号线、片选线、复位线。在VS1001B的新模式下,SDI(Serial Data Interface)数据和SCI(Serial Command Interface)数据传输可以共享ARM的一个SPI接口;而在兼容模式下,SDI数据传输要用DCLK、SDATA串行接口,SCI数据传输用SPI接口。为了简化电路,此处选用了新模式。       2  软件设计       2.1  优盘读写软件的实现       USB组织定义了海量存储设备类(mass storage class)的规范。这个类规范包括4个独立的子类规范:USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 、USB Mass Storage Class BulkOnly Transport、USB Mass Storage Class ATA Command Block、USB Mass Storage Class UFI Command Specification。其中优盘属于海量存储设备,遵循bulkonly传输协议,子类采用UFI命令集。本设计软件的总体结构如图3所示。其中两条点画线之间的部分为读/写优盘的软件结构。        2.1.1  USB物理层协议的实现      该部分实现S3C44B0X对SL811HS芯片的直接底层数据的读写,包括对SL811HS的初始化及读/写一个字节的函数。限于篇幅,此处只列出对SL811HS芯片的初始化程序:      /*********************************        函数名称:SL811_Init        函数功能:初始化SL811HS芯片        输入参数:无        返回值:无      *********************************/      void SL811_Init(void){        //初始化U盘为未插入状态        bFlags.bits.SLAVE_ONLINE = FALSE;        bFlags.bits.SLAVE_FOUND = FALSE;        bFlags.bits.SLAVE_REMOVED = FALSE;        bFlags.bits.SLAVE_ENUMERATED = FALSE;        bFlags.bits.SLAVE_IS_ATTACHED = FALSE;        //允许硬件产生SOF(Start of Frame)        SL811Write(CtrlReg,0x04);        DelayMs(100);        SL811Write(CtrlReg,0x01);        //设置SOF,1 ms中断        SL811Write(cDATASet,0xe0);        //设置为主机工作模式        SL811Write(cSOFcnt,0xae);        SL811Write(EP0Status,0x50);        //地址设为0        SL811Write(EP0Counter,0);        //允许数据发送SL811Write(EP0Control,0x01);        SL811Write(IntEna,0x20);         //清中断        SL811Write(IntStatus,INT_CLEAR);      }       2.1.2  USB设备协议层的实现       该部分实现对优盘扇区的直接读写,其中两个很重要的函数为Bulkin和Bulkout。此处只列出Bulkin函数的实现:       /**********************************        函数名称:epB ulkRcv        函数功能:实现bulkonly协议中的Bulkin函数        输入参数:pBuffer为数据的地址,len为数据的长度        返回值:TRUE为成功,FALSE为失败      **********************************/      unsigned char epBulkRcv(unsigned char *pBuffer,unsigned int len){          usbstack.usbaddr=0x1;          usbstack.endpoint=usbstack.epbulkin;          usbstack.pid=PID_IN;          //设置包长度为64          usbstack.wPayload=64;          usbstack.wLen=len;          usbstack.buffer=pBuffer;          if(usbstack.wLen){            if(!usbXfer())            return FALSE;          }        return TRUE;      }       2.1.3  FAT16/FAT32文件格式的实现       该部分程序是根据FAT16/FAT32文件系统的结构,实现对文件的读、写、创建、删除等操作。优盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区(主引导记录区)、DBR区(系统引导记录区)、FAT区(文件分配表区)、FDT区(文件目录表区)和DATA区(数据区)。       在实现对文件的读/写时,首先根据MBR区和DBR区的大小,找到FAT表的位置,然后根据FAT表找出相应文件的数据位置,即可对此文件进行相应的处理。其具体实现涉及FAT文件系统的结构,此处不再详述。      2.2  VS1011B的控制与音乐文件数据输入       本方案mp3播放器的实现原理就是控制器 从优盘读取MP3文件数据,当VS1011B的数据缓冲区需要数据时,将数据送入VS1011B进行解码。VS1011B采用串行接口,有两种接口模式:       Native Modes(新模式)和Compatibility;       Mode(兼容模式)。当地址为0x0的MODE寄存器的SM_SDINEW位为1时为新模式;反之为兼容模式。上电时默认为新模式。       在播放音乐之前,首先需要对VS1011B进行初始化,然后输入音乐文件即可播放歌曲。其控制步骤如下:[3]       ①  拉低nRST1。       ②  等待DREQ引脚信号变高。       ③  写寄存器MODE的参数,包 括正确设置SM_SDINEW和SM_SDISHARED位。       ④  若时钟数率非24.576 MHz,应设置SCI_CLOCKF。       ⑤  若使用倍频时钟,试图通过改变SCI_CLOCKF直接操作,应将适当的采样速率写入SCI_AUDATA寄存器,等待至少11 000个时钟后才可以操作高速的SPI通信。       ⑥  设置音量寄存器SCI_VOL。       ⑦  若希望加强低音,可设置寄存器SCI_BASS。       ⑧  从优盘读取一首MP3歌曲文件,并开始传送音乐数据。应注意数据传送的规则,DREQ信号是用来表示VS1011B的MP3数据缓冲区是否需要数据。当VS1011B的数据缓冲区可再接收32字节数据时,DREQ引脚电平变高。当软件查询到此引脚电平变高时,就再送入32个字节的MP3音乐数据。       ⑨  本首歌曲完成播放,读取下一首MP3歌曲,并转到步骤⑧。       结语       本文介绍了使用优盘存储MP3歌曲文件的一种MP3播放器的设计,其中软件设计的难度较大。此外VS1011B除支持MP3格式音乐文件外,还支持WAV格式等,改变一下软件即可播放WAV文件格式的音乐。如果MP3播放器设计带有液晶屏,则可以通过把相应的歌曲歌词存储在优盘上,实现实时歌词显示等功能。       虽然这里给出的只是优盘在嵌入式系统中的一个应用示例,但在此基础上很容易演变出别的功能。例如对本系统稍加改变,即可把优盘换成USB移动硬盘,这样可以有更大的存储容量。在这种大存储容量的基础上,才能设计对存储容量要求较大的MP4播放器、硬盘摄像机等。另外,本文的设计思路还可以应用在以嵌入式为核心的许多其他工业或消费类电子产品中,如数据采集保存器、数码相机等,方便地实现与PC的数据交换。参考文献:[1]  杨捷,徐志化.基于ARM7的无纸记录仪的U盘读写方法[J].自动化仪表, 2006,27(1): 22-24.[2]  刘晔波,朱欣华. SL811H/S在基于ARM7的嵌入式硬件平台中的应用[J] .测控技术,2006, 25(10):74:77.[3]  www.ouravr.com.[4]  Samsung Electronics.S3C44B0X UserManual.[EB/OL].http://www.samsung.com,2000.4.13/2005.10.20.[5]  Cypress Semiconductor Corporation. SL811 Embedded USB Host/Slave Controller Data Sheet, 2002.[6]  VLSI Solution Corporation. VS1011B User Manual. Version 1.01, 2004.[7]  廖日坤,李宁宇,等.基于DSP技术的MP3播放器的研究与设计[J] .测控技术,2004,32(增刊): 193194.

    时间:2007-11-20 关键词: MP3 播放器 存储介质

发布文章

技术子站

更多

项目外包