首页 / 数字电子技术 / stm32f103系列微控制器有何特点-(stm32f103系列微控制器属于哪一类型的产品线-)

stm32f103系列微控制器有何特点-(stm32f103系列微控制器属于哪一类型的产品线-)

Time:2024-03-24 05:37:58 Read:642 作者:CEO

摘要:提出一种基于LM3S316实现与PC机通信的方法。给出了硬件实现和软件设计思路。该方法使用微控制器来模拟USB设备,降低了功耗和成本。关键词:LM3S316; USB; PC USB(Universal Serial Bus)是一种通用串行总线,它为计算机与外设之间的数据通信提供了良好的解决方案。传输速度快、连接灵活、使用方便。特征。 USB作为一种新型高速总线接口,支持即插即用设备,可以为外设提供电源,并且易于扩展。因此,可广泛应用于打印机、扫描仪、大容量外部数据存储器、数码相机、高速数据采集等各种设备。现在市场上的USB设备大多采用专门的USB控制芯片来实现其应用程序控制。 USB协议集成在芯片中,成本比较高。本文提出了一种利用LM3S316微处理器与PC机通信来模拟USB从而降低成本的方法。 1 通用串行总线USB底层结构1.1 USB设备USB设备可以连接到PC机上的任意USB接口上,其物理接口结构如图1(a)所示。使用HUB还可以实现USB扩展,允许更多的USB设备连接到系统中。 USB HUB 有一个上游端口(连接到主机)和多个下游端口用于连接其他设备。 Host与USB设备的关系如图1(b)所示。 1.2 USB 物理信号USB 线共有4 根线。两侧突出的线为+5V电源线,另外2根线为数据线。如图2所示,VBUS为设备电源接线,电压为+5V,最大供电电流为500mA,为设备提供电源。具有过流保护、电源控制等功能。当USB设备插入接口时,先连接电源线,再连接数据线。当拔出USB设备时,先断开数据线,再断开电源线。这就是USB设备可以热插拔的原因之一。 USB总线在不使用时可以暂停,从而节省能源。 1.3 USB版本传统的USB通信协议包括USB1.1和USB2.0。 USB1.1版本的USB设备支持全速12Mb/s低速通信(1.5Mb/s); USB2.0版本的USB设备支持高速通信(480 Mb/s)。由于USB2.0的通信速率太高,必须由单独的芯片控制,因此无法实现芯片模拟。 1.4 通信建立RS232(串行通信的另一种标准)的通信发起方可以从两端发起,而USB通信发起方总是在主机端(HOST),设备端总是响应主机的通信请求边。如果主机是PC,则每隔1ms向设备发起一次通信建立请求。设备收到访问自身的请求后,立即发起与主机的通信连接。 1.5 电气特性“D-是低速信号总线,D+是高速信号总线”的说法是不准确的,因为USB信号总线是平衡差分的,与485总线类似。所谓“D-是低速信号总线”,是指对于低速设备(如鼠标、键盘),D-线在USB设备端增加1.5 k的上拉电阻。相反,对于全速设备(如USB闪存驱动器、打印机、扫描仪),请在D+信号线上添加1.5 k的上拉电阻。 1.6 NRZI编码和位填充由于USB总线没有同步时钟信号线,如果想在主机和设备之间建立良好的通信同步效果,只能从数据序列中提取同步时钟。与RS232串口通信类似,USB通信的建立也有启动信息。 RS232是起始位,USB起始位有8位,称为同步域(或段)。格式为01010100。由于RS232的通信速率较低,只要两端时钟同步不超过5%即可实现良好的通信。然而,最低USB通信速率大于1Mb/s,时钟同步要求更加严格。而且USB数据包中的每个字节并没有像RS232那样有起始位(只有同步在头部)。区域)。

鉴于此,USB通信时必须从数据包的比特序列中提取同步信息。想象一下,如果数据包序列中的数据位全部为逻辑“1”或全部为逻辑“0”,芯片就无法提取同步信息。为此,需要一种高效的编码方案,于是就有了NRZI和比特填充的概念。什么是NRZI?如图3 所示,NRZI 是非“1”转换。 NRZI编码方式会遇到一个严重的问题,就是如果一长串连续的“1”会造成电平跳变,逐渐累加,造成机器折叠,最终失去同步信号,造成读取计时发生严重错误。因此,NRZI编码之间需要进行所谓的比特填充工作。连续传输6 个“1”位会强制将转换添加到NRZI 编码数据流中。这确保接收器可以在每个7 位时间间隔内检测到至少一次转换,从而使接收器与传输的数据保持同步。图4 说明了位填充的工作原理。 1.7 USB通讯模式4种传输模式:控制(control)、同步(isochronous)、中断(interrupt)和批量(bulk)。其中,中断方式传输主要用于定时查询设备是否有中断数据需要传输。设备端点模式的结构决定了其查询频率。这种传输方式通常用于传输小量、分散且不可预测的数据。键盘、操纵杆和鼠标都属于这一类。中断模式传输是单向的,对于主机来说只有输入模式。 1.8 数据包的概念最小的USB 数据块称为数据包,它包括同步信号、数据包ID、CRC 和传输的数据。 1.9 端点端点也可以称为设备终端。每个USB设备(USB芯片)可以有1到16个端点。与USB芯片相比,通信时各端点传输的数据包的大小和传输方式不同,芯片内数据缓冲区的地址也发生变化。 2 LM3S316 控制器Luminary Micro StellarisTM 系列微控制器是首款基于ARM CortexTM-M3 的控制器,它将高性能32 位计算引入对价格敏感的嵌入式微控制器应用中。这些开创性的器件以与8 位和16 位器件相同的价格为用户提供了32 位器件的性能,并且全部采用小型封装。 Stellaris系列的LM3S316微控制器具有ARM微控制器的诸多优点,如广泛使用的开发工具、片上系统(SoC)底层结构IP的应用以及庞大的用户基础等。此外,该控制器还采用ARM的Thumb兼容Thumb-2指令集,以减少内存需求,从而降低成本。与早期的ARM7相比,它具有更低的功耗、更小的中断延迟、更快的代码执行速度和更低的价格。 LM3S316微控制器具有以下特点:(1)32位RISC性能; (2) 内部16 KB单周期Flash存储器,4 KB单周期SRAM; (3) 3个通用定时器; (4)同步串行接口(SCI); (5) 串行UART接口; (6) 3个独立的模拟比较器; (7) 脉宽调制; (8) 3至36个可配置GPIO,每个GPIO可配置为边沿或电平触发中断; (9) 48 引脚LQFP 封装。 3 实现原理由于LM3S316 控制器的每个GPIO 都可以配置为中断引脚,因此本应用中只需使用同一端口的两个相邻引脚来模拟USB D+ 和D-,如图5 所示。 4 软件设计USB总线是轮询总线,主机控制端口初始化所有数据传输。每个总线执行操作最多传输3 个数据包。

stm32f103系列微控制器有何特点-(stm32f103系列微控制器属于哪一类型的产品线-)

根据传输之前建立的原则,在每次传输开始时,主机控制器发送一个USB数据包,描述传输操作的类型、方向、USB设备地址和终端号。该数据包通常称为令牌包。 )。 USB设备从解码后的数据包中的适当位置取出自己的数据。数据传输的方向要么是从主机到设备,要么是从设备到主机。在传输开始时,使用标志包来标记数据传输的方向,然后发送端开始发送包含信息的数据包或指示没有数据传输。接收端还需要发送握手包来表明传输是否成功。发送方和接收方之间的USB数据传输可以看作是主机和设备端口之间的通道。事务预处理允许对某些数据流的通道进行控制,从而防止在硬件层面高估或低估缓冲区,并通过发送未确认的握手信号来阻塞数据传输速度。当发送未确认信号时,如果总线空闲,则重新进行数据传输。这种流控机制可以灵活安排任务,让不同性质的流道同时正常工作。这样,多个流通常可以以不同的间隔工作并传输不同大小的数据包。 LM3S316芯片使用2个GPIO中断来监控USB总线。当USB总线从空闲状态变为传输状态,即总线由主机和同步域(SYN)发起时,LM3S316进入USB接收程序。同步阶段被跳过,接收到的第一个字节是PID 字段(数据包标识类型)。该字段的低4 位描述数据包类型方向(IN 或OUT),接下来的7 位表示设备地址,然后是4 位端点编号索引。 LM3S316根据设备地址判断主机向设备发起的请求。如果是,则根据数据包的类型决定继续接收数据或向主机发送数据。 OUT类型数据的最后5到16位是CRC校验(CRC位数根据配置确定)。对于IN类型,LM3S316将准备好的数据与CRC校验数据一起发送到主机。数据传输阶段完成后,主机或设备必须发回ACK响应以确认传输成功。使用LM3S316控制器模拟USB设备的方法极大方便了用户开发,同时降低了功耗和成本。该方法在USB读卡器、USB编程器、USB接口转换为RS232等方面具有良好的应用前景。参考文献[1]Micro 2005. LM3S316 datasheet.http://www.zlgmcu.com/luminary/stellaris/lm3S316_ds_cn.pdf.2008.[ 2]USB技术百科全书(电子教程)。http://d.download.csdm.net/down/374639/deepbluesean.2007。[3]郭友民,王杰,孙其国。基于嵌入式微处理器S3C44B0X的USB通信[J].微机信息,2008(1-2):21-23。 [4] 肖玉雄. USB系统结构及应用设计[OL].纸天下纸网,http://www.lunwentianxia.am/product.free.6096001.2007.11。

Copyright © 2002-2024 应用电子技术网 版权所有 
备案号: 滇ICP备2023006467号-62

免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)