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.

[参考译文] TL16C754C:TL16C754C IC 支持的外部时钟频率

Guru**** 2482105 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1531486/tl16c754c-external-clock-frequency-supported-by-tl16c754c-ic

器件型号:TL16C754C


工具/软件:

尊敬的团队:

我们使用四路 UART IC (TL16CP754CIPMR)。

我们想知道该 IC 是否支持 7.327MHz 频率的外部时钟。 如果是、我们是否可以获得除数值列表、从而获得 16 倍时钟。 如果我们使用该时钟、是否有可以接受的误差幅度?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    该器件支持 0Hz 到至少 16MHz 之间的所有外部时钟频率。

    除数= clock /16/baud_rate

    误差必须小于 2.5%。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    克莱门斯是正确的。  根据经验法则、波特率不匹配总共为 5%。 因此、如果将两个 UART 端子相加后只能有 5%的差值、则每个端子彼此之间不应超过+/–2.5%的不匹配度。

    - Bobby

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bobby、

    感谢您的支持。

    1) 我们之前有一个 UART 的 Rx FIFO 触发电平为 8 个字符、所以此 IC 没有这样的选项、我们是否有办法可以使用任何寄存器复制此触发电平?

    2) 数据表提到我们可以使用频率高达 24MHz 的任何时钟、但数据表中仅针对 1.8432MHz 和 3.072MHz 提供了示例波特率、这是否意味着必须预分频任何大于 3.072MHz 的值才能准确生成波特率?

    3) 我们使用了一个具有 7.32768MHz 的外部晶体,其电路如下。 由于没有为该时钟提供示例电路、您能否确认我们是否已对电阻器和电容器进行了所有必要的计算。

    4) 器件支持的最高波特率是多少、尤其是我们使用 7.327MHz 时钟时  

     

    谢谢您、

    Gokul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1) 我们以前有一个 UART 的 Rx FIFO 触发电平为 8 个字符、但此 IC 没有这样的选项、我们是否有办法使用任何寄存器复制此触发电平?

    您应该能够通过写入 TLR[7:4]将 RX 的触发电平设置为 8。 0b0010 XXXX

    2) 数据表提到我们可以使用任何高达 24MHz 的时钟、但数据表中的示例波特率仅适用于 1.8432MHz 和 3.072MHz、这是否意味着任何大于 3.072MHz 的值都必须进行预分频以准确生成波特率?

    这些波特率示例只是从另一个数据表粘贴而来。 如果您计划使用晶体、则最多可以使用 48MHz、但具体取决于您的 Vcc 电平。 数据表的第 22 页展示了它可以支持的最大晶体。  

    3) 我们使用的外部晶体具有 7.32768 MHz 的以下电路。 由于没有为该时钟提供示例电路、您能否确认我们是否已对电阻器和电容器进行了所有必要的计算。

    我想这可能取决于您选择的晶体。 我不知道计算该值所需的公式/公式、但稍后可以在组装 PCB 并探测两个 XTAL 引脚以寻找稳定的振荡时修改您包含的分量。

    4) 器件支持的最高波特率是多少、尤其是在我们使用 7.327MHz 时钟时 

    这是用于计算除数的公式。 从技术上讲、除数可以是 0 的最小值。  

    分频器=(XTAL 晶体输入频率/预分频器)/(所需的波特率 16)

    假设预分频器为 1、除数为 1、那么大约为 457987。 如果您使用了 0 除数、则可以将上一个答案乘以 2 或 915975。  

    - Bobby

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bobby、

    感谢您的支持。

    我配置了 从 4 字节到 8 字节的 RX 触发电平。 因此、uart1、uart2 和 uart3 可以正常运行。 但 UART 0 (DEVICE[0]) 无法正常工作。  

    下面是我们配置的片段。

    #define ADI_UART_LCR_DEFAULT ((U16) 0x0000)   //默认 LCR 值
    #define ADI_UART_FCR_DEFAULT ((U16) 0x004F)   //默认 FCR 值
    #define ADI_UART_MCR_DEFAULT ((U16) 0x0008)   //默认 MCR 值
    #define ADI UART_IER_DEFAULT ((U16) 0x0000)   //默认 IER 值
    #define ADI_UART_DLL_DEFAULT ((U16) 0x0001)   //默认 DLL 值
    #define ADI_UART_DLH_DEFAULT ((U16) 0x0000)   //默认 DLH 值
              
    对于 (I = 0I < ADI UART_NUM_DEVICESI++){
              PDevice      =设备[i](&Device);
            
              ADI_UART_LCR_SET (ADI_UART_LCR_DEFAULT);
              ADI_UART_MCR_SET (0x0);
              ADJI_UART_IER_SET (ADI_UART_IER_DEFAULT);
               
              //ADI_UART_FCR_SET (0x01);
              //ADI_UART_FCR_SET (ADI_UART_FCR_DEFAULT);
            
              // TLR 8 字符中断配置
            
              ADI_UART_LCR_SET (0xBF);
              ADI_UART_EFR_SET (0x10);
              ADI_UART_LCR_SET (ADI_UART_LCR_DEFAULT);
              ADI_UART_MCR_SET (0x40);  
              ADI_UART_TLR_SET (0x20);
              ADI_UART_EFR_SET (0x0);
            
              ADI_UART_LCR_SET_DLAB ();
              ADI_UART_DLL_SET (ADI_UART_DLL_DEFAULT);
              ADI_UART_DLH_SET (ADI_UART_DLH_DEFAULT);
              ADI_UART_LCR_CLEAR_DLAB ();
              执行{
                isr = adi_uart_isr_get ();
                RBR = ADI_UART_RBR_GET ();
                LSR = ADI_UART_LSR_GET ();
              } while ((ISR & 0x01)!= 0x01);   
    }
    您能否查看并建议我们是否需要考虑任何配置更改。
    如需更多意见、请告知我们。
    此致、
    Gokul S.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gokul:

    您是否有我可以快速仔细检查的原理图?

    、但 UART 0 (device[0]) 无法正常工作。  [/报价]

    到底什么不起作用? 您是否看到波特率不正确? 还是 Rx 触发电平?

    - Bobby