欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    STM32的曼彻斯特编译码系统设计.docx

    • 资源ID:4925131       资源大小:342.95KB        全文页数:5页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    STM32的曼彻斯特编译码系统设计.docx

    引言 由于曼彻斯特(MancheSTer)编码具有传输时无直流分量,时钟提取方便等特点,被广泛 地应用于以太网、车辆总线、工业总线中。现在工程上常用的曼彻斯特编译码芯片为 HD-6408和HD-6409,但是这种芯片有一些不足。首先,该芯片在传输速率和每帧数据中 的有效位数等方面都做了严格的限制。其次,使用该芯片需要增加额外的硬件电路,提高了 系统成本。使用FPGA做曼彻斯特编译码成本高,而且开发周期长。本文提出了一种基于 STM32F103RET6的编译码系统方案,利用了 STM32F103RET6强大的定时器功能,采用 灵活的编译码方式,传输速率和数据帧格式都可以根据需要完全自行定义。STM32F103RET6自带DMA的功能使得数据编码不再需要频繁的定时中断,提高了编码速 率,节约了 CPU的资源。该设计方案实现方法简单、稳定、灵活,应用范围广泛。1曼彻斯特码曼彻斯特编码是一种自动同步的编码方式即时钟同步信号就隐藏在数据波形中。在曼彻斯特 编码中,每一位的中间有一跳变,位中间的跳变既作为时钟信号,又作为数据信号。每个码 元均用两个不同相位的电平信号表示,与用高、低电平表示的非归零二进制码相比,在连“0” 或连“1”的情况下更易于提取同步时钟信息。并且曼彻斯特码传输时没有直流分量,可以降 低系统的功耗,且有很强的抗干扰能力。图1所示是最常用的一种曼彻斯特编码方法,当 传送信号为“1”时,曼彻斯特编码由高电平跳变为低电平;若传送的信息为“0”,曼彻斯特由 低电平跳变为高电平,在一个数据周期内保持低电平无跳变则表示空闲。图1曼彻斯特编码2 STM32F103RET6的定时器与DMA简介控制器采用ST公司的STM32微处理器,STM32系列微处理器基于ARM Cortex-M3内核, 采用高效的哈佛结构三级流水线,达到1.25DMIPS /MHz,这里我们选用增强型的 STM32F103RET6.它具有如下特征:72 MHz系统时钟频率、512 KB闪存程序存储器、64 KBSRAM、8个定时器、3个12位模数转换器、1个数模转换器,1个CAN接口、7通道 DMA控制器,以及SPI、USART、I2C、I2S、USB接口等。该控制器具有丰富的外设和 较强的抗干扰能力,很适用于工业现场控制。STM32F103RET6有8个定时器,每个定时器由一个可编程预分频的1 6位自动装载计数 器构成,计数频率高达72 MHz,它适用于多种场合包括输入信号的脉冲长度(输入捕获) 或者产生输出波形(输出比较或者PWM)。STM32F103RET6支持DMA操作,DMA是在外没和存储器之间或者存储器和存储器之间 的高速数据传输通道,通过DMA数据可以快速地移动而无需CPU的参与,这就节省了 CPU 的资源来做其他事情。本次设计便是利用计数器触发DMA进行内存与定时器的数据交换, 比起中断查询的方式,提高了编码的效率和稳定性。定时器的计数频率最高为72 MHz, DMA传输速率为6 Mb/s,因此曼彻斯特编码的速率可 以很轻松的做到1 Mb/s,满足高速编码的需求。3系统实现方案基于STM32F103RET6的曼彻斯特电压、电流编译码系统框图如图2所示。该系统设计主 要使用STM32F103RET6芯片的定时器加DMA功能来实现曼彻斯特的电压编译码,对于 电流编码译码需要借助外围的电压与电流转换电路来实现。图2基于STM32F103RET6的曼彻斯特电压、电流编译码系统框图3.1电压编码将定时器设置为输出比较翻转功能,申请一个缓存区,将要编码的数据通过编码算法转换为 翻转匹配值放入此缓存区,如图3所示的ABC DEF 计数值,编码算法根据具体应用中 的编码协议来编写。启动定时器后,计数器开始计数,当计数值与定时器比较寄存器的值匹 配时,输出引脚的电平进行翻转并触发DMA从缓存区来更新比较寄存器;每更新一次,DMA 指向的内存地址递增1,指向下一次要更新到比较寄存器的数据,以此方式实现定时器根据 缓存区的数据输出对应的编码波形。编码速率可通过修改定时器预分频器和RCC时钟控制 器分频器来进行调节。图3编辑示例3.2电压译码 将定时器设置为输入捕获功能,当曼彻斯特码的上升沿或下降沿到来时定时器会将当前的计 数值进行捕获,并经由DMA通道传输到缓存区;主程序中会调用译码算法来对缓存区的数 据进行处理并进行译码,译码作为编码的逆过程,其译码算法也要根据具体应用中的编码协 议来编写。3. 3电流编码将电压编码通过图4所示的电压/电流转换电路来实现,将定时器输出的曼彻斯特电压编码 转换为曼彻斯特电流码。图4电压/电流转换电路3.4电流译码将待测的曼彻斯特电流码信号通过电流/电压转换为电压码,进行整形使边缘变陡峭后交 MCU来译码,电流/电压转换电路如图5所示。图5电流/电压转换电路4软件设计软件流程如图6所示。系统初始化包括时钟初始化、定时器初始化、DMA初始化等。如果 一次性连续编码的数据最比较大时,应将这罩的DMA缓冲区设置为双缓冲,为每个用到的 DMA通道开辟两个缓冲区。当DMA使用其中的一个缓冲区时,MCU调用编码或者译码算 法来对另外一个缓冲区进行读写操作;当DMA数据传输完毕的时候,发生一个DMA传输 结束中断,在中断服务程序里切换到另外一个缓冲区,并将编码算法或者译码算法标志位置位。当主程序查询到标志位置位后,MCU调用编码或者译码算法来对DMA先前指向的缓 冲区进行处理(填充数据或者取数据)。当然,如一次性编码或者译码的数据不是很多时, 我们只需一个缓冲区就够了。漏码过程(b)译码过程囹6 软件流程因为CPU处理数据的速度要高于编码的速率,所以CPU可以空出时间来做其他的事情, 时间的长短依赖于缓冲区的大小和编码的速率,等到主程序中查询到编码或者译码标志位置 位了再去执行编码或者译码算法对数据进行处理,这样就提高了CPU的工作效率。在实时 性要求不高的应用中,不再需要一个专门的CPU去处理编码或者译码。5方案验证本方案已在汽车加速度传感器模拟系统中得到了验证,这里以某款加速度传感器的曼彻斯特 编码协议为例,其数据帧格式为一帧数据为19位包括:2个起始位、2个类别位、10个数 据位、5个CRC效验位。5.1编码方案验证对图4所示电路的T1点测量曼彻斯特电压编码的波形,电流编码的波形通过测量T2、T3 问的压降来间接测量。图7编袒波形对一帧数据0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1连续编码,帧之间延时6Ms编码速率 400kb/s,编码波形如图7所示。5.2译码方案验证通过对某真实传感器输出的曼彻斯特电流码进行捕获译码,得到其ID信息,译码数据如图 8所示。ID正确,译码成功。:to Ldc# can 目已 11 日 01 03 D3- 06 send success!MdcS Verification ID: 0x02 l.SO® 8 译码数据结语该没计方案可以方便地实现曼彻斯特电压、电流编码译码,实现方法灵活、可靠,适用于各 种类型的曼彻斯特编码译码应用领域。目前,本设计方案已经成功地应用在汽车加速度传感 器模拟系统中。

    注意事项

    本文(STM32的曼彻斯特编译码系统设计.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开