基于nRF24L01和Actel FPGA的智能探测系统设计_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于nrf24l01和actel fpga的智能探测系统设计设计了基于nrf24l01无线数据传输芯片和fusion startkit开发板的智能探测系统。通过开启nrf24l01的ack payload功能实现车载系统与上位机之间的双向通信,采纳actel公司带有apb3的8051s软核在fusion startkit开发板上构建片上系统,用法mfc编写windows环境下的人机交互界面,实现了具有实时数据传送、自动避障、远程操控等功能的智能探测系统。目前一些恶劣或危急的环境人类仍然无法置身其中举行现场检测,如浮现险情的矿井地道、地形坎坷的岩洞等,很难取得现场的参数。在这种状况下惟独借助于智

2、能探测装置。因智能小车控制便利、行动灵便,对照其他载体工具更简单胜任探测任务,因此成为各种探测仪器的首选工具。本文设计的智能探测系统以小车为载体,将所测得的现场参数通过nrf24l01无线模块实时传回上位机,具有迅速灵便的特点;在实际工作时可左右转向和后退,自动逃避障碍物;同时该小车操控便利,可通过mfc搭建的人机交互界面利用鼠标和键盘对小车举行远程控制。1、系统总体结构设计该系统基于actel 实现,采纳两块fusi。nstartkit开发板,一块作为车载控制板,另一块作为中转板。车载控制板负责采集温度、湿度、板载、当前路况以及人体检测等现场信息,驱动小车运行,同时通过无线发送现场信息以及接

3、收上位机的控制指令。中转板负责将接收到的无线信号通过串口转发给pc机,同时将pc机由串口返回的控制命令利用无线模块发送给车载控制板。pc机上采纳mfc编写人机交互界面,显示小车所在环境的相关信息,同时提供鼠标、键盘等完美的操控手段。系统结构1所示。图1 系统结构框图2、系统硬件设计2、1无线数据传输芯片nrf24l012.1.1芯片简介hnrf24l01是挪威nordic公司的单片24 ghz无线收发一体芯片,有多达125个频道可供挑选,支持1 mbs和2 mbs传输速率。该芯片采纳spi接口举行数据读写和参数配置,以寄存器映射方式对各个寄存器举行管理,同时具有自动重传、动态有效信息长度(dp

4、l)、应答信号携带有效信息(ack payload)等高级功能。2.1.2功能动态有效信息长度(dpl)指的是发送端的nrf24l01芯片通过写人有效数据区的数据长度打算当前一帧数据的大小,而接收端则通过接收到的数据帧中的控制域信息而不是寄存器中定义的数据长度提取有效数据。这个功能极大地提高了无线信道的用法率,同时削减了冗余数据的传扬,降低了数据在空中滞留的时光和数据被污染的概率。协作nrf24l0l的crc校验和自动重传功能,在有效地降低数据误码率的同时保证了数据传输的时效性。应答信号携带有效信息(ack payload)指nrf24l01芯片在开启自动重传和dpl的基础上实现的双向通信功能

5、。图2为一对无线模块之间的一次携带应答有效信息的数据传输过程。主发送模块(ptx)发送完第1帧数据后,自动置为接收模式,等待主接收模块(prx)发送应答信号或携带有效数据的应答信号。主接收模块收到主发送模块发送的第1个数据帧后,若此时有需要附加的有效数据,则在发送完ack信号后继续发送有效数据。而主发送模块收到ack信号后继续接收有效信号,直到空中没有残留的无线信号再开头发送第2帧信号。用法ack payload可以实现车载系统和pc机的双向通信,该功能很好地解决了手动切换无线收发状态导致双方相互等待的问题,同时只在需要对车载控制板举行控制的时刻附带应答有效信息,可以削减不须要的通信过程,大大

6、提高了系统稳定性。图2携带ack payload的1次数据传输暗示图2.1.3实现功能的配置办法要实现nrf24l01的ack payload功能需要经过以下步骤:首先举行无线模块的基本配置,包括发送接收模式的挑选(config)、开启自动重传功能(en_aa)、接收地址使能(en_addr)、设置重传时问不为零(setup retr)等;然后同时开启dpl和ack payload功能,要实现这两个功能,必需在完成第一步之后用nrf24l01白带的activate指令加上0x73数据开启默认躲藏的两个寄存器feature和dynpd。通过对这两个寄存器的设置就可以实现数据的双向通信。但要注重,

7、接收端开启dpl后要用法r_rx pl wid指令读取当前数据帧的有效数据长度,同时用法w ack payload指令将ack payload写入fifo。2.2 core 80515架构core 8051s是actel公司推出的基于apb3总线的8051lp核,兼容8051的所有命令,同时又具备许多51所没有的独特功能:(1)具有可配置的jtag接口调试功能,可利用flash_pro下载器作为其调试工具;优化命令执行速度,内部设置流水线,可实现单个时钟周期执行一条命令,且是一般的12倍。(2)采纳apb3外设总线结构和ser寄存器内存映射方式管理外设,将外部扩展的64 kb数据空间中的最高4

8、 kb作为apb3外设的寄存器内存映射地址,每个apb3外设占领256 b的地址,因此最多可添加16个外设。(3)用法coreconsole软件以图形化界面的方式添加core8051s以及其他外设,既直观又便利。图3是以coreconsole开发的、基于core805ls和apb3总线的50pc系统的典型架构。该软件的开发流程与公司基于nios 处理器的sopc开发流程类似,同时又具有其独特优势:在系统不复杂、控制部分远多于计算处理时,用法core805s可灵便快速地举行开发,通过安装isaactel5 1为提供调试驱动可挺直用法keil编写代码并举行在线程序调试,而优化后的命令执行速度可满足

9、大部分应用的要求。图3 coreconsole下基于core8051s的开发实例本系统设计步骤:(1)利用coreconsole以图形化方式设计片上系统所需的总线及外设,包括spi、gp10、uart等模块;配置各模块与apb3总线之间的衔接关系,正确分配外设地址;然后生成文件导人actel集成开发环境libero。(2)用法libero的flash memory system builder将fu_s10n内部的flash模块配置为core8051s的外部程序空问。假如有须要还可以将fusi。n startkit开发板上的sram作为core8051s的外部数据空间用法。(3)将工程编译综合

10、后下载到开发板上,通过keil编写程序并举行调试。3、系统软件设计31车载控制系统软件设计车载系统是本系统的核心部分,它担负着现场环境探测,远距离数据传输以及未知区域检测等重要功能。因此该部分的设计对牢靠性和稳定性要求较高。系统的软件流程图4所示。图4车载控制系统流程图车载系统软件包含两部分功能:采集现场各种参数和实现各种运行模式。通过温湿度和人体传感器采集温湿度值以及现场环境是否有人信号;通过无线返;回参数打算当前小车的运行模式,包括自动运行模式、半遥控模式和全遥控模式。自动运行模式下小车会按照采集到的光电对管组信息分析当前的路况,从而作出相应运行路径修正处理;半遥控模式下通过鼠标控制win

11、dows界面的参数来控制小车的行动;全遥控模式下通过操控键盘可挺直操控小车运行。车载系统自动运行时,通过内部算法举行路径挑选和障碍规避。因为光电对管组信息相对较少,故采纳查表映射法举行舵机电机驱动控制,即将光电对管组采集到的信息举行分类,按照不同的信息给予小车不同的电机和舵机驱动值,而光电对管组采集得到的信息为6 bit数据,也就是数值为063,将其作为数组的下标,在数组内容中按照下标所表征的类型设置不同的阅历值,通过大量的运行测试即可得到比较抱负的参数。车载系统检测到小障碍物时,查表得到舵机电机参数,转过一定角度绕开障碍物继续运行;检测到较大障碍物且无法绕过时,车载系统倒车回到平安区域继续运行。因为光电对管组存在干扰信号,在算法上举行了如下滤波处理:利用记忆功能将前几次的行进路途保存,通过与当前输出状态的比对,推断是否为干扰信息以打算是否摒弃当前控制量。以上算法保证了车载系统在运行中出错概率降到最低。32人机交互界面设计a机交互界面是采纳微软基础类(mfc)开发的基于对活框架构的应用程序。采纳cmscomm类处理中转板与pc之间的串口通信,同时通过截获软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论