历史上的今天
今天是:2024年09月22日(星期日)
2020年09月22日 | 基于stm32的mcu和pc的usb通讯技术
2020-09-22 来源:elecfans
就通信方式讨论:(以下不论ARM核嵌入式低端高端均称为单片机)
单片机间通信可用UART或SPI串口通信,UART适合速率不高,为了兼容低端单片机的场合。SPI比较通用,而且速率可高至单片机核心时钟的1/4(但单片机IO速率低的要注意不能超过单片机IO速率)。高端单片机,如STM32F103系列,带有DMA,可减轻CPU负担。
单片机与PC通信,一般用串口或USB接口。串口或用MAX232芯片与PC串口相连,或用USB转UART芯片(PL2302等)桥接。USB口需单片机带USB接口模块,或USB桥接芯片,或用软件模拟(仅业余使用,商品或工业使用不推荐)。
就USB接口讨论:
单片机所带USB接口多为device接口,很少有host接口。单片机与PC相连,单片机一般做device角色。
STM32部分型号带有USB接口。USB接口使用一般是先配置USB属性,诸如设备类别,VID(供应商ID(特别说明,需要向usb协会申请购买)) PID(产品识别码),显示名称,供电属性等等信息。
配置好的USB,方可被计算机识别。
USB通信一般只能由PC向USB设备发起,有命令,批量读取,批量写入等操作。一般情形是通过命令进行简单的控制或确定写入或读取地址,然后通过批量读写传输数据。
一般USB设备开发,都需要编写上位机驱动。除非做成 USB HID 类协议,因为操作系统一般是带有HID驱动的,但缺点很明显,HID协议较复杂,且传输速率低。
上位机也要经过枚举设备,选择设备,打开设备等等一系列复杂操作。
区别:单片机间通信一般需自定协议,相对自由;单片机与上位机通信一般依靠现有协议,然后自定需要的功能协议。
单片机间通信机动性高,可利用中断等特性,非恶劣环境一般不需复杂控制可保证正常工作。
与上位机通信,一般受上位机等复杂环境影响,需考虑的方面比较多。
写到这才想起来。。楼主说的单片机间通信是近距离通信还是远距离通信?。。。我按照在同一设备内考虑的。若是较远距离,一般速率做不高,依靠485协议,或CAN协议等,甚至有的直接将通信放到局域网环境上。未见单片机间通过USB协议通信的,因为USB OTG实现很复杂。
下一篇:STM32——时钟系统
史海拾趣
|
小弟现在在搞wince 编译了一个内核下载到2410的开发板里面,但是现在暂时没有VGA的接口显示屏幕, 我想问一下正常启动wince在超级终端里面应该显示什么样子的??我总觉的我的有点问题ID[1] { chainInfo.dwLoadAddress: 0X00000000 chainInfo.dw ...… 查看全部问答> |
|
请问wince环境下如何通过gprs远程无线与exchange服务器同步? windowsmobile下手机上有个内置的activesync客户端一直在运行的,wince下不知道有没有这个东西,如果有,使用方式和wm下是一样的吗?谢谢… 查看全部问答> |
|
利用2510-AT型自动调谐温度控制源表自动优化热电制冷器PID系数 概述 许多热电制冷器(TEC)控制器采用PI或PID(比例、积分、微分)环路实现温度控制。虽然这些环路可以提供精密的温度控制,但却要求适当的P(比例)、I(积分)、D(微分)值。在很多情况下,这些P(比例)、I(积分)、D(微分)值是通过试验和误 ...… 查看全部问答> |
|
EK-LM3S811_ND Rev3在部分XP系统下驱动安装问题 首先,提一点我的EK-LM3S811_ND Rev3板载调试器用的是LMeb3601.然后呢,我就在我的XP系统上安装的驱动,一开始只能装一个就是如图所示的COM7,其余两个如何也装不上,我当时怀疑是板子的问题,查资料,询问有经验的人,两天过后突然想,是不是我的 ...… 查看全部问答> |
|
利用CCSV5.1自带的430ware的强大资源库学习MSP430 本人为在校大学生,以前一直用的是51.八月初的时候被老师拉过来参加“TI杯”模拟电子专题邀请赛,这才接触到了MSP430。学校发了三块开发板,一块launchpad、一块MSP430FR5739、一块是MSP430F5529。这些板子用着感觉都挺好的,只可惜赛后都被收回去 ...… 查看全部问答> |
|
随着固态照明技术的不断进步,COB(chip-on-board)封装技术得到越来越多的重视,由于COB光源有热阻低,光通量密度高,眩光少,发光均匀等特性,在室内外照明灯具中得到了广泛的应用,如筒灯,球泡灯,日光灯管,路灯以及工矿灯。 本文就COB封装 ...… 查看全部问答> |




