This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于DM8107多核通信机制的求解

Other Parts Discussed in Thread: DM8107

各位朋友好,

        最近我们公司想用DM8107做一款高清编码设备,使用的rdk版本是:DVR_RDK_v03.00.01.26。经过一段时间的研究,发现有几个问题不是特别清楚,希望了解的朋友能够解答一下。

      1. 通过Makefile了解到M3固件是由以下两个目录下的文件生成的

        dvr_rdk\mcfw\src_bios6

        ti_tools\hdvpss\hdvpss_01_00_01_37_patched

        请问这两个文件夹分别是编译M3的系统和驱动吗?这里的驱动会对硬件进行直接操作吗?

      2. 在linux内核下编译生成的vpss.ko实现了什么功能? 与vpss固件dvr_rdk_fw_m3vpss_512M_128M.xem3有什么关联吗?

      3. 了解到对于视频的capture、display、dei等都是在M3中实现的,而A8负责哪部分?

  • 1. dvr_rdk\mcfw\src_bios6  表示M3上的系统和应用,   ti_tools\hdvpss\hdvpss_01_00_01_37_patched 是hdvpss模块的驱动, 它包括了对模块的寄存器配置。

    2. vpss.ko是linux下挂载的vpss驱动的kernel module.   *xem3是M3核的固件。

    3. 网络这部分是在A8上做的,主操作系统linux也是在A8上跑。  芯片启动的时候,是先启动A8的,然后再加载M3和DSP的程序。A8会管理这些协处理器。实际上M3对capture,display,dei的操作其实是配置寄存器与处理中断等。A8也是可以做的,用M3做可以给A8空出更多的性能。    A8主要留给你们自己在上面需要跑的Linux应用。

  • http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/17527.aspx?pi2132219853=1

    http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/15996/60415.aspx#60415

    http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/19244/64227.aspx#64227

    http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/18671/62596.aspx#62596

    http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/18340/62164.aspx#62164

    一些链接供参考。

  • 谢谢Eason的回复

    还有个问题想请教一下,我用ADV7441采集芯片通过配置I2C寄存器产生了一个分辨率为1024x768蓝屏信号,16位,外部时钟同步,YUV;

    然后与DM8107连接(VIP0 portA),并且修改了dvr_rdk\mcfw\src_bios6\links_m3vpss\capture\captureLink_drv.c中的两个参数为:

    pVipCreateArgs->videoCaptureMode =
    VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_HSYNC_VSYNC;
    pVipCreateArgs->videoIfMode = VPS_CAPT_VIDEO_IF_MODE_16BIT;

    但是没有得到采集和编码的数据

    我的usecase是参照multich_progressive_4d1_vcap_venc_vdec_vdis.c写的。

    请问还有哪些地方是需要考虑的,谢谢。附件是打印信息

  • - ADV能不能改成内同步?我印象里好像默认就是内同步的配置。   这样改动最小。

    - 完全没有采到东西的话,很可能同步也不匹配,你需要在代码里搜一下具体配置同步信号的极性的code,需要配置成对应的才能采到。

    - M3vpss应该会要打印overflow之类的错误信息吧,贴出来看看。

    - 还有就是hsync和vsync的pinmux寄存器需要回读看看是否已经正常设置。 link代码里只是在软件里配置了参数,不一定会把pinmux也改过来的。

  • 你好Eason,

    引脚复用确定是配置成正确的模式了。

    overflow的打印我不清楚是在哪一部分,附件是程序跑起来时的全部打印信息,麻烦帮忙看一下,谢谢。

  • 这边的打印显示No video detected。

    所以我认为还是没有检测到同步,这个还是设置的问题。

    除了我上个回帖的内容,你还可以再实际测量一下前端的ADC是否有时钟和同步信号正确地给过来。

    BR,

    Eason

  • hello Eason

    之前的问题已经解决了,确实是同步信号未能给到主芯片(硬件问题)。

    现在可以采集并编码1024x768大小的信号了,但是采集到图像上下均有黑边,而且图像有抖动,请问该如何解决?

  • Hi ,

    - 是具体哪种类型的抖动? 

    - 有定位确认过是Capture后就存在这个抖动/黑边吗?

    - 采集这边设定的分辨率是否符合1024x768?

    - 用手tough前端的视频ADC或者与CPU的连接线,是否会影响到抖动的现象?

  • 1. 图像并不是整频都在抖动,只出现在图像上方1/10的大小位置,以下是两张截图。

    2. 采集的源是1024x768,并且adv7441也做了相应配置。

    我的usecase是:cap-》nsf-》merge-》enc

    请问是否可以配置主芯片的寄存器来做偏移解决黑边,hdvpss驱动中有这方面的东西吗?

  • Hi ,

    你的ADV7441用的是HDMI接入还是VGA口接入?

    黑边最常出现的情形还是Video Decoder芯片配置的格式和输入源不匹配。 

    另外,这颗ADV芯片是否支持测试模式,就是自行输出一个标准的视频格式,这样有利于调试。

    BR,

    Eason

  • Hello Eason

    ADV7441用的是VGA输入。

    输入源和adv7441的配置是匹配的,都是1024x768_60HZ。

    图像抖动的情况已经有确定是硬件问题了。

    我想知道的是DM8107的HDVPSS模块中有没有关于采集偏移的配置?使用adv来调偏移的话感觉范围比较小。

  • Hello Eason,

    通过配置VIP_PARSER相关寄存器,图像黑边的问题得到解决了。

    多谢Eason的帮助。

  • 您好,我想请问一下DM8148的寄存器都在哪个文件下定义的?还有,我也遇到你这个黑边的问题了,我想请问VIP_PARSER相关寄存器在哪个文件中找的?具体你是怎么配置的?谢谢

  • 寄存器配置请参考

    http://www.ti.com/cn/lit/pdf/sprugz8

    HDVPSS的寄存器配置(含VIP_Parser)在DVRRDK软件包下

    DVRRDK41\ti_tools\device_collateral\dm810x\SPRUHI7_DM8107_HDVPSS_10-08-12.pdf

  • 您好,我买的是北京天睿视讯的板子,里面用的内核都是TI的,但我在你给的目录下没有找到HDVPSS的寄存器配置资料,也没有找到SPRUHI7_DM8107_HDVPSS_10-08-12.pdf,您方便直接把这个文件发给我吗?你可以通过添加附件的形式发给我,谢谢了

  • 还记得详细修改步骤吗?