数字机顶盒的以太网接入设计与实现(可编辑)
华中科技大学
硕士学位
数字机顶盒的以太网接入设计与实现
姓名:夏华锋
申请学位级别:硕士
专业:微电子学与固体电子学
指导教师:刘卫忠
20060510华中科技大学硕士学位论文
摘 要
有线电视数字化在全国各地大中城市正如火如荼的开展,作为数字电视终端设备
的数字机顶盒也得到蓬勃发展,其已不只是~台用来接收数字电视节目的转接器,用
户还可以通过机顶盒享受视频点播、上网浏览、电子邮件、游戏互动等等综合业务。
基于此需求,作者在数字机顶盒上设计实现了以太网接入功能。
本文依据项目研发过程展开,依次从硬件设计、软件设计和系统集成几方面探讨。
在硬件设计部分,首先对数字机顶盒技术做出了简单介绍,着重介绍了作者研发
中的基于公司芯片的数字机顶盒平台。然后介绍了目前
国内市场上流行的嵌入式以太网接入的解决
,并着重介绍了作者采用的基于
公司芯片的嵌入式以太网接入方案。最后从硬件电路连接、地
址空间及控制时序的配置两方面来介绍具体的硬件集成。
在软件设计部分,作者从底层开始,首先探讨了所选用的以太网控制器驱动程序
的设计,该部分的主要
参考源代码中该控制器的驱动程序而完成。然后探
讨了嵌入式肿协议栈的设计实现,目标是在完成、、、、
基本协议的基础上设计成一个可根据需要扩展的协议栈。最后在完成硬件架构和底层
软件的基础上,设计了基于以太网接口下载升级机顶盒应用程序的应用层软件。
在系统集成部分,作者介绍了在实际开发调试中所作的一些主要测试项目及测试
方案,并对系统实现的功能、性能进行了分析,还对该系统中有待完善的地方做出了
说明。
关键词:机顶盒 以太网接入 以太网控制器 协议栈 系统集成华中科技大学硕士学位论文
,.
,
??,,, .,
. .
. .. . ,
./ .. 、、、
、 ,,
. .
., .
:
.
独创性声明
本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工
作及取得的研究成果。尽我所知,除文中已标明引用的内容外,本论文不
包含任何其他人或集体已经发表或撰写过的研究成果。对本文的研究做出
贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明
的法律结果由本人承担。
学位论文作者签名:百年癍
如。,年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:
学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许
论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部
分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段
保存和汇编本学位论文。
保密口,在 年解密后适用本授权书。
本论文属于 /
不保密翻。
请在以上方框内打“?”
学位论文作者签名:
弘疬
:篡智‖一 ‖确年厂月日’
’年月日
华中科技大学硕士学位论文
绪 论
.课题背景
随着科学技术特别是数字技术的迅猛发展,人类社会已进入数字化、信息化时代,
世界各国都在加快数字化进程。我国推进广播电视数字化是科技发展的必然趋势,是
国民经济和社会发展的必然要求,是现代生活的必然选择,是国家信息化、城市现代
化的重要标志。广播电视数字化已被国家列入“十五”
,并被纳入正在制定的国家
中长期科技发展规划。从我国国情出发,以较短的时间和较低的成本,推进有线电视
数字化整体转换,是与时代同进、与世界同步的大趋势。根据我国有线电视向数字化
过渡时间表规定,在今后一个时期,全国将分为东部、中部、西部不同地区,按
年、年、年、年四个时段,以普及数字机顶盒的方式,分区、分片把
有线网络的模拟电视用户整体转换为数字电视用户。整体转换后,广大用户将会享受
到图像更清晰、内容更丰富,更具专业化、个性化、多样化的有线数字电视综合服务。
作为数字电视终端设备的数字机顶盒在有线电视数字化进程中也得到了蓬勃发
展,其己不再只是一台用来接收数字电视节目的转接器,而是逐渐向能满足用户娱乐
与消费、信息获取的家庭多媒体网关的方向发展。通过数字机顶盒,用户不仅可以收
看高品质数字电视节目,还可以享受视频点播、上网浏览、电子邮件、游戏互动等等
综合业务本文正是根据作者为这种具备以太网接入功能的高端数字机顶盒的实现
所作的一些研究工作而成。
.课题的预期目的及系统分析
本课题的总体目标是在基于平台数字机顶盒系统中,增加以太网接口的
硬件支持和可扩展的嵌入式/协议栈的支持,并基于完成的硬件平台和协议栈,
开发上层应用软件。可扩展的嵌入式协议栈指的是协议栈是一种开放结构,
可以在现有子协议的基础上继续丰富,从而支持更多的应用。目前,我们要求嵌入式
/协议栈应该支持 ,地址解析协议、华中科技大学硕士学位论文
,网际协议、
,网际控制报文协议、
,传输
,用户数据报协议、
控制协议子协议,并且要求开发的嵌入式/协议栈及应用程序提
供函数接口,
可以很好的移植到其它方案数字机顶盒系统中。在应用软件的开发上,针对目前的需
要,要求开发通过以太网口升级下载应用程序的应用。
基于对平台数字机顶盒既有功能的研究分析,以太网接入部分的设计主
要有三方面的内容:硬件接口电路及驱动的设计、嵌入式/协议栈的设计实现、
网络应用程序的设计。其中难点和关键在于嵌入式/口协议栈的设计实现,其它
部分都相对简单。各部分的功能描述如下:
硬件接口电路及驱动的设计
这部分主要是硬件平台的搭建,只有搭建好硬件平台,才能进行下一步协议栈和
应用层软件的开发。针对系统对传输速度的要求,我们选用目前市场上流行的/
自适应以太网控制器,其驱动程序的开发借鉴开放源代码下的驱动程序及厂商
提供的应用手册。完成这一步之后,相当于完成了网络中数据收发功能,但对数据的
处理还需要协议栈的支持。
嵌入式佃协议栈的设计实现
在资源相对有限、实时性要求高的嵌入式系统中引入协议,以支持嵌入
式设各接入网络,成为嵌入式领域重要的研究方向。我们需要把传统佃协议在
不违背协议
的前提下加以改进实现,使其实时性得到提高,占用的存储空间尽可
能少,从而满足嵌入式应用的要求。这部分的设计将是整个系统的难点及关键所在。
从开发周期和难易程度考虑,我们不可能完全自行开发,不妨借鉴网络上一些相关源
代码的总体结构来进行修改、裁减完成。完成这一步之后,相当于完成了网络“世界
语”,使得系统可以与网络中的其它网络设备进行通信。
网络应用程序的设计
完成硬件平台及协议栈的基础上,网络应用程序是以太网接入功能最直观的应用
与价值体现。然而,这一步依赖于协议栈的丰富程度协议栈越丰富,可开发出越丰
富的应用。华中科技大学硕士学位论文
硬件设计
.数字机顶盒技术
..数字机顶盒技术概况
数字机顶盒 ,简称是一种扩展电视机功能的新型家用电器,它
能够把卫星直播数字电视信号、地面数字电视信号、有线数字电视信号甚至互联网的
数字电视信号转换成模拟电视机可以接收的信号,使观众可以用现有的模拟电视机收
看数字电视节目,进行交互式数字娱乐、教育和商业活动。根据传输媒体的不同,
可以把数字机顶盒分为卫星数字?机顶盒、地面数字.机顶盒和有线数
字.机顶盒【】,其中有线数字机顶盒是目前我国应用趋势最好的一种同。下面也
主要就有线数字机顶盒技术作出介绍。
在有线数字电视技术中,各类信源在进入有线电视网络前在前端经过了两级编
码:第一级是信源数字化编码,并将所有信源进一步封装成多节目传输流,第
二级是传输用的信道编码。因此,数字电视接收机顶盒将首先从传输层提取信道编码
信号,完成信道解调,然后还原被压缩的数字电视信源编码信号,恢复原始音视频数
据流,同时完成数据业务和交互式多媒体应用的接收和解析,这就是数字机顶盒的基
本功能】。如图?所示数字机顶盒的信号处理流程图。调谐模块接收射频信号并下变
频为中频信号,然后进行/模拟,数字转换变为数字信号,送.
,正交幅度调制解调模块进行解调,输出传输流数
据。解复用模块接收传输流,从中抽出一个节目的
,程序基本流数据,包括视频和音频。解复用模块中包含一个解扰引
擎,可在传输流层和层对加扰的数据进行解扰,其输出是已解扰的。视频
送入视频解码模块,取出视频数据,并对视频数据进行解码,然后输
出到/编码器,编码成模拟电视信号,再经视频输出电路处理输出。音频
送入音频解码模块,取出音频数据,并对音频数据进行解码,输出华中科技大学硕士学位论文
音频数据到解码器,解码器输出立体声模拟音频信号,经音频输出电路处理
输出【,酊。
射频输入 中频
分组
音频 模拟音频
图 数字机顶盒信号处理流程图
通过上面的介绍,我们对数字机顶盒的概念及工作原理有了基本认识,下面作者
将从硬件和软件两方面对数字机顶盒技术进行探讨。
硬件方面
随着微电子技术和系统集成技术的发展,机顶盒硬件结构表现得越来越简洁,现
在流行的数字机顶盒方案都是基于单芯片的数字机顶盒方案,如
公司推出
的基于、数字机顶盒方案,公司推出的基于、
、数字机顶盒方案等等。这类芯片功能强大,不仅集成了强大的
功能和丰富的外围接口,同时完成了数字电视信号的解复用、解码、视音
频编解码等功能,甚至完成了解调功能。同时,一体化数字高频头的推出也进
一步简洁了机顶盒硬件结构,这类高频头集成了调谐器和解调器,支持与上述解码芯
片的无缝连接,如公司的数字高频头【】、公司的
数字高频头等等。图所示是目前典型的基于单芯片解决方案的数字
机顶盒结构图【”。华中科技大学硕士学位论文
、卡接口、
图单片式数字机顶龠系统结构
下面就主要部分作出介绍:
?数字高频头
在有线数字电视系统中,为了信号的有效传输,首先要将输入的数字基带信号经
过编码处理,然后经过滤波、调制、放大,得到模拟射频信号。接收的过程可以看成
与发射的过程是完全反向对称的。在接收端,射频信号经过滤波放大,再与射频本振
信号混频即可得中频信号,?信号经过中频抽样和/解调便可恢复出原始基带信号
。其中数字高频头就是完成这个接收功能的设备。数字高频头是数字机顶
盒系统中的关键设备,其性能直接影响了整机性能。
一体化数字高频头通常由部分调谐和解调部分组成。
部分主要完成下变频工作,将射频信号下变频到解调芯片需要的第一中频
和第二中频.。通常,调谐器将整个频段分为部分:低带
~、中带、高带~以上均指中心频率。射频信
号输入,首先经过带通选择,输出的信号经放大、滤波后与本振发生器口产生的
本振信号频率混频。频率合成器的控制寄存器可通过总线来控制,根据需华中科技大学硕士学位论文
要对其设置相应控制字,这样,频率合成器可产生需要的本振频率。
与输入的射频信号混频后输出中频信号,通过声表面波滤波器滤波,输出
的信号经射随电路到低通滤波器,最后给解调芯片提供第一中频信号输入,解调芯片
一般都支持第一、二中频信号输入,为节约成本通常采用第二中频输入方式。
解调部分主要完成解调和前向纠错陋功能,输出流。射频信号下变频
到中频以后,解调部分将其分为截然不同的两路。为了转化为基带信号,每一路信号
与本振混频从而得到两路相差度的基带信号。中频信号之后,数字?解调首
先完成内部解调的初始化,修正网络传输中信号畸变导致的中频偏移。之后是码元时
钟恢复和/奈奎斯特差分滤波器滤波。为了弥补奈奎斯特差分滤波导致的能量损失,
此时数字开始启控,同时均衡器也开始工作,当载波侦测成功后,内部解交织、
解码、解扰等均开始工作,一旦包头的同步字节反置恢复后,整个解调状态锁定,
此时流输出,解调过程完成【,”。
?单芯片信号处理器
此处的单芯片信号处理器指的是数字机顶盒的 ,片上系统芯
片,此芯片是机顶盒系统的核心。这类芯片功能强大,集成了强大的、
解码器、多层图形引擎、多标准的视频编码器以及视频、音频,通常还集
成了丰富的外围接口,方便系统集成。
?
数字机顶盒系统中,需要以提供内嵌运行时所需的存储空间和内
部解码器对流进行处理时需要的存储空间。
?
数字机顶盒系统中,通常采用存储器存储系统引导程序和工作软件。
?外围接口
数字机顶盒主芯片通常集成了丰富的外围接口,方便了系统集成。如集成总
线接口,提供对数字高频头的控制和连接存储用户信息的存储器;集成可
编程流接,支持与数字高频头输出信号无缝连接;集成
/,通用异步接收/发送器接口,方便了与华中科技大学硕士学位论文
,个人计算机机等其它设备的通信;集成红外接口,以接收遥控设备的控:;
,条
集成卡智能卡接口,以方便连接读卡设各,实现
件接收功能等等。
?外部设备
数字机顶盒主芯片通常也集成了可编程控制的外部总线接口,通过对相应寄存器
的控制,用户可连接多种外部设备,以使其功能更加强大,如连接
,通用串行总线控制器,以实现设备的支持;连接
,电子集成驱动器接口设备,以支持挂接硬盘;连接以太网控制
’
器,以实现以太网接入功能等等。
?音视频处理电路
外围的音视频电路对主芯片输出的音视频信号进行一些处理,如滤波、放大等,
以提供给模拟电视机呈现图像、声音给观众。
软件方面
没有软件对数字机顶盒系统的支持,机顶盒就是一台裸机,不能完成任何功能。
数字机顶盒软件通常采用开放式的模块化结构,如图.所示:
: 硬件 罡’什 。
................................................
图.数字机顶盒软件结构
从底下往上看,整个体系从硬件层到应用层分为以下几个层次:
?硬件抽象层华中科技大学硕士学位论文
通过提炼一些硬件操作的特性,将一些与硬件相关紧密的操作抽象出来,从而将
操作系统和硬件层分开,这使得板级配置包和设备驱动的设计更简洁,有利于
提高软件的可重用性和易移植性‘。
?板级配置包
用于引导操作系统,对操作系统提供板级支持,同时提供一些近设备的驱动。
?实时操作系统
数字机项盒作为一个典型的嵌入式系统,对其操作系统有更高的稳定性和实时性
要求,一般选用实时嵌入式操作系统。实时操作系统主要提供内存管理、任务调度、
】。
时钟管理、资源共享和互斥等功能【
?硬件驱动层
硬件驱动层在实时操作系统和硬件抽象层的基础上实现对硬件设备和接口模块
的控制和管理等。
?中间件
中间件是一种将应用程序和操作系统、硬件细节隔离开来的软件环境,通常它都
是由一些虚拟机器构成的,如虚拟机、虚拟机、虚拟机、
虚拟机等。这使得应用不依赖于特定的硬件平台。目前著名的中间件提供商有:
和。
?应用程序接口层
应用程序接口层是用户应用程序与硬件驱动层、实时操作系统等的软件接口,它
屏蔽了底层操作,为上层应用程序的开发提供方便。
?应用程序
应用程序层是用户应用软件的主体部分,也是软件开发的主要部分之一,与数字
电视机顶盒有关的所有上层功能的实现都在这层完成,如用户界面,用户信息输入输
出控制,节目信息的分析处理和节目操作的管理等等。
..基于单片式数字机顶盒技术
是公司推出的一款用于数字机顶盒的芯片,下
华中科技大学硕士学位论文
面对其功能进行简述【‘:
位 ,,指令,数据,
增强的
;,共享存储接口接口,支持位、“或
的;
可编程的 ,外部存储接口接口,分为个可独 立配置的块,支持,,其中最高可支持
,最高可支持,可支持方式的接口或?
接口,还可支持其它外部设备:
可编程的传输流接口口;
集成 的视频解码器,支持快进、倒退等特技模式: 个显示层,,支持色、色、色显示区域;
支持脯,编码;
.声道解码输出等;
支持一第,层音频解码可选,
个.接、个接口、个卡接口、红外接口、个 接口、接口等等。
由解码芯片及其它外围电路即可组成一台数字机顶盒的硬件部
分。通过
扩展不同的外围设备,可开发出不同种类的数字机顶盒。作者正
是通过在芯
片的接口上扩展以太网络接口来实现机顶盒的以太网接入功能。
公司提供的基于数字机顶盒方案中,在软件方面,实
时操作系统层使用/实时操作系统【】。/是半导体公司为其
定制的实时操作系统,该操作系统具有内存管理、多任务调度
和实时时钟管理的能力,并提供消息队列和信号量两种进程通信方式‘】。/
的最大特点是其内核很小,实时性好,正好适合象机顶盒这样的小型嵌入式系统。
/能够提供复杂的多任务服务如下【,】:
多个任务之间的同步和通信可以通过信号量和消息队列来实现。
事件处理以中断的方式进行,并通过信号量与任务通信。
华中科技大学硕士学位论文
任务所需内存的分配,既可以通过操作系统来管理,也可以由用户自己管理。
任务可以被分配不同的优先级,并根据优先级进行调度。
提供时间函数,用于实现时间计算,延迟等操作。
通过使用/内核为应用程序的开发带来了极大方便,不仅加速了开发
过程,而且使整个软件系统结构清晰、简单。
在软件开发方面,公司提供了集成开发平台,该平台集成了下
,】:
列组件【
汇编和连接器;
运行工具;
仿真器;
生成库文件:
解析二进制的目标代码;
存储器配置工具,配置总线寄存器。
该集成开发平台方便了开发人员进行软件开发和利用仿真器进行调试。
.嵌入式以太网接入技术
..嵌入式以太网接入技术及发展概况
随着网络技术和嵌入式技术的迅速发展,嵌入式系统与以太网的结合是一项很具
有吸引力的项目,嵌入式以太网接入技术的研究成为目前研究的热点。嵌入式以太
网接入技术的实质是在嵌入式系统的基础上实现网络化,使嵌入式系统能够实现网络
通信协议,接入以太网。将嵌入式系统与以太网相结合的想法由来已久,主要的困难
在于当时的以太网在速度和确定性等方面都有很大欠缺,不能满足工业通信网络要
求,另外各种网络通信协议对于嵌入式系统存储器容量和运算速度等要求比较高,当
时的嵌入式系统中除部分位以上的处理器外,都无法达到这一要求。国外对嵌入式
以太网的研究已从理论阶段过渡到开发阶段,许多大公司包括、、
和等在内的数十个公司联合成立了“嵌入式联盟”,来专华中科技大学硕士学位论文
门讨论和制定嵌入式领域的标准和开发相关的技术,共同推动这一市场。目前
美国公司已开发出了针对嵌入式设备因特网解决方案
,嵌入式微型网络技术,公司在接入应用
领域开发出系列单片机,同时如公司开发的,协议栈芯片、公司的
等都为嵌入式的实现和应用系统的开发提供了切实可行的途径。在工
业控制领域,美国公司采用嵌入式以太网研制开发了“以太网,系统”??
?系统,通过以太网对分布在远程设备现场的/进行访问,从而实现对远程
设备的监测和控制。目前国内在基于嵌入式以太网方面的研究并不多见,对工业通
信网络领域的理论研究局限于现场总线网络上,但是各种现场总线之间不能互相兼容.
不仅通信介质是专用的,而且通信协议、配套软件和硬件都要专门设计。与之相比,
若采用嵌入式以太网,只要将嵌入式设备连接到以太网,就能很方便的实现监控功能,
其意义如下:
监控设备集网络服务器、信号转换、采样及通信功能于一体、结构简单、体
积微小,因而系统具有更加优良的性价比;
不需要专用的通信线路,可以使用现成网络资源:
由于采用等网络协议,传输数据多,速度快;
不仅可以传递数据信息,还可以传递声音及图像信息;
协议公开统一,监控信息可以使用任意一种浏览器读取。
嵌入式以太网技术具有广阔的应用前景,在以下领域有极好的应用前景【】:
智能公路,包括交通管理、车辆导航、流量控制、信息监测与汽车服务:
信息家电的网络化,如机顶盒上网等;
家政系统,如水、电、煤气表的自动抄表,安全防火、防盗;
工业自动化领域,如制药工业过程控制、电力系统、电网安全、电网设备监
测、石油化工系统;
网络及电子商务,如公共交通无接触智能卡 ,
发行系统,公共电话卡发行系统,自动售货机;
环境工程与自然,如水文资料实时监测,防洪体系及水土质量监测、堤坝安华中科技大学硕士学位论文
全,地震监测网,实时气象信息网,水源和空气污染监测。
可以看出,嵌入式以太网接入技术有着广阔的应用空间和发展前景,研究意义重
大田】。嵌入式设备网络化的根本原则就是要将/协议栈嵌入到系统中,围绕这个
原则,目前大体有以下几种方案【】:
高档微处理器片上系统
以公司为代表,改公司研发了的系统级芯片,将以太网
接入的实现硬件化。它是使用技术的的核,加上以太网
部分组成,该系统使用 公司开发的实时操作系统,实现
/专输控制协议、喟数据报协议、反向地址转换协议、网
际控制报文协议,还有超文本传输协议、简单邮件传输协议、文
件传输协议等高层软件协议。该系统的网络功能由硬件完成,处理速度快,使用实
时操作系统,提高了实时性与稳定性,但价格昂贵,适用于高端应用场合。
高档嵌入式微处理器实时多任务操作系
这种实现方案是在操作系统的支持下,软件实现/协议,而没有硬件实现网
络功能的。目前国内较为流行的主要有、、、、
等,也在向这个领域进军。由于采用高档单片机,该方案可以完成很多复杂
的功能,但高档单片机价格较贵,开发周期较长,而且需要购买昂
贵的开发软
件,对开发人员的开发能力要求较高。
嵌入式微处理器虚拟软件包
这个方案是由及固化了佃协议的芯片组成应用系统的核心,外围硬件电
路简单,但需要大容量的存储器,如果所用的/协议芯片是软件固化的,还要求
有较高的运行速度。采用这种方案的芯片有半导体公司的?,
公司的,公司的 ,
公司的
等,其中公司的单片机为软件固化协议,其它芯片为硬件固化。它们大都包括
不客户软件,支持,,,协议等多种协议,可进行、?浏览,
的收发。这种方案是一种低端的/位系统和高端片上系统的折衷,但在
海量的小设备需要网络化的情况下,这种方案在目前还不能得到广泛应用。华中科技大学硕士学位论文
嵌入式微处理器协议,议
采用公司开发的嵌入式微型网络技术,在应用系统的内部使
用协议,再通过与连接。网络软件接口可以安装
在计算机、数字机顶盒或专用的家用电器服务器中,它支持协议并运行
服务程序,作为用户可以通过网络浏览器浏览访问远程服务器。通过
、、、红外线及射频等通信方式与多个嵌入式设备相连。每个嵌入
式设备的应用程序包含一个独立的通信任务,称为,监测嵌入式设备中预先
定义的各个变量,并将结果反馈到中,同时还可以解释
的命令,修改设备中的变量,或进行某种控制。为了完成网络连接,公司开
发了大量软件来建立访问和监控应用系统的接口,这些接口可以在不同的设备
中。和起为嵌入式设备提供了功能。方案对
,嵌入互联网联盟的成立起了很大的推动作用。由于复杂的网
络协议是通过在机上实现的,应用系统只使用较简单的协
议,因此对的要求较低,但应用系统设计工程师必须熟悉协议和相关的接
口,原来客户应用系统的也不一定符合要求,并且软硬件设计的工作量仍然较大。
同时,应用系统的单片机处理协议要占用一定的系统资源。
嵌入式微处理器网络接口控制器
采用嵌入式微处理器或微控制器结合通用的网络接口芯片的方法,可以解决以中
低速微处理器为核心的嵌入式系统接入的问题。采用这种实现方
案,微处理器
只要可以对网络接口芯片进行控制和通信,就可以实现嵌入式系统接入。嵌入
式微处理器包括各种中高档位/位单片机、砒 、等处理器。网络控制器
一般都采用基于的网络适配器的专用芯片,譬如以太网控制芯片市面上有
、、等,/自适应以太网控制芯片有、
等。在其典型应用中,它们可以在发送的物理帧上自动添加帧头、帧
起始定界符和校验和,减轻了微处理器的处理负担,同时还具有曼切斯特编码、冲突
检测和重发的功能,可以与很少的外围电路一起完成数据的发送和接收功能。由于本
系统的研发是在已有数字机顶盒平台上进行,无论从成本、方便性等考虑,都应该采华中科技大学硕士学位论文
用这种实现方案。其中嵌入式微处理器即为公司内嵌位,网络接口控制器使用公司 太网控制芯片
后面会对其进行介绍。
.以太网控制器的选型
目前市面上以太网控制器种类比较多,鉴于现有数字机顶盒平台微处理器没有集
成接口,因此为了开发方便,只能选用
速度的要求,选用/自适应以太网控制器。目前市场上比较流行的/
以太网控制器有公司的、公司的【】
等等,国内业界也有数字机顶盒开发商使用这两款芯片进行以太网接入开发。从功能
和性能上看,两款芯片相差不大;从封装来看,引脚少得多,尺寸也小很
多,更适合于在机顶盒主板上扩展。也由于公司的代理商与我们接触较早,
提供的技术支持也比较到位,所以在以太网控制器的选型上我们选择了公
司的,下节对其进行介绍。
.基于的以太网接入技术
是公司开发的一款高度集成、功能强大、低功耗的快速以
太网控制器,它有以下主要特点】:
封装采用,所占用面积和高度都很小;
支持位/位微处理器接口,并且支持.和的/控制;
集成/自适应收发器,支持多种连接模式;
支持半双工的后压模式流量控制和全双工的.流量控制;
集成字节,用于接收,用于发送;
内含.到.的变压器,方便连接网络转换器芯片;
支持快速传送封包模式,可节省资源;
支持/加速功能,主要针对//检验和的自动计算及自动对比;
支持从自动下载厂商和产品,可选;
支持节能模式;
以太网控制器,又考虑到对传输.
,华中科技大学硕士学位论文
该芯片功能结构如图,它主要由处理器接、物理层电路、媒体
接入控制、接口、内部等功能模块组成,各模块功能如下:
图 内部结构图
处理器接口
提供/位双向数据总线与进行数据传输,同时提供控制数据传
输的读写信号线、片选信号线、中断信号线以及一个地址控制线。其中,地址控制线
被用来作为地址和数据选择用,在读写寄存器时,首先将地址控制线设为
低电平,然后在数据总线上发送要读取或写入的寄存器地址,接下来,将地址控制线
设为高电平,最后将要写入的数据发送到数据总线上或者从数据总线上读取相关的数
据。
物理层电路
物理层电路集成了/自适应收发器,支持五种连接模式:半双工、
全双工、半双工、全双工、自适应.,可通过设定寄存
器来改变连接模式。
媒体接入控制
模块集成了媒体独立接、发送功能模块、接收功能模块等。华中科技大学硕士学位论文
接口
支持连接可选,可供存放系统所需的资讯,如物理地址、
厂商、产品等。
内部
内嵌字节用来作为收发,其中用于接收缓冲
区,用于发送缓冲区。具体分配如图.所示:
管
图. 的分配图
从上面的简单介绍可以看出,在接口上的设计非常适用于各种嵌入式系
统。通过软件方法对其相关寄存器进行访问控制,可实现的网络接入功能,表对
其寄存器进行简单介绍各寄存器的详细操作,可查阅相关参考文献。
表.
寄存器说明表
寄存器名 偏移地址
寄存器说明
网络控制寄存器,设置软复位、模式、强制冲突模式等网络状态寄存器,显示连接状态、传送状态、接收缓冲区溢出等传送控制寄存器,设置传送请求等
传送状态寄存器,华中科技大学硕士学位论文
?
传送状态寄存器接收控制寄存器,接收使能等接收状态寄存器接收溢出计数寄存器后压门限寄存器流量控制门限寄存器流量控制寄存器,流量控制使能等/控制寄存器/地址寄存器/低字节数据寄存器/高字节数据寄存器唤醒控制寄存器物理地址寄存器广播地址寄存器控制寄存器寄存器,节能控制等
玎
产商寄存器
. 产品寄存器版本号寄存器传送控制寄存器二
快速传送控制,状态寄存器传送检验和控制寄存器接收检验和控制/状态寄存器内存读取控制寄存器,读取后不移动内存位置内存读取控制寄存器,读取后移动内存位置
?限,
内存读取位置低字节内存读取位置高字节
??~
内存写入控制寄存器,写入后不移动内存位置内存写入控制寄存器,写入后移动内存位置
.
内存写入位置低字节
,
内存写入位置高字节传送封包大小低字节传送封包大小高字节中断状态寄存器,显示封包发送完成、接收完成等中断条件寄存器,设置封包发送完成、接收完成产生中断等华中科技大学硕士学位论文
.方案设计及实现
..硬件电路设计
在我们使用的数字机顶盒平台中,采用公司的芯片,
它集成了 、解码器以及丰富的外围电路接口,如总线接口、
接口、并口、 接口等。此外,还提供了一个可编程控制的外
部存储接口,通过对它的灵活配置,我们可以很方便地扩展对多个外部设备的支
持,如存储器、硬盘接口、接口等,也包括我们现在需要扩展的以太
网接口。芯片分为个可独立配置的块,这个共用地址、
数据及控制信号线,通过个片选信号来选定连接的不同设备,表.所示是这个
对设备的支持情况【】:
表 对设备的支持情况
?.
, ,
,《【呲时
/ /
/,
/ /
/
/ ,. ,
可以看出,这个块都能支持象网络接口这种外围设备的扩展,由
于现有平台中,
已占用,存储器己占用和,我们不妨选用
来扩展以太网接口。
下面给出的硬件连接示意图,如图所示【】: 左边部分是与处理器连接信号线,其中,.是位数据线, 与数据线对应连接,也支持位模式,考虑到位模式传输速度 理论上应该是位模式的倍,所以我们不妨选用位模式。华中科技
大学项士学位论文
。占“’
.一
』
?口
僻
?
《
.锄
“’
、
.三
州?一“
图 硬件连接示意图
信号线以实现对的端口和端口的操作,为
低电平时操作端口,为高时操作端口。的所有控制寄存器和 状态寄存器的读写都是通过对这两个端口的操作间接完成的,要
读/写某个寄存器时,
先向写入寄存器的地址,然后读/写端口的值即为读/写该寄存
器。
端口地址为片选首址,端口地址为片选首址,因此
信号线需连接地址线来完成两个端口的转换。将配置为位的 外设模式时,:弓脚实际上映射为地址线:参见
第页,因此信号线在与连接时,应连接信号线。
是中断请求信号线,高电平有效,当接收完一个封包或传送完一 个封包时产生一个高电平脉冲的中断请求信号。可支持四个外部
中断请求,
目前没有其它外部设备使用,我们不妨使用外部中断,即与的 信号线连接。
、、分别是读、写、片选控制信号线,均是低电平有效,分别与
的、、信号线通过匹配电阻连接。
是芯片.复位信号,低电平有效,复位低电平至少为,
华中科技大学硕士学位论文
可使用主板上现有的复位信号信号。
右边部分是与和自适应网络转换器的连接信号线,其中,
是可选的,我们选用无模式,此时、应悬空,
在采用位方式时接高电平,位方式时也悬空。
自适应网络转换器我们选用公司的芯片,该芯片需要.的电
源供电,可使用内置的.变压器输出。连接器使用一般的网口连
接器就行。此外,在布版图时,转换器芯片应尽量靠近和
连接器,而且要将发送信号线对与接收信号线对适当拉开,避免相互之间的干扰。
,
..总线地址空间及控制时序的配置
通过对提供的的灵活配置,我们可以很方便地扩展对以太网接口这
类外部设备的支持,对的配置是通过对一系列设备寄存器的读写操作完
成的,包括地址空间的配置和总线控制时序的配置。其中对总线控制时序的配置必须
同芯片要求的各种时序匹配,才能保证各种操作的稳定性和可第眭。
芯片主要有以下几种时序【,如图.和所示:
/读时序
?
一
、
??
,一
,斗
一,。一?于 /卜
. %卯.
斯啦岫?,’
.试如? 妯训诅缸畦, 瞄 曲缸目删如 ?’删 咖
图. /读周期时序图华中科技大学硕士学位论文
/写时序
两
。
一、????,一
,一
争 髓
?专 扛‘
.
。 。 协’
。 / 燃 村
图 /写周期时序图
通过上面图示的芯片对读写时序的要求,结合 的配置标
准各寄存器的功能以及配置的详细介绍参考
,地址空间我们使用
默认的地址分配,即地址空间为,~,控制时序的配置主
要是对的?~四个寄存器进行配置,现在分别配置如下具
体含义可参考 第页:
??
上述代码是从机顶盒的一个板级配置文件..\\\.龟里截取的,
该文件是在系统初始化时用来对进行相关配置,以满足各种外围设备的总线时序
要求。华中科技大学硕士学位论文
.本章小结
本章从硬件设计的角度,首先简单介绍了一下与本课题相关的数字机顶盒技术与
嵌入式以太网接入技术,并重点介绍了作者具体开发时采用的基于的数字机
顶盒开发平台和基于的嵌入式以太网接入技术。接下来,作者针对本课题,
通过以太网控制器在数字机顶盒平台上实现以太网接入功能的开
发,从硬件电路的设计到板级配置来展开讨论。在实际开发过程中,借助于示波器、
逻辑分析仪进行测试分析,完成可靠的电路连接和合理的总线配置方案。华中科技大学硕士学位论文
软件设计
.方案设计
在完成硬件平台搭建的基础上,完成以太网接入功能的重点就是软件设计部分
了。下面给出网络接入部分系统框图。,如图.所示:
网络应用程序/协议栈?
操作
系统
.以太网接口芯片驱动
硬件
图. 网络接入系统框图
硬件部分在上章中已经做出了介绍,此处不再说明。以太网接口芯片
要完成以太网接入功能,必须有驱动软件对其支持,因此芯片驱动必不可少。此外,
要实现以太网接入功能,基本原则是在系统中嵌入对/协议的支
持,由于我们
采用的机顶盒平台实时操作系统没有集成/协议栈,因此,
协议栈必须自己嵌入系统,这部分无疑将是本课题的难点及关键所在,协议栈的状况
也将决定整个系统的功能与性能。对于网络应用程序,这是以太网接入功能最直观的
应用与体现,目前实现了基于平台以太网接口下载应用程序的功能,这方便
了应用软件开发工程师进行软件调试。网络应用程序这部分还可通过丰富/协
议栈来进一步开发。下面主要就上面所述的软件部分进行分别介绍。
.以太网控制器驱动程序的设计
以太网控制器驱动程序的设计主要是参考开放源代码的驱动和华中科技大学硕士学位论文
公司提供的技术文档来完成。如表.列出主要实现的函数:
表 驱动程序主要函数
函数名称
函数说明? 的初始化;
;
; 的和的检验;
; 广播地址的设置,;
; 模式的设置;
检查接收状态:
; ; 检查发送状态;中断处理程序:
;
发送封包程序;
;
; 接收封包程序;
工作完成;
“;
; 状态函数; ; 发送完成后处理程序;
驱动程序与/协议栈的接口函数;
;
下面就驱动中一些主要函数的实现进行详细说明: ;
函数是驱动程序与/协议栈的接口函数,即调用接口函数 后,可通过/协议栈调用芯片驱动程序中的函数,从而达到操作硬
件
的目的。这方便了针对不同的以太网接口芯片来嵌入/协议栈。 ;
的初始化函数,主要是通过对的一些寄存器进行操作,来 完成和的检验、使能、模式的设置、物理地址的设置、广播地址 的设置、接收使能等,还包括外部中断的注册。 ;
发送封包函数。发送数据包时,先将系统内存中的待发数据复制到
中,然后发出发送请求,即可发送数据。具体地,复制数据到 时,将
数据长度低位写入.寄存器,高位写入寄存器,将待发送数据逐字
节写入到寄存器中,该寄存器内容会自动按顺序复制到中,复制
完后,发出?也,即置位 内的数
的,即可发送华中科技大学硕士学位论文
据。发送完成后会产生一个发送完成中断,可通过检查中断寄存器的来判断。
.;
接收封包函数。接收数据包是在初始化接收使能后自动接收的,接收
时首先需检查数据是否正确地置于 ,然后将里的数据转移到系统内存。
具体地,接收到 中的数据会包含一个四个字节的头部,第一个字节为
表明数据己接收在中,若为则表明数据未接收在中;第二个字节是
接收的状态信息,可根据其值判断接收状态;第三四个字节是接收数据长度的低高
位。 里的数据是通过读寄存器或咖寄存器来完成的,读
寄存器时,里的数据地址会自动增加,只需反复读寄存器便
可按序读出接收到的数据。实际操作时首先读头两个字节判断数据是否正确置于
,然后读出接下来的两个字节来设置数据长度,然后根据数据长度逐字节读出接
收到的有效数据。
;
外部中断服务程序。在接收或发送完一个封包后会产生一个中断,
的信号线产生一个高电平脉冲,并且置位中断寄存器的相应位。
我们可以通过对的中断状态寄存器进行查询,可知是否产生接收完或
发送完的中断,来进行后续处理,然而通过查询方式处理速度太慢,可能导致数据不
能得到及时处理,所以我们采用外部中断方式。采用外部中断时,必须在中断前完成
对外部中断的注册,设计的代码如下:
幸‘。‘/
‘木木七幸士
;
,,一
”;
”””
;
;
;
上述代码注册了一个中断优先级为,中断号为的中断即,硬件上
的信号线连接的引脚,并且中断服务程序为华中科技大学硕士学位论文
。在中断服务程序中,首先通过读取中断状态寄存器的
值,来判断产生的中断是接收完中断,还是发送完中断。若是接收完中断,可通过信
号量的通信方式,通知协议栈上层任务对接收数据包进行内存转移,然后进行解
析。若是发送完中断,则可以发送其它封包或进行其它操作。
上述部分函数,如接收封包函数、发送封包函数等可以独立于/协议栈进
行开发调试,直至可靠。这有利于整个项目的分工合作,也使问题局部化,有利于开
发进程。
.嵌入式/协议栈的设计
..
/协议栈概述
是全球最大的、开放的、由众多网络互联而成的计算机互联网,
而/
协议就是的“世界语”。/协议是人们在网络建设中边实践边开发研究
的产物,它不是由某一国际标准化组织机构提出的标准协议,但它已经成为人们公认
的,在上使用的事实的工业标准协议。/协议栈是一个分层结构,各层
协议之间形成了类似栈结构的依赖关系,通常叫“协议栈”。为了方便表示,我们经
常也将/协议栈简称为/协议【。下面将从/协议栈的层次结构、
用户数据的封装与解析、网络字节序与主机字节序几个方面来介绍/协议。
/协议栈的层次结构
/协议栈由大量的子协议组成,这些协议在/协议栈中一般分为四层,
如图.所示:
应用层 、、、等
、
传输层
、~妒、
网络层
网络接口设备及驱动程序
链路层
图. ,协议的层次结构
下面对每一层的功能进行说娜:华中科技大学硕士学位论文
?链路层
链路层在/协议栈的最低层,也称数据链路层或网络接口层,通常包括系
统中的网络接口设备及其驱动程序。链路层的功能是把接收到的网络层数据报也称
数据报通过改层的物理接口发送到传输介质上,或从物理网络上接收数据帧,抽
出口数据报,并交给层。/协议栈并没有具体定义链路层,只要是在其上能
进行数据报传输的物理网络如以太网、令牌环网、光纤分布数据接口、
.等,都可以当成/协议栈的链路层。这样做的好处是/协议可
以把重点放在网罗之间的互连上,而不必纠缠物理网络的细节,并且可以使不同类型
的网络互连。也可以说,/协议支持多种不同的链路层协议。地址解析协
议和逆地址解析协议是某些网络接口如以太网和令牌环网使用的特殊协
议,用来进行网络层地址和网络接口层地址物理地址的转换,后
面还会讲述。
?网络层
网络层也叫互联网层,由于该层的主要协议是协议,因而也可简称层。它
是/协议栈中最重要的一层,主要功能是可以把源主机上的分组发送到互联网
中的任何一台目标主机上。我们可以想象,由于在源主机和目标主机之间可能有多条
通路相连,因而网络层就要在这些通路中作出选择,即路由选择。在/协议栈
中,网络层协议包括?协议网际协议、协议互联网控制报文协议以
及协议组管理协议。
?传输层
我们通常所说的两台主机之间的通信其实就是两台主机上对应应用程序之间的
通信,传输层提供的是应用程序之间的通信,也叫端到端
的通信。在不同
的情况下,应用程序之间对通信质量的要求是不一样的,因此,在/协议栈中
传输层包含两个不同传输协议:协议传输控制协议和协议用户数据报协
议。为两台主机提供高可靠性的数据通信,当有数据要发送时,它对应用程序
送来的数据进行分片,以适合网络层进行传输;当接收到网络层传来的分组时,它对
收到的分组要进行确认:它还要对丢失的分组设置超时重发等。由于协议提供了
高可靠性的端到端通信,因此应用层可以忽略所有这些细节,以简化应用程序的设计。华中科技大学硕士学位论文
而协议则为应用层提供一种非常简单的服务,它只是把称做数据报的分组从一
台主机发送到另一台主机,但并不保证该数据报能正确到达目标端,通信的可靠性必
须由应用程序来提供。用户在自己开发应用程序时可以根据实际情况,使用系统提供
的有关接口函数方便地选择是使用协议还是协议进行数据传输。
?应用层
应用层向使用网络的用户提供特定的、常用的应用软件,如使用最广泛的远程登
录、文件传输协议、超文本传输协议饵、域名系统、简单网
络管理协议和简单邮件传输协议等。这里有些应用层协议是基于
协议的口和等,有些应用层协议是基于协议的如等。尽管应
用层提供了较多的应用程序,但这些程序只能满足普通用户在一
般情况下使用网络的
需求,如果用户要在网络上进行一些特殊的应用,如网吧管理或需要在一个公司内部
使用的邮件系统等,应用层并没有提供这样的程序,这就要求由网络用户根据自己的
实际需要开发所需的应用程序。
用户数据的封装与解封
困
?
眄萋
上
土
图数据封装与解封过程华中科技大学硕士学位论文
当两台主机应用程序间通信时,数据被送入协议栈中,然后逐个通过每一层直到
被当作一串比特流送入物理网络,其中每一层对从它的上层收到的数据都要增加一些
头部信息有时还要增加尾部信息,这些增加数据头部和尾部的过程叫数据封装或打
包。数据送到接收方对等层后,接收方将识别、提取和处理发送方对等层所加的数据
头,这个过程叫数据解封或拆包。图.所示是应用程序使用协议传
送数据时的
数据封装与数据解封过程。
网络字节序与主机字节序
在计算机中,最基本的数据长度单位是字节位。整形数根据其能表示整数范围
的不同,有位整数、位整数和位整数。位整数因为能在一个字节中表示,所
以所有的计算机的表示是一样的。但位整数和位整数必须使用多个字节进行表
示,而不同的计算机中对表示整中的多个字节的解释是不同的。有的将低内存地址的
字节解释为整数中低位的字节,这种字节序成为 序;有的则将高内存地址
序。因此,如果直接将整
的字节解释为整数中低位的字节,这种字节序称为
数的本机表示复制后发送给目的地址可能会使两个系统对同一数据包的理解不同。
因此,/协议必须规定一种统一的字节序,以保证各种不同的计算机能对数
据包有相同的理解。/协议规定了一种网络标准字节序来表示协议中各种数据的
整型数。这样主机或路由器在收到数据包时应先将整型数字段的
网络序转换为本机的
主机序后再对数据包进行处理;同样,主机和路由器在发送数据包之前应先将数据包
序。
中整型数字段从主机序转换为网络序。/协议中网络字节序使用
..嵌入式/协议栈的实现
随着嵌入式系统与网络的日益结合,在嵌入式系统中引入/协议,以支持
嵌入式设备接入网络,成为嵌入式领域重要的研究方向。由于嵌入式系统一般对实时
性要求比较高,而传统的协议栈把大量的精力花在保证数据传送的可靠性以
及流量控制上,实时性方面不够好,另外,嵌入式应用的系统资源往往都很有限,而
传统协议栈的实现过于复杂,需占用大量系统资源。因此,需要把传统/
协议在不违背协议标准的前提下加以改进实现,使其实时性得到提高,占用的存储空
间尽可能少,从而满足嵌入式应用的要求。这种用于嵌入式系统网络接入的/
协议就称为嵌入式,协议。华中科技大学硕士学位论文
当今国际上比较著名的嵌入式操作系统供应商,都在自己的操作
系统中集成了
/协议组件,以便自己的实时系统具备网络通信功能,如
.公司开发的实时操作系统,是其中的/协议组件;
公司开发的实时操作系统,是其中的/协议组件;
,.公司开发的实时操作系统,是其中的/
网络组件刚【】等等。由于是面向嵌入式应用,因而这类产品在实时眭、占用存储空间、
可裁减性等方面都做了各具特色的改进。
由于作者采用的基于数字机顶盒平台实时操作系统中没有集成
/协议组件,因而要实现其以太网接入,必须自行嵌入/协议栈。目前作
者在参考网络上一些嵌入式/协议栈设计框架的基础上,实现的嵌入式/
协议栈实现了、、、、子协议,而且设计了与嵌入式操作系统
和网络控制器驱动程序的接口,可以比较方便地移植到不同的嵌入式操作系统,或者
嵌入不同的网络控制器。下面从子协议的具体实现和接口设计两方面来探讨嵌入