完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
工程师,你好。我现在使用THS8200来产生VGA信号,我输入的数据是4:2:2,60HZ,720P信号。我现在遇到两个问题!我的IIC为什么能够配置一些寄存器,有些寄存器配置不来。器件地址和寄存器地址应答,写入数据,偶尔不应答,总线上其他的IIC器件都没有问题。我的配置如下,谢谢。 errors = THS8200_WR(0x40, 0x03, 0x01); // chip_ctl errors = THS8200_WR(0x40, 0x04, 0x81); //csc_ric1 errors = THS8200_WR(0x40, 0x05, 0xD5); //csc_rfc1 errors = THS8200_WR(0x40, 0x06, 0x00); //csc_ric2 errors = THS8200_WR(0x40, 0x07, 0x00); //csc_rfc2 errors = THS8200_WR(0x40, 0x08, 0x06); //csc_ric3 errors = THS8200_WR(0x40, 0x09, 0x29); //csc_rfc3 errors = THS8200_WR(0x40, 0x0A, 0x04); //csc_gic1 errors = THS8200_WR(0x40, 0x0B, 0x00); //csc_gfc1 errors = THS8200_WR(0x40, 0x0C, 0x04); //csc_gic2 errors = THS8200_WR(0x40, 0x0D, 0x00); //csc_gfc2 errors = THS8200_WR(0x40, 0x0E, 0x04); //csc_gic3 errors = THS8200_WR(0x40, 0x0F, 0x00); //csc_gfc3 errors = THS8200_WR(0x40, 0x10, 0x80); //csc_bic1 errors = THS8200_WR(0x40, 0x11, 0xBB); //csc_bfc1 errors = THS8200_WR(0x40, 0x12, 0x07); //csc_bic2 errors = THS8200_WR(0x40, 0x13, 0x42); //csc_bfc2 errors = THS8200_WR(0x40, 0x14, 0x00); //csc_bic3 errors = THS8200_WR(0x40, 0x15, 0x00); //csc_bfc3 errors = THS8200_WR(0x40, 0x16, 0x14); //csc_offset1 errors = THS8200_WR(0x40, 0x17, 0xAE); //csc_offset12 errors = THS8200_WR(0x40, 0x18, 0x8B); //csc_offset23 errors = THS8200_WR(0x40, 0x19, 0x15); //csc_offset3 errors = THS8200_WR(0x40, 0x1C, 0x53); //dman_cntl 20bit 422 //sync tip and horizontal blank level setup errors = THS8200_WR(0x40, 0x1D, 0x00); //dtg_y_sync1 errors = THS8200_WR(0x40, 0x1E, 0x00); //dtg_y_sync2 errors = THS8200_WR(0x40, 0x1F, 0x00); //dtg_y_sync3 errors = THS8200_WR(0x40, 0x20, 0x00); //dtg_cbcr_sync1 errors = THS8200_WR(0x40, 0x21, 0x00); //dtg_cbcr_sync2 errors = THS8200_WR(0x40, 0x22, 0x00); //dtg_cbcr_sync3 errors = THS8200_WR(0x40, 0x23, 0x2A); //dtg_y_sync_upper errors = THS8200_WR(0x40, 0x24, 0x00); //dtg_cbcr_sync_upper //horizontal timing setup errors = THS8200_WR(0x40, 0x25, 0x60); // dtg_spec_a 96 errors = THS8200_WR(0x40, 0x26, 0x0E); // dtg_spec_b Hfp-2 (16-2) errors = THS8200_WR(0x40, 0x27, 0x00); // dtg_spec_c errors = THS8200_WR(0x40, 0x28, 0x90); // dtg_spec_d 144 errors = THS8200_WR(0x40, 0x29, 0x00); // dtg_spec_d1 errors = THS8200_WR(0x40, 0x2A, 0x00); // dtg_spec_e errors = THS8200_WR(0x40, 0x2B, 0x00); // dtg_spec_h_msb errors = THS8200_WR(0x40, 0x2C, 0x00); // dtg_spec_h_lsb errors = THS8200_WR(0x40, 0x2D, 0x00); // dtg_spec_i_msb errors = THS8200_WR(0x40, 0x2E, 0x00); // dtg_spec_i_lsb errors = THS8200_WR(0x40, 0x2F, 0x0E); // dtg_spec_k_lsb 16-2 errors = THS8200_WR(0x40, 0x30, 0x00); // dtg_spec_k_msb errors = THS8200_WR(0x40, 0x31, 0x00); // dtg_spec_k1 errors = THS8200_WR(0x40, 0x32, 0x00); // dtg_speg_g_lsb errors = THS8200_WR(0x40, 0x33, 0x00); // dtg_speg_g_msb errors = THS8200_WR(0x40, 0x34, 0x03); // dtg_total_pixel_msb //800 pixels errors = THS8200_WR(0x40, 0x35, 0x20); // dtg_total_pixel_lsb errors = THS8200_WR(0x40, 0x36, 0x00); // dtg_linecnt_msb errors = THS8200_WR(0x40, 0x37, 0x01); // dtg_linecnt_lsb errors = THS8200_WR(0x40, 0x38, 0x89); // dtg_mode Generic SDTV errors = THS8200_WR(0x40, 0x39, 0x22); // dtg_frame_field_msb //525 lines errors = THS8200_WR(0x40, 0x3A, 0x0D); // dtg_frame_size_lsb errors = THS8200_WR(0x40, 0x3B, 0x0D); // dtg_field_size_lsb errors = THS8200_WR(0x40, 0x3C, 0x80); // dtg_vesa_cbar_size //CSM setup to map YCbCr to FS RGB errors = THS8200_WR(0x40, 0x41, 0x40); // csm_clip_gy_low errors = THS8200_WR(0x40, 0x42, 0x40); // csm_clip_bcb_low errors = THS8200_WR(0x40, 0x43, 0x40); // csm_clip_rcr_low errors = THS8200_WR(0x40, 0x44, 0x53); // csm_clip_gy_high errors = THS8200_WR(0x40, 0x45, 0x3F); // csm_clip_bcb_high errors = THS8200_WR(0x40, 0x46, 0x3F); // csm_clip_rcr_high errors = THS8200_WR(0x40, 0x47, 0x40); // csm_shift_gy errors = THS8200_WR(0x40, 0x48, 0x40); // csm_shift_bcb errors = THS8200_WR(0x40, 0x49, 0x40); // csm_shift_rcr errors = THS8200_WR(0x40, 0x4A, 0xFC); // csm_mult_gy_msb errors = THS8200_WR(0x40, 0x4B, 0x44); // csm_mult_bcb_rcr_msb errors = THS8200_WR(0x40, 0x4C, 0xAC); // csm_mult_gy_lsb errors = THS8200_WR(0x40, 0x4D, 0xAC); // csm_mult_bcb_lsb errors = THS8200_WR(0x40, 0x4E, 0xAC); // csm_mult_rcr_lsb errors = THS8200_WR(0x40, 0x4F, 0xFF); // csm_mode //Generic Mode Line Type Setup. Set dtg_bp 2_msb and lsb to 526 (lines per frame +1) errors = THS8200_WR(0x40, 0x50, 0x02); // dtg_bp1_2_msb errors = THS8200_WR(0x40, 0x58, 0x00); // dtg_bp1_lsb errors = THS8200_WR(0x40, 0x59, 0x0E); // dtg_bp2_lsb errors = THS8200_WR(0x40, 0x68, 0x00); // dtg_linetype1 = active video errors = THS8200_WR(0x40, 0x69, 0x00); // dtg_linetype2 = active vieo errors = THS8200_WR(0x40, 0x70, 0x60); // dtg_hlength_lsb HS=96 errors = THS8200_WR(0x40, 0x71, 0x00); // dtg_hdly_msb errors = THS8200_WR(0x40, 0x72, 0x01); // dtg_hdly_lsb errors = THS8200_WR(0x40, 0x73, 0x03); // dtg_vlength_lsb VS=2+1 errors = THS8200_WR(0x40, 0x74, 0x00); // dtg_vdly_msb errors = THS8200_WR(0x40, 0x75, 0x01); // dtg_vdly_lsb errors = THS8200_WR(0x40, 0x76, 0x00); // dtg_vlength2_lsb errors = THS8200_WR(0x40, 0x77, 0x07); // dtg_vdly2_msb errors = THS8200_WR(0x40, 0x78, 0xFF); // dtg_vdly2_lsb errors = THS8200_WR(0x40, 0x79, 0x00); // dtg_hs_in_dly_msb errors = THS8200_WR(0x40, 0x7A, 0x38); // dtg_hs_in_dly_lsb 40+Hfp =40+16=56 errors = THS8200_WR(0x40, 0x7B, 0x00); // dtg_vs_in_dly_msb errors = THS8200_WR(0x40, 0x7C, 0x0A); // dtg_vs_in_dly_lsb Vfp=10 errors = THS8200_WR(0x40, 0x82, 0x23); // pol_cntl -HS -VS 同步信号控制(输入为嵌入式同步) |
|
相关推荐
1个回答
|
|
|
您好!关于您在使用THS8200产生VGA信号时遇到的问题,我会尽力帮助您。
首先,关于IIC配置寄存器的问题,可能的原因有以下几点: 1. 寄存器地址错误:请检查您提供的寄存器地址是否正确。如果地址错误,可能导致无法正确配置寄存器。 2. IIC通信问题:请确保您的IIC通信线路连接正确,并且没有受到干扰。您可以检查IIC总线上的其他器件是否正常工作,以排除线路问题。 3. 器件地址问题:请确保您的THS8200器件地址设置正确。如果地址设置错误,可能导致无法正确配置寄存器。 4. 写入数据问题:请检查您写入的数据是否正确。如果数据错误,可能导致无法正确配置寄存器。 针对您提供的配置代码,我建议您检查以下几点: 1. 确保THS8200的IIC地址正确。通常,THS8200的IIC地址为0x40(7位地址)。 2. 检查您的IIC通信线路是否连接正确。您可以使用示波器检查IIC总线上的信号,以确保通信正常。 3. 检查您的写入数据是否正确。您可以查阅THS8200的数据手册,以确保您写入的数据符合要求。 4. 如果问题仍然存在,您可以尝试使用其他IIC器件进行测试,以排除IIC总线问题。 希望这些建议能帮助您解决问题。如果您有其他问题,请随时提问。祝您工作顺利! |
|
|
|
|
只有小组成员才能发言,加入小组>>
550 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1514 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1338 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2783浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 17:03 , Processed in 0.795134 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
285