(信号与信息处理专业论文)基于嵌入式操作平台的图像通信系统的设计.pdf_第1页
(信号与信息处理专业论文)基于嵌入式操作平台的图像通信系统的设计.pdf_第2页
(信号与信息处理专业论文)基于嵌入式操作平台的图像通信系统的设计.pdf_第3页
(信号与信息处理专业论文)基于嵌入式操作平台的图像通信系统的设计.pdf_第4页
(信号与信息处理专业论文)基于嵌入式操作平台的图像通信系统的设计.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

摘要 本论文论述了基于嵌入式操作平台的图像通信系统的设计。 首先讨论了图像通信系统的组成,主要介绍了其中的传输部分; 对于传输的两种方式( 基于专线和基于i p 网络) ,重点介绍了基 于i p 网络的传输方式,并描述了以摩托罗拉公司的m p c 8 5 0 为核 心构建的嵌入式图像通信平台的硬件设计。最后从硬件和软件两 个角度讨论了系统优化的问题,尤其是对后者,指出了系统软件 优化的方向,即利用p o w e r p c 内核体系结构的特点来优化关键代 码,并做了详尽的分析。 a b s t r a c t t h ep a p e ri sa b o u tt h ed e s i g no fa ni m a g ec o 唧u n i c a t i o n s y s t e mb a s e do n e m b e d d e do p e r a t i n gp l a t f o r m 工tf i r s tt a l k s a b o u tt h ec o n s t r u c t i o no f i m a g e c o m m u n i c a t i o n s y s t e m , e s p e c i a ll y a b o u tt h et r a n s m i t t a lp a r to ft h es y s t e m f o r t h et w ow a y so ft r a n s m i t t a l , t h eo n eb a s e do ni pn e t w o r k i sd i s c u s s e dm o s t l ya n d ah a r d w a r e d e s i g n o fe m b e d d e d o p e r a t i n gp l a t f o r m w i t ht h em p c 8 5 0f r o mm o t o r 0 1 a i s d e s c r i b e d a tl a s t , itis s u e st h ep r o b l e ma b o u ts y s t e m o p t i m i z a ti o nf r o mt h ep o i n to fh a r d w a r ea sw e l 1a ss o f t w a r e a n df o c u s e so nt h el a t t e r i ta d v a n c e saw a yt oo p t i m i z e t h ek e yc o d e so ft h es y s t e mp r o g r a mw i t ht h e f e a t u r e so f p o w e r p cc o r ea n da n a l y s e s i ti nd e t a i l 第一章前言 1 1 图像通信系统的模型 图像通信系统模型如图1 一l 一1 所示。 图像 信息源 图像显示 图1 _ ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) ( 8 ) 图l 一1 1 图像通信系统模型示意图 l 一1 中各部分主要功能描述如下: 图像信息源是指产生活动或静止的图像基带电信号的部分; 图像预处理是因由图像通信的某些需要而设置的,例如去噪声的平滑 处理、提高对比度的增强处理、减少几何失真的几何校正处理等等; 图像信源编码用来去除或减少图像信息中的冗余度,压缩图像信号的 频带或降低其码率,以实现经济地传输、存储的目的; 信道编码是为了增强图像信号的抗干扰能力,在其中加入一些保护码 ( 纠错码) : 调制的目的是把信号变换成更适宜于信道中传输的形式: 图像信道一般理解为传输图像信号的线路; 解调、信道解码、图像信源解码是上述发送端相应部分的逆过程; 图像显示是指远端恢复图像信号的重现。 1 2 本论文所讨论的图像通信系统 1 1 节中描述的图像通信系统模型可以认为是一种普遍意义上的抽象模型。 本论文所讨论的图像通信系统主要针对会议电视和视频监控的应用,本节将概述 我们试验用的图像通信平台,首先给出该图像通信平台的系统总体框图,如图l 一2 一l 所示。 lv c d l播放 t vi 显示l 传输 图l 一2 1 试验用图像通信平台 图1 2 1 中,m p e g 一2 编码模块采用富士通的一种解决方案,将在第二 章中介绍。在会议电视和视频监控的应用中,都需要一适合多媒体信息传输的承 载网络以实现特定区域内各类信息的调度,承载网络主要有两种方式:一种是专 线方式,即租用电信运营商e 1 线路( 2 0 4 8 m b p s ) 进行传输( 此时m p e g 一2 编码 速率须控制在2 0 4 8 m b p s 以内) ,对于这种方式,我们做的主要工作是用可编程 逻辑器件实现h d b 3 码( 一种基带传输码型) 的编码和解码,将在第三章中介绍; 另一种是i p 方式,即通过局域网传输。我们选用m o t o r 0 1 a 的m p c 8 5 0 ,采用 v x w o r k s 嵌入式实时操作系统,构建一个图像通信平台,实现多媒体信息在i p 网络上的打包传输( 解码端则解包) ,m p e g 一2 编码速率主要受整个嵌入式系统 平台处理能力的限制( 假设网络不拥塞) ,将在第四和第五章中详细讨论该平台 的设计( 偏重硬件) ,在第六章中讨论对该平台的优化。至于m p e g 一2 解码模 块,本论文不作讨论。 目 第二章m p e g 一2 编码模块 2 1m p e g 一2 编码芯片简介 m p e g 一2 编码芯片采用f u j i t s u 公司的m p e g 一2 编码芯片m b 8 6 3 9 0 。m b 8 6 3 9 0 执行视频和音频编码,以及将视频和音频数据流组织成符合m p e g 一2 标准的t s 流或p s 流输出。 图2 一l 一1m b 8 6 3 9 0 内部结构示意图 m b 8 6 3 9 0 运行时需要单片机执行初始化配置,其内部结构如图2 1 1 所示 主要包括以下部分 1 、h o s t s d r a m 接口控制器一一管理主控器件及s d r a m 2 、串口控制器一一管理串行接口; 3 、根r o m 存储器一一存放b 0 0 t 程序; 4 、r i s c 处理器一一实现编码过程: 5 、t b c ( 时间基准校正) 控制器一一管理视频数据的存放和读取,并负责插 入时间标记: 6 、视频编码器一一编码压缩原始视频数据,形成新的视频流; 7 、音频编码器一一编码压缩原始音频数据,形成新的音频流; 8 、多路复用器一一组织视频和音频数据流,产生符合m p e g 一2 标准的数据 流输出。 对于我国的p a l d 制式标准电视信号,m b 8 6 3 9 0 a 可以实时编码任意3 2 m 3 2 n 大小的图像,最大尺寸为7 2 0 5 7 6 ,同时可以实时编码最大采样率为4 8 k h z 的 双声道音频信号。 由于m b 8 6 3 9 0 可以控制高达1 2 8 m b i t 的存储器,所以有能力进行较复杂的视 频数据运动补偿编码,比如可以执行宽范围的运动估计,沿水平方向达到+ l o o 像素,沿垂直方向达到+ 一5 0 像素,而通常的运动估计范围为+ 一3 2 像素。因为 运动估计范围较大,就可以处理运动比较剧烈的场景,如电影画面中的武打动作、 飞车场景。运动估计是影响视频编码效率的关键因素之一。 2 2 图像编码简介 通常图像编码执行“基于块的操作”,即将图像分成一个个1 6 1 6 大小的图 像块,以块为单位执行运动估计、运动补偿、离散余弦变换( d c t ) 、游程编码和 哈夫曼编码。运动估计和运动补偿是指在相邻的前、后图像中寻找与某图像块最 相似的图像块,实现对当前图像的预测;d c t 变换是对预测图像与当前图像的差 值进行的,为提高d c t 变换效率,常将1 6 1 6 的图像块进一步分成四块8 8 的小块,对小块进行d c t 变换:d c t 变换之后,根据m p e g 一2 提供的量化表进行 系数量化:然后采用之字形扫描,对量化后系数中的0 值进行游程编码;最后对 各个分量执行哈夫曼编码。视频和音频数据经编码后将被组成m p e g 一2 标准格式 的数据流,包括数据帧头、时钟参考等附加信息。 第三章基于专线的图像传输 随着数字应用业务的广泛发展,许多电信运营商都相继推出了e 1 专线出租 业务,使得基于e l 专线的远程图像传输应用日益广泛;政府、公检法和各大型 企业都开始以租用e 1 专线的形式,来实现他们各自的专用会议电视( 或视频监 控) 系统,下面将介绍基于专线的图像传输。 3 1 系统流程 基于专线的图像传输系统如图3 1 一l 所示。 解码端专线传输适配 图3 1 1 基于专线的图像传输系统 系统上电后,编码端专线传输适配模块上的单片机对m p e g 一2 编码模块进 行初始化配置( 也可在系统工作时通过单片机的r s 一2 3 2 通信口配置) 。e l 信道 被分为3 2 个t s ( t i m es l o t ,时隙) ,每个t s 为6 4 k b p s ,通信各方需事先约定 那几个时隙分配给m p e g 一2 码流使用,被分配的时隙个数决定了编码模块的编 码速率( 所以对于一路e 1 信道,m p e g 一2 编码速率须控制在2 0 4 8 m b p s 以内) 。 m p e g 一2 码流将在c p l d ( 复杂可编程逻辑器件) 中按约定的时隙分配形成e 1 信息流( 二进制) ,然后编成h d b 3 码进行传输。解码端专线传输适配模块的c p l d 则将接收到的h d b 3 码流重新解为二进制e 1 信息流,再从约定的时隙中提取出 m p e g 一2 码流送到解码模块。下面主要介绍h d b 3 码编码和解码功能的c p l d 实 现,我们选用的c p l d 是a l t e r a 公司的m a x 7 0 0 0 系列。 3 2h d b 3 码 数字基带信号是代码的电表示形式,但并非所有代码的电波形都适合在实际 信道中传输。对于一般的数字基带传输系统,传输码型的选择主要考虑两个问题: 首先,该码型相应的数字基带信号不能有丰富的直流和低频成分,否则可能造成 严重的信号畸变:其次,能从相应的数字基带信号中获取定时信息,这就要求基 带信号避免长时间的出现零电位,否则收定时恢复系统难以保证收定时信号的准 确性。 h d b 3 码是i t u t 推荐使用的数字基带传输码型,全称是高密度双极性3 码,是一种伪三进制码,它的三个状态可用正极性传号b + 、负极性传号b 一和 空号o 来表示。对于二进制信号中的传号,h d b 3 信号中应交替的编为b + 和b 一( 传号极性交替反转) ,因而不会引入直流成分。对于二进伟4 信号中的空号, h d b 3 信号中仍编为空号;但对于4 个空号串,编码时要引入传号交替反转规则 的破坏点,这种破坏点按其极性用v + 或v 一来表示。二进审4 信号中的4 个空号 串按下列规则编码: a 如果h d b 3 信号的前一个传号的极性与其前一个传号的极性相反而本身 又不是破坏点,则4 个空号串的第一个空号应编为空号;如果h d b 3 信 号的前一个传号的极性与其前一个破坏点的极性相同或者本身就是破坏 点,则4 个空号串的第一个空号编为传号,即非破坏点( 即b + 或b ) 。 这一规则保证了相继破坏点具有交替的极性,因而不会引入直流成分。 b 4 个空号串的第二个空号和第三个空号总是编为空号。 c 4 个空号串的最后一个空号总是编为传号,其极性应破坏传号交替反转 规则,形成破坏点( 即v + 或v 一) 。 经此特殊规则编码,h d b 3 信号中最多只会出现连续3 个空号,完全可以保 证收定时恢复系统所恢复的收定时信号的准确性。 3 2 1h d b 3 码编码规则分析 上述规则中的b 和c 两条很好理解,对规则a 需要做深入的解释。事实上, 对于原始二进制信号中的传号,要求被交替的编为正极性传号b + 或负极性传号 b 一( 记为要求1 ) ,从而保证不会引入直流成分。现在为限制空号串的数目,人 为引入破坏点v ,它实际上是将原始二进制信号中的4 空号串中的最后一个空号 编为h d b 3 信号中的传号,要求与h d b 3 信号中的前一传号同极性( 记为要求2 ) , 从而破坏传号交替反转规则。为了保证破坏点v 不会另外引入直流成分,必须 要求相继破坏点具有交替的极性( 记为要求3 ) 。 当原始二进制信号中的相继两个4 空号串间有奇数个传号时,则要求1 、2 和3 均可满足。因为只有当相继两个破坏点间有奇数个传号时,按要求l 、2 迸 行编码的结果才符合要求3 ,如下例所示: 1oooo0l010010o0o0 b +ooov +ob ob +0ob ooov 二o 上例中原始二进制信号中的相继两个4 空号串问有3 个传号,编为h d b 3 信号后同时满足要求1 、2 和3 。当原始二迸制信号中的相继两个4 空号串间有 偶数个( 含零个) 传号时,则应将原始二进制信号中的4 空号串中的第一个空号 编为h d b 3 信号中的传号,与h d b 3 信号中的前一传号极性相反,4 空号串中的 最后一个空号仍编为破坏点v ,极性与第一个空号改变来的传号同极性。这实际 是将偶数情形变为奇数情形处理,使之仍然满足要求1 、2 和3 ( 因为这三个要 求必须满足) ,举一个长连零串的例子: 10oo0oooo0oooo0o0 b +00ov +b 0ov -b +0ov +b oov - 上例中相当于原始二进制信号中的两个相继4 空号串间有o 个传号,通过将 4 空号串中的第一个空号编为h d b 3 信号中的传号。使相继两个破坏点间有1 个 传号。 3 2 2h d b 3 码编码部分实现 编码系统如图3 2 一l 所示,输入信号有两个:时钟c l k 和原始二进制信 号d i n :输出信号为p o s 和n e g 。p o s 代表h d b 3 信号中的正极性传号b + , n e g 代表h d b 3 信号中的负极性传号b 一。具体来说,对于h d b 3 信号中的空 号,p o s 和n e g 均为o :对于正极性传号b + ,p o s 为1 ,n e g 为o :对于负 极性传号b 一,p o s 为o ,n e g 为l 。最后只要将p o s 和n e g 送往专用芯片, 即可得到有三个状态的h d b 3 信号,其波形如图3 2 3 所示。图3 2 1 中 d 3 是第一个d 触发器的输入,q 3 、q 2 、q 1 分别是三个d 触发器的输出。 图3 2 1h d b 3 编码系统框图 图3 2 2h d b 3 编码部分m o d e l l 状态转移图 根据编码规则分析,我们将编码系统分成两个模块( m o d e l ) 。m o d e l l 产生两个信号给m o d e l 2 ,其中o u t 是将原始二进制信号中4 空号串的某些空 号按编码规则变为传号后所得的信号。v j n f o 用于提供破坏点信息,当v i n f 0 为l 时,表示0 u t 中相应传号是破坏点。m o d e l l 检测出原始二进制信号d i n 中的4 空号串,将其最后一个空号变为传号( 成为一个破坏点,相应v j n f o 为 1 ) 。m o d e l l 同时提供状态机用于记录两个相继4 空号串间的原始二进制传号 个数的奇偶,据此决定是否将该4 空号串的第一个空号也编为传号( 这可以通过 控制d 3 实现) 。m o d e l l 的状态转移图如图3 2 2 所设示,其中矩形框代表 各个状态,而上有横线的矩形框内为条件输出。状态e v e n 表示从上一个4 空 号串以来,由d i n 输入的原始二进制传号个数为偶数;状态0 d d 表示从上一个 4 空号串以来,由d 烈输入的原始二进制传号个数为奇数。根据编码规则可以得 到不同条件下的状态转移走向,以及相应的条件输出。 图3 2 3 原始h d b 3 信号( 左侧箭头标记处为零电平) 电平刻度:1 o v 每格 必须使用触发器记录不同状态。由图3 2 2 ,设触发器输出为o 代表状态 e v e n ,1 代表状态o d d ,则得状态转移方程如下: i l 9 刖= q ”d 刀v + q ”d ”,( q 3 + q 2 + q 1 ) q “ + 妇”p w ( q 3 + q 2 + q 1 ) + d ,j + q ”d ,j q ” :矿币丽菰剪面雹丽 掣+ 妇”阿再面砸砸网+ 删 歹 由状态转移方程,可使用t 触发器( 即图3 2 5 中上面一个t 触发器) 7 1 = q “阿丽砸再虿面司+ d , 各输出信号方程如下: y 一阳= 歹丽面甬丽+ q ” = d ,+ ( q 3 + q 2 + q 1 ) o 【,7 :q l 也”+ 歹万雨( q 3 + q 2 + q 1 ) + 歹d , + 歹面丽趸勇j 1 雾_ 面 = q l + q ”y f ,阳 m d d e l 2 用于将o u t 信号中的传号分配到p o s 或n e g 输出( 对于空号, 则p o s 和n e g 都输出0 ) 。m o d e l 2 也提供状态机记录下一个来自o u t 的传号 应在p 0 s 还是n e g 输出,状态之间的转移依据m o d e l l 提供的o u t 和v i n f o 信号。m o d e l 2 状态转移图如图3 2 4 所示,状态p o s 表示0 u t 信号中的 下一传号应在p o s 输出,状态n e g 表示o u t 信号中的下一传号应在n e g 输出。 图3 2 4 编码部分m o d e l l 状态转移图 必须使用触发器记录不同状态。由图3 2 4 ,设触发器输出为0 代表状态 p o s ,1 代表状态n e g ,则得状态转移方程如下: 1 一一 、 q 肿。= p u 7 矿一刀恸+ o ( ,r 矿一刀啪j 。q ” + q o 叮”一删m + q o 卯”一脚1 歹 【+ g ”丽y 一7 v :舳+ q “o 【,丁矿二丽j 。 一、 , 、一 = 臼”矿一厅,:阳+ q 1 j q ”+ 妇”矿一d 7 :阳+ q i j g ” 由状态转移方程,可使用t 触发器( 即图3 2 5 中下面一个t 触发器1 : 丁= q ”矿一刀讥f d + q l 整个h d b 3 编码的c p l d 实现如图3 2 5 所示。因为h d b 3 信号波形是 双极性归零波形,其对应的每一传号的脉冲都会回到零电位,即相邻脉冲之间必 定留有零电位的间隔,所以最后要用时钟c l k “挖”一下,以便将原为非归零 波形的p o s 和n e g 信号变为归零波形的p o s 和n e g 信号。 图3 2 5 编码部分逻辑电路图 3 2 3h d b 3 码解码规则分析 虽然h d b 3 码的编码规则比较复杂,但解码比较简单。从前面可以看出, 每一个破坏符号v 总是与前一个非0 符号同极性( 包括由空号编为传号的非破 坏点在内) 。这就是说,从收到的符号序列中可以容易地找到破坏点v ,于是断 定v 符号及其前面地3 个符号必是连o 符号,从而恢复4 个空号串,得到全部 原有二进制信号中的空号,再将所有的正极性传号b + 、负极性传号b 一编为二 进制l ,则得到全部原有二进制信号中的传号。 3 2 4 h d b 3 码解码部分实现 解码系统如图3 2 6 所示,输入信号有三个:时钟c l k 、p o s 和n e g 信 号。p o s 代表h d b 3 信号中的正极性传号b + ,n e g 代表h d b 3 信号中的负极 性传号b 一( 本系统假定时钟c l k 是由专用芯片从h d b 3 信号中提取的线路时 钟,p o s 和n e g 则是经过非归零处理后的信号) 。输出信号为d o u t ,也就是 解码出来的对应h d b 3 信号的原始二进制信号。图中d 3 是第一个d 触发器的输 入q 3 、q 2 、q 1 分别是三个d 触发器的输出。 图3 2 6 解码系统框图 根据解码规则分析,解码m o d e l 应提供一状态机记录上一个来自h d b 3 信号的传号是正极性传号,还是负极性传号。解码m o d e l 状态转移图如图3 2 7 所示,状态b + 表示上一个来自h d b 3 信号的传号是正极性传号,状态b 一表示上一个来自h d b 3 信号的传号是负极性传号。p o s 和n e g 都为l 的状态 转移分支是不可能出现的( 或错误的) ,图中用它作为冗余项,以简化状态转移 方程。 必须使用触发器记录不同状态由图3 2 7 ,设触发器输出为o 代表状态 b + ,l 代表状态b 一,则得状态转移方程如下: 一 一一 - 旷= 秒( p 傩m g + p 胍g ) 十q ”( e g j p + e g p ) q “+ 泣“t p o s n e g + p o s n e g 、七q 1 t n e g - p o s + n e g p o s 、q 。 = n e g q “+ p o s q h 由状态转移方程,可使用j k 触发器: j = n e gk = p o s 各输出信号方程如下: d 3 = q n p o s o u t + q n n e g o u t = ( q “p + q “e g ) 0 沂 d 0 【,7 1 = q ”p o s q 1 + q ”阳q l = ( q ”p 吣+ q ”e g ) q 1 解码部分逻辑电路如图3 2 8 所示,这里的0 u t 信号与编码部分出现的 o u t 信号意义相同。对于解码部分,只要将p o s 和n e g 相或即可得到o u t 信 号。 图3 2 7 解码部分m o d e l 状态转移图 图3 2 8 解码部分逻辑电路图 第四章基于i p 的图像传输 在会议电视或视频监控系统中,都需要一个适合多媒体信息传输的承载网络 以实现特定区域内各类信息的调度。传统的承载网络多采用专线的方式,是基于 电路交换的方式,而现今传输网络发展的趋势是以分组交换替代电路交换,所以 构建基于分组交换网的承载网络是大势所趋,下面将重点介绍以分组交换网的典 型代表i p 网络作为承载网络的图像通信系统的设计。 4 1系统流程 基于i p 的图像传输系统如图4 一l 一1 所示,m p e g 一2 码流经编码端和解码 端各自的i p 网络传输适配模块处理后实现在i p 网络上的传输。图4 1 1 中连 接在i p 网络上的p c ( 个人电脑) 可作为控制台对i p 网络传输适配模块以及编 码模块进行在线配置,也可截取在i p 网络传输上的m p e g 一2 码流,通过软件 解码后在p c 机上显示。 编码端i p 网络传输适配 解码端i p 网络传输适配 图4 一l l 基于i p 的图像传输系统 编码端i p 网络传输适配模块包含两个子模块:编码缓冲模块和m p c 8 5 0 打 包模块。前者主要由单片机和f i f o 组成单片机负责在系统上电时配置( 也可 在系统工作时通过单片机的r s 一2 3 2 通信口配置) m p e g 一2 编码模块,而m p e g 一2 编码模块输出的码流将在f i f 0 中缓存( 这是因为i p 网络传输不像e l 专线 传输那样是恒定速率的) ,当f i f o 中保存了一定量的信息( 我们采用半满) 时, 由m p c 8 5 0 打包模块读取f i f 0 中的一定量的信息( 我们采用f i f o 容量的一半) 。 后者的核心是 i o t o r o l a 公司的m p c 8 5 0 ,在其上运行v x w o r k s 嵌入式实时操作系 统及上层应用程序,它们协同工作将从f i f 0 读入的m p e g 一2 码流打成u d p 包, 使用s o c k e t 套接字编程送到i p 网络上传输。 解码端i p 网络传输适配模块也包含两个子模块:解码缓冲模块和m p c 8 5 0 解包模块。解码缓冲模块和编码缓冲模块大同小异,只是没有单片机( 因为在我 们的应用系统中无需对解码模块进行配置) :另外在f i f o 的容量和位宽上会有 不同。m p c 8 5 0 打包模块和m p c 8 5 0 解包模块在硬件上完全一样,只是运行的上 层应用程序不样,一个是将从编码缓冲模块f i f o 读入的m p e g 一2 码流打成u d p 包,而另一个是将从i p 网络上接收的u d p 包重新解成m p e g 一2 码流写入解码缓 冲模块f i f 0 中,供解码模块使用。后面的叙述中将不加区分的使用缓冲模块和 m p c 8 5 0 模块来表示编码和解码端的模块。 4 2m p c 8 5 0 模块 图4 2 一lm p c 8 5 0 模块 1 8 - m p c 8 5 0 模块如图4 2 一l 所示。m p c 8 5 0 可以说是m p c 8 6 0 的低成本简化 版本,功能上的主要区别是m p c 8 6 0 支持百兆以太网( 具有十兆百兆以太网自 适应功能) 。m p c 8 6 0 设有专门的l o m 1 0 0 m 快速以太控制器( f e c f a s t e t h e m e t c o n t r o l l e r ) ,并集成了专用f i f o 和d m a 供以太连接使用,所以m p c 8 6 0 可以 在丝毫不影响c p m ( c o m m u n i c a t i o n sp r o c e s s o rm o d u l e ) 性能的情况下提供高性 能的以太连接:而m p c 8 5 0 是用c p m 中的s c c 实现以太连接,且只支持十兆 以太网。m p c 8 5 0 和m p c 8 6 0 都内嵌有功能强大的p o w e r p c 内核,并集成了 一个通用m e m o r yc o n t r 0 1 i e r 和一个c p m ,下面分别介绍这两个功能模块。 4 2 1 m e m o r yc o n t r o l l e r 功能模块 m p c 8 5 0 内建的m e m o r yc o m r o l i e r 功能模块主要由一个g p c m ( g e n e r a l p u r p o s ec h i p s e l e c tm a c h i n e ) 和一对u p m ( u s e r p r o g r a m m a b l e m a c h i n e ) 组成,它们用于实现和各种存储器件或外围设备的“无缝”连接,后 面会在具体应用中详细介绍。m p c 8 5 0 支持4 g b ”e s 的寻址空间,它的m e m o r y c o n t r o l l e r 功能模块最多可寻址八个独立的外部m e m o r yb a n k ( 每个b a i l k 都有各 自的片选信号) ,这八个m e m o r yb a l l k 均可配置选择g p c m 或u p m 产生相应的 控制时序。此外,每个m e m o r yb a n k 的起始地址、空间范围和位宽( 支持8 b i t s 、 1 6 b i t s 或3 2 b i t s ) 等均可独立配置。m e m o r yb a n k 的空间范围可在3 2 k b ”e s 到 6 4 m b y t e s 之间按2 的幂次变化,这样最多占据4 g b ”e s 可寻址空间中的 5 1 2 m b y t e s 。下面介绍在本应用系统中受m e m o r yc o n t r 0 1 l e r 控制的存储器件和外 围设备。 1 f l a s h 本系统采用一片l m 字( 每字1 6 b i t s ) 的f l a s h ,整个系统的引导部分放在 该f l a s h 中。对f l a s h 的控制是通过m p c 8 5 0 内部m e m o r yc o n l r o l l e r 中的 g p c m 实现的。通过g p c m ,m p c s 5 0 可以非常灵活的与s r a m ,e p r o m e e p r o m 等存储器件,以及其他外围设备直接相连。事实上,g p c m 提供了若 干配置寄存器,通过对它们相应位的设置,可以非常灵活的改变各控制信号( 如 片选信号、写使能信号、输出使能信号等) 之间。控制信号、有效地址和有效数 据之间的时序关系,所以无须另设逻辑控制电路。 2 s d r a m 本系统采用两片8 m 字( 每字1 6 b i t s ) 的s d r a m ,构成宽度3 2 b b 的s d r a m 系统,作为整个系统的主存。对s d r a m 的控制是通过m p c 8 5 0 内部m e m o r y c o n t r 0 1 l e r 中的u p m 实现的。g p c m 主要用于连接控制简单的存储器件或外围 设备,而u p m 要比g p c m 更复杂,主要用于连接各类d r a m 或控制复杂的外 围设备。事实上,u p m 内建有“字( 每字3 2 b i t s ) 的i 认m ,该r a m 中的值将 驱动m e m o r yc o n t r o l l e r 相应输出引脚在不同时钟周期的逻辑值,r a m 中的每一 比特对应四分之一时钟周期的信号逻辑值,所以u p m 对m e m o r yc o n t r o i l e r 输出 信号时序的控制精度达到四分之一时钟周期。以u p m 控制s d r a m 为例,6 4 字 的r a m 被分成六部分。分别对应s d r a m 的六种操作:r e a ds i n g l e b e a t 、r e a d b u r s t 、v r i t es i n g l e b e a t 、v r i t eb u r s t 、r e 行e s hr e q u e s t 、e x c 印t i o nr e q u e s t ( 异常处理) : 各部分r a m 中的数据就定义了一种操作的整个时序;访问某部分r a m 的内容, 将控制m e m o r yc o n t m l l e r 对s d r a m 执行相应的操作。m p c 8 5 0 内部m e m o r y c o n t r o l l e r 提供两个完全一样的u p m ( 即u p m a 和u p m b ) ,本系统中的s d r a m 使用u p m a 。由于u p m 的存在,使得m p c 8 5 0 可以直接与s d r a m 相连,无须 另设逻辑控制电路。 3 i o 口 这罩所指的i ,o 口最终与缓冲模块上的f i f o 相连。在本应用系统的配置中, m p c 8 5 0 将它当作一个控制简单的外围设备来访问,所以它与f l a s h 一样,也 是通过m p c 8 5 0 内部m e m o r yc o n t r o l l e r 中的g p c m ( g e n e r a l 一p u r p o s ec h i p s e l e c t m a c h i n e ) 实现访问的。 4 2 2c p m ( c o m m u n i c a t i o n sp r o c e s s o rm o d u l e ) 设立m e m o r yc o m r o l l e r 和c p m 功能模块的目的,从根本上说是为了分担 p 0 w e r p c 内核的负担,c p m 功能模块最能说明这点。c p m 功能模块的核心是 一c p ( c o m m u n i c a t i o n sp r o c e s s o r ) ,它实际上就是一个3 2 b i t s 的r j s c ( r e d u c e d i n s t m c t i o ns e tc o m p u t e r ) ,它的结构和指令集针对相关的数据通信和处理做了专 门的优化。这样,由c p m 功能模块负责处理相关通信的底层任务,使得 p o w e r p c 内核可以专注于处理高层的任务。就被中断的情况来说,p o w e r p c 内核只有在“帧”一级的通讯任务完成时才需响应中断,而不是在“字符”一级, 充分利用了系统处理中的任务级并行性。 除了c p ,c p m 功能模块中主要还有双口r a m 、s d m a ( s e r i a ld m a ) 、全 双工s c c ( s e r i a lc o m m u n i c a t i o n sc o n t r o l l e r ) 、全双工s m c ( s e r i a lm a i l a g e m e m c o n t r o u e r ) 、u s b ( u n i v e r s a ls e r i a lb u s ) 控制器、s p i ( s e r i a lp e r i p h e r a li n t e r f a c e ) 和1 2 c ( i n t e r i n t e g r a t e dc i r c u i t ) 总线控制器等。 通过在双口r a m 中存入相应的供c p 执行的微代码,c p m 功能模块可以支 持多种通信协议( 有的协议的微代码会固化在c p 内部的r o m 中) 。c p m 功能模 块通过控制两个物理s d m a 通道,可以实现多达二十个虚拟s d m a 通道,这些 通道将用于串行通讯控制器的发送或接收,其中八个用于u s b 控制器,四个用 于全双工s c c ,余下八个用于s p i 、1 2 c 总线控制器和s m c 。另外,c p m 功能 模块还可通过两个物理s d m a 通道实现两个通用i d m a ( i n d e p e n d e n td m a ) , 以用于外部存储器之间或外部存储器和外围设备之间的传输,而在用户看来,仿 佛有两个专属的d m a 硬件。s c c 和u s b 控制器均有独立的发送和接收f i f o , s m c 、s p i 和1 2 c 总线控制器发送和接收部分都是双缓冲结构。 1 e t h e m e t 本系统通过s c c 2 实现e 吐伦m e t 通信,m p c 8 5 0 最多支持两个s c c ,每个s c c 均可被独立配置采用不同的通信协议( 需相应微代码的支持) ,其中常用的有: u a r t 、h d l c 、a d d l e t a l k 、e t h e m e t ( 或i e e e 8 0 2 3 ) ,实际上s c c 实现的是各 协议中数据链路层( 即o s i 参考模型中的第二层) 的功能。s c c 还可以和各种 标准的w a n 、l a n 或非标的专用网络接口相连。 e t h e m e t 或i e e e 8 0 2 _ 3 是广泛使用的基于载波侦听多点接入的l a n 协议, 它们二者非常相似可以共存于同l a n 中。m p c 8 5 0 的s c c 只支持1 0 m b p s 的以太网,工作于e t h e m e t 协议下的s c c 执行协议中m a c 层的功能。m p c 8 5 0 需外接1 0 m b p s 以太网收发器,以实现s c c 的e t h e m e t 通信,我们选用l x t 9 0 5 。 在我们的应用系统中,有三种类型的数据通过e t h e m e t 传输:打成u d p 包的 m p e g 一2 编码码流和控制台p c 发出的两种数据包( 一种是配置m p c 8 5 0 模块 网络通信用的,如i p 地址、子网掩码等,m p c 8 5 0 收到这种数据后作相应的配 置;一种是对m p c 8 5 0 透明的配置数据,m p c 8 5 0 收到这种数据后将它们原封不 动的从连接在s m c 上的r s 一2 3 2 口发出) 。 2 r s 一2 3 2 本系统通过s m c 实现r s 一2 3 2 通信,m p c 8 5 0 最多支持两个s m c ,每个 s m c 均可被独立配置以下三种通信协议之一:u a r 工t r a i l s 口a r e m ,和o c i ( g e n e r a l c i r c u i ti n t e r f a c e ) 。事实上,工作于u a r t 下的s m c 要比同样工作于 u a r t 下的s c c 简单的多,所以通常应用中需用到u a r t 通信协议时都用s m c 实现,除非需要用到多于两个的u a i 盯通信通道。s m c 提供的实现简单的u a r t 通信常被用作实际应用系统中的调试和监控口。在我们的应用系统中,两个s m c 均用作r s 一2 3 2 通信口,需外接r s 一2 3 2 收发器,我们选用m a x 3 2 3 2 。 3 e e p r o m 本系统中用一片e e p r o m ( 我们选用a t 2 4 c 1 6 ) 存放m p c 8 5 0 模块工作时 所需的网络配置参数,如i p 地址、子网掩码等。按道理e e p r o m 部分属于存 储系统,但因为e e p r o m 是通过1 2 c 总线与m p c 8 5 0 相连,而1 2 c 总线是属于 c p m 功能模块,所以将e e p r o m 放在这里介绍。1 2 c 总线是一种同步总线标准, 在快速模式下最大传输码率为4 0 0 k b p s 。要实现1 2 c 总线通信,既可以采用硬件 ( 1 2 c 总线控制器) 实现,也可以利用处理器的两个i o 口,用软件模拟实现。 前面提到过,在m p c 8 5 0 的c p m 功能模块中有1 2 c 总线控制器,但我们在实际 应用中却不得不采用软件模拟的方式。 采用模拟方式主要是基于成本的考虑。前面提到的m p c 8 5 0 所具有的功能 ( 如内建1 2 c 总线控制器) 是针对整个m p c 8 5 0 家族而言,这些功能实际上很 多是选件。m p c 8 5 0 家族针对不同的应用推出不同配置的m p c 8 5 0 芯片,这不光 是为了降低芯片成本,也是为了避免浪费性能,因为在实际应用中几乎不可能同 时用到多个功能( 即使需要用到,也极易超出m p c 8 5 0 的处理能力) ,对功能有 所裁减是必然的。根据我们的应用系统的功能要求,型号为m p c 8 5 0 d s l 的芯片 是性价比最高的选择,它的s c c 2 只支持e t n e m e t ,s c c 3 只支持u a r t ,刚好符 合我们的功能要求,然而它没有提供1 2 c 总线控制器,而内建1 2 c 总线控制器 m p c 8 5 0 芯片因为同时增加了我们不需要的功能而显得性价比不高,所以我们决 定采用软件模拟1 2 c 总线的方式( 模拟1 2 c 总线的程序放在板级支持包b s p 中) 。 此外还有一好处,针对硬件实现1 2 c 总线通信而编写的应用程序肯定不能直接运 行于无1 2 c 总线控制器的m p c 8 5 0 芯片上:相反针对模拟1 2 c 总线而编写的 应用程序则可以直接运行于所有m p c 8 5 0 芯片上,代价是处理器开销增大。 4 3 m p c 8 5 0 模块b o o t 过程 图4 3 一l 看门狗电路即上电i 疆s e t 电路 m p c 8 5 0 芯片的p o r e s e t 引脚上不少于3 u s 的低电平将触发m p c 8 5 0 的上 电r e s e t 操作。我们用看门狗电路兼作上电r e s e t 电路如图4 3 一l 所示, m a x 7 0 6 t 是看门狗芯片,在系统上电时其第七脚将拉低m p c 8 5 0 的p o r e s e t 引脚。m p c 8 5 0 进入上电r e s e t 操作后将首先采样m o d c k 【1 。2 】这两个引脚 ( m o d c k 【l ,2 】引脚上的电平值将决定m p c 8 5 0 内部系统锁相环的乘数因子和 系统锁相环的参考时钟源) ,在我们的应用系统中,系统锁相环的乘数因子为l , 参考时钟源来自m p c 8 5 0 的e x t c l i ( 引脚( 该脚接5 0 m h z 的有源晶振) :当系 统锁相环进入锁相状态,并且p o r e s t 引脚电平变高后,m p c 8 5 0 将其s r e s e t 和h r e s e t 引脚置低电平5 1 2 个时钟周期;然后m p c 8 5 0 将采样其r s t c f g 引 脚( 该引脚的值决定m p c 8 5 0 从何处得到其初始化参数值:低电平一从数据总 线d 【0 ,3 0 1 上得到;商电平一使用默认值) ;在我们的应用系统中,r s t c f g 引 脚接地,所以m p c 8 5 0 将随后采样其d 【o ,3 0 】引脚,并根据它们的值来配置其 初始化参数。我们对m p c 8 5 0 作如下初始化配置:使能b 0 0 t 操作,b o o t 口 位宽1 6 b i t s ( 因为存放引导程序的f l a s h 是1 6 b i t s 宽度的) ,m p c 8 5 0 内部地址空 间基址为0 x f f 0 0 0 0 0 0 。 使能b o o t 操作将使m p c 8 5 0 在采样完数据总线后激活m 锄o r yc o

温馨提示

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

评论

0/150

提交评论