基于ARM单片机无线通信设计制作.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM单片机无线通信设计制作

基于ARM单片机无线通信设计制作   【摘要】本文阐述了一个拥有高度可扩展性的无线通信系统。设计中主要包括Cortex-M3内核的ARM芯片STM32,无线通讯芯片nRF24L01+,用于DEBUG及系统实时工作状态监视的RS232接口,可直接应用于工业现场的高可靠性RS485接口,放置大型数据表格以及存放系统工作日志的SD卡接口。该系统工作于无需授权许可的ISM即工业、科学医用频段(2.4GHz)上,拥有最大2Mbps的高吞吐率,可应用于布线难度较大的工业现场、要求严格电气隔离的人机控制界面等等场合。   【关键词】无线;STM32;射频;ARM;nRF24L01+   1.前言   1.1 无线通信与有线通信的比较   现今无线通信越来越受到普及,并广泛应用于日常生活中。做如下比较可说明此问题:一是成本廉价。二是建设工程周期短。三是适应性好。四是扩展性好。五是设备维护上更容易实现。   1.2 Cortex-M3内核的ARM对比传统51单片机   本质上Cortex-M3内核的ARM在未使用操作系统时和51单片机的应用场合是相同的,但无疑前者比起后者主要具有如下优势:   (1)成本――虽然单从芯片角度出发,51单片机会更为便宜,但由于ARM集成了大量标准外设及扩展总线,从系统整体角度出发,对于一个需要大量外设的系统而言,ARM的成本反而会由于51的投入,同时使用更少的器件有利于提高硬件系统可靠度。   (2)软件调试――51单片机的软件调试可通过拆卸芯片对其写入程序后放回目标板观察运行结果,个别51芯片也可通过串口烧写程序。此种调试方式对于较为简单的程序,可通过外置的LED小灯等一些外设观察系统内的宏观运行状态,但对微观的指令执行情况较为无力。   (3)存储――主流ARM芯片往往内置有较大的FLASH ROM以及SRAM,在一些拥有大量数据表格或需要开辟较大缓冲区的应用中无疑比51拥有更大的优势,且32-bit拥有4GB的寻址空间,无需和51单片机一样超过64KB的代码只能分页存放并切换运行。   2.通信系统硬件电路组成及原理详解   2.1 系统组成框图(如图1所示)   2.2 ARM处理器   系统中的ARM处理器为意法半导体的STM32F103ZET6,相关介绍如下:   (1)时钟――外部可使用4MHz~16MHz的晶体为处理器提供时钟源,由内部PLL将该时钟倍频至实际运行时所需要的频率(72MHz),相关电路见图2.1.1,振荡电路的非门及反馈电阻已集成在芯片内,因此仅需2颗小电容即可实现,调整外部小电容的容值可微调8MHz时钟源的频率。   (2)存储――STM32F103ZET6中内置了512Kbytes的FLASH,很多繁杂的算法均可采用“以空间换时间”,在FLASH中以放置多张大型数据表格快速查阅的方式进一步提高程序执行速度。   (3)GPIO――片上有PA~PG七组每组16个共计112个GPIO端口,绝大部分的端口都能忍受5V的输入,且支持如下几种GPIO模式:浮空输入(默认)、上拉输入、下拉输入、模拟输入、漏极开路输出、推挽输出、复用功能开漏输出、复用功能推挽输出。   3.通信系统软件部分详解   3.1 软件部分采用事件触发机制   各任务间通过消息队列进行通信,这样的程序最符合“高内聚,低耦合”,与外部硬件连接无关的部分可不作任何改动任意增删软件模块,密切相关的部分则通过函数指针进行回调函数注册,也可非常容易得完成移植,整体程序不存在任何诸如毫秒级的Delay()等CPU空转的情况,可通过宏打开/关闭部分冗余代码用以监视系统运行状态增强系统稳定性。   3.2 软件功能描述   三台(或更多)主机自身有两个地址 ――单播地址与组播地址,单播地址可进行点对点的数据传送,组播则可将多个主机编组,发送封包仅组内主机可见,广播包则无需地址,所有主机均可同时收到,针对于一些诸如时钟基准心跳包,可在其中一台主机上实现较高精度的RTC,并通过其定期广播时间信息,那么其他节点的时间就很容易在没有RTC的状态下动态修正系统时间。   3.3 部分软件实现   DeviceNRFL01p类型为自定义的数据结构,包含了nRF24L01+的各种运行状态,以及硬件对应的SPI口初始化函数指针,基于软件分层思想,SPI接口驱动在此处已完全与nRF24L01+驱动程序隔离,只需在程序范围内实现对应函数原型即可,初始化完SPI口之后会调用读写检测函数,该函数已将系统预设的地址写入nRF24L01芯片,因此eState状态不为ERROR即芯片工作正常。   4.结语   本论文简述了一个带有全双工无线通信功能的小系统。硬件设计均按工业级标准进行,PCB设计对于EFT

您可能关注的文档

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档