(微电子学与固体电子学专业论文)便携式异步环回测试仪的实现.pdf_第1页
(微电子学与固体电子学专业论文)便携式异步环回测试仪的实现.pdf_第2页
(微电子学与固体电子学专业论文)便携式异步环回测试仪的实现.pdf_第3页
(微电子学与固体电子学专业论文)便携式异步环回测试仪的实现.pdf_第4页
(微电子学与固体电子学专业论文)便携式异步环回测试仪的实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(微电子学与固体电子学专业论文)便携式异步环回测试仪的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京交 通人学硕 士 学位论文 中文摘要 中文摘要 摘要:随着数据通信技术与网络技术的发展,数据信息网分布越来越广泛。网络 数据通信有其特有的复杂性。网络中的每条通信链路都同时通过多种通信设备, 一旦发生故障,很难分清故障发生点。需要专业检测人员逐个通过软件进行现场 排查,才能确定整个链路中的哪些设备出现问题。这种排查方法造成了检测人员 工作量大,重复性工作多等问题,而且测试工作效率低,对维护人员的技术要求 高,不能正确诊断故障原因并进行误码分析。误码测试仪能很好的协助解决上述 问题。 市面上的误码仪功能齐全,但普遍体积偏大,使用不方便且价格昂贵。本文设 计和实现了一种基于嵌入式l i n u x 系统的便携式低速异步环回误码测试仪。本设计 采用三星公司的$ 3 c 2 4 4 0 芯片作为主控制器,协同d s 2 1 7 2 专用误码芯片、s p 5 0 5 串行接口芯片、l x t 3 6 0e 1 接口芯片及c y c l o n e l if p g a 可编程逻辑器件共同完成 误码仪功能,并通过l i n u x 命令行进行结果显示及人机交互。 本误码测试仪可以完成一般误码测试、h d l c 误码测试、e 1 误码测试以及专 用的业务仿真误码测试。误码测试最高速率可达到2 m b p s ,提供多种伪随机码和 人工码。本文详细介绍了具体的软硬件设计,包括嵌入式l i n u x 底层驱动的开发、 逻辑接口功能设计、误码比对模块设计、用户界面实现以及测试结果管理,并对 设计结果进行了系统验证,表明该误码仪可以完成误码测试,满足系统数据传输 中常见故障检测需求。 关键词:误码仪;d s 2 1 7 2 ;f p g a ;嵌入式l i n u x 驱动 分类号:t n 4 0 2 北京交通人学硕士学位论文 a bst ract a bs t r a c t a b s t r a c t :w i t ht h ed e v e l o p m e n to ft h ed a t ac o m m u n i c a t i o nt e c h n o l o g ya n d n e t w o r kt e c h n o l o g y , t h ed i s t r i b u t e do fd a t an e t w o r kb e c o m em o r ew i d e l y d a t a c o m m u n i c a t i o nn e t w o r kh a si t ss p e c i f i cc o m p l e x i t y e a c hc o m m u n i c a t i o nl i n ki nt h e n e t w o r kh a sb e e nc o n n e c t e dw i t hav a r i e t yo fo t h e rc o m m u n i c a t i o ne q u i p m e n t s i nt h e e v e n to ff a i l u r e ,i ti sd i f f i c u l tt od i s t i n g u i s hw h e r et h ef a i l u r eo c c u r r e d p r o f e s s i o n a ls t a f f a n ds p e c i a ls o f t w a r ei sn e e d e di no r d e rt of i n do u tw h i c hd e v i c e si nt h ec h a i nf a i l t h i s r e s u l t i n gi nm a n yp r o b l e m si n c l u d e sr e p e t i t i v ea n dh e a v yw o r kw h i c hd e c r e a s e st h et e s t e f f i c i e n c ya n di n c r e a s et h et e c h n i c a lr e q u i r e m e n tf o rm a i n t e n a n c ep e r s o n n e l e v e n w o r s e ,i ta l w a y sc a n n o td i a g n o s et h ep r o b l e m sc o r r e c t l y b i te r r o rr a t et e s t e r ( b e r t ) c a nb eag o o dh e l pt os o l v et h e s ep r o b l e m s b e r to nt h em a r k e th a sf u l l yf u n c t i o n a l ,b u ti ng e n e r a lt h e i rs i z ei st o ol a r g ea n d n o tc o n v e n i e n t ,t h e i rp r i c ea r ee x p e n s i v e t h i st h e s i sd e s c r i b e sap o r t a b l ea s y n c h r o n o u s l o o p - b a c kb e r td e s i g nb a s e do ne m b e d d e dl i n u x d e s i g nu s e ss a m s u n g $ 3 c 2 4 4 0a s m a i nc o n t r o l l e r , u s es p e c i f i ce r r o rc h i pd s 217 2 ,s e r i a li n t e r f a c ec h i ps p 5 0 5 ,e 1 i n t e r f a c ec h i pl x t 36 0a n dc y c l o n e l if p g al o g i cd e v i c e st o g e t h e rt oc o m p l e t et h e b e r tf u n c t i o n i t su s el i n u xc o m m a n dl i n et od i s p l a yt h er e s u l ta n dt oa c h i e v e h u m a n c o m p u t e ri n t e r a c t i o n t h eb e r tc a nc o m p l e t et h eg e n e r a lb i t - e r r o rt e s t ,h d l cb i t - e r r o rt e s t ,e1b i t e r r o r t e s ta n ds p e c i f i cs i m u l a t i o no fb u s i n e s sb i t - e r r o rt e s t b e r t sm a x i m u mt e s t i n gr a t ei s 2 m b p s ,o f f e r sav a r i e t yo fp s e u d o r a n d o mc o d ea n dm a n u a lc o d e t h i st h e s i si n t r o d u c e s t h eh a r d w a r ea n ds o f t w a r eo ft h i sd e s i g ni nd e t a i l ,i n c l u d i n ge m b e d d e dl i n u xd r i v e r d e v e l o p m e n t ,l o g i c a li n t e r f a c ef u n c t i o n a ld e s i g n ,b i te r r o rc o m p a r em o d u l ed e s i g n ,u s e r i n t e r f a c ed e s i g na n dt h et e s tr e s u l t sm a n a g e m e n td e s i g n d e s i g nw a sv e r i f i e di nt h e s y s t e ml e v e l ,i n d i c a t i n gt h a tt h eb e r tc a l lw o r kc o r r e c t l ya n dm e e tt h et r a n s m i s s i o n 。s y s t e m sr e q u i r e m e n t si ne r r o rd e t e c t i o n k e y w o r d s :b e r t ;d $ 21 7 2 ;f p g a ;e m b e d d e dl i n u xd r i v e r c l a s s n o :t n 4 0 2 1 v 致谢 本论文的工作是在我的导师周晓波教授的悉心指导下完成的,周晓波教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来 周老师对我的关心和指导。 周晓波教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向周老师表示衷心的谢意。 在实验室工作及撰写论文期间,耿立华师兄、丁萍工程师对我论文中的研究 工作给予了热情帮助,在此向他们表达我的感激之情。另外也感谢家人,他们的 理解和支持使我能够在学校专心完成我的学业。 北京交通大学硕+学何论文引言 1 引言 1 1课题研究背景 近年来,随着信息技术及通信技术的飞速发展,数字传输应用的范围越来越 广,数据的传输速率也有了大幅度的提高,随之而来的是对通信设备的性能要求 的不断提高。可靠性和有效性是标志一台通信设备的两个重要指标。可靠性可以 用误码率的高低来衡量,而有效性可以用信息传输的速率来衡量。在数据传输速 率固定的情况下,系统误码率的高低就成为了系统性能好坏的标志【lj 。误码仪正是 用于测试系统误码率的重要设备,其常使用伪随机码作为测试设备的激励信号, 经过信道传输后检测其输出响应,用响应信号与激励信号进行比较从而统计出误 码个数并计算出误码率【2j 。 误码仪被广泛应用于数字通信传输系统的工程施工、同常维护、工程检测、 工程验收及科研测试中。在实际工程中,网络维护人员常常会遇到网络设备连接 不通、接收不到通信数据、网络不匹配、通信线路误码率高等问题。这时一台体 积轻巧、人机交互界面操作方便、接口丰富、成本低廉的手持误码仪便成了网络 维护人员必不可少的测试设备,给实际工程应用带来了许多便利。 在便携式设备领域,嵌入式l i n u x 的应用越来越广泛。嵌入式l i n u x 以其稳定 高效、内核源码丌放、丰富的外围设备支持、优良的设备驱动体系、支持多种g u i 等诸多特点,得到了广大研发人员及编程爱好者的青睐【3 j 。其具备一整套免费工具 链的支持,传统的嵌入式开发的程序调试是使用仿真器实现的,价格普遍比较昂 贵,而基于l i n u x 搭建的交叉开发环境可以跨越传统嵌入式系统丌发中仿真工具的 障碍,从而节约一笔不小的研发费用。嵌入式l i n u x 利用g n u 的g c c 、0 1 7 1 1 1 一l i n u x g c c 做编译器,g d b 做调试工具,可以方便的实现从内核到应用层各个级别的调试。 现场可编程阵列( f p g a ) 在许多嵌入式设备的设计开发中备受青睐。f p g a 开发具有设计灵活、可靠性高、设计周期短、器件工作速度快、节约成本等优点。 硬件描述语言( h d l ) 能够很好的完成电路描述功能,并且能够综合出电路,进 行功能及时序仿真。v e r i l o g 是硬件描述语言的一种,简单易懂,被广泛使用。现 代通信系统中,越来越多的各层协议功能被集中在f p g a 内部实现,从而使系统 的集成度有了进一步的提高。本课题使用f p g a 进行数据成帧及接口功能是比较 合适的设计方案1 4 5 j 。 北京交 通火学硕+学位 论文引言 1 2 课题来源及意义 本课题来源于某民航研究所。随着民航空管数据网与卫星网业务的增长,各 地区空管部门运维的网络设备越来越多。空管网涉及全国各个地区,网络中的每 条通信链路都同时通过多种通信设备,一旦发生故障,很难分清故障发生点。这 就需要专业检测人员逐个通过软件进行现场排查,才能确定整个链路中的哪些设 备出现问题。这种排查方法造成了检测人员工作量大,重复性工作多等问题,而 且测试工作效率低,对维护人员的技术要求高,不能正确诊断故障原因并进行误 码分析。 针对以上问题,本课题决定研究开发“便携式异步环回误码测试仪”。误码测 试仪主要用于测量通信系统的误码率,从而达到检验通信系统可靠性的目的,是 一种非常实用的电子测量仪器。国外设计生产的误码仪产品功能较完善但价格极 为昂贵,自行开发的便携式通信测试仪器以运行维护和现场施工使用为目的,不 强调追求测试功能的完备性,而是重点考虑仪器的方便性和实用性。本误码仪的 设计采用d a l l a s 公司的误码测试专用芯片d s 2 1 7 2 、三星公司的$ 3 c 2 4 4 0 处理 器、以及a l t e r a 公司的c y c l o n e i if p g a 联合设计,支持h d l c 帧业务测试功能、 2 me 1 帧业务测试功能和多种空管业务仿真功能,结构清晰,性能稳定可靠,性 价比较甜6 1 。 1 3 本文主要研究内容及章节安排 本文所基于的课题将对嵌入式l i n u x 底层驱动丌发、误码仪控制程序、误码比 对芯片d s 2 1 7 2 的使用、部分f p g a 逻辑设计、基于l i n u x 命令行的简单人机交互 界面进行多方而的研究,力求将整个误码仪设计介绍清楚。 围绕论文,本人主要做了以下几个方面的工作: 1 、完成了查阅项目相关资料工作,认真研读的d s 2 1 7 2 芯片手册以及$ 3 2 4 4 0 的数据手册。 2 、参与完成了误码仪功能及指标的定制工作。 3 、完成了$ 3 c 2 4 4 0 的l i n u x 底层g p i o 通用驱动、a d c 驱动的编写及调试工 作。 4 、完成了嵌入式l i n u x 操作系统下误码仪的控制程序的制定与编写。 5 、完成了f p g a 逻辑设计中接口部分。 6 、完成了基于l i n u x 命令行的简单人机交互界面的程序编写。 7 、完成了软硬件系统的调试工作以及系统功能的改进和扩展。 北京交 通 大学硕+学 位论文引言 文章的组织结构: 第1 章引言部分介绍了论文选题的背景及其意义,并对文章的研究内容和组 织安排做了简要的阐述。 第2 章介绍了误码测试原理以及系统设计的总体方案。 第3 章介绍了基于$ 3 c 2 4 4 0 的嵌入式l i n u x 操作系统底层驱动的开发。 第4 章介绍了f p g a 逻辑接口部分的设计。 第5 章介详细绍了括误码比对模块的设计过程、人机交互界面的设计过程、 误码仪控制程序的控制流程、对测试文件的保存管理。 第6 章给出了误码检测功能测试并对本设计所做的工作进行了总结和展望。 北京交通火学硕士学位论文系统总体方案及结构分析 2 系统总体方案及结构分析 2 1 误码检测原理及性日a g 匕丁4 日m 标 2 1 1误码检测原理 误码检测的基本原理是将经过被测系统的码型序列和原码型序列进行逐位比 较,从而得到误码数,然后再用误码数除以发送码元的个数得到被测信道的误码 率。基本原理如图2 1 所示。这里的被测系统指的是广义的信道,因而检测误码可 以测量出整个被测系统的传输性能。误码测试系统主要由发送模块( 测试码产生 器) 和接收模块( 误码检测) 组成。发送模块产生伪随机码作为测试的信号,测 试信号经过信道传输后到达接收模块,接收模块与其本地产生的比特流进行比较, 记录误码结果,从而完成误码测试【弗j 。 ? 测鎏璺产0 赢 生器j i 二:。! j信道 ? 一接收没各! i - i 误码检测 。亟系 一二二i 图2 1 误码检测的基本原理 f i g u r e2 - 1e r r o rd e t e c t i o nb a s i cp r i n c i p l e 2 1 2常见误码性能指标 在误码测试中,常遇到的误码性能事件如下: 1 误码( e b ) :有一个或多个比特差错。 2 误码秒( e s ) :有一个以上误码或至少一个缺陷的一秒周期。 3 严重误码秒( s e s ) :包含3 0 的误码或至少一个缺陷的一秒周期,它是误 码秒的子集。 4 背景误码( b b e ) :在s e s 之外发生的误块。 常用到的误码性能参数如下: 1 误码秒比:在一个确定的测试期间,在可用时间内,e s 和总秒数之比。 2 严重误码秒比:在一个确定的测试期问,在可用时间内,s e s 和总秒数之 4 北京交通人学硕+ 学位论文系统总体方案及结构分析 比。 3 背景误码秒比:在一个确定的测试期间,在可用时间内,背景误码与总码 数扣除s e s 中的所有码后剩余码数之比。 2 2 伪随机序列 伪随机序列在误码检测中有着及其重要的地位,经常被选为误码测试序列。 这种码型随机性强,便于重复产生和处理,拥有与随机信号相近似的统计特性, 且其各码组之间相关性弱,有较强的抗干扰能力 9 】。 m 序列是一种常用的伪随机序列,其通常由反馈移位寄存器电路产生。图2 2 给出了一个反馈移位寄存器电路的结构模型。图中的序号1 ,2 ,3 ,n 是寄存 器的编号,a “( i 一1 ,2 ,n ) 是各寄存器的状态,c i ( i 1 , 2 ,n ) 对应的是寄 存器的反馈系数( 其中,c i = 0 表示该级寄存器不参加反馈,c ,= 1 表示该级寄存器 参加反馈) 。 图2 - 2 反馈移位寄存器结构模型 f i g u r e2 - 2t h es t r u c t u r em o d e lo ft h ef e e d b a c ks h i f tr e g i s t e r 移位寄存器的反馈函数如式2 1 所示: a k = c l a k 一1 + c 2 a k 一2 + + c n a t 一刀 ( 2 1 ) 式2 1 是一个线性的递归函数。当反馈系数c i ( i _ l ,2 ,n ) 以及级数n 确定 后,就意味着反馈移位寄存器的输出序列也确定了。其输出序列是一个周期序列, 序列特性由移位寄存器的初始状态、级数、反馈逻辑以及时钟速率所决定。当移 位寄存器的级数及时钟确定后,输出序列就由移位寄存器的初始状态及反馈逻辑 完全决定。 m 序列有以下几个特点 1 0 】: 1 均衡性 北京交通大学硕十学位论文系统总体方案及结构分析 在m 序列一个周期内,“1 ”和“0 ”的个数基本相等。严格的说,在m 序列 的一个周期中,“0 ”的个数比“1 ”的个数少一个。 2 随机性 一般来说,伪随机序列中取值连续( 连续的“0 ”或“1 ”) 的一段码位被称作 一个游程。游程中连续相同的位数就是游程的长度。连续值为“0 ”的游程被称作 “0 ”游程,连续值为“1 ”的游程被称作“1 ”游程。在一个m 序列周期内,共包 含2 ”一1 个游程。此外,在m 序列中,长度为l 的游程占游程总数的一半;长度为 2 的游程占游程总数的1 4 ;依此类推,长度为k 的游程数目占游程总数的2 ,其 中1 k ( n 2 ) 。 3 线性叠加性 一个m 序列m p 与其经任意次迟延移位产生的另一不同序列m r ,模2 相加, 得到的仍是m p 的某次迟延移位序列m s 。 4 伪噪声特性 当周期长度p 足够大时,m 序列与随机序列十分相似。 2 3 系统总体设计方案 2 3 1功能指标 本误码仪要实现的测试功能包括四种,分别是一般的误码测试,h d l c 帧业 务测试,2 me 1 帧业务测试和民航业务仿真测试功能。具体指标如表2 1 所示。 接口方式v 2 4 、v 3 5 、x 2 1 、r s 4 4 9 、r s 一4 8 5 、e i a 。5 3 0 、 误 e i a 5 3 0 a 接口模式 d t e d c e 码传输方式 同步异步 发送时钟方式跟踪时钟内部时钟 测时钟沿选择 上升沿下降沿 支持速率 3 0 0 2 0 4 8 k b p s 所有可用速率 试 测试图案p r b s 6 2 3 0 1 0 1 1i n4 1i n8 a l l0 s a l l1 s 误码插入禁插10 e 一1 7 告警信息 l o s ( 秒) l o p ( 秒) s l p e b ( 秒) 统计信息误码数_ 误码率收发数滑码数波特率 北京交通大学硕士学位论文系统总体方案及结构分析 接口方式 g 7 0 3 2 m b 帧格式p c m 3 1 p c m 3 1 c p c m 3 0 p c m 3 0 c 无帧格式 2 m 发送时钟方式恢复时钟内部时钟 e 1 时隙选择支持时隙选择 帧 测试图案 p r b s 6 2 3 0 1 0 1 1i n4 1i n8 a 1 10 s a l l1s 业 空闲码型 0 x 7 e o x f f 务 信号编码 h d b 3 a m i 测 误码插入禁插1 0 e 1 7 试 告警信息 l o s ( 秒) l o f ( 秒) a i s ( 秒) r a ( 秒) e b ( 秒1 s l p 统计信息误码数误码率收发数滑码数 f a s e r r c r c e r r e b i t e r r 接口方式 v 2 4 、v 3 5 、x 2 1 、r s 4 4 9 、r s 4 8 5 、e i a 5 3 0 、 e i a 一5 3 0 a 接口模式 d t e d c e h 发送时钟方式跟踪时钟内部时钟 d 时钟沿选择上升沿下降沿 l 支持速率 3 0 0 2 0 4 8 k b p s 所有可用速率 c 地址控制用户可输入的 帧 b y t e 业 h d l c 帧大小 4 8 1 6 6 4 1 2 8 2 5 6 5 1 2 1 0 2 4 b y t e s 务 h d l c 帧问隔 4 8 1 6 6 4 1 2 8 2 5 6 5 1 2 1 0 2 4 b y t e s 测 测试图案 p r b s 6 2 3 0 1 0 1 1i n4 1i n8 a 1 10 s a l l1 s 试 空闲码型o x 7 e 0 x f f 误码插入禁插1 0 e 1 - 7 告警信息 l o s ( 秒) l o p ( 秒) e b ( 秒) s l p 统计信息误码数误码率收发数滑码数发收a b o r t c r c e r r 帧数 民接口方式v 2 4 、v 3 5 等 航 接口模式 d t e d c e 仿 发送时钟方式跟踪时钟内部时钟 真 仿真业务雷达转报气象 表2 1 误码仪各测试项目指标 t a b l e2 1e r r o ri n s t r u m e n tp e r f o r m a n c ei n d e x 7 北京交通人学硕士学位论文系统总体方案及结构分析 2 3 2总体方案 根据功能指标需求,可以把误码仪分为处理器部分,f p g a 部分,接口部分, 误码比对部分和其他部分几大模块。图2 3 为设备总体方案设计框图。 图2 - 3 误码仪总体设计框图 f i g u r e2 - 3e r r o ri n s t r u m e n to v e r a l ld e s i g nd i a g r a m 其中处理器部分是系统的核心,主要负责系统中各器件的调度和控制;f p g a 部分也是系统的核心部分,主要负责测试模式和测试数据的处理;接口部分包括 s p 5 0 5 芯片和l x t 3 6 0 芯片,负责与不同接口类型的设备进行接口信号处理;误码 比对部分负责测试数据的产生,误码比对以及误码结果的统计,由d s 2 1 7 2 芯片实 现;其他部分包括电源,锁相环,按键,l e d 显示灯,显示屏和存储器等组成, 主要负责电源提供,时钟处理,测试设置输入和测试结果输出等功能。 “一般误码测试功能”的实现原理较为简单,在处理器的控制下,f p g a 接收 d s 2 1 7 2 产生的测试数据,并将接收的数据传递给接口芯片s p 5 0 5 ,经过相应的接 口信号处理,将数掘信号发给待测设备。待测设备将经过测试的数据传回来,再 经过s p 5 0 5 芯片的接口信号处理后,传递给f p g a ,f p g a 再将此数据传给d s 2 1 7 2 芯片,d s 2 1 7 2 对发送和接收的数据进行比对,产生误码测试结果。 “h d l c 帧业务测试功能”的实现原理是,在f p g a 中将d s 2 1 7 2 产生的测试 数据先封装成h d l c 帧,然后通过s p 5 0 5 芯片发送给待测设备。同时,f p g a 将 接收到的数据先经过h d l c 帧的解封装后再传递给d s 2 1 7 2 ,d s 2 1 7 2 芯片在将发 北京交通大学硕十学位论文系统总体方案及结构分析 送和接收的数据进行比对,产生误码测试结果。此外,各种帧告警和帧统计信息 则是在f p g a 中检测的。 “e 1 帧业务测试功能”与h d l c 帧业务测试功能的实现原理十分相似,在处 理器的控制下,f p g a 将d s 2 1 7 2 产生的数据先封装在选择的时隙中,然后将e l 帧发送给接口芯片l x t 3 6 0 ,同时,f p g a 将l x t 3 6 0 接收到的e 1 帧数据解析出 来,传递给d s 2 1 7 2 进行比对,产生测试结果。此外,各种帧告警和帧统计信息则 是在f p g a 中检测的。 “民航业务仿真功能”的实现原理则是,通过编程的方式将仿真业务的数据 存放在f p g a 的r o m 中( 由于仿真业务的数据量可能会相当大,所以可能会外置 f l a s h ) ,当需要对某种业务进行仿真时,则f p g a 将数据从r o m 中依次读出到测 试端口s p 5 0 5 即可。 为了提高民航业务仿真功能的灵活性,本课题还制定了另一种实现方式。如 图2 - 4 所示,用户可以将要仿真的数据预先存储在误码仪设备的s d 卡中,然后处 理器会自动的与s d 卡接口,将s d 卡中的数据中转给f p g a ,f p g a 将仿真数据 暂存在内嵌的r o m 中,然后等有发送需求的时候,将暂存的数据发送出去即可。 这种实现方式的关键和难点是处理器与s d 卡的接口,处理器与f p g a 的接口,以 及这两个接口之间的协同工作。 用 图2 _ 4 民航业务仿真功能原理框图 f i g u r e2 - 4c i v i la v i a t i o nb u s i n e s ss i m u l a t i o nf u n c t i o np r i n c i p l ed i a g r a m 2 4模块结构分析 2 4 1处理器部分 处理器是系统的核心器件之一,主要负责对系统进行协调和控制,包括l e d 显示屏和指示灯的显示,按键命令的接收,向f p g a 和d s 2 1 7 2 发送控制指令,以 及接收f p g a 和d s 2 1 7 2 处理后的数据或告警信息。 本设备中处理器部分拟使用三星公司的$ 3 c 2 4 4 0 处理器,嵌入l i n u x 操作系统。 $ 3 c 2 4 4 0 a 是韩国三星公司的一款基于a r m 9 2 0 t 内核的1 6 3 2 位r i s c 嵌入式 9 北京交通人学硕十学位论文系统总体方案及结构分析 微处理器,主要面向手持设备以及高性价比、低功耗的应用。运行的频率可以达 到2 0 3 m h z 。a r m 9 2 0 t 核由a r m 9 t d m i ,存储管理单元( m m u ) 和高速缓存三 部分组成。其中m m u 可以管理虚拟内存,高速缓存由独立的1 6 k b 地址和1 6 k b 数据高速c a c h e 组成。嵌入式操作系统开发平台拟采用o p e ne m b e d d e d 开发环境, 内核升级到l i n u x 2 6 3 8 。在此操作系统的基础之上,开发相应的驱动程序完成对底 层器件的驱动控制,同时开发相应的应用程序,实现友好的人机交互界面。图2 。5 是本设备中处理器部分软硬件开发层次。 人机交互 愿瑟嚣释 图2 5 误码仪处理器设计示意图 f i g u r e2 - 5e r r o ri n s t r u m e n tp r o c e s s o rd e s i g ns c h e m e s 2 4 2f p g a 部分 f p g a 也是系统的核心器件,主要负责各时钟和数据信号的处理,包括各接v i 芯片所需时钟信号的产生,多个数据链路的选择,h d l c 帧与e 1 帧的封装和解封 装以及异步数据的处理。此外,f p g a 还要负责与处理器进行接口,接收处理器的 配置命令,并将测试状态和结果发送给处理器。f p g a 的开发要使用q u a r t u s l i 软 件进行v e r i l o g 编程来实现【9 1 。 北京交通人学硕+ 学位论文系缝璺堡查塞墨堕塑坌塑 嘲 到 基 辩 藿薹 基盘 魏 图2 6 误码仪f p g a 没计不意图 f i g u r e2 - 6e r r o ri n s t r u m e n tt h ef p g ad e s i g ns c h e m e s f p g a 的设计示意图如图2 - 6 所示,可分为处理器接口部分,s p 5 0 5 接口部分, l x t 3 6 0 接口部分,d s 2 1 7 2 接口部分以及l e d 显示部分。处理接口部分负责接收 处理器的配置命令,并将测试状态和结果发送给处理器;s p 5 0 5 接口部分负责异步 数据的封装解析,h d l c 帧数据的封装解析,接口数据选择,接口时钟产生选择 以及s p 5 0 5 芯片控制等工作;l x t 3 6 0 接口部分主要负责e l 帧的封装和解析,通 信时钟的产生和选择,以及对l x t 3 6 0 芯片的控制等工作;d s 2 1 7 2 接口部分负责 与误码比对:枣片d s 2 1 7 2 进行接口,根据所测业务的不同,选择d s 2 1 7 2 发送和接 收所需的时钟信号,并选择对应的数据通路;l e d 显示部分主要负责将通信信号 的状态通过l e d 灯显示出来。 北京交通大学硕士学位论文系统总体方案及结构分堑 2 4 3接口部分 接口部分主要分为一般数据接口和e 1 帧数据接口,前者使用接1 5 1 芯片s p 5 0 5 来实现,后者则使用l x t 3 6 0 芯片来实现。 接口芯片s p 5 0 5 主要负责与v 2 4 、v 3 5 、x 2 1 、r s - 4 4 9 、r s 一4 8 5 、e i a - 5 3 0 、 e i a 5 3 0 a 等接口的数据业务进行接口,即将这些不同业务的数据和时钟信号转换 成f p g a 可用的t t l 电平信号,并将f p g a 产生的t t l 信号转换成对应的接口信 号。在处理器的控制下,它可以实现各种接口类型了选择,以及d t e 和d c e 模 式的切换。接口芯片l x t 3 6 0 主要是实现与e l 业务的接口,它可以将h d b 3 编码 的e 1 信号转换成t t l 电平,并可以通过h d b 3 编码提取时钟信掣1 0 ,1 。 关于接口芯片s p 5 0 5 和l x t 3 6 0 的详细信息和使用方法,参见s p 5 0 5 d a t a s h e e t ) ) 和( l x t 3 6 0d a t a s h e e t ) ) 。 2 4 4数据比对部分 本设备中数据比对部分是使用d s 2 1 7 2 芯片来实现的。数据处理芯片d s 2 1 7 2 主要负责测试数据产生以及数据比对的功能,它可以提供多种的数据码型,包括 p r b s 6 2 3 、0 1 0 1 、1i n4 、1 i n8 、a l l0 以及a 1 11 等图案。d s 2 1 7 2 的配置控制以 及误码统计信息的读取都是由处理器来完成的。 关于误码芯片d s 2 1 7 2 的详细信息和使用方法,请参见( ( d s 2 1 7 2d a t a s h e e t ) ) 。 2 4 5其他部分 设备中的其他部分主要包括电源,锁相环,按键,l e d 显示灯,显示屏和存 储器等。电源部分主要负责为设备提供充足稳定的电源;锁相环负责完成系统时 钟的分频和倍频;按键为用户提供信息输入的接口;l e d 显示灯和显示屏为用户 提供信息输出的接口;存储器为设备提供足够的数据存储和程序运行的空间。 2 5本章小结 本章首先简述了误码测试的原理以及测试中常用到的伪随机序列,然后根据 系统需求制定了总体方案,紧接着对系统的各个模块进行了简单的介绍,系统模 块划分清晰明了。 1 2 北京交通火学硕士学位论文嵌入式l in ux 操作系统的底层驱动开发 3嵌入式l i n u x 操作系统的底层驱动开发 3 1嵌入式l i n u x 驱动程序 3 1 1设备驱动程序的作用 一台计算机系统或嵌入式设备的正常运行离不开软硬件的协同工作。硬件是 系统运行的物理基础及底层实现,是软件运行的平台。一般来说,代码最终都会 转换为硬件上的时序逻辑与组合逻辑。而软件则实现了对硬件的控制,它是一个 指挥中心,告诉硬件如何去工作。设备驱动像一个纽带,连接了软件和硬件,使 得应用软件只需要调用系统软件的应用编程接口( a p i ) 就可以让硬件去完成要求 的工作。驱动程序的本质工作是读写内存和相应的寄存器,但其实现起来却异常 复杂【1 2 - 15 1 。 设备驱动程序主要完成以下功能: 1 申请设备并对其进行初始化,释放不再使用的设备。 2 在硬件寄存器和内核之间传递数据。 3 在应用层与内核层之间传递数据。 4 进行中断处理和错误检测。 3 1 2l i n u x 设备驱动程序的分类 设备驱动针对的不是c p u 核,而是各种存储器和外围设备( 这其中包括c p u 内部集成的存储器和外设) 。l i n u x 将存储器和外设分为三个基础大类 1 3 : 字符设备; 块设备; 网络设备。 字符设备指的是诸如触摸屏、鼠标、磁带驱动器一类的需要按照串行顺序去 访问的设备。而块设备指的是如软驱、硬盘一类的以块为操作单位的使用任意顺 序进行访问的设备。块设备的使用需要经过系统快速缓冲而字符设备不需要。尽 管块设备与字符设备有差异性,但有时候它们的定义也不是那么绝对,如f l a s h 设 备可以当做字符设备来访问,但其也由块设备的特点。 字符设备的驱动程序和块设备的驱动在设计上有很大的区别,但是对于上层 北京交通人学硕十学位论文嵌入式l inux 操作系统的底层驱动开发 应用程序而言,却都是使用统一的文件系统的操作接口r e a d ( ) 、w r i t e ( ) 、o p e n ( ) 、c l o s e ( ) 等函数进行访问。在l i n u x 系统中,网络设备有其特殊性,它并不 对应于文件系统节点,而是有其专用的接口。内核与网络设备的通信跟内核与其 他设备的通信完全不同,有其特有的机制。另外,l i n u x 系统还对于一些复杂设备 定义了独特的驱动体系结构。 3 1 3设备驱动与整个软硬件系统的关系 如图3 1 所示,除网络设备以外,字符设备和块设备都被映射到l i n u x 文件系 统的文件和目录,通过文件系统调用接e lo p e n ( ) 、w r i t e ( ) 、r e a d ( ) 、c l o s e ( ) 等函数即可访问字符设备和块设备。所有字符设备和块设备都被统一的呈现给用 户。块设备比字符设备要复杂得多,在块设备上需要建立一个磁盘f l a s h 文件系统, 如f a t 、e x t 3 、y a f f s 、j f f s 等。f a t 、e x t 3 、y a f f s 、j f f s 等不同格式个文件 系统规范了文件和目录在存储介质上的存储形式及访问方式。 图3 1l i n u x 设备驱动与整个软颀件系统的关系 f i g u r e3 1r e l a t i o n s h i po f t h el i n u xd e v i c ed r i v e r ,s o f t w a r ea n dh a r d w a r es y s t e m 上层应用程序可以使用l i n u x 的系统调用接口编程,也可以使用c 库函数, 1 4 北京交通大学硕士学位论文嵌入式l in ux 操作系统的底层驱动开发 出于代码移植性的考虑,后者更值得推荐。c 库函数本身也通过系统调用接口而实 现,如c 库函数中的f o p e n ( ) 、f f e a d ( ) 、f w r i t e ( ) 、f c l o s e ( ) 分别会调用操作 系统a p i 的o p e n ( ) 、r e a d ( ) 、w r i t e ( ) 、c l o s e ( ) 函数。 3 1 4字符设备驱动程序的框架及关键数据结构 在l i n u x 系统中,字符设备驱动主要由以下几个部分构成 1 6 】: 1 字符设备驱动模块加载与卸载函数 通常习惯将设备定义为一个与设备相关的结构体,此结构体包含该设备对应 的c d e v 、私有数据及信号量等信息。字符设备在其驱动模块加载函数中实现设备 号的申请和c d e v 的注册,而在卸载函数中实现设备号的释放和c d e v 的注销。下面 给出了常见的设备结构体的函数实现以及模块加载和卸载函数的实现模板: s t r u c tc d e vn c d e v 结构体,用于描述字符设备 s t r u c tk o b j e c tk o b j ;内嵌的k o b j e c t 对象 s t r u c tm o d u l e * o w n e r ;所属的模块 s t r u c tf i l e o p e r a t i o n s * o p s ;文件操作结构体 s t r u c tl i s t h e a dl i s t ; d e vtd e v ;设备号 u n s i g n e di n tc o u n t ; ) s t r u c tx x xd e vt 设备结构体 s t r u c tc d e vc d e v ; x x x _ d e v ; 设备驱动模块加载函数 s t a t i ci n t i n i tx x xi n i t ( v o i d ) 、 c d e vi n i t ( & x x x d e v c d e v , & x x x _ f o p s ) ;初始化c d e v x x x d e v c d e v o w n e r = t h i s _ m o d u l e ; 申请字符设备号 i f ( x x xr n a jo r ) 1s 北京交通大学硕士学位论文嵌入式l in ux 操作系统的底层驱动开发 e l s e ) r e g i s t e r c h r d e v _ r e g i o n ( x x xd e v n o ,1 ,d e n 舅a m e ) , a l l o c _ c h r d e v r e g i o n ( & x x x _ d e v _ n o ,0 ,1 ,d e n 奠a m e ) ; r e t = c d e v _ a d d ( & x x x _ _ d e v c d e v , x x x _ d e v _ n o ,1 ) ;向系统注册设备 ) 设备驱动模块卸载函数 s t a t i cv o i d e x i tx x x _ e x i t ( v o i d ) u n r e g i s t e r c h r d e v _ r e g i o n ( x x x _ d e v _ n o ,1 ) ;释放占用的设备号 c d e v _ d e l ( & x x x _ d e v c d e v ) ;注销设备 , 在c d e v 结构体中,d e vt 成员定义了3 2 位的设备号,其中高1 2 位为主设备号, 低2 0 位为次设备号。可以使用m a j o r ( d e vtd e v ) 和m i n o r ( d e vtd e v ) 宏获 得主设备号和次设备号。而使用m k d e v ( i n tm a j o r , i n tm i n n o r ) 宏通过主设备 号和次设备号生成设备号d e vt 。 另外,需要提到的是r e g i s t e r c h r d e v _ r e g i o n ( ) 函数用于已知起始设备的设备 号的情况,而a l l o cc h r d e vr e g i o n ( ) 用于设备号未知,向系统动态申请未被占用 的设备号的情况。r e g i s t e r c h r d e v _ r e g i o n ( ) 与a l l o cc h r d e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论