PCIe转多串口CH382/CH384时钟和波特率、分频与倍频

这篇具有很好参考价值的文章主要介绍了PCIe转多串口CH382/CH384时钟和波特率、分频与倍频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、相互关系与计算

1.1 时钟、频率和波特率的关系

 PCIE串口所支持的波特率与串口基准频率有关,需要根据实际使用的目标波特率调整串口基准频率。串口内部基准时钟来源包括:

  1. 外接晶体提供串口时钟:芯片内部具有频率振荡器,可通过外接晶体及电容产生串口所需时钟。
  2. 内部PLL提供串口时钟:将芯片CKSEL引脚接PERST#引脚,则通过内部PLL产生串口所需时钟,内部PLL频率为125MHz。

1.2 分频、倍频与波特率的关系

芯片内部可对时钟信号进行分频和倍频,分别产生各个串口的内部基准时钟。当时钟信号由外接晶体提供时,串口基准频率=外接晶体频率的1/12分频或者2倍频。当时钟信号由内部PLL提供时,串口基准频率=内部PLL频率的1/68分频或者不分频。计算公式:

串口波特率=串口基准时钟/16/分频寄存器(DLL/DLM)

针对串口非标准波特率的使用,即可通过更换外部晶体和更改内部频率系数来进行调整。在串口属性页面进行修改,驱动安装程序支持安装时进行频率的配置。

以PCI-Express转多串口芯片CH382/CH384为例:芯片内部具有时钟振荡器,可以通过外接晶体及电容产生串口所需的外部时钟信号。如果不接晶体和电容,那么将CKSEL 引脚接PERST#引脚则可以通过内部PLL 产生串口所需时钟。

ch382,硬件和驱动,PCI/PCIE总线,UART串口,硬件工程,嵌入式硬件,经验分享

CH384 内部将XO 引脚的外部时钟信号进行分频或倍频,分别产生各个串口的内部基准时钟。为了与现有计算机串口的16C550 芯片兼容,默认的内部时钟频率是1.8432MHz,对应的最大串口波特率是115200bps。CH384 芯片支持多种内部时钟频率,当内部时钟频率加倍时,如果应用软件不变,那么实际的通讯波特率也加倍,即应用软件设置为115200bps 的串口实际为230400bps。

CH384 的串口可以由CKSEL引脚或者外部配置芯片中的CFG/FREQ标志位选择分频或者倍频系数,将外部时钟的频率转换为两种内部时钟频率,从而支持更多更大的串口波特率。下表是根据CKSEL引脚、CFG/FREQ 标志位和外部晶体频率产生串口的内部时钟频率和最大串口波特率。表中CK2X是各串口的IER 寄存器的位5;表中CFG 是指外部配置芯片有效标志,CKnS(即CK0S~CK3S)分别为FREQ的位0~位3。

 1.3 波特率计算

可直接使用波特率技术工具BaudrateCalcu_PCIEUART来快速计算:

下载链接: CH38XDRV.ZIP - 南京沁恒微电子股份有限公司,波特率计算工具在 CH38XDRV\TOOL目录。

以使用频率为36.864MHz的外部晶体为例,若需使用1152000波特率,通过如下步骤进行判断是否可支持该波特率:

  1. “外部晶振频率(Hz)”中输入外部晶体频率,分频系数选择“2倍频”;
  2. “波特率”输入目标波特率:1152000;
  3. 点击“计算”,下方输出栏输出计算结果,参数“FreqCErr”值代表计算的波特率误差,若波特率误差在1%以内则表示该波特率可设置使用。

ch382,硬件和驱动,PCI/PCIE总线,UART串口,硬件工程,嵌入式硬件,经验分享

这里提供常用晶振支持的波特率列表:

(注:下表中每种外部晶体所支持的波特率只列出了部分常用波特率,若所需使用波特率不在表中,可根据“串口波特率与时钟关系概述”部分描述进行计算) 

外部晶体频率

内部频率系数

支持常用波特率

9.216Mhz

1/12分频

4800、6000、8000、9600、12000、16000、24000、48000(最高波特率)等

2倍频

4800、9600、11520、12000、12800、14400、15360、16000、18000、19200、23040、24000、25600、28800、32000、36000、38400、46080、48000、57600、64000、72000、76800、96000、115200、128000、144000、192000、230400、288000、384000、576000、1152000(最高波特率)等

22.1184MHz

1/12分频

4800、9600、11520、12800、14400、19200、23040、28800、38400、57600、115200(最高波特率)等

2倍频

4800、9600、12800、14400、19200、20480、21600、23040、25600、28800、30720、38400、43200、46080、51200、55296、57600、61440、69120、76800、86400、92160、102400、110592、115200、138240、153600、172800、184320、230400、276480、307200、345600、460800、552960、691200、921600、1382400、2764800(最高波特率)等

32MHz

2倍频

12500、15625、16000、20000、25000、31250、32000、40000、50000、62500、80000、100000、125000、160000、200000、250000、400000、500000、800000、1000000、2000000、4000000(最高波特率)等

36.864MHz

1/12分频

4800、9600、12000、12800、16000、19200、24000、32000、38400、48000、64000、96000、192000(最高波特率)等

2倍频

4800、9600、12800、14400、15360、19200、20480、23040、24000、25600、28800、30720、32000、36000、36864、38400、46080、48000、51200、57600、61440、64000、72000、76800、92160、96000、102400、115200、128000、144000、153600、184320、192000、230400、256000、288000、307200、384000、460800、512000、576000、768000、921600、1152000、1536000、2304000、4608000(最高波特率)等

二、具体操作:在驱动中设置

CH38XDRV驱动默认使用22.1184MHz的外部晶体,若使用其他频率的外部晶体或内部PLL时钟时,需对其串口时钟信号等进行配置。

设置时,应使串口处于关闭状态,设置完成后即刻生效无需重启电脑。根据配置的串口基准时钟,使用波特率误差应控制在1%以内。

具体设置:

打开设备管理器,选择CH382/CH384的PCIE转出的串口,双击弹出串口属性页,选择“端口设置”,点击“高级(A)…”后弹出高级设置选项。

ch382,硬件和驱动,PCI/PCIE总线,UART串口,硬件工程,嵌入式硬件,经验分享

2.1 外部晶体提供串口时钟

ch382,硬件和驱动,PCI/PCIE总线,UART串口,硬件工程,嵌入式硬件,经验分享

当启用外部晶振为串口提供时钟时,具体步骤:

  1. “串口时钟信号来源”选择外部晶体,分频系数需根据实际使用的波特率进行设定(注:当选用22.1184MHz晶体时,驱动默认在串口波特率大于115200时会自动启用2倍频;若是其他频率外部晶体则需手动选择“2倍频”)。
  2. “外部晶体频率”一栏中填写实际的晶体频率(驱动默认设置为:22118400,对应22.1184MHz晶体)。
  3. 输入选用的外部晶体频率值,点击“>>”计算得出内部串口时钟频率。也可输入串口基准频率,点击“<<”根据当前分频系数计算得出外部晶体频率。
  4. 点击“确定”,驱动保存设置且立即生效。

2.2 内部PLL提供时钟 ch382,硬件和驱动,PCI/PCIE总线,UART串口,硬件工程,嵌入式硬件,经验分享

 当启用内部PLL来为串口提供时钟时,需将硬件的CKSEL引脚与PERST#引脚相连。并进行如下设置:

  1. “串口时钟信号来源”选择“内部PLL”,分频系数根据根据实际使用情况进行设定;
  2. 点击“确定”,系统将会保存此次设置且立即生效。

以上介绍了PCIe转串口的时钟与频率、分频与倍频和波特率之间的关系,使用不同波特率晶振的计算,以及在驱动中设置不同波特率的步骤,希望对需要使用超高波特率、非标波特率等应用有所帮助。 文章来源地址https://www.toymoban.com/news/detail-626895.html

到了这里,关于PCIe转多串口CH382/CH384时钟和波特率、分频与倍频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32 CAN波特率计算

    CAN通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔,本文这里以数据帧为例。 显性电平对应逻辑0,CAN_H和CAN_L之差为2.5V左右。而隐性电平对应逻辑1,CAN_H和CAN_L之差为0V. 数据帧有标准帧和扩张帧两种格式,一个11位,一个29位. 标准帧和扩张帧两种格式区别: 1.扩展帧

    2023年04月23日
    浏览(30)
  • STM32 CAN 波特率计算分析

    CubeMX中配置CAN波特率的这个界面刚用的时候觉得非常难用,怎么都配置不到想要的波特率。接下来为大家做一下简单的分析。 STM32F4的CAN时钟来自APB1 在如下界面配置,最好配置为1个整一点的数。这里配置为40MHz 时钟进入CAN之后,还会被CAN分频系数再分一次 到此,时间元的时

    2024年02月11日
    浏览(29)
  • 单片机CAN波特率及采样点设置

    预分频比位(BRP) 同步段 (Sync_Seg) 传播时间段 (Prop_Seg) 相位缓冲段 1 (Phase_Seg1) 相位缓冲段 2 (Phase_Seg2) 时间份额TQ(us) = (2*(BRP+1))/Fosc(MHz); 标称位时间 = TQ * (Sync_Seg + Prop_Seg  + Phase_Seg1 + Phase_Seg2); 采样点 = (1 + Prop_Seg  +Phase_Seg1 )/(1|+Prop_Seg  + Ph

    2024年04月26日
    浏览(24)
  • UART-UART非常见波特率调试应用笔记

    UART非常见波特率调试 应用笔记 串口通信中的波特率选择,对于确保可靠的数据传输至关重要。波特率是衡量单位时间内传输的比特数,常见的波特率包括300、1200、2400、9600、115200等。不同波特率适用于不同的应用场景和通信要求。较低的波特率适用于较长的通信距离或对传

    2024年02月07日
    浏览(42)
  • 一文搞清楚码元速率(波特率)和比特速率(比特率)的区别

    比特:记为bit,是最小的单位。取值为一位二进制数,0或1。 字节:记为Byte,简写B。1B=8bits 码元 在数字通信中常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为(二进制)码元。而这个间隔被称为码元长度。值得注意的是当码元的离散状态有大于

    2024年02月06日
    浏览(29)
  • CAN总线(五)STM32的CAN波特率设置方法(完整版)

     ①HSI是高速内部时钟,RC振荡器,频率为8MHz。   ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入

    2024年02月07日
    浏览(22)
  • PCIE时钟解说

    接上篇文章《clock oscillator,generator,buffer选型杂谈》,今天我们来说下PCIE时钟的要求: 首先先看下PCIE架构组件:下图中主要包括了CPU(ROOT COMPLEX),PCIE SWITCH,BUFFER以及一些PCIE ENDPOINT;而且可知各个器件的时钟来源都是由100MHz经过Buffer后提供。 接着上图的架构,我们来简单看

    2024年02月04日
    浏览(23)
  • USB转串口芯片CH340系列及CH340模块使用方法(CH340驱动,接线,串口下载详细介绍)

    我们为什么要用到CH340驱动呢?CH340驱动就是USB转串口的驱动的一种,因为我们现在的电脑上,已经不存在串口,所以我们一般使用USB转串口芯片,目的只有一个,把电脑的USB口映射为串口用。常用的USB转串口芯片有CH340、CP2102、PL2303、FT232等。芯片是CH340的均可以使用。安装

    2023年04月08日
    浏览(32)
  • 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟

    沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208(三): CH32V208 Ubuntu22.04 Makefile VSCode环境配置 沁恒 CH32V208(四): CH32V208 网络DHCP示例代码分析 沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明 在介绍下面的内容

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包