精华内容
下载资源
问答
  • 串口模块 USB转TTL模块 DVD升级 路由/MODEN等刷机线 STC单片机程序下载 其它串行通迅领域.
  • USB转TTL USB转串口 DIY制作资料清单,电路原理图,PCB文件,驱动支持 USB转TTL USB转串口 DIY制作资料清单,电路原理图,PCB文件,驱动支持
  • 制作usb转串口固件

    2019-10-11 11:48:21
    最近在用 ch552 芯片做 usb 转串口的调试板 串口需要设置波特率,在 ch552 上需要给串口提供设定的波特率,这里使用定时器产生 初值计算问题 一般使用定时器的模式2,8位自动重装,使用 TL 计数,使用 TH 重装 波特...

    定时器相关

    最近在用 ch552 芯片做 usb 转串口的调试板

    串口需要设置波特率,在 ch552 上需要给串口提供设定的波特率,这里使用定时器产生

    初值计算问题

    一般使用定时器的模式2,8位自动重装,使用 TL 计数,使用 TH 重装

    波特率初值的计算公式如下

    THn = TLn = 256 - fsys/12/16/波特率/2

    ch552 有 1T 的模式,所以可以不用除以 12,还可以设置波特率倍频,也不用除以 2,这样的话,计算公式改为

    THn = TLn = 256 - fsys/16/波特率

    这里顺便提一下除以 16 的原因。在51单片机内置的串口模块中,他采取的方式是把一位信号采集16次,然后把第7、8、9次取出来,如果这三次中其中有两次是高电平的话,就认定这一位数据是1,如果两次数据是低电平,就认为是0。这样可以提高通信的容错率。【参考来源】
    (PS:STC12C5A60S2 的 datasheet 8.2.2 节有更详细的介绍)

    波特率误差问题

    异步串口有起始和停止位,再加校验位,8位字节最多可有12位。51单片机的串口模块通常在位中间采样,如此12位偏差50%就可能采样错误造成通信失败,对应通信双方波特率偏差约50%/12=4%。

    串口通信误码率与通信双方波特率高低无关,不过波特率和通信距离的乘积有上限。【参考来源】

    本文中使用的 ch552 ,系统时钟为 16M,下面对是使用的常见的波特率进行误差分析。因为 ch552 不支持浮点波特率,所以对于小数部分进行截断

    波特率 THn 误差 THn 误差
    2400 416 0.16% 417 0.08%
    9600 104 0.16% 105 0.79%
    19200 52 0.16% 53 1.73%
    38400 26 0.16% 27 3.55%
    43000 23 1.11% 24 3.1%
    56000 17 5% 18 0.79%
    57600 17 2.12% 18 3.55%
    115200 8 8.5% 9 3.55%
    128000 7 11.6% 8 2.3%

    虽然说理论上 5% 的误差对于异步串口通信来说都是可以容忍的,但是可能存在收发双方都存在偏差的情况,所以需要控制偏差在 2.5% 以下。

    本次实验中使用发现,表中误差达到 3.55% 的波特率,在接收数据的时候都会乱码

    usb 相关

    既然 ch552 上的串口波特率需要定时器的支持,那在 host 设备上设置波特率的时候,如何将 host 设备上对于波特率的需求传达给 ch552 呢

    ch552 的 usb 驱动是 ftdi 的,通过对 ftdi 的 usb 驱动反汇编可以知道设置波特率的 usb 非标准请求编码(当然不是我反汇编的☺),然后通过这个编码获取 usb 驱动送过来的一个 divisor 值。计算公式如下

    divisor = 48M/16/波特率

    这个计算是在 usb 驱动中完成的

    在接收 host 端发送过来的 divisor 时要注意,自己的串口在什么接口,需要进行判断

    if(UsbSetupBuf->wIndexL == 1)
        // inf1
    else
        // inf2
    

    由于 ch552 不支持浮点波特率,因此可以忽略 host 端传送过来的 divisor 的小数部分, divisor 的低 14 位是整数部分,高两位是小数部分。

    divisor = UsbSetupBuf->wValueL |
            (UsbSetupBuf->wValueH << 8);
    divisor &= 0x3fff;
    

    在接收到 divisor 后,还需要对这个数进行处理。因为 ftdi 驱动中使用的是 48M 的时钟进行波特率的计算的,这里我们需要转换成自己的系统时钟,然后再进行定时器的 THn 进行设置

    divisor = divisor / 3; // 16M CPU时钟
    if(UsbSetupBuf->wIndexL == 1) // 串口位于接口1
        TH1 = 0 - divisor;
    

    知乎链接

    展开全文
  • 分享:采用ATMEGA8单片机制作的,USB转串口资料,内容详细!!!(含下载软件,制作PCB图)
  • usb转串口驱动

    2012-12-11 16:49:46
    为了防止计算机没有串口,如自己制作一个usb转串口,发现没有驱动,这个驱动就可以解除没串口的问题了。
  • 自制USB转串口模块

    2011-03-21 20:20:43
    自己制作usb转串口 实用pl2303制作 让diy进行到底
  • 定时器相关最近在用 ch552 芯片做 usb 转串口的调试板串口需要设置波特率,在 ch552 上需要给串口提供设定的波特率,这里使用定时器产生初值计算问题一般使用定时器的模式2,8位自动重装,使用 TL 计数,使用 TH 重...

    fdae8fc252998fdc0455888ff8ee0a67.png

    定时器相关

    最近在用 ch552 芯片做 usb 转串口的调试板

    串口需要设置波特率,在 ch552 上需要给串口提供设定的波特率,这里使用定时器产生

    初值计算问题

    一般使用定时器的模式2,8位自动重装,使用 TL 计数,使用 TH 重装

    波特率初值的计算公式如下

    THn = TLn = 256 - fsys/12/16/波特率/2

    ch552 有 1T 的模式,所以可以不用除以 12,还可以设置波特率倍频,也不用除以 2,这样的话,计算公式改为

    THn = TLn = 256 - fsys/16/波特率

    这里顺便提一下除以 16 的原因。在51单片机内置的串口模块中,他采取的方式是把一位信号采集16次,然后把第7、8、9次取出来,如果这三次中其中有两次是高电平的话,就认定这一位数据是1,如果两次数据是低电平,就认为是0。这样可以提高通信的容错率。【参考来源】 (PS:STC12C5A60S2 的 datasheet 8.2.2 节有更详细的介绍)

    波特率误差问题

    异步串口有起始和停止位,再加校验位,8位字节最多可有12位。51单片机的串口模块通常在位中间采样,如此12位偏差50%就可能采样错误造成通信失败,对应通信双方波特率偏差约50%/12=4%。

    串口通信误码率与通信双方波特率高低无关,不过波特率和通信距离的乘积有上限。【参考来源】

    本文中使用的 ch552 ,系统时钟为 16M,下面对是使用的常见的波特率进行误差分析。因为 ch552 不支持浮点波特率,所以对于小数部分进行截断

    波特率THn误差THn误差

    d9ebaf3fa42d973677ff7c362a009976.png

    虽然说理论上 5% 的误差对于异步串口通信来说都是可以容忍的,但是可能存在收发双方都存在偏差的情况,所以需要控制偏差在 2.5% 以下。

    本次实验中使用发现,表中误差达到 3.55% 的波特率,在接收数据的时候都会乱码

    usb 相关

    既然 ch552 上的串口波特率需要定时器的支持,那在 host 设备上设置波特率的时候,如何将 host 设备上对于波特率的需求传达给 ch552 呢

    ch552 的 usb 驱动是 ftdi 的,通过对 ftdi 的 usb 驱动反汇编可以知道设置波特率的 usb 非标准请求编码(当然不是我反汇编的☺),然后通过这个编码获取 usb 驱动送过来的一个 divisor 值。计算公式如下

    divisor = 48M/16/波特率

    这个计算是在 usb 驱动中完成的

    在接收 host 端发送过来的 divisor 时要注意,自己的串口在什么接口,需要进行判断

    if

    由于 ch552 不支持浮点波特率,因此可以忽略 host 端传送过来的 divisor 的小数部分, divisor 的低 14 位是整数部分,高两位是小数部分。

    divisor = UsbSetupBuf->wValueL |
     (UsbSetupBuf->wValueH << 8);
    divisor &= 0x3fff;

    在接收到 divisor 后,还需要对这个数进行处理。因为 ftdi 驱动中使用的是 48M 的时钟进行波特率的计算的,这里我们需要转换成自己的系统时钟,然后再进行定时器的 THn 进行设置

    divisor = divisor / 3; // 16M CPU时钟
    if(UsbSetupBuf->wIndexL == 1) // 串口位于接口1
        TH1 = 0 - divisor;
    展开全文
  • 【批量下载】12 USB转串口驱动等.zip。USB转串口驱动程序跟制作方法。
  • 1.从网上找一下可以直接找板的PCB工程,例如: 《ch340电路图及pcb工程文件可... 2.生成Gerber文件(光绘文件),发给PCB厂家。 3.网上买元器件,可以在某宝上直接找按BOM表配齐元器件的商家。 4.焊好元器件。......

    1.从网上找一下可以直接找板的PCB工程,例如:

    《ch340电路图及pcb工程文件可直接拿去打板》https://download.csdn.net/download/qq_34440409/10533817

    2.生成Gerber文件(光绘文件),发给PCB厂家。

    3.网上买元器件,可以在某宝上直接找按BOM表配齐元器件的商家。

    4.焊好元器件。成功。

    展开全文
  • 笔记本没有串口的朋友们再也不用担心了 有了这个电路图 我们就可以自己制作一个usb转串口 用来下载编程了
  • 串口,USB,USB转串口,串口驱动,仿真器下载程序 在初学stm32,接触到的第一步便是下载程序, 方法一:利用仿真器下载程序 方法二:利用串口下载程序 本文简单介绍两种下载方法,浅入窥探下载原理,因为初学,错误...

    串口,USB,USB转串口,串口驱动,仿真器下载程序

    在初学stm32,接触到的第一步便是下载程序,
    方法一:利用仿真器下载程序
    方法二:利用串口下载程序
    本文简单介绍两种下载方法,浅入窥探下载原理,因为初学,错误以及需要改进之处欢迎批评改正,不胜感激。

    仿真器下载程序

    单片机仿真器

    定义:指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。

    单片机在体系结构上与PC机是完全相同的,也包括中央处理器,输入输出接口,存储器,等基本单元,因而与PC机等设备的软件结构也是类似的。

    因为单片机在软件开发的过程中需要对软件进行调试,观察其中间结果,排除软件中存在的问题。但是由于单片机的应用场合问题,其不具备标准的输入输出装置,受存储空间限制,也难以容纳用于调试程序的专用软件,因此要对单片机软件进行调试,就必须使用单片机仿真器。

    硬件连接

    在这里插入图片描述在这里讲一下CMSIS-DAP仿真器,是ARM官方做的开源仿真器,没有版权,自由制作。官方给的源代码,使用的是NXP的单片机LPC4320做的。这个源代码,只要你安装了KEIL5,就可以找到。
    有些仿真器遵循CMSIS-DAP标准,Debug处选择这个,如下图所示:

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200818213238113.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Nzcy在这里插入图片描述按照自己学习步骤配置完成后,下载即可,此处具体配置不提。

    使用串口下载程序

    首先介绍几个概念:串口,USB,串口驱动
    USB转TTL

    串口(外文名 Serial Interface )

    串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

    由来
    串口的出现是在1980年前后,数据传输率是115kbps~230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。串口也可以应用于两台计算机(或设备)之间的互联及数据传输。由于串口(COM)不支持热插拔及传输速率较低,部分新主板和大部分便携电脑已开始取消该接口。串口多用于工控和测量设备以及部分通信设备中。

    接口划分标准
    串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。

    图如下:
    串口图

    USB:

    USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。

    通用串行总线 (Universal Serial Bus,USB) 是一种新兴的并逐渐取代其他接口标准的数据通信方式,由 Intel、Compaq、Digital、IBM、Microsoft、NEC及Northern Telecom 等计算机公司和通信公司于1995年联合制定,并逐渐形成了行业标准。USB 总线作为一种高速串行总线,其极高的传输速度可以满足高速数据传输的应用环境要求,且该总线还兼有供电简单(可总线供电)、安装配置便捷(支持即插即用和热插拔)、 扩展端口简易(通过集线器最多可扩展127 个外设)、传输方式多样化(4 种传输模式),以及兼容良好(产品升级后向下兼容)等优点。
    通用串行总线(universal serial bus,USB)自推出以来,已成功替代串口和并口,成为21世纪大量计算机和智能设备的标准扩展接口和必备接口之一,现已发展到USB 4.0版本。USB 具有传输速度快、使用方便、支持热插拔、连接灵活、独立供电等优点,可以连接键盘、鼠标、大容量存储设备等多种外设,该接口也被广泛用于智能 手机中。计算机等智能设备与外界数据的交互主要以网络和USB接口为主。

    图如下:
    在这里插入图片描述

    串口驱动
    我们知道现在电脑上一般是没有串口的,都是USB口,因此:

    usb转串口驱动的作用是使usb转串口硬件能在连接到电脑usb接口上时被识别为串口设备,并分配相应的可用串口编号使用。

    比如野火的 STM32 开发板用的 USB 转串口的驱动芯片是 CH340。

    这样电脑就会识别成串口,否则电脑只会识别为USB,不会识别为串口,串口调试无从谈起。

    USB转TTL

    为什么要USB转ttl?
    首先根据通讯使用的电平标准不同,串口通讯可分为 TTL 标准及 RS-232 标准。

    在这里插入图片描述

    常见的电子电路中常使用 TTL 的电平标准,理想状态下,使用 5V 表示二进制逻辑 1,使用 0V 表示逻辑 0;而为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V 表示逻辑 1, +15V 表示逻辑 0。

    故:USB转TTL模块的作用就是把电平转换到双方都能识别进行通信。

    单片机通信接口的电平逻辑和PC机通信接口的电平逻辑不同,PC机上的通信接口有USB接口,相应电平逻辑遵照USB原则;还有DB9接口(九针口),相应电平逻辑遵照RS-232原则。

    单片机上的串行通信通过单片机的RXD、TXD、VCC、GND四个引脚,相应电平逻辑遵照TTL原则。

    在这里插入图片描述

    配置完成,打开 mcuisp 软件,下载即可。

    展开全文
  • 手边拿到从龙邱公司寄送过来20颗 CH340E 的USB转UART的芯片。下面通过制作测试版验证它的功能。 1.管脚功能定义 ▲ CH340管脚功能定义 2.典型应用电路 VCC可以使用+5V; VCC可以使用3.3V,此时V3,VCC应该短接在...
  • USB 串口 电路图 线路图 原理图 设计制作资料
  • 针对用笔记本调试can开发板没有串口的缺点,我们特意制作USB转串口模块,大家可以直接接在笔记本的任一USB口上来进行调试,这里我简要说一下使用的方法。  1.首先先安装驱动程序,方法很简单,这里我为大家选择...
  • 内容简介《Protel 99SE多层电路板设计与制作》结合作者对设计多层电路板的经验和体会,由浅入深地介绍了运用Protel 99SE...多层PCB的一般设计步骤 76 3.1.4 一些常用系统参数的设置 78 3.2 PCB元件库的编辑与管理 79 ...
  • 最终效果:渲染图实物图学习目的做一个USB转串口模块,使用学习渲染软件keyshot使用到的工具:立创EDA,keyshot等电烙铁,万用表等1.需要实现的功能4.根据需要的功能画原理图5.画PCB6.焊接7.验证功能是否正常5V电压:...
  • 可用于串口开发使用,各种CP210x芯片制作的U转串模块在PC上的驱动安装包。 cp210x驱动是USB转串口驱动,嵌入式开发常用
  • usb鼠标制作调试记录

    2019-04-27 10:31:00
    由于我的usb转串口线是不能配max232的。而是要配一个反向器。于是自己焊接了74ls00。并且把圈圈电路板通过飞线改了下。至此,串口通信硬件完成。 2,串口通信软硬件调试。改了改之前的串口通信程序。并且下载测试。...
  • Linux 串口编程和程序...下面进入具体应用案例,由于现在很多电脑已经没有引出串口以及波特率范围会受到限制,这里我以 CH340 USB 转串口芯片制作的模块为基础讲解串口应用程序开发,关于该芯片在 Linux 系统的使用以
  • 刚好桌面有一根MicroUSB的线,是用来连接测试NodeMCU板的,正好桌面有然后又不像弯腰去接USB口,而且模块送的杜邦线又比较短,拿不到桌面来做一些小测试,所以就决定自己做一个TTL的串口模块,正巧手上还有剩余的...
  • 基于MATLAB GUI界面的MCU串口实时绘图设计

    万次阅读 多人点赞 2019-07-15 08:24:01
    本文主要介绍如何利用MATLAB中的GUI工具来制作串口通信上位机,然后...PC机有USB接口,可以实现串口通信,通过USB转串口数据线连接单片机,用三根线(收、发、地)来实现数 据的发送,用PL-2303HX作为单片机与PC机...
  • nodemcu 在线文档网站:... ... 刚到的nodemcu的板子长这个样子 : 这种板子自带了usb 转串口芯片CH340G,可以实现一键烧写功能,不像单独的esp8266模块与usb转串口模块连线比较麻烦。 单独的esp82...
  • PL2303 PCB

    2013-03-19 07:51:39
    PL2303 USB装串口PCB 自己制作USB转串口
  • wifi小车制作备忘

    千次阅读 2012-04-07 14:50:04
    一、软件设计 决定刷openwrt,先在网上找教程看怎么刷 ...这一步需要再安卓手机端安装PL2303驱动程序,需要找linux下的驱动做移植,但是找到一个比较好的方法就是一个开源的usb转串口源代码,项目名
  • 通过USB转串口向stm32传输数据 选为16进制时最小传输数据一个字节,如:0A 6F 选为16进制时最大传输数据64个字节 选为文本格式没有最小限制,最大64个字节 二. 通过USB转串口从stm32接收数据 自己创建的...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

usb转串口制作