嵌入式视觉系统开发:视频接口时序原理与i.MX53xD IPU配置实践

发布时间:2026/6/10 0:43:41

嵌入式视觉系统开发:视频接口时序原理与i.MX53xD IPU配置实践 1. 项目概述为什么视频接口时序是嵌入式视觉的“心跳”在嵌入式视觉系统的开发中无论是驱动一块LCD屏幕还是从一颗CMOS传感器采集图像工程师们最常遇到的“玄学”问题往往不是算法而是信号。屏幕花屏、图像撕裂、数据错位……这些让人头疼的故障十有八九都指向同一个根源视频接口时序。你可以把它理解为设备间进行图像数据传输时双方必须严格遵守的一套“通信协议”或“舞蹈节拍”。如果发送方和接收方的节拍对不上数据就会乱套。NXP的i.MX53xD系列应用处理器作为一款在工业控制、车载信息娱乐和智能设备中广泛使用的芯片其内置的图像处理单元IPU提供了强大而灵活的接口时序控制能力。它就像一位经验丰富的乐队指挥能够适配从老式的ITU-R BT.656标清视频流到现代高分辨率传感器的并行输出再到各种LCD面板的同步或异步控制信号。理解IPU的时序配置是让图像数据在这颗芯片上“活”起来的第一步。本文将以i.MX53xD的IPU模块为例抛开枯燥的寄存器手册描述从一线工程师的视角深入拆解其支持的几种核心接口时序模式BT.656/BT.1120视频模式、门控与非门控时钟的传感器接口、用于驱动TFT LCD的同步接口以及用于连接简单显示模块如OLED、段码屏的异步并行接口。我会结合时序图、关键参数计算和实际配置中的“坑”让你不仅知道怎么配更明白为什么要这么配。2. 传感器接口时序数据从哪里来图像处理的第一步是采集。IPU的CSI摄像头传感器接口负责接收来自图像传感器的数据流它支持三种主要的时序模式以适应不同复杂度的传感器。2.1 BT.656/BT.1120 视频模式把同步信号“藏”在数据里这是一种“聪明”的传感器常用的模式。这类传感器内部通常集成了简单的图像处理功能如自动曝光、白平衡输出的是符合电视广播标准的、已经打包好的视频流。核心原理在这种模式下传感器只输出一个核心信号——像素时钟SENSB_PIX_CLK。而帧同步VSYNC和行同步HSYNC信号被编码成特殊的“定时码”SAV和EAV嵌入到数据流中。你可以把它想象成快递包裹数据像素值是货物而SAV有效视频开始和EAV有效视频结束码就是贴在包裹上的“起始”和“结束”标签。SAV (Start of Active Video)标志着一行有效像素数据的开始。EAV (End of Active Video)标志着一行有效像素数据的结束之后可能是行消隐期的数据。IPU的CSI硬件会实时检测这些定时码并将其“翻译”回内部的VSYNC和HSYNC信号供后续处理。这样做的好处是极大简化了传感器与处理器之间的物理连线只需要数据线和时钟线特别适合通过扁平的FPC排线连接。配置要点与避坑模式选择需要在CSI控制寄存器中正确设置为“BT.656模式”。时钟极性务必确认传感器输出的像素时钟是上升沿还是下降沿有效。i.MX53xD的IPU可以编程配置但必须与传感器匹配否则一个时钟周期采样的数据位就会错位。数据位宽BT.656标准是8位YCrCb 4:2:2数据每个时钟传输一个分量Y、Cb或Cr。而BT.1120支持更高清每个时钟传输两个分量例如Y和Cb。配置时需要根据传感器实际输出选择。消隐期处理BT.656流在消隐期SAV和EAV之间非有效图像的区域也可能传输数据如音频、辅助数据。IPU的某些模式可能不支持提取这些非视频数据如果您的应用需要必须仔细查阅数据手册并可能需用DMA直接读取原始数据流。实操心得调试BT.656接口时最直观的方法是用逻辑分析仪抓取数据线。你应该能看到周期性的0xFF 0x00 0x00 SAV_Code和0xFF 0x00 0x00 EAV_Code序列具体码值由标准定义。如果看不到首先检查物理连接和传感器初始化配置如果能看到但图像错乱重点检查时钟极性和数据位序MSB/LSB。2.2 门控时钟模式最直观的“行有效”信号这是最传统、也最易理解的传感器接口模式。它直接提供了三个明确的控制信号SENSB_VSYNC帧同步。一个脉冲表示一帧图像的开始。SENSB_HSYNC行同步。一个脉冲表示一行图像的开始。SENSB_PIX_CLK像素时钟。但它的有效性受HSYNC控制。工作时序帧开始时VSYNC产生一个脉冲例如上升沿。每一行开始时HSYNC拉高并保持。只有当HSYNC为高时PIX_CLK才有效。传感器在有效的PIX_CLK边沿通常是上升沿送出像素数据。一行结束时HSYNC拉低PIX_CLK在此期间可能停止或输出无效数据。重复步骤2-4直到一帧结束VSYNC再次产生脉冲。这种模式时序关系非常清晰适合大多数并口DVPDigital Video Port传感器。调试时用示波器同时观察这三个信号可以非常直观地看到一帧、一行和一个像素的边界。2.3 非门控时钟模式时钟始终在跑与非门控模式类似但不使用HSYNC信号。PIX_CLK在整个帧传输期间持续运行无论当前是否在传输有效像素数据。VSYNC信号仍然用来指示帧开始。关键区别与挑战由于没有HSYNC来界定每一行IPU如何知道一行有多少个像素、何时换行呢这完全依赖于精确的行长度Line Length配置。你必须在IPU的寄存器中预先设置好一行总共包含多少个像素时钟周期包括有效像素和行消隐期。IPU内部会有一个计数器从VSYNC开始每计数满一个行长度就认为开始新的一行。配置核心HSYNC极性配置此模式下HSYNC引脚可能被复用为其他功能或者直接悬空。在寄存器配置中需要禁用HSYNC检测。行总长度Total Pixels Per Line这是最重要的参数。必须根据传感器数据手册给出的“水平总时间Horizontal Total Time”或“一行总像素时钟数”来精确设置。设置小了会导致图像被提前切断设置大了会导致行同步错位图像斜向撕裂。注意事项使用非门控模式时传感器输出的像素时钟在消隐期可能处于固定电平如常低而非像门控模式那样完全停止。IPU的CSI需要能够正确处理这种时钟。务必确认传感器的时序图与IPU的非门控模式时序要求如图45所示完全匹配特别是时钟在无效期的状态。2.4 电气特性与PCB设计考量无论哪种模式都需要满足基本的时序裕量。手册中表62给出了关键参数IP1: 像素时钟频率 (Fpck)范围0.01到180 MHz。这决定了接口的最高像素吞吐率。例如对于1280x72060fps的图像像素时钟至少需要1280 * 720 * 60 ≈ 55.3 MHz再考虑消隐期通常需要80-100MHz的时钟能力。IP2: 数据建立时间 (Tsu)至少2ns。数据必须在时钟有效边沿到来之前提前至少2ns就保持稳定。IP3: 数据保持时间 (Thd)至少1ns。数据在时钟有效边沿过去之后还需要保持稳定至少1ns。这些数字对PCB布局意味着什么假设你的像素时钟是100MHz周期10nsTsu和Thd的要求只剩下3ns的窗口。如果数据线SENSB_DATA[19:0]和时钟线SENSB_PIX_CLK的走线长度差异过大就会产生“时钟偏斜”Clock Skew可能导致某些数据位建立或保持时间不足。因此在高速50MHz设计时等长布线将数据线、时钟线作为一组控制它们的走线长度差异在允许范围内例如对于1ns的偏斜要求在FR4板材上大约对应150mm的长度差异但建议根据仿真确定更严格的值。阻抗控制设计匹配的传输线阻抗通常50-60欧姆单端并确保信号路径完整减少反射。去耦电容在传感器和处理器电源引脚附近放置足够且响应快速的去耦电容保证高速切换时的电流需求。3. 显示接口时序数据到哪里去处理完的图像需要显示出来。IPU的显示接口DI功能更为强大它不仅能驱动标准的RGB LCD还能输出电视信号甚至连接简单的并行总线设备。3.1 信号映射的灵活性在连接硬件之前首先要理解i.MX53xD引脚功能的灵活性。表63视频信号交叉参考表是硬件设计的“地图”。它告诉我们物理引脚DISPx_DAT0到DISPx_DAT23并不是固定代表某个颜色分量而是可以通过IPU内部的映射单元灵活配置。举个例子你需要驱动一个16位RGB565格式的LCD。RGB565格式红色R占5位绿色G占6位蓝色B占5位总共16位。查看表63中“16-bit RGB”一列。你会发现DISPx_DAT[15:11]被映射到R[4:0]DISPx_DAT[10:5]被映射到G[5:0]DISPx_DAT[4:0]被映射到B[4:0]但是你的LCD模块的引脚顺序可能不同。比如有些模块是B[4:0], G[5:0], R[4:0]。这时你不需要改动PCB只需在IPU的DI_DISPx_DATA_CFG寄存器中重新配置数据位的映射关系即可。这种灵活性极大地简化了硬件设计。配置原则先定格式确定显示设备需要的格式RGB565, RGB888, YCbCr等。再查映射根据表63确定默认映射关系。最后调整根据实际LCD模组的引脚定义在寄存器中调整SWIZZLE或MAP配置让数据位“各就各位”。3.2 同步接口驱动TFT LCD这是驱动智能手机、平板电脑屏幕最常用的模式。它需要一组严格的同步信号来控制液晶的扫描。核心信号参考图47IPP_DISP_CLK像素时钟每个周期锁存一个像素数据。HSYNC行同步信号。一个脉冲指示扫描线回到屏幕左侧开始新的一行。VSYNC场同步信号。一个脉冲指示扫描点回到屏幕左上角开始新的一帧。DRDY或DE, Data Enable数据使能信号。只有它为高时数据线上的像素数据才是有效的。它定义了屏幕上“可见区域”的边界。时序参数详解结合图48、49和表64 驱动一个LCD屏幕本质上就是配置一系列计数器来精确生成这些信号的波形。关键参数都围绕DI_CLK显示接口内部时钟计算。参数符号寄存器参数名物理意义如何计算/配置Tsw(屏幕宽度时间)SCREEN_WIDTH一行总共花费的时间包含消隐区。SCREEN_WIDTH * Tdicp。SCREEN_WIDTH是你需要在寄存器中设置的总像素数有效水平消隐。Thsw(HSYNC宽度)HSYNC_WIDTH行同步脉冲的持续时间。HSYNC_WIDTH * Tdiclk。HSYNC_WIDTH以0.5个DI_CLK为分辨率设置。Thbi1(水平消隐1)BGXP从HSYNC脉冲结束到有效数据开始之间的时间左消隐。BGXP * Tdicp。BGXP是寄存器值。Thbi2(水平消隐2)SCREEN_WIDTH - BGXP - FW从有效数据结束到下一个HSYNC脉冲开始之间的时间右消隐。由总宽度、左消隐和有效宽度(FW)间接决定。Tsh(屏幕高度时间)SCREEN_HEIGHT一帧总共花费的时间包含消隐区。SCREEN_HEIGHT * Tsw。SCREEN_HEIGHT是总行数有效垂直消隐。Tvsw(VSYNC宽度)VSYNC_WIDTH场同步脉冲的持续时间。类似HSYNC_WIDTH以DI_CLK为单位配置。Tvbi1(垂直消隐1)BGYP从VSYNC脉冲结束到第一行有效数据开始之间的时间上消隐。BGYP * Tsw。Tvbi2(垂直消隐2)SCREEN_HEIGHT - BGYP - FH从最后一行有效数据结束到下一个VSYNC脉冲开始之间的时间下消隐。由总高度、上消隐和有效高度(FH)间接决定。实操步骤获取LCD手册从你的LCD模组数据手册中找到“时序规格”章节。里面会明确给出DCLK频率或周期HBP(Horizontal Back Porch水平后消隐即Thbi1)HFP(Horizontal Front Porch水平前消隐即Thbi2)HPW(Horizontal Pulse Width行同步脉宽即Thsw)VBP,VFP,VPW垂直方向的对应参数X(有效宽度),Y(有效高度)计算寄存器值SCREEN_WIDTH X HBP HFP HPWSCREEN_HEIGHT Y VBP VFP VPWBGXP HBP HPW注意有些LCD定义HBP是从HSYNC结束开始算i.MX IPU的BGXP通常也是这个含义BGYP VBP VPWFW X(有效宽度)FH Y(有效高度)HSYNC_WIDTH和VSYNC_WIDTH根据HPW和VPW换算成DI_CLK个数。配置IPU DI寄存器将上述计算值填入对应的时序控制寄存器。同时配置信号极性HSYNC,VSYNC,DE是高有效还是低有效DCLK是上升沿还是下降沿锁存数据必须与LCD手册完全一致。常见问题排查屏幕花屏、错位99%是时序参数计算错误。用示波器测量HSYNC、VSYNC、DE和DCLK的波形与LCD手册的时序图逐个周期对比。重点检查消隐期的长度。屏幕闪烁可能是DCLK频率不匹配或极性错误。检查像素时钟配置。只有一部分屏幕显示DE信号的有效窗口设置错误没有覆盖整个有效显示区域。检查BGXP,FW,BGYP,FH的设置。颜色错误数据位映射SWIZZLE配置错误。用逻辑分析仪抓取DISPx_DAT总线对照RGB分量检查数据值。3.3 异步并行接口驱动“慢速”显示设备当你需要驱动一个没有专用显示控制器、只有简单并行总线的设备时比如某些单色OLED屏、段码式LCD、或通过8080/6800系列接口的屏就需要用到异步并行接口。它不依赖于严格的像素时钟同步而是用读写选通信号来控制数据传输。两种主流模式系统80接口常见于Intel系列的微处理器。主要控制信号是CS片选、WR写使能、RD读使能和RS寄存器/数据选择有时叫A0或D/C。系统68k接口常见于Motorola系列的微处理器。主要控制信号是CS、R/W读/写选择和E使能。IPU的异步接口引擎非常灵活它内部有多个信号发生器可以为每个控制信号CS,WR,RD,RS等独立编程其相对于“访问开始点”的上升和下降时间即UP和DOWN值单位是半个DI_CLK周期。这让你可以精确模拟出各种古怪的时序要求。配置流程以系统80写操作为例参考图52确定访问周期 (ACCESS_SIZE)这是一个基础时间单元定义了本次读写操作的“时间窗口”长度。它决定了CS、WR等信号有效的最小持续时间。编程信号时序对于CS和WR信号你需要设置UP_CS:CS信号在访问开始后经过多少个0.5*DI_CLK后变低假设低有效。DOWN_CS:CS信号在访问开始后经过多少个0.5*DI_CLK后变高。UP_WR:WR信号变低的时间点。DOWN_WR:WR信号变高的时间点。 通常WR的下降沿应在CS有效之后WR的上升沿应在CS失效之前以满足显示设备的建立/保持时间要求。处理等待 (IPP_WAIT)如果显示设备处理速度慢可以通过拉低IPP_WAIT信号来请求等待。IPU会在完成当前访问后插入等待周期直到IPP_WAIT释放见图56。这对于连接低速存储器或控制器非常有用。参数计算示例 假设DI_CLK周期为10ns显示设备要求CS低电平脉宽至少100nsWR低电平脉宽至少50ns且WR下降沿比CS下降沿晚10nsWR上升沿比CS上升沿早10ns。设置ACCESS_SIZE使其大于整个操作所需时间例如200ns即20个DI_CLK周期。UP_CS 0 (访问开始即拉低CS)DOWN_CS 100ns / (0.5 * 10ns) 20 (100ns后拉高CS)UP_WR 10ns / (0.5 * 10ns) 2 (访问开始后10ns拉低WR)DOWN_WR (100ns - 10ns) / (0.5 * 10ns) 18 (CS拉高前10ns拉高WR即开始后90ns)调试技巧异步接口的调试比同步接口更依赖逻辑分析仪。你需要同时抓取CS、WR、RD、RS、数据线以及IPP_WAIT如果使用。重点观察各信号边沿的相对时间关系是否满足外设数据手册的要求。如果通信失败首先检查ACCESS_SIZE是否足够长然后逐一核对UP/DOWN值的计算。4. 高级话题与性能优化4.1 双显示端口与引脚复用i.MX53xD有两个显示端口Disp0和Disp1但Disp1的引脚可能是与其他功能复用的且可能被精简。在设计硬件时必须查阅具体的芯片型号和《IOMUXCIO复用控制器配置表》确认你计划使用的显示引脚在该型号上是否可用以及是否需要软件配置复用模式。这是一个常见的“坑”原理图设计用了Disp1的某个引脚但代码里忘记配置IOMUXC导致该引脚默认是GPIO或其他功能显示自然无法工作。4.2 时序精度与抖动从表64和表65的公式可以看出IPU生成时序的精度受到DI_CLK周期(Tdiclk)的限制其边沿控制的最小分辨率是0.5 * Tdiclk。例如如果DI_CLK为100MHz10ns那么你编程控制HSYNC上升沿的位置其理论精度是±5ns。这意味着实际生成的脉冲宽度或位置可能会有±1个0.5*Tdiclk的误差。带来的影响对于非常高速的接口例如像素时钟接近180MHz极限这种量化误差可能会挤占原本就不宽裕的建立/保持时间窗口。因此在高速设计时尽量使用更高的DI_CLK频率以减小最小分辨率单位。在计算时序裕量时要保守地将这个±0.5单位的误差考虑进去。对于异步接口UP/DOWN值的计算涉及ceil向上取整操作会引入系统性偏差需要在软件中通过微调值进行补偿。4.3 抗撕裂与双缓冲在动态显示内容时如播放视频、动画如果软件直接向正在被显示控制器扫描的帧缓冲区写入新数据就可能出现“撕裂”现象——屏幕上半部分显示旧帧下半部分显示新帧。IPU的显示控制器支持双缓冲Ping-Pong Buffer机制。工作原理分配两个帧缓冲区FB0和FB1。显示控制器当前正在从FB0读取数据并扫描显示。你的图形渲染引擎将下一帧图像写入FB1。当FB1准备就绪后在垂直消隐期VBlank——也就是VSYNC脉冲之后、下一帧有效数据开始之前的短暂时间窗口内通过IPU寄存器执行一次缓冲区切换命令让显示控制器下一帧开始从FB1读取。渲染引擎转而向FB0写入再下一帧。关键点切换必须在垂直消隐期进行。因为水平消隐期太短可能来不及完成切换操作而如果在有效显示区切换必然导致撕裂。IPU通常会在VSYNC中断服务程序中提供切换缓冲区的接口。4.4 TV编码器接口IPU还可以直接连接电视编码器TVDAC输出标准的复合视频CVBS或分量视频信号。图51展示了其接口时序它本质上是一种特殊的同步接口时钟固定为27MHz用于标清NTSC/PAL数据格式为8位YCrCb。配置要点模式选择配置DI工作在“TV Encoder”模式。时序固定HSYNC、VSYNC的极性、脉宽、前后消隐等参数通常由电视编码器硬件或软件库固定设置以符合NTSC或PAL标准。开发者一般无需手动微调这些极低层的参数而是调用更高级的API。数据格式确保送入显示流水线的图像数据格式是YCrCb 4:2:2并与TV编码器输入格式匹配。5. 从理论到实践一个配置案例与调试记录假设我们要驱动一款800x480的RGB565 TFT LCD其手册给出如下时序参数单位像素时钟周期DCLK 33.3MHz(周期30ns)HBP 46,HFP 210,HPW 1VBP 23,VFP 22,VPW 1有效区域:X800,Y480信号极性:DE高有效HSYNC低有效VSYNC低有效 数据在DCLK上升沿锁存。步骤1计算关键值SCREEN_WIDTH 800 46 210 1 1057SCREEN_HEIGHT 480 23 22 1 526BGXP HBP HPW 46 1 47(假设IPU的BGXP定义从HSYNC结束开始)BGYP VBP VPW 23 1 24FW 800FH 480HSYNC_WIDTH HPW 1(需要换算到DI_CLK单位见下)VSYNC_WIDTH VPW 1步骤2确定DI_CLK与分频我们需要生成33.3MHz的IPP_DISP_CLK。假设IPU的输入时钟IPG_CLK为66.5MHz。DISP_CLK_PERIOD寄存器值 IPG_CLK / DCLK 66.5 / 33.3 ≈ 2.0。设置分频器为2分频得到33.25MHz误差在可接受范围内。此时Tdicp 1 / 33.25MHz ≈ 30.08ns。Tdiclk是DI_CLK周期如果DI_CLK直接使用IPG_CLK则为15.04ns。HSYNC_WIDTH在寄存器中需要以0.5个Tdiclk为单位设置。HPW1个像素时钟周期 30.08ns。换算30.08ns / (0.5 * 15.04ns) 30.08 / 7.52 ≈ 4.0。因此设置HSYNC_WIDTH 4。步骤3编写配置代码伪代码// 1. 配置IOMUXC将相关引脚复用为显示功能 IOMUXC_SetPinMux(...DISP_DAT0..., MUX_CTL_ALT0); // ... 配置所有数据线和控制线 // 2. 初始化IPU和DI模块 ipu_init(); di_init(DI_PORT_0); // 3. 配置显示时序 DI_SetTiming(DI_PORT_0, (di_timing_t){ .pixel_clock_freq 33250000, // 33.25 MHz .width 800, .height 480, .h_total_width 1057, .h_sync_width 1, // 以像素时钟数为单位IPU内部会按公式转换 .h_back_porch 46, .h_front_porch 210, .v_total_width 526, .v_sync_width 1, .v_back_porch 23, .v_front_porch 22, .h_sync_pol DI_POLARITY_ACTIVE_LOW, .v_sync_pol DI_POLARITY_ACTIVE_LOW, .data_enable_pol DI_POLARITY_ACTIVE_HIGH, .pixel_clock_pol DI_POLARITY_RISING_EDGE, }); // 4. 配置数据格式和映射 DI_SetDataFormat(DI_PORT_0, DI_DATA_FMT_RGB565); DI_SetDataSwizzle(DI_PORT_0, DI_SWIZZLE_RGB); // 根据实际LCD引脚顺序调整 // 5. 分配帧缓冲区并设置 uint16_t *frame_buffer malloc(800 * 480 * 2); DI_SetFrameBuffer(DI_PORT_0, 0, (uint32_t)frame_buffer); // 6. 使能显示 DI_Enable(DI_PORT_0);步骤4调试上电后屏幕无显示。检查1用示波器测量IPP_DISP_CLK确认是否有33.3MHz左右的时钟输出。如果没有检查IPU时钟源和分频配置。检查2测量VSYNC和HSYNC信号。应该能看到VSYNC频率约为33.3MHz / (1057 * 526) ≈ 60HzHSYNC频率约为33.3MHz / 1057 ≈ 31.5kHz。如果频率不对说明时序参数计算错误。检查3测量DE信号。它应该在每行有效数据期间800个像素时钟为高电平。如果DE始终为低或高检查BGXP和FW的设置。检查4如果同步信号都对但屏幕仍无图像或图像错乱用逻辑分析仪抓取DISP_DAT总线。在DE有效期间数据线上应该有变化的RGB数据。如果数据全零或固定检查帧缓冲区内容是否正确以及DMA传输是否启动。最终解决在这个案例中问题出在HSYNC_WIDTH的寄存器值设置上。手册要求以DI_CLK的0.5倍为单位而我们最初直接填了像素时钟数1。按照步骤2重新计算并设置为4后屏幕正常显示。6. 总结与核心要点回顾深入理解i.MX53xD IPU的接口时序是稳定驱动各类图像传感器和显示设备的基础。整个过程可以总结为“明确模式、吃透时序、精确计算、验证信号”四步。模式是根本首先要根据外设类型智能传感器、DVP传感器、TFT LCD、并行总线设备选择正确的接口模式BT.656、门控/非门控、同步、异步80/68k。时序是语言数据手册中的时序图就是设备间的“对话规则”。必须精确理解每个信号VSYNC,HSYNC,PIX_CLK,DE,CS,WR等的含义、极性、以及它们之间的相对时间关系。计算是桥梁将外设手册的时序参数时间或时钟周期数通过芯片的内部时钟DI_CLK,IPG_CLK和分频系数准确换算成需要填入IPU寄存器的数值。特别注意单位换算ns vs 时钟周期和精度问题0.5个DI_CLK分辨率。调试是验证万用表、示波器、逻辑分析仪是工程师的眼睛。电源、时钟、信号极性、波形时序必须逐项测量验证。遇到问题从时钟源头查起再到同步信号最后看数据。这份详解的目的是希望当你下次面对一块不亮的屏幕或一片混乱的图像时能清晰地知道从何入手将芯片手册中冰冷的参数表转化为系统上稳定流畅的图像流。时序配置虽然繁琐但一旦掌握便是打通嵌入式视觉系统任督二脉的关键。

相关新闻