3606|8

21

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

用FPGA实现CIMT编码 [复制链接]

最近在做一个课题,是用FPGA实现光纤的视频传输。
由于光纤中不能传输普通的二进制码,因而要将这二进制码转换为“光纤线路码”。
而我用到的是“CIMT”码。也就是条件翻转主跳变码。我查了下这种编码有专门的编码芯片,不过也可以在FPGA中自己做编码模块实现。下面是CIMT编码的原理:
CIMT码的传输帧有三种形式:数据帧、控制帧和填充帧。填充帧在发送端与接收端建立连接时以及发送端没有数据输入时产生。数据帧和控制帧用来传送用户数据和控制信号,每一帧由DataField(D—Field)和随后的CodingField(C—Field)组成。其中D—Field为16位或者20位宽取决于系统模式设置,在C—Field中有一主瞬变点MasterTransition用来为接收端定时恢复电路提供固定的定时参考。
(l)D域编码:D域编码进行数据域编码,比较当前数据的符号和与前一数据的符号和来决定当前数据是否翻转,具体编码原理如下:输入的16位或者20位并行数据输入并锁存,同时送入求符号和电路,在每个时钟周期内求出数据的符号和或称游程数字和即以+1和-1分别代表数据中的1和0并相加求和,然后把此符号和与以前的数据符号和相比,如果符号相同则将这些数据全部翻转,否则保持不变。当数字和为0时,因数据己是平衡的,故可以翻转也可以不翻。这就是条件翻转的含义。这种特点使得CIMT码将码流中最大连同符号数控制在24位以内,即使在输入并行数据长时间为恒定等值情况下亦能保持线路码的直流平衡,使占空比趋于50%。CIMT码的这种特性可以用来传输突发数据。
(2)C域编码:C域编码进行码域编码,C域附加在D域后,根据所输入的控制信息进行编码,不同的控制信息传输不同的帧形式,其编码规则也不同。但无论输入什么样的控制信息,C域宽度均为4bit,且中间的两位一定为一对互补码,“10”或“01”,这样每一帧就都产生了一个主电平跳变点,即MasterTransition。此跳变点为接收端提供帧同步信息,通过搜索它能很好的确定串行码流中每帧的“起始”及“末尾”时刻。这样采用CIMT码就无需象4B/SB、SB/10B编码方式周期性中断视频数据流而插入特殊的帧同步字来保持系统同步,从而保证了视频传输的实时性。
(3)帧合成:帧合成实现将D域编码的20位并行数据和C域编码的4位并行数据组成一帧24位的并行数据。
以系统采用的20位数据信号模式为例,CIMT码的数据帧、控制帧和填充帧码元结构如下所示:
CIMT数据帧
数据状况 标志位 D域 C域
真值 0 D0~D19 1101
翻转值 0 /D0~D19 0010
真值 1 D0~D19 1011
翻转值 0 /D0~D19 0100
CIMT控制帧
D0~D8 D9 D10 D11~D19 C0C1C2C3
D0~D8 0 1 D9~D17 0 0 1 1
/D0~D8 1 0 /D9~D17 1 1 0 0
CIMT填充帧
填充帧 D域 C域
Idle word a 1111111110000000 0011
Idle word b 1111111000000000 0011

我想在FPGA中实现CIMT编码,可是心有余而力不足,无法根据其原理实现,还希望有兴趣的各位前辈们指点一下。D域和C域是分别编码,然后再将其进行合并成为完整的CIMT编码。
此帖出自FPGA/CPLD论坛

最新回复

(⊙o⊙)…我QQ475693814~加我下,O(∩_∩)O我好多好多问题啊,想问下你,收到我邮件了吧  详情 回复 发表于 2012-1-2 14:46
点赞 关注
 

回复
举报

21

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
木有人围观啊,是不是因为我写的比较多啊
此帖出自FPGA/CPLD论坛
 
 

回复

155

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
关注 支持。。。。。。。。。。。。
此帖出自FPGA/CPLD论坛
个人签名http://www.tdhj.cn
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(中级)

4
 
看不明白
此帖出自FPGA/CPLD论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

5
 
能留个QQ嘛?想学习下AD转换,谢谢
此帖出自FPGA/CPLD论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

6
 
我的邮箱chenlei1030@qq.com,能留个你的QQ或者邮箱嘛,求教AD转换及其他模块
此帖出自FPGA/CPLD论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

7
 
我的邮箱chenlei1030@qq.com,能留个你的QQ或者邮箱嘛,求教AD转换及其他模块
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

8
 

这个你按照上面的方法构造一个RAM 或大的寄存器,然后以标准速度发送出去就OK了

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

9
 
(⊙o⊙)…我QQ475693814~加我下,O(∩_∩)O我好多好多问题啊,想问下你,收到我邮件了吧
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表