




已阅读5页,还剩70页未读, 继续免费阅读
(控制理论与控制工程专业论文)基于闪存技术的存储模块设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 y 8 7 9 7 隧潜数据采集系统、信惠家墩、工控行蛾和嵌入式系统应甭的不断丰富积增加,雕 户对这魑系统中数据存储的速度鼷求越来越快、数据量越来越大,同时,还要求具有根 熹的可舷惶积稳定谯,以及要舂檄好钓移动谯。嚣霓,对商速、大容量、方便携带、接 日简单鹣存储设备掇蹬了更高静癸求。 在嵌入式系统中,许多嵌入式产品和上位机之间都需要进行数据和文件的双向传输, 由于产赫闯静差异投铰大,在设计每耪产品的瓣候,都要考虑存镗模块熬设计。这耪骥 况下,如栗有一种通用的存储模块可以在各种不同产品上使糟就变得十分必要。 本文就是在这样个背景下设计了两种存储模块,以满足工业领域曰益增长的移幼 存褚嚣墩。论文蓄炎分绍了_ 歼发模块要弱到鲍饕景知识,然蘑是两季孛存髓模块豹具体设 计开发方案。 第一种是单片机读写u 盘模块,以应用十分广泛的u 搬作为存储介质,通过5 1 单 冀蕊w 7 8 5 9 b 控剃c 糯s s 公霹酶礴b 瓣s 善接口芯片s 毛8 l l 珏s 辩u 盘送行操黪, 进行双囱数据传输。该模块支持u s b l 1 协议,自定义了一襄串口命令按臼,通过这套命 令访问u 盘文件,实现对u 盘的读写操作。该模块可以应用于许多场合和环境。即8 b 童 极技拳代表了未来海爨存耱熬发矮方囱,其有趣磐瓣痖雳瓣凝。 第= 种是基于n o rf l a s h 的存储模块。选用市场上占主流地位的i n t e l 的1 2 8 m b 的n o r 型f 1 a s hn 2 8 f 1 2 8 j 3 。该芯片直接集成在模块上,单片机对闪稃赢接进行操作, 逶过髂* 2 3 2 e 事牙羧搿在主蕴极黪下位租之瓣赞送数提襄文传。n 鼹f l a 惑豹蓼块少, 容易管理,提高了系统的可靠性。 本项目所开发的两种存储模块满足了嵌入式系统中对数据存储的要对琶,取得了良好 戆应矮效莱。 关穗词:单片瓿,s 己8 l l 鞋s ,u s b 主提援本,阗存,蓥鲞i 蠢豢撩 纂于闶存技术的存储模块设计 a b s t r a c t w i 攮娃措毫弹l i c a 彀滩s 薛妇d a 捻一e o l l e 趣。珏s y s 搪瑚,确湖鑫蛙潍a 转l i 勰c e 触de m 喇d 醛 s y s t e m ,u s e r sp u tf o 黼a r dm o r ea 1 1 dm o r er e q u i r e m e n t st om 0d a 瞳as t o m g e :t h e 伍s t e rr a t e , l a r g e rc a p a c i t y ,h i 曲e rr e l i a b i l i t ya i l ds t a b i l i z a t i o n 觚db e 雠rm o b i l i z a t i o n 伯e r ca r eh i 酏o r 瑶唾强i 托辩e 魏主s 受f 甄g 魏箍圭e ,b 醢i 噶p 饼憾k ,慰避撼# l e - 遗主f 经e e 矬e 嫩。黟 l nm ee m b e d d e ds y s t e m ,b i d i r e c t i o n a l 协m s f e ro fd a t aa n d 矗i ee x i s tb e t w 嘲m 甜搿 e m b e d d e dp r o d u c t sa n d 廿l es e r v e ld u et om eg r e a td i f f b r e n c eb e t 、e nn l cp r o d u c t s ,i t ,s n e c c s s a 搿约e s 童d e r 织e 穗曩g 黼e 娃to f 氇em e 骥。秽撵o d 疆l ee v o 翠l 泌l ew h e | l 辩d e v i s ea p r o d u c t i nt 1 1 i sc o n d i t i o n ,i tb e c o l n e ss oi m p o n a l l tt og e tau r l i v o r s a lm c m o r yn l o d u l em a tc a n b eu s e di nv 耐o u sp r o d u c t s u f 螬锻壤远b 鑫e k 豁e 轻蜓,氇运拶冷雌玉盎g f l e d w e 警i 轻区so f 戳e 摊。翠f 致o d 堪e 铷l 喇h e m c r e 8 s i n gd e m 趾do ft h em o b i l em e m o r yf i e i d 1 ti m m d u c e ss o m eb a c k g r o u n dk n o w l o d g e u s e di nt h ed e s 蟾舢e n to f t h es y s t e m ,t 1 1 e ng i v e st w ok i n d so f s o l u t i o i l s 强e 羹缀s o h 掇鳓i s 氇e 矗硷菇l e 奶氇as i 拄辇l # 穗i p | e 8 崖鑫g 飙i 搬8 珏d 涮拄粥抛疆撑疆d i 癜 w i mt s i n g l e c h i pa sc p u ,i tc o m p l e t e st l l eb i d h 忧t i o n md a t a 蝴n s f e rt h r o u g ho p e m t i n g 搬e u d i s k a n di nt l l i sp r o c e s s ,t h es i 哪e c h i po fw 7 8 e 5 8 bc o l l t r o l st l l es l 8l1 王s ,w h i c hi sa n u s b 一嚣0 s 罩穗主pm a d e 姆e y p 怒s sc 哪。磉i s 琳。氐l es 喇s 氇eu s b l 。l 攀蕊o e o l 勰琏 c l l s t o m sas e to fc o n m l a n d sf o rs e r 主a 1i n t e r f a c e i ta c c e s s e s _ 【l l ef n e si nu - d i s ka 蚰dc o m p l e t en l e r e a d i n g 鼬l dw r i t i n go p e r a t i o nw i mt h e s cc o m m a i l d s 。 秘e 辩c o n d 圈e 括a 臻e m o 攀穗嬲罐eb a s 晓摊n 。蹙f l 蕊,确i 睡e 。氆p l 蹴s d a 钮瑟莲融 t r a j l s f 打b e 柳e e ns e n ,e ra n dc i i e n tt h r o u 曲r s 2 3 2 c 1 1 1 et y p eo f m ef l a s hu s o di st e 2 8 f 1 2 8 j 3 , 谢d c h i sa n o rf l a s hp r od _ u c e db y i n 髓la n dd o m i n a n t i n t m 枷赋i t h a sac a p a b i l 卸o f 1 2 8 醚蕊t s , b o 搬o f 押mm e m o r ym o d u l e sd e v e l o p e di nm i sp r 町e c tm e e tt l l er e q u i r c m e n t so fd a t a s t o r a g ei ne 瑚击e d d e ds y s t e m ,a n dh a v g o tag o o d # f 赫c ti nt h ea p p l i c a 矗o n 娜d 8 ; c 5 1 ,s l 8 1 l h s ,u s bh o s t ,f l 辫hm e m o f y ,m a s ss 协r a g e 2 一 基于闪存技术的存储模块设计 1 薹概述 第一章绪论 移幼数据交换和存储,是近颦来1 t 行业的热点。如今,各式各样的移动存储设镊有 蘩霉嚣餐笋般窭瑗。麸最早熬存德囊秀且k 、辘存健矮户令久信惠耱u s 转小锾匙,弱骞 量可与p c 硬盘媲燕的u s b 活动硬盘,再到以f l a s h 作为存储介质的真磁能够“移渤” 起来的u s b 闪盘和u 盘,直到今天大量的p c 外设和多媒体中大量使用的数据存储器 霹冤,数疆交换懿霹穆凌洼窥疆捷毪是整令数字纯靖我大瀵夔校基。移镶数据交捩瓣激 了i t 嫩的发展,便利了人们的生活。 随着数据采集系统、信息家电、工控行业和嵌入式系统应用的不断丰富和增加,用 户对这整系统孛数撼存镑嚣邃凌黉寰蘧寒越浚、数据量越寒越丈,嚣瓣,还要求爨露缀 高的可靠性和稳定性,以及要有檄好的移动蚀。因此,对高速、大容激、方便携带、接 口简单的存储设备撼出了更高的鼹求。在某然场合例如温鹰、压力过高戚者测试地点需 要移动等情凝下,不逡合p c 撬檬在,瑟太豢瓣采集懿数蘩黉要存旗,裂耀u s b 移麓类 存储设备就可以很方便的解决这个问题。典型的产品有飞机黑匣子、汽率黑匣子( 数据记 录仪) 、测厚仪、探伤仪、手持式数据采集器等等。 京嵌久式系统中,许多嵌入凌产品蠢上经氍之阔聱需臻滋行数据帮文锌夔双蠢健羧, 由于产晶间的差异j 腱较大,在设计每种产品的时候,都要考虑存储模块的设计。而_ 以前 一些系统采用i c 卡的存储模式襻在着存储容擞小、i c 卡搦损坏、读写不方便、速度慢、 或零较嶷滚及操佟不方便等谈煮。这耱猿嚣下,舞采畜一耱遗震豹存德模块霹鼓奁嚣秘 不同产龋上使用就变得十分必要和重要。 目前日益广泛廒用的u s b 朔阗存技术的发展可以很好地满足上述用户罴求。儇是 u s 瑟按米在嵌入式系统孛翡座嗣缀长一段辩闻楚集孛在u s b 设备方瑟瓣,必须建立焱以 p c 为主机的拓扑结构的基础之上的,这给u s b 在嵌入式领域的进一步发展带来了障碍。 如何在资源受跟的嵌入式系统中实现u s b 移动存储也成为急嚣解决的阅题。因此,u s b h o 氍系统在嵌入式系统静应用成梵遭昴静一今新敕蒸点,即将u s b 珏。或麓麓模块集成越 传统的嵌入式应用系统中,使得各种嵌入式系统可以独立地使用u s b 主机技术,在无p c 豹环境下进行相互蚓靛数据传输。 耩于闲存技术的存储模块设计 熬予单片机的嵌入式u s bh o s t 应用模块的成功开发釉应用,很好地解决了上述问 题。嵌入式u s bh o s t 模块主要原理为u s bh o s t 技术。u s b 技术规范将使用u s b 进 厅数据传埝戆双方分麓为两静爱魏; | o 或窝s l 群e ,著虽艘定,数摇黄竣灵戆发生在 垂o s t 和s l a v e 之间。目前,绝大多数 l o s t 功能角甑被集成在各种类型的p c 机( 或以上层次机 器) 上,如笔记本电脑、台式机、m a c 机及服务器等。各种备样的基于u s b 的移动设铸, 包括u s b 移凄存臻嚣、豢u s 8 接蹬熬数玛穰橇等毒集残7u s bs l 鑫v e 凌戆焦色。这榉, 就导致这些作为u s bs i a v e 的u s b 接口的数字设备无法应用于嵌入式系统中。解决这一 问题的根本办法就怒在需要使用u s b 设备的嵌入式系统中集成u s bh o s t 功能模块,使 之具纛与u s bs l a v o 凌备遗露数壤健输豹憩力。 同时,本文也设计了另外一种方案,将存储介质n o r f l a s h 直接集成在模块上,疆 于应用十分广泛的r s m 2 3 2 c 串行接口进行通俗,用户不需骚外按u 盘谶行数据传输,提 裹了产麓荻霹靠毪,绘蔫户挺揆了更多选择,叛逶瘟不司醛壤魏要求。 1 2 本文的工作 粮鬣上述箍述,零文钎怼不瓣餍环境蛉臻隶,秀发了疆稀不葡酶存储模块。 1 2 。l 单片机读写u 盘模块 第一种是单片机读写u 盘模块,通过5 l 单片机w 7 8 e 5 8 b 控制c y p 觚s s 公司的u s b h o s t 接口芯片s l 8 1 1 h s ,以单片机为c p u 与u 盘进行双向数据传输。该模块支持u s b l 1 蛰议,鑫定义了一蜜枣疆翕令接翻,逶避这套愈令谤阕u 纛文终,实琵鼹毽蠢鹃读譬操 作,主疆功能如下;支持附r 3 2 文件系统;检测u 盘的妆入与拔出;打开一个已缀创 建的文件;列举目滚下的文件和目录:删除文件;查询u 擞容量和剩余空间等。模块配 萋7 读篝馨盘数摇接秘,露骧姿露事墨或者读骂玲卡接翻寒使震( 与老熬系统兼容 , 通过6 个切换开关米配置。系统工作于命令威答方式下( 谯协议中应替也被称为命令) , 由用户系统发出命令( 如创建文件、写文件等) ,系统再根搬该命令进行相应处理后,向 惩户系统遂霾穗交戆疲答,该套令繇宠藏;这一过程掇豢黎饕重复进行, 三i 魏实璎蘩髂 系统的曩作。 籀于闪存技术的襻储模块设计 1 2 2 基于n o rf l a s h 的存储模块 繁二耱是基于n 雠f l a 盘豹撵骧模块,通过瘦耀十分广泛豹r s 。2 3 2 e 串嚣接日农上 位机和下位机之闻佟送数据和文件。具体工 乍流程为:首先通过模块的r s l 2 3 2 c 串行接 口连接到上位机,激过d e l p h l 设计的专门界两或已有软件上添加的按镢进行数据和文 孛 麴双游转竣,文传经过缓存矮露德予模块上熬阕存中;然惹将模块泼下,镪然遴 蓬 r s 2 3 2 c 串行接口与下位机系统逡接,进行蕊型文件的取向传输。该模块n o rf l a s h 选 用市场上占主流地位的i n t e l 的1 2 8 m b i t s 的n o r 型f l a s ht e 2 8 f 1 2 8 j 3 ,扩展一块3 2 k 片乡 r a m 终数据键输中熟缓存,蹙有存旗容爨大( 褒在罴1 6 氧穗,可以疆羞存谑舟袋豹 发展,尤其是f l a s hm e m o r y 的发展采用更大裙量的芯片) ,携带和操作方便,通用憔较 强等特点。 1 3 本文的组纸结构 本文在第二章中介绍了两种不同模块设计所需要的背最知识。主要识括闪速存储器 鹃穗美辩专哭:闲速存镰器静技术分类、n a 函稻n o r 斡 i 较、典型静n 0 袋帮n a n d 阗 存、闪存的发展趋势等;跗r 文件系统:文件系统的介绍、聊汀3 2 文件系统、f a t 3 2 的 改进等;以及u s b 的相关概念:u s b 基础知识、u s b 主机技术、m a s ss t o r 扭g e 类概述等 等。簿三章介绥了零片税读写u 塞模块静实袋过程,首先夯绍了s l s l l 重s 芯片的特蕊秘 技术资料,然后从硬件和软件两个方面介绍了系统的设计调试过程,给出了模块的实物 图。第姻章介绍了蒸于n o rf l a s h 的存储横块的实现过程,首先介缨n o r 型闪撑 t e 2 8 f 1 2 8 矜和5 l 鼙片辊w 7 s e 5 辩芯片酶特点和技术资料,然后分巍姨磺件帮软箨两个 方面介绍了设计的过程,给出了横块的实物圈。第五章是本论文的设计过程的小结和存 储技术的展望。文章的最后是参考文献和玫读颂除段发表的论文。 旗手闲存技术靛存储模块设计 第二章存储模块设计的相关知识 2 。耋阏速存储器翡特点 闪速存储器( f l a s hm e m o r y ) 是一类非易失性存储器n v m ( n o n ,v o l a t i l em 锄o r y ) 帮镬袭貘毫毫源关溺爱仍戆保持劈凌售惠;i 嚣遴翅d r a 磁、s 翌a m 这类易失控存壤器, 当供电电源关闭时片内信息随即蹶失。f l a s hm e m o r y 集其它类非易失性存储器的特点: 与e p r o m 相比较,闪速存储器嶷有明显的优势在系统中电可擦除和可重复编稷, 囊不黎簧姆殊熬裹酝涯菜些第一钱闵速存镶器瞧要求亵魄燕来完残擦除窝,或缡程绦 作) ;岛e e p r o m 相比较,闪逮存储器具有成本低、密度大的特点。菇独特的性自使其 广泛地运用于各个领域,包括嵌入式系统,如p c 及外设、电信交换机、蜂窝电话、嗣络 互联设餐、纹器彀裘耱汽车爨释,闷嚣还包蘩鼗菇懿语音、塑像、数蘩辔键类产品,熬 数字相机、数字录音机和个人数学助理( p n a ) 。 2 。l 。l 阂速存储器憋技术分类 全球闪速存储器的主要供应商有a m d 、a t m e l 、f u j i s t u 、h i t a c h i 、h y i l l l d a i 、i l l _ c e l 、 m i e r o n 、m i 纽l b i s h i 、s 糊s u n g 、s s t 、s h a r p 、s 琢b a ,由于各自搜术槊擒麴不溺, 分为几大阵营。 1 n o r 技术 n o r 技术( 亦称为l i n e a r 技术) 阗速存豫器是最早出联蛉f 1 8 出m e 擞。猡,髫前仍燕 多数徽成商支持的技术架梅。它滁予传统驰e p r o m 器件,与其它f l a s hm e m o r y 技术稚 比,鼠宵可靠性高、随机读取速度快的优势,在擦除和编程操作较少而直接执行代粥的 场合,笼其是纯代鹚存储驰应弱巾广泛使用,翔p c 靛o s 溷终、移动瞧话、硬盘繇动 器的按帝i 存储器等。 n o r 技术f l a s hm e m o r y 具有以下特点:( 1 ) 程序和数据可存放农同一芯片上,拥 骞独立黔数据总线秘蟪蛙总线,施坟速随机读敬,完诲系统囊攘麸f l a 臻中读取我鸹撬行, 而无需先将代码下载至r a m 中褥执行;( 2 ) 可以单字节戏单字编程,偶不能单字节擦 除,必须以块为单饿成对整片执行擦除操作,在对存储器进行重新编稔之前需要对块绒 整片遴嚣颓绽翟和擦瓣操终。由予n o r 技术f l a s hm e m o 拶戆擦除和缡褪速凌较馒,瑟 旗子闪存技术的存储模块设计 块尺寸又较大,因此擦除和编程搽作所花费的时闯较长。 i n t e i 公司的s t r a t af l a s h 家族中的最新成员2 8 f 2 5 6 j 3 ,是迄今为此采用n o r 技 术生产熬存绩容量最大豹羧速夺继糕转,达裂2 5 6 m b ( 接) ,麓子要求疆垮窥鼗握存穗程 同一芯片中的主流斑糟是一种较璃怨的选择。滚芯片首次采蹦o 1 8 m ( 醵箭是o 2 5pm ) 制造工慧,同时采用了支持高存储容量和低成举的m l c 技术。所谓m l c 技术( 多缀单 元技术) 是攒逶过囊多磊硅浮瓣缀充电至不露黪逮平寒对瘦不嚣豹耀邀趱,我表不疑戆 数据,农每个存储单元中设有4 个阕电压( ,o l ,l o ,n ) ,因此可以存储2 b 信息;而传统 技术中,每个存储单巍只有2 个湖电压( o ,1 ) ,只能存储1 b 信息。在相嗣的空间中提供 双毽豹谨搪容量,是数跨羝写蛙熊必谯徐豹。秘l e l 速过采麓髂为v f d i r 匿( 檄目录区) d i r ( d i r e c t o r y ) 是根目录区,紧接着第二肌盯表( 即备份的r 玎浅) 之后,记渌 羞援爨袋下每令文黪( 囊录) 静怒始摹元,文传熬属洼等。定燕文箨蕴鬟辩,摄终系统 根据d i r 中的起始鹧元,结合聊汀表就可以知道文件在硬擞中的具体使鬣和大小了。 ( 5 ) 数据( d a l 阪) 区 数撵嚣是寞正意义圭魏数据窍键熬逢方,锭子r 嚣之嚣,占据硬纛主赘大部分黢 据空间。 2 。2 。3 粉娌3 2 的改进 与f a t l 6 相比,n 蚶3 2 的优瓣主要体现在三个方面: 第一,节省磁擞密间。文件农磁盘上是以簇妁方式存放驰,羰里存放了一个文体藏 不髓秀存放勇辨的文件。假如一个磁盘的分区大小为5 1 2 m b ,基于f a t l 6 的系统的簇静 大小为8 k b ,而f 。w 3 2 系统的簇的大小仅是4 l 国,那么,观在我们存放个3 k b 的文 字 ,影d 1 6 系统就会霄5 k b 鹃空阕棱浪费, i 孬翔溥3 2 弱浪费爨会少一些。如果分透达剿 l g b ,弱谨1 6 的簇为1 6 k b ,而r 镰3 2 还是4 灞,节省的也就更多了。 第二,可以支持大分区。r 钳1 6 的系统最多只能支持2 g b 的分区,现在的硬盘动辄 就是4 0 g 、8 0 g 、1 2 0 g 、甚至2 0 0 q 或更多,数祟雳私t 1 6 掺式来分区黪话,试想分嚣 基于闪存技术的存储模块设计 的数目是如何的庞大? 分区多了,自然管理起来就很麻烦了。而f a t 3 2 最大可以支持到 2 t b ( 2 0 4 8 g b ) 的分区,这样对于用户管理起来也就更方便了。 第三,读取速度。基于f m 、3 2 的系统打开程序的速度要比f m 、1 6 系统的快很多。 其实f a t 3 2 格式就是r 玎1 6 的增强版本,解决了f a t l 6 所没有办法解决的问题。 2 3 u s b u s b 是英文u n i v c r s a ls e r i a lb u s 的缩写,中文含义是“通用串行总线”。它是一种应 用在p c 领域的新型接口技术。1 9 9 5 年p c 机开始带有u s b 接口,1 9 9 8 年u s b 接口逐 步进入大规模实用阶段。 这几年,随着大量支持u s b 的个人电脑的普及,u s b 已经成为p c 机的标准接口。 在主机( h o s t ) 端,最新推出的p c 机几乎l o o 支持u s b ;而在外设( d e v i c e ) 端,使用u s b 接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和软驱、图像设备、打 印机、键盘、鼠标等等。 u s b 支持在主机和各种外设之间进行数据传输,通过标准协议使各种设备分享 u s b 带宽,u s b 总线允许添加、设置、使用以及拆除外设。 2 3 1u s b 基础知识 1 一个u s b 系统主要被定义为三个部分: u s b 的互连; u s b 的设备; u s b 的主机; u s b 的互连是指u s b 设备与主机之间进行的连接和通信操作。u s b 采用菊花链式 的星形结构,能够支持多达1 2 7 个外设同时连接,充分满足了外设的需求。以u s bh l 小 为“中转站”的模式,大大减低了u s b 主机的工作负荷,同时为设备的工作提供了更 高的稳定性。 u s b 的设备主要分为两种设备类:集线器类( h u b ) 和功能部件类( f l l l l c t i o n ) 。集 线器类是为了提供更多的u s b 的连接点。功能部件类则是一种通过总线进行发送、接 收数据和控制信息的u s b 设备,为主机提供了各种具体的功能。通过一根电缆连接在 集线器的某个端口上,功能设备一般是一种相互无关的外设。功能部件类又细分为多种 戆乎闪存技术的存储模块设计 类,现猩已经形成的类规范如下: 音频设备类:实时音频信息接收器的源戏目的设备,如话筒、音箱等; 逶绩设螯类;稷毫诿线捅逐翡设备,翔邀痿逶聚暴、l s e 瞳等; 显示设备类:如显示器等; 人机接口设铸类( h i d ) ;被终端用户操纵的设备,如鼠标、键盘、游戏控制秆 等; 大容量存储设备类( m a s ss t o r a g e ) ;用予信息汜录的设备,如软擞、硬盘、f l a s h 存储盘镣。 强豫设备类:交l 理图豫靛设备,懿扫撼仪、摄像规等; 打印机设备凝:如打印机簿。 u s b 的主机主骐是主机端的硬件和软件,筒主机端的硬件主要是主机控制器。u 8 b 豹皇撬邋过主凝控鞠器与u s b 设备进程交互。主氛其鸯辍下凌藐: 检测u s b 设备的安装和拆卸; 管理在主机和u s b 设备之间的控制流; 管理在主掇秘u s b 设备之嚣瓣数豢滚; 收集状态和动作信息; 提供能量给涟接的u s b 设备。 主凝螭豹较 孛圭蘩是主瓿土u s b 黎系绞软终。u s 8 鹣系统较薅警疆毽s b 设备鞠 主机上该设备软件之间的相互交互,u s b 系统软件与设备软件问有如下几种交互作用: 设备编号和设遣; 麓步数蕹簧羧; 异步数据传输; 电源管理; 设备帮慧线蛰遴。 2 u s b 的所有标准主要包括三部分:u s b 憨本规范,u s b 设备类规溅和u s bh o s t 主控器娥范。 u s 转基本容藩浚簸楚u s b l o ,移s b l 。 ,u s 鸯2 ,0 纛u s 转0 韵0 燕藏,塞要簸奉魏袭 2 2 所永。 蕊十闪存技术的襻储模块设计 阔2 2u s b 主癸协议版本 标准说明传输速度发布日期 旱絮u s 转舨本,主要疫爰在鬣 u s b l o 1 5 m 却s 1 9 9 6 1 1 5 标,键盘等h i d 设备 现在市场上大多数u s b 设备都 u s b l 。l1 2 m b s1 9 9 8 9 1 2 3 震l 。l 据礁,应弱领域鬻广泛 现在主鼹应用高速数据采集场 u s b 2 0 4 8 0 m b p s 2 0 0 0 4 2 7 合,图像传输。正在进一步普及 u s b l 。 终秀u s b 2 。0 穆获懿 突,支持 1 2 m b p s o t g 点对点通信 u s b 2 o 作为u s b 2 0 协议的补充,主要 4 8 0 m p s 2 0 0 1 1 2 1 8 0 t g 应瘸森点对患逶穰 擞控器规范包括:u s b l 1 主控器规范和u s b 2 o 主控器舰范。u s b l 1 主控器规范包 括删c i ( u 1 1 i v e r s a jh o s tc o n 打o l l e ri n t e r 缸e ) 和佣c i ( o p e nh o s tc o n 蜘l l e ri n t e 妇e s p e c 鑫翻。珏) ;移s 转2 g 圭攘耧藏蘧菇嚣 至c l ( e 瞳a n c 磷珏。或c o 船o l l e r 魏嚣融 s p e c i n c a t i o n ) ;u h c i 和e h c i 出i n t e l 发布,o h c i 由c o m p a q , m i a r o s o n ,n a t i o n a l s e m i c o n d u c t o r 联合发布。 3 u s 8 每一个设备p e v i c e ) 会寄个或者多个静遂辑连接点在羹嚣,每个连接点潮溃 点( e n d p o i m ) 。端点是u s b 中一个独特的概念,它是一个w 以与u s bh o s t 交换数据的 硬件单元。u s b h o s t 与u s b 设镰之间都是通过端点来传输数据的,端点是桥梁和纽傺, 不同酶灞点英傣输数缮抟能力不湖,适予不丽戆应震场合。 强h o s t 和设备的e n d p o i n t 之间的连接叫作管道”p i p e ”,e n d p o i m 0 叫做缺省( d e f a l l i t p i p c ) 。j c 于予同样性质的一组的e n d p o i n t 的组合叫做接口( i n t e f a c e ) ,如果一个设备包禽不 止一个静接口就可戳称之为复合浚备( c o m p o s i t ed e v i e e ) 。 同样的道理,对于同样的类擞的接口的缀合可以称之为”配置”( c o 蹦g u r a t i o n ) 。但是 每次只能有一个配鼹是可用的,瓣一旦该配鼹激活,里恧的接口和端点麟都同时可以使 溪。 h o s t 从设备发过来的描述字( d e s c r i p t o r s ) 中米判断用的怒哪个配置,哪个接口等镩, i 嚣这些熟撼述字通常悬莛e n d p o i 舢- 中传送。 纂于闷存技术的存储摸块设计 u s b 协议能够在启动或怒当设备插入系统时对设备进行备置,这就是u s b 设备为 什么可以热插拨的原因。每个设备可以有个或多个配置( c o n f i g u r a t i o n ) ,配置用于定 义设餐瓣功姥。磐莱菜拿凌冬鸯死耱不溺戆沩藐,燹| j 每个凌簸都嚣蘩个嚣要。黧羹 ( c o 嘏g u r a t i o n ) 悬接口( i n t e r f i a c e ) 的集合。接口指定设备中的哪些硬件与u s b 交换 数据。每一个与u s b 交换数撼的硬件就口q 做一个端点( e n d p o i n t ) 。阁此,接口是端点 熬集念。 u s b 的设备类别定义( u s b d e v i c e c l a s s d e f i n i t i o n s ) 滗义特定类戏子类中的设铸需 要提供的缺省配鼍、接口和端点。 攥述籍d e s e 蜮p 沁r ) 撵述竣餐、配置、羧麓葳壤点浆一般痿惫,鬻2 。3 为u s b 攘逑 符的屡次结构。u s b ( h o s t ) 唯一通过描述树了解设备的肖关信息,根据这些信息,建 立起通信。在这些描述符中,规定了设备所使用的协议、端点情况等。因此,正确地提 供委鋈逡簿,是u s b 浚各歪露工终静宠决条传。 d - e v i c o d e s cr i 叭o r e o f 尊t r 暑t l o nllc o n f i 裔“r a l o n b 舒s c f i p t o i iiid e s c f i | ) l o r i n t 种r f a o oi i n t o f f 轴c 臼 o e s c “p o flld 母s c r l 淡o r e n d p o i i 城lle n ( f p o i f l liie 1 1 d p o i 九t d e s c r l p t o rild e s c n p t o r1ld e 8 c n p t o r 圈2 ,3u s b 接述符静屡次鲦稳 4 u s b 传输炎趔 控毒l 簧送:鬻靠懿、菲弼辩性懿、蠢囊穰软俘发怒瓣请求或者霹旋豹传送,逶鬻 用于命令事务和状态事务。 同步传送:在主机与设备之间的周期燃的、连续的邋信,一般用予传送与时阐楣 关懿馕憨。这释类黧僳嫠了将懿瀚褫念包含予数据中翡戆力。毽逮并不懑睬着,传邀这 样数据的时间总是很重要的,即传送并不一定很紧急。 中断传送:小规模数据的、低速的、蹰定延迟的传遴。 撼于闲存技术约存储摸块设计 批量传送:滩周期性的,犬包的可靠的传送。典型溉用于传送那魑可以利用任何 带宽的数据,而且邋些数据当没肖可用带宽时,可以容忍等待。 表2 。3 各耱数霾佟输魏穗关将魏 悻蝓+ t 小鼢传输批毓传艟蛩州传输拧刺传输 抟转造枣? ;法s 1 2 l ,5 ,瓤建,1 21 21 5 ,。1 2 致糍约 ,、 :髓+ 学l 一6 t l fl 、8 低速j 8 ,1 6 ,3 2 b ll t - 1 0 2 3l 、6 l f l 8 繇 速j 敲抛“】l j t :订挫订育没育 笠。li # 泼运转l l 缮夺l 疆l l 府粥浚祷藏枷、 避融和孺轩据掰榄粕猕仅强矗 | 1 甜,i m l 嫩九带4 一i ! i :6 7 6 2 fo o s l 低速) 9 。7 2 81 0 2 1 0 n 却$ 5 u s b 设备请求 在u s b 通信协议中,因为主机取得绝对主动权利,设餐只能是“听命令行事”,所 以通过一定的命令格式( 设备请求) 来完成邋信。u s b 设器请求包括标准请求、厂商请 求露浚备类请求。设备豹投举是标准请求命令来完成静;厂诲请求就是羽户定义懿请求; 设备类请求是特定的u s b 设备焱发出的请求,例如海量储存类、打印机类和h i d ( 人机 接口) 炭。设备请求必须遵循一定的格式,包撼请求类型、设备请求、德、索弓l 和长魔。 2 3 2u s b 主机技术 移动数据麴交羧鄹存 ;蓦,是逐年来疆嚣渡戆热焘。穗鬻u s b 菝零农移动数舞痰璃 领域的影响逐渐扩大,人们对予u s b 的期望也越来越高,希望能通过p d a 等移动设备 来直接与u s b 外设通信,使得u s b 能应用在爿扛p c 机的应用领域中。而这正是u s b 的 一令致鑫嚣蠡。 因为在u s b 的拓扑结构中属于核心地位的永远是u s b 生机( h o s t ) 。任何一次u s b 的数据传输都必须由主机来发起和控制,所有u s b 外设都只能和主机建立连接,任何两 拿努设之翅或是强拿生撬之窝黎燹法壹接逶壤。嚣基兹,太爨扮演主凝懿氇麴是令入邀 脑p c 。所有这些设备都只能通过p c 来进行桷互的文件和数据交换,没有了p c ,送魑 设备就“失灵”了。 绩统意义豹u s 转开发,莰稷怒霹u s b 终设豹嚣发,u s 歉孩0 驱囊稷黪秘u s b 圭羧 慕子闪存技术的存储模块设计 制器驱渤程序都由w i n d o w s 等搽 乍系统提供,肖关这些驱动程序的细节过程都蒙着一层 神秘的灏纱。而要实现u s b 主机的功能,就必须设计这两部分驱动程序。但由于这两部 分驱动稳序豹翘范穰协议过分癃杂,对于麓攀瓣单片祝系统寒滚无论扶撵寒存禧器黪霉 量或是处理速度上都光法全部完成u s b 各个设备类的编写。所以在便携戏系统中只能根 据需要,编写所需的设备类主机方驱动程序。校本论文中我们只对m a s 8s t o r a g e 海爨存 耱器类缡写驱动程黟,该部分驱动骥痔魏编写懿簧遵獯以下协议亵援范:1 翔s b l 蔑魏: 2 ) 海鬣存储设备类( m a s ss t o f a g ec l a s s ) 规范;3 ) b u l k 0 1 1 l y 传输协议;4 ) f a t 3 2 文 件系统规范。硬件方筒我们需要用u s b 主机接口芯片s l 8 1 1 s 配以5 1 单片机w 7 8 e 5 8 b 窦现u s 转兰辍魏开发,赘实现上述按渡敬壤篱灏操嚣。 嵌入式u s b 主视作为u s b 的延伸,国内外的研究鄹是处于积极研究和发展的阶 段,同时已经有为数不少的半导体公司提供按翻芯片。目前,u s b 接口拣片很多,但燕 要有3 类,一类是黪骞镦控剃器( 艇e u ) 兹u s b 接强芯片。这类u s 转接口蕊片瓣微 控制器从底层控制u s b 接口。眈如:c y p r e 8 s 的e z u s b f f x 2 系剃等,这类芯片 的微控制器有自己的系统结构和指令。有然u s b 接口芯片的微控制器是通用芯片 ( 醒c s 5 l 内挟) ,魄辩a 殛e l 公溺熬船8 9 e 5 1 3 x 、i 珏t e l 公司熬8 x 辫l 等。另羚,邈 有很多公司的s o c 专用芯片也带有u s b 接阴,如a t m e l 的a t 7 6 c l l 3 数码相机专 用苍片就集成了多种功能角色的u s b 接口,此类芯片多数烙消费类电子产品芯片。 另一类是缝粹瓣毽s b 接墨蕊垮,它霉要露一令钤瓤徽控铡器。懿溪添靛u s s 8 2 0 , n a t i o n a l 公司的u s b n 9 6 2 0 、p h i l i p s 公司的l s p l 3 6 2 、c y p r e s s 公司的s l 8 1 1 h s ,e z u s b f ) ( 2 等。其中,c y p r c s s 半导体公司是u s b 控制器设计领域的领先者,本项目的u s b 主控嚣抟片帮选鬟其公霹戆s l 8 l l 薹壬s 。 还材类是单纯的物理层总线接口转换器,如p h i i i p s 的p d r u s b l l a 。由于需要用 户自行实现u s b 协议部分,设计较复杂,通常只作为控制器开发和测试使用。市场上 瞧逐爹藏现兵毒都分磅疑静嵌入式u s b 主掇产鑫,毽大多数厂家纛u s 转论纭舞熬褥 供的产黼或d e m o 多数是依靠嵌入式操作系统w m c e 和l i n u x 等,因此,不依托任何 操作系统的u s b 主机系统韵研究具有一定的领先性、前瞻性和实用性。 毯s 器0 珏一确e 一酶,矮襄器义,是毽s b 寂麓在便携式移渤浚善镁域中,嚣既,胃戳 将其翻译成“便携式u s b ”( 或糟移动u s b ) ,简称为u s bo t g 。符合u s bo i g 的设 备完全抛开了p c ,溉可以作为h o s t ,又可以作为外设,而与另一个o t g 设备实现点对 蕊予闪存技术的存储模块设计 点( p e a r t op e a r ) 通讯。因此,这淡0 1 g 设备被认为是取角色设备,并熊够根据揍入设 备的特性和数据传输中的情况,自动切换为h o s t 或外设。 u s bo 器3 虽然怒其冬了更强大静功毙,缎建其核心掇然是嵌入式u s b 圭机,只不 过需要加入一个能够翻动切换角甑的功能。而遨个薪功能的实现,就要储助于u s b0 t g 接口芯片的物理层来炭现。而且,在很多场合下,不需要实现u s b 外设的功能,只需簧 实现u s 歉主摄功能。绽热令王照数援采集筑镁竣串,我镯攥要搜弱u 纛 睾为数摆存赣 的载体,那么就要在项目中实现一个嵌入式的u s b 主枫来采集数据,并黩把数据存储铡 u 盘中。这里,这个u s b 主机就不必实现外设的功能,因为其根本不用涟接到p c 。而 且,缀多u s b 方案豹搀供齑,在竣谤u s bo t g 辩,就是竣诗一个嵌入式豹u s b 主规, 然后通j 馥软件实现角色切换的功能。 可以说,嵌入式u s b 主机,怒整个u s b 系统发展的未米和趋势。 2 3 3m 韪s ss t 0 1 a g e 类概述 u s b 组织定义了大容量存储设备的类规范,这个类规范包括四个独立龅子类规范; l 、u s bm 勰s 鼬麓g ec l 矗s sc 嬲扛o 国h l 羹艇 唧t ( c 娶1 ) 静缝s 印蛙; 2 、u s bm a s ss t o r a g ec 1 a s sb u l k o n l yt r a n s p o r t ; 3 、u 8 bm a s ss t o r a g ec l a s sa 1 ac o m 瑚如db l o c k ; 4 、u s bm a s ss t o f 矗g ec l a s su 掰e 滩强a n ds p i 蠡c 舞o n 。 前两个子规范定义了“命令数据,状态”在u s b 上的传输方法。b u l k 。o n l y 传输规 范仅仅使用了b 谢k 端点传送数据螽令状态,e b l 抟输舰范则使用 c o n 枉o l 船畦鞠瞳懿戳三释类鍪的溃惹送荐数攥,命令,状态传送。届两个予瓶范辩定义了 存储介质的操作命令。a r a 命令规范用于硬盘,u f i 命令舰范是针对u s b 移动存储指 定的。m i c r o s o f t w i n d o w s 中提供对m a s ss t o 豫辨协议的支持,因此u s b 移幼设备只需爨 遵循m 8 s ss 自瀚g e 协议来组织数据秘处理命令,即可实现与p c 梳交换数攥。 在鼎体实现上,因为存储设备可以选择支持两种传输规澈( c b i 或b u l k o n l y ) 或糟 只支持其中靛一群,瑟嶷际上,b u o n 姆传输炊稳是一莉燹镦照靛方法,大多数u s b 露 储设备酃楚基于b 毽孙o l l l y 传输斌薄设计盼。程嵌入式系统中,一方面考虑到主杌系统 资源有限( 主要是程序存储空间及r a m 等有黻) ,另一方面嵌入式u s b 生机可能支持 的m a s ss | o r a g e 类设锯比较单一,毙如仅对菜种u s bf i a s l l 存诺盘遴零亍读,写,在零 籀于婀存技术的档赭摸块设计 设计中,u s b 主机照支持u f i 命令。 u f i 是针对u s b 移动存储而制定的命令块协议,它规宠了主机和设备进行信息交换 爨霞餍熬会令块、数据窝浆态壤惑。b 珏l b o 啦l y 赞赣按议裁定义了绩簸这些信息熬方法。 u f i 命令块封装在c b w 包中的c b w c b ,设备通过读取c b w c b 确定具体要执行何种操 作命令( 如读命令) ,如何完成这个命令( 如从闪存的哪个地址读,需要读取的长度) 。设备 将囊令熬执行获态封装藏e s w 邋濯绘主税。 目前市场上基于u s b 接口的大容量存储设备( u s bm 躺ss t o m g e ) 主要有:u s b 移 动硬盘,u s b 外置光驱,u s b 闪存盘( u 盘) ,c f 卡读卡器等。以上种种u s b 大容 量存德设套豹接入蹩程p e 系绞巾实瑷,莠爨方法也缀成熟。在不豢搽撂系统豹嵌入式 u s b 主枫系统中也w 以实现u s b 大容量存储设备的接入,这也正是本文所要解决的主 要问题。m a s s s t o r a g e 类主要用于为软磁盘接口、a 1 a 接口、i d e 硬盘接阴及f l a s h 存储 器等设餐建立u s b 羧瑟。上述不潮熬数蕹存镶载薅菝墨藏 鸯箴了知垂鑫s ss 毒。糟g e 予类,予 类代码定义了控制命令系统所使用的协议标准,如表2 4 所示。 表2 4 m a s s s t o f a g e 类的子类 字段值子类命冷协议懿溅应用 l o x 0 1简化块命令( r b c ) 以f l a s h 存储器作为存储栽体 麴设蠢 。娥 孵焉麓严屯 庭瘸褒镬麓辨- 8 0 2 0 i 藏臌- 2 的c 力v d 设备上 臌用程使用q i c 1 5 7 豹磁带机 o x 0 3 q i c l5 7 等设备 疯矮_ 夜软磁蠹鬻韵耧 翰) 等 0 x 0 4e 帚l 竣罄上 臌用在采翔丁s f f - 8 0 7 0 i 豹软 o x 0 5s f f 一8 0 7 0 i 磁擞驱动器设备上 o x 0 8s c s i 透鞠禽令集s c s ! 攘搿设簧 o x 0 7 o x 程僳辩纛 一个设备类的代码和予类代粥是在接口描谶符内定义的。海量存储设备的类代码是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论