查看: 4020|回复: 0

[原创] 【IRD_LPC1768_DEV】+ 3.初步尝试USB CDC

[复制链接]
  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2019-3-10 17:50:08 | 显示全部楼层 |阅读模式
    本帖最后由 leo121_3006061 于 2019-3-10 18:30 编辑

       


    【基本原理】 先从usb CDC的基本原理入手,由浅入深逐步完成本次实验
    CDC(Communication Device Class)类是USB2.0标准下的一个子类,定义了通信相关设备的抽象集合。它与USB2.0标准以及其下的子类的相互关系如下图所示:



    如上图,USB2.0标准下定义了很多子类,有音频类,CDC类,HID,打印,大容量存储类,HUB,智能卡等等,这些在usb.org官网上有具体的定义,这里主要介绍通信类CDC

    如上图,USB CDC类的通信部分主要包含三部分:枚举过程、虚拟串口操作和数据通信。其中虚拟串口操作部分并不一定强制需要,因为若跳过这些虚拟串口的操作,实际上USB依然是可以通信的,这也就是为什么上图中,在操作虚拟串口之前会有两条数据通信的数据。之所以会有虚拟串口操作,主要是我们通常使用PC作为Host端,在PC端使用一个串口工具来与其进行通信,PC端的对应驱动将其虚拟成一个普通串口,这样一来,可以方便PC端软件通过操作串口的方式来与其进行通信,但实际上,Host端与Device端物理上是通过USB总线来进行通信的,与串口没有关系,这一虚拟化过程,起决定性作用的是对应驱动,包含如何将每一条具体的虚拟串口操作对应到实际上的USB操作。需要注意的是,Host端与Device端的USB通信速率并不受所谓的串口波特率影响,它就是标准的USB2.0全速(12Mbps)速度,实际速率取决于总线的实际使用率、驱动访问USB外设有效速率(两边)以及外部环境对通信本身造成的干扰率等因素组成。
    因为内容非常多,只选取其中的一部分来简单理解一下。


    【原理图】
    1本次实验相关的usb部分原理图,有大佬已经指出需要修改一些电路,查看原理图,确实是这样,下边附上图,并在图中做出标注 2.jpg
    3.jpg
    把上图中的R1,R2取下来,R10,R25用0Ω电阻代替,电阻很小可能是0402的,不好找也可以直接短接掉,只有这样修改过才能使用usb device端口,并且windows10系统能够很好的识别出来usb-rs232串口设备


    【简单分析和修改源码】


    分析之前先看下手册,先看一下整个系统的架构图,大致可以看出来usb设备和UART所处的总线的位置
    1.jpg
    有助于代码的理解
    1. 以keil自带的MCB1700的例程为基础,删除原来的LCD驱动,添加我们自己的LCD2004的驱动(参考前边的帖子),先初始化usbd
    4.jpg
    2. 查看uart初始化,看到代码的说明部分有说到可以修改uart1为uart0,首先要打开rte device.h,进行修改,把uar0勾选上,否则编译提示找不到uart0

    5.jpg 6.jpg

    10.jpg

    3. usb=》uart的实现,这次仅仅查看函数功能,没有进一步去探究,在uart call back函数中实现usb向uart传送数据

    7.jpg
    4.uart=》usb传送数据,通过虚拟com来传递数据

    8.jpg



    大概的浏览了一下代码,并没有太深入的研究,先有一个初步印象和理解。编译下载到板子,接入开发板的usb device端口到pc usb,弹出一个设备(可以先通过安装程序目录下的驱动程序,支持windows10)
    9.jpg

    基本上实现了usb cdc的com功能,并能通过系统自带的lcd2004打印出系统运行基本信息。
    _storage_emulated_0_tencent_MicroMsg_089c2f8815d2548ec2f30ebc5e59fc76_image2_2a_.jpg
    暂时到此,也再次感谢各位大佬的指点。 VirtualCOM - IRD1.zip (1.27 MB, 下载次数: 25)
    10.jpg
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 20:03 , Processed in 0.082629 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表