发明名称 基于AXI总线的数字电视SoC的存储控制方法
摘要 基于AXI总线的数字电视SoC的存储控制方法,通过设计高效稳定的AXI总线控制系统将复合视频信号3D解码器、视频去隔行处理器和DDR1/2/3SDRAM控制器三者互联,能满足复合视频信号3D解码器和视频去隔行处理器实时存储大容量视频数据的需要,由此提高了总线带宽利用率以及DDR1/2/3SDRAM的存储效率。
申请公布号 CN102025934B 申请公布日期 2012.01.11
申请号 CN201010509615.9 申请日期 2010.10.15
申请人 西安交通大学 发明人 刘龙军;赵文哲;侯作勋;孙宏滨;葛晨阳;郑南宁;张晓明;梁巨昌
分类号 H04N5/44(2006.01)I;G06F13/20(2006.01)I 主分类号 H04N5/44(2006.01)I
代理机构 西安智大知识产权代理事务所 61215 代理人 贾玉健
主权项 基于AXI总线的数字电视SoC芯片的存储控制方法,其特征在于:步骤1:在该SoC芯片的复合视频信号3D解码器TV_decoder中的第一AXI总线主接口AXI_master_1内设置数据处理模块(1),以及在该总线主接口AXI_master_1内设置第一内部仲裁器Arbitrate_1,还有在该SoC芯片的视频去隔行处理器Poster中的第二AXI总线主接口AXI_master_2内设置信号处理模块(2),以及在该总线主接口AXI_master_2内设置第二内部仲裁器Arbitrate_2,在该SoC芯片的AXI总线的控制系统中,该控制系统中的AXI总线互联器AXI_Interconnecter中加入四个先入先出FIFO缓存,分别为写命令先入先出缓存WRcmd_FIFO、写数据先入先出缓存WR_FIFO、读命令先入先出缓存RDcmd_FIFO以及读数据先入先出缓存RD_FIFO,而该AXI总线互联器AXI_Interconnecter中的AXI内部仲裁器AXI_arbitrate内设置状态迁移模块(3),另外在该SoC芯片的DDR1/2/3 SDRAM控制器DDR1/2/3 Controller中设置AXI总线从接口AXI_Slave;步骤2:在12C总线控制系统12C_Man利用串行数据信号SDL和串行时钟信号SCL的控制作用下,将模拟CVBS信号/模拟S‑Video信号通过模拟前端AFE转换为对应的数字CVBS信号/数字S‑Video信号,随后将该数字CVBS信号/数字S‑Video信号发送到复合视频信号3D解码器TV_decoder中,复合视频信号3D解码器TV_decoder先将数字CVBS信号/数字S‑Video信号作为8位字符输入流I_DATA[7:0]传送入第一AXI总线主接口AXI_master_1内的数据处理模块(1);步骤3:通过第一AXI总线主接口AXI_master_1内的数据处理模块,首先将所述的8位字符输入流I_DATA[7:0]按照先后顺序将其每16组连续的8位字符构成一个128位的字长结构,从而转化为128位字输入流I_DATA[127:0],再由第一内部仲裁器Arbitrate_1控制数据处理模块(1)向AXI总线互联器AXI_Interconnecter发送AXI总线有效探询命令AXI_Valid,如果AXI总线空闲,将会通过AXI总线互联器AXI_Interconnecter向数据处理模块(1)发送AXI总线就绪信号AXI_Ready,随后数据处理模块(1)将写命令WR_Cmd发送到AXI总线互联器AXI_Interconnecter中的写命令先入先出缓存WRcmd_FIFO内部,而128位字输入流I_DATA[127:0]及其对应的AXI总线地址信号AXI_addr发送到AXI总线互联器AXI_Interconnecter中的写数据先入先出缓存WR_FIFO内部,随后AXI内部仲裁器AXI_arbitrate内的状态迁移模块(3)判断出写命令先入先出缓存WRcmd_FIFO内部为非空,就向DDR1/2/3 SDRAM控制器中的AXI总线从接口AXI_Slave发送要求写DDR1/2/3 SDRAM命令即mem_wreq,同时将写数据先入先出缓存WR_FIFO内部的AXI总线地址信号AXI_addr以及128位字输入流I_DATA[127:0]发送到AXI总线从接口AXI_Slave,通过DDR1/2/3SDRAM控制器DDR1/2/3 Controller按照AXI总线地址信号AXI_addr将128位字输入流I_DATA[127:0]写入DDR1/2/3 SDRAM对应的存储地址中;步骤4:将128位字输入流I_DATA[127:0]写入DDR1/2/3 SDRAM对应的存储地址后,由第一内部仲裁器Arbitrate_1控制数据处理模块(1)向AXI总线互联器AXI_Interconnecter发送AXI总线有效探询命令AXI_Valid,如果AXI总线空闲,将会通过AXI总线互联器AXI_Interconnecter向数据处理模块1发送AXI总线就绪信号AXI_Ready,随后数据处理模块(1)将读命令RD_Cmd发送到AXI总线互联器AXI_Interconnecter中的读命令先入先出缓存RDcmd_FIFO内部,而对应的AXI总线地址信号AXI_addr发送到AXI总线互联器AXI_Interconnecter中的读数据先入先出缓存RD_FIFO内部,随后AXI内部仲裁器AXI_arbitrate内的状态迁移模块(3)判断出读命令先入先出缓存RDcmd_FIFO内部为非空,就向DDR1/2/3 SDRAM控制器中的AXI总线从接口AXI_Slave发送要求读DDR1/2/3 SDRAM命令即mem_rreq,同时将读数据先入先出缓存RD_FIFO内部的AXI总线地址信号AXI_addr发送到AXI总线从接口AXI_Slave,通过DDR1/2/3 SDRAM控制器DDR1/2/3 Controller按照AXI总线地址信号AXI_addr,将128位字输入流I_DATA[127:0]从DDR1/2/3 SDRAM对应的存储地址中通过AXI总线从接口AXI_Slave发送到AXI总线互联器AXI_Interconnecter中的读数据先入先出缓存RD_FIFO内,再发送到第一AXI总线主接口AXI_master_1内的数据处理模块(1),该数据处理模块(1)将所述的128位字输入流I_DATA[127:0]重新转换成为数字CVBS信号/数字S‑Video信号,其形式为8位字符输入流I_DATA[7:0],步骤5:经过复合视频信号3D解码器TV_decoder将该8位字符输入流I_DATA[7:0]解码为亮度信号Y1和色度信号UV1的隔行数字视频信号,并将该隔行数字视频信号发送到视频去隔行处理器Poster中,通过视频去隔行处理器Poster中的预写控制器Pre_wr先将包含亮度信号Y1和色度信号UV1的隔行数字视频信号两两组合为16位字,再按照先后顺序将其每8组连续的16位字符构成一个128位的字长结构,从而转化为128位字输出流O_DATA[127:0],并写入视频去隔行处理器Poster中的预处理先入先出缓存Pre_FIFO,随后通过视频去隔行处理器Poster中的预读控制器Pre_rd将128位字输出流O_DATA[127:0]读入第二AXI总线主接口AXI_master_2内,再由第二内部仲裁器Arbitrate_2控制信号处理模块(2)向AXI总线互联器AXI_Interconnecter发送AXI总线有效探询命令AXI_Valid,如果AXI总线空闲,将会通过AXI总线互联器AXI_Interconnecter向信号处理模块发送AXI总线就绪信号AXI_Ready,随后信号处理模块将写命令WR_Cmd发送到AXI总线互联器AXI_Interconnecter中的写命令先入先出缓存WRcmd_FIFO内部,而128位字输出流O_DATA[127:0]及其对应的AXI总线地址信号AXI_addr发送到AXI总线互联器AXI_Interconnecter中的写数据先入先出缓存WR_FIFO内部,随后AXI内部仲裁器AXI_arbitrate内的状态迁移模块(3)判断出写命令先入先出缓存WRcmd_FIFO内部为非空,就向DDR1/2/3 SDRAM控制器中的AXI总线从接口AXI_Slave发送要求写DDR1/2/3 SDRAM命令即mem_wreq,同时将写数据先入先出缓存WR_FIFO内部的AXI总线地址信号AXI_addr以及128位字输出流O_DATA[127:0]发送到AXI总线从接口AXI_Slave,通过DDR1/2/3 SDRAM控制器DDR1/2/3 Controller按照AXI总线地址信号AXI_addr将128位字输出流O_DATA[127:0]写入DDR1/2/3 SDRAM对应的存储地址中;步骤6:将128位字输出流O_DATA[127:0]写入DDR1/2/3 SDRAM对应的存储地址后,由第二内部仲裁器Arbitrate_2控制信号处理模块(2)向AXI总线互联器AXI_Interconnecter发送AXI总线有效探询命令AXI_Valid,如果AXI总线空闲,将会通过AXI总线互联器AXI_Interconnecter向信号处理模块(2)发送AXI总线就绪信号AXI_Ready,随后信号处理模块(2)将读命令RD_Cmd发送到AXI总线互联器AXI_Interconnecter中的读命令先入先出缓存RDcmd_FIFO内部,而对应的AXI总线地址信号AXI_addr发送到AXI总线互联器AXI_Interconnecter中的读数据先入先出缓存RD_FIFO内部,随后AXI内部仲裁器AXI_arbitrate内的状态迁移模块判断出读命令先入先出缓存RDcmd_FIFO内部为非空,就向DDR1/2/3 SDRAM控制器中的AXI总线从接口AXI_Slave发送要求读DDR1/2/3 SDRAM命令即mem_rreq,同时将读数据先入先出缓存RD_FIFO内部的AXI总线地址信号AXI_addr发送到AXI总线从接口AXI_Slave,通过DDR1/2/3 SDRAM控制器DDR1/2/3 Controller按照AXI总线地址信号AXI_addr,将128位字输出流O_DATA[127:0]从DDR1/2/3SDRAM对应的存储地址中通过AXI总线从接口AXI_Slave发送到AXI总线互联器AXI_Interconnecter中的读数据先入先出缓存RD_FIFO内,再发送到第二AXI总线主接口AXI_master_2内的信号处理模块(2),该信号处理模块将所述的128位字输出流O_DATA[127:0]分解成奇场128位字输出流ODD_DATA[127:0]和偶场128位字输出流EVEN_DATA[127:0],分别分发给奇场后写控制器End_wr和偶场后写控制器Ends_wr,奇场后写控制器End_wr将奇场128位字输出流ODD_DATA[127:0]转化为奇场亮度8位字符流的ey[7:0]和奇场色度8位字符流的euv[7:0]并保存入奇场先入先出缓存End_FIFO,偶场后写控制器Ends_wr将偶场128位字输出流EVEN_DATA[127:0]转化为偶场亮度8位字符流的eys[7:0]和偶场色度8位字符流的euvs[7:0]并保存入偶场先入先出缓存Ends_FIFO,然后将放入奇场先入先出缓存End_FIFO的奇场亮度8位字符流的ey[7:0]和奇场色度8位字符流的euv[7:0],以及放入偶场先入先出缓存Ends_FIFO的偶场亮度8位字符流的eys[7:0]和偶场色度8位字符流的euvs[7:0]分别通过奇场后读控制器End_rd和偶场后读控制器Ends_rd输入视频去隔行处理器Poster中的去隔行模块DeInterlacing进行去隔行处理,得到一帧逐行亮度信号Yout和色度信号Uvout;步骤7:将一帧逐行亮度信号Yout和色度信号Uvout送往所述的SoC芯片的输出模块Outputer,生成目标视频送往显示屏显示。
地址 710049 陕西省西安市咸宁路28号