[word doc]HDMI CEC的设计与实现
HDMI CEC的设计与实现
HDMICEC的设计与实现
张涌,黄世震
(福建省微电子集成电路重点实验室福州大学,福建福州350002)
摘要:基于FPGA的设计流程,通过对HDMICEC的
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
分析,架构定
义,RTL编写及功能仿真,到最后
FPGA验证,结果
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
明,该设计能较好的满足功能和时序要求,也能作
为一个IP核,方便地相关电子产品
领域应用.
关键词:HDMI;CEC;FPGA
DesignandimplementforHDMICEC
ZHANGYong,HUANGShi-zhen
(FujiankeyLaboratoryofMicroelectronics&IntegratedCircuits,FuzhouUniversity,Fuzhou350002,China)
Abstract:DesignedandimplementedforHDMI(HighDefinitionMultimediaInterface)CEC(ConsumerElectronic
Contro1)baseontheflowofFPGA(filedprogramgatearray),fromprotocolanalyzed,architecturedefined,RTL
(registertransmitleve1)write,andfunctionsimulation.Finally,implementwithFPGA.Theresultshowthatthis
designmeetthetimingandfunctionwel1.Itmaybeappliescomfortablyinther
elationalelectronicproductionfiledas
anIPcore.
Keyword:HDMI;CEC;FPGA
1引言
由于HDTV(HighDefinitionTelevision)市场的
需求,HDMI(High—DefinitionMultimediaInterface)
接口已被消费者广泛接受,成为HDTV和相关消费
类电子产品公认的高速接口标准.同时,HDMI中的
CEC(ConsumerElectronicContro1)的功能也得到了
相当的重视.如今,在很多不同品牌的HDMI上都可
以看到带有CEC的功能,如松下电器(Panasonic)
64望笙!!塑目重固
的VIERALINK,三星电子(Samsung)的ANYNET+,
LG电子的SIMPLINK,索尼(Sony)的BRAVIA
SYNC,索普(Sharp)的FAMILINK等_ll.功能主要是
在不同的电器之间进行通信,从而实现比如一键开
机,一键录像之类的效果.
本设计中的CEC是基于HDMI规格中定义的
接口协议,经仿真测试及FPGA验证,最终将集成到
HDMI接口芯片里.设计的CEC模块也可作为一个
IP核在相关领域应用.
I…H巾国集成电路梧--_f
?ChinaIntegratedCircuit一’.
2CEC协议
CEC接口只包含一根双向的信号线:CEC.CEC
总线的数据以帧的形式传输[21.每帧包括一个开始
比特(Startbit),帧头块(headerblock),帧体块
(datablock).如果图1所示.其中Datablock的长
度取决于具体的命令,有效范围是0到15byte.
图1CEC帧结构
表1是帧头和帧体的结构.每个帧头块或帧体
块包括10个比特,其中前八位是信息位,第九位是
EOM(消息结束,endofmessage),最后一位是应答
位.帧头和帧体的结构相同,区别仅仅是信息位.
表1帧头和帧体结构
根据CEC标准,CEC信号用不同的占空比表示
Start位,逻辑0和逻辑1,如图3所示.
一,-]r?……1Start位
{f{f
03.7ms4.5ms
]………]逻辑o
i.........,j一
01.5ms2.4ms
II逻辑1
00.6msontrol
的数据.同时将bytecontrol的数据,经过串行化,作
为bitcontrol的输入.Bytecontrol中包含两个FIFO.
用户发送的CEC命令首先被存人到一个TFIFO里,
经过bytecontrol转换到bitcontrol,最终输出.从
CEC总线上接受到的消息,也被存入到一个RFIFO
中,经过bitcontrol转换到bytecontrol,最终被用户
读出.CECregisterinterface是个寄存器读写的接口.
CEC模块总体框图如图3所示.
图3CEC模块框图
3.1BitControI的设计
根据CEC标准,CEC信号用不同的占空比表示
逻辑0和逻辑l.为了确定是0还是1,我们需要一
个参考时间源,通过填写寄存器CECTiming
ReferenceRegister,以产生一个4.8ins的时间基准.
CECbitcontrol以这个时间基准为参考,产生和检测
比特级别的信号.
CEC总线上同时接了很多器件,并且这些器件
可以同时发起消息传递.因此,当冲突发生时,CEC
有相应的机制保证有唯一的某个器件可以单独占有
总线,这就是仲裁.CEC总线的低电平由器件驱动,
高电平由一个27kQ的上拉电阻上拉产生.由于高
电平可以被低电平覆盖,所以仲裁的结果是输出逻
辑0(逻辑0有更长时问的低电平)的器件获得总
线
当CEC要发送消息时,首先要查看CEC总线
是否忙碌.如果空闲并且满足等待时间,CECbit
control开始发送消息,发送消息的同时,CECbit
control需要不停的检测总线数据.如果总线上的数
据和发送的数据不同,表明CEC失去仲裁(在发送
initiatoraddress期间)或者CEC消息的接收端
(follower)无法接受本消息(在发送datablock期
间).CECbitcontrol应该设置LOST_ARBIT,并且立
刻停止发送剩余消息内容.在CEC发送新的消息
时,CECbitcontrol应该清除LOST_ARBIT.
根据CEC标准每个headerblock或者如ta
block都包含一个响应位.如果接收端地址不是广播
地址,接收端器件通过发送逻辑0来响应发送端,表
明一个完整的字节已经收到.如果是广播地址,接收
端器件(所有连在总线上的器件)通过发送逻辑1
来表明广播消息已被接受.对于上面情况的反面情
形(非广播地址时没有收到ACK,广播地址时收到
ACK),CECbitcontrol应该设置NO_ACK.在CEC
发送新的消息时,CECbitcontrol应该清除
NO—
ACK.
根据CEC标准,逻辑0和1的周期在2.05ms
到2.75mS之间(标准为2.4ms).CECbitCOntrol检
测总线上的信号,如果小于2.05ms或超过2.75mS,
CECbitcontrol要做相应的寄存器设置.需要注意的
是,错误检测不在startbit期间执行.如果消息是
CEC总线发送期问发生了上述的错误,CECbit
control要发送长达3.6ms的低电平来通知发送端.
这种信号称为错误通知信号.同样,如果CECbit
control在总线上检测到错误通知信号,要立刻停止
正在发送的消息,并且做出相应的寄存器设置.在
CEC发送新的消息时,CECbitcontrrrflag一
?【
JL.ll一
1
l『
厂I州n.tify一I…hie—f
\f…’f
厂丁_TTr—一
图4CECbitcontroI框图
辑地址.CEC总线上目标地址和该寄存器值匹配
的,CEC要响应消息,并且接受其后总线上的消息
内容.
CEC同时支持CEC广播功能,即对于
destination为OxF的消息,CEC也能接受,同时设置
寄存器来指示.CEC接收到发给自己的非广播消
息,应该清除相应的标志.
CEC标准定义了仲裁和发送失败的重发机制
和时问间隔(单位为date),如表2所示.
表2CEC发送和重发时序
条件时问
同..’个器件发完帧后要发第二帧7-10
新器件第一帧发送5,7
间一个器件第一一帧发送失败要霞发3,5
为了便于软件重发时序控制,CECByteControl
内置一个Counter.该Counter在消息结束之后自动
清零,然后每隔0.3Ins,Counter增加1.一个Databit
是2.4ms,对应着该Counter增加到8.如表3所示.
表3CEC发送和重发时序Counter
条件时问
同一’个器件发完一_I跌后要发第二帧56,80
新器件第一一帧发送40-56
同,个器件第一帧发送失败要霞发24,40
CECbytecontrol框图如图5所示.
3.3CEC寄存器接口
寄存器接口是一个握手协议接口.当进行写时,
C
I…H【l】国集成电路褥I
?hinaIntegratedCircuit
c蛆eI
meI
岬【
l
一
----t——————————
一l
】
图5CECbytecontroI框图
eec—ack信号在rab_write信号有效后的下一个周期
被设置.当进行读时,cec—aek信号在rab_read信号
有效后的下个周期被设置,同时将地址上的数据读
出.寄存器接口协议图6所示.
图6寄存器接口协议
4CEC的仿真验证
设计中使用的仿真软件是Synopsys公司的
VCS和NOVAS公司的Verdi,并采用FPGA进行验
证.CEC发送1byte的仿真波形结果如图7所示,
CEC接收1byte的结果如图8所示,CEC发送和接
图7CEC发送1byte仿真结果
h什h./A^^m
图8CEC接收1byte仿真结果
图9CEC发送与接收15databytes仿真结果
收15bytes的结果如图9所示.
5结束语
设计并实现了一个基于FPGA流程的HDMI
CEC模块.从协议分析,架构定义,RTL编写,到功
能仿真,及FPGA验证,较好地满足了设计的要求,
能作为一个软核在相关领域应用.囵
参考文献
…1WWW.dmi.org,HDMIFounder官方网站
【2】HighDefinitionMultimediaInterfaceSpecification
Version1.3a.2006.11.170—190.
作者简介
张涌,硕士,福州大学物信学院.
黄世震,副教授,福建省微电子集成电路重点实验室
主任,主要从事集成电路的研究.
一一一一一一