基于ARM的远距离便携式无线传输系统

发布者:乐呵的挑最新更新时间:2012-04-10 来源: 现代电子技术 关键字:ARM  远距离便携式  无线传输系统 手机看文章 扫描二维码
随时随地手机看文章

引言

随着测试系统的不断发展,对数据传输系统有了更高的要求,传统的数据传输系统大多采用有线方式,数据的接收终端使用PC机。随着无线通信技术的发展,人们开始用无线来取代有线。但目前的无线领域还存在一些问题,如网络频段受到限制,通信极易受到外界干扰,通信中可能出现丢包或误码,天线高度不能太低等。

本设计实现了一种基于ARM的便携式无线传输系统,相比于笔记本,该系统体积小、重量轻,可便携,当通信受到限制时,可调整通信距离,从而使无线传输系统性能达到最佳。

1 硬件结构

ARM系统主要由ARM处理器、SRAM、SDRAM、Flash、LCD以及一些外围接口组成,主要的外围接口有USB接口、串口、GPIO口、SD卡接口、SPI接口、camera接口等。ARM系统的硬件结构如图1所示,它们是通过AHB系统总线和APB外围总线来进行通信。

基于ARM的远距离便携式无线传输系统

测试系统里已经集成了无线模块,只要在ARM系统中加入无线模块便可实现ARM终端与测试系统的无线数据传输。为了数据接收终端具有便携、灵活、抗干扰强以及方便替换无线模块等优点,无线模块与ARM终端采用USB接口来对接。系统基本结构如图2所示。

2 USB及Linux USB驱动

2.1 USB的基本原理

USB是一种快速、双向的串行接口,它采用总线拓扑结构,其主控制器通过USB集线器可扩展主机的sub端口。USB具有4种传输方式:控制传输、中断传输、批量传输、等时传输。其数据的通信是双向的,数据从主机传向USB设备称下行通信,数据从USB设备传向主机称上行通信。控制权是在host方,不支持设备间的直接通信。

USB设备是由接口和端点构成的,端点是USB通信最基本的形式,它只能往一个方向传送数据。接口是用来绑定到设备上的,一个接口只处理一种USB逻辑连接。一个USB设备可以有多个接口,不同的接口可以代表不同的功能。USB驱动程序是绑定到接口上的。此外,一个USB设备通常又有多个配置的,而且可以在配置之间切换以改变设备的状态;但是一个时刻只能激活一个配置,一个配置通常具有一个或者更多的接口,如图3所示。

基于ARM的远距离便携式无线传输系统

2.2 基于Linux的USB驱动

由于数据记录的USB接口采用FTDI公司开发的FT245 USB芯片,能单芯片实现并行FIFO缓存区的双向数据传输,且支持VCP(虚拟串口)功能。本文以实际应用出发,针对FT245芯片介绍Linux环境下的USB驱动程序。[page]

在Linux的内核源码中有一个USB驱动的框架程序,文件名为usb-skeleton.c,目录在/drivers/usb下,大多数的USB驱动都是在这个框架的基础上修改的。这里针对FT245芯片修改这个USB驱动的框架程序。

USB驱动程序中有两个宏:

基于ARM的远距离便携式无线传输系统

这两个宏的值是USB芯片制造商所提供的,VID是芯片制造商ID,PID是芯片的识别码,不同厂商不同型号的USB芯片的VID和PID是不同的,FT245芯片的VID=0x0403,PID=0x6001。、

file_operation是驱动程序中一个很重要的类,它定义了一组常见文件I/O函数,而这些函数的使用类似于普通文件的I/O操作。程序如下:

基于ARM的远距离便携式无线传输系统

这里定义的函数是USB驱动程序的入口点,要打开USB设备时,使用系统函数Open(),系统就会自动调用驱动中的ft245_open()函数。其他函数类似,如write()对应ft245_write(),rcad()对应ft245_rcad(),close()对应ft245_release()。

3 基于USB接口的无线模块

短距离无线传输技术广泛地应用于各个领域,并成为人们工作和生活中不可或缺的一部分,由于它与有线相比有很多优点:方便使用、低功耗、便于携带、无需线缆的束缚等。表1是几种传输技术的优缺点。根据具体应用环境选用特定的无线传输方式。

基于ARM的远距离便携式无线传输系统

由于低功率远距离无线通信技术具有传输距离远、速度快等优点,符合远距离快速传输的需要,所以采用低功率远距离无线模式。该无线模块采用标准低功率远距离射频芯片nRF24L01,通信接口使用FTDI公司研发的USB2.0芯片FT245,微控制器是采用精简指令集的PIC单片机。无线模块系统框图如图4所示。

基于ARM的远距离便携式无线传输系统

4 实验结果与分析

压力测试记录仪头部接高精度压力传感器,内部集成无线模块,天线使用微带天线。ARM开发板使用Linux作为操作系统,使用QT作为开发软件,制作数据读取及显示程序,完成数据的无线传输及显示任务。该系统可取代笔记本完成野外的无线数据传输任务。USB接口的无线模块与天线,在空旷环境下传输距离最远可达800m。在不同的温度、湿度、以及不同的空旷环境下经过多次实验,使用无线传输系统读取的数据与PC机下使用USB数据线读取的数据完全相同,所以实验表明该系统设计是正确、可行的。

结语

由于嵌入式设备在测试系统中有着种种优点,越来越受到人们的青睐。此外,随着短距离无线传输的发展,给便携式无线传输设备带来了新的生机。本文介绍的基于ARM的无线传输系统根据实际应用出发,克服了传统的数据传输系统笨重、费时、费力的缺点,且接收到的数据可进行波形显示、数据存储、数据处理等。此外,由于ARM系统强大的网络功能,可通过以太网把数据传输到任何有以太网的地方,具有一定的创新性。

关键字:ARM  远距离便携式  无线传输系统 引用地址:基于ARM的远距离便携式无线传输系统

上一篇:DCS控制器中采用ARM处理器的冗余设计
下一篇:嵌入式微处理器ARM7202触摸屏接口设计

推荐阅读最新更新时间:2024-03-16 12:57

ARM嵌入式系统开发:软件设计与优化--第二章ARM处理器基础
1、寄存器: 总共有37个寄存器,最多可以有17个活动寄存器(16个数据寄存器,2个状态寄存器:CPSR和SPSR) R13:堆栈指针:指向当前处理器模式的堆栈栈顶 R14:链接寄存器,保存子程序的返回地址。【当执行子程序调用指令(BL)时,R14可得到R15(程序计数器PC)的备份】 R15:程序技术器,处理器下一条要取出的指令地址。【ARM状态下,指令4字节对齐,位 为0。位 保存PC】 【注】快速中断的r8-r12是分组寄存器,r13-r14每种模式都有自己的分组寄存器。r15没有分组寄存器。用户模式和系统模式没有分组寄存器。 2、当前程序状态寄存器CPSR: 3、处理器模式: 除了用户模式外,每一种
[单片机]
<font color='red'>ARM</font>嵌入式系统开发:软件设计与优化--第二章<font color='red'>ARM</font>处理器基础
利用proteus学习ARM(LPC2103)之二:熟悉IAR C语言开发环境
1. 关于C语言中数据类型的长度问题 我们应该比较熟悉51系列的C语言数据类型的长度,如下表所示: 数据类型 长 度 值 域 unsigned char 单字节 0~255 signed char 单字节 -128~+127 unsigned int 双字节 0~65535 signed int 双字节 -32768~+32767 unsigned long 四字节 0~429
[单片机]
arm-linux gdb调试工具的安装
开发环境:AT91SAM9X25开发板:安装linux2.6.39; pc的虚拟机:Linux version 2.6.18-194.el5 (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) ,arm-linux-gcc的版本为version 4.4.3 二、安装 (1)解压:tar zxvf gdb-6.8a.tar.gz (2)配置安装gdb: cd gdb-6.8 ./configure --target=arm-linux make make install (3)配置安装gdbserver: cd gdb cd gdbserver ./configure --target
[单片机]
<font color='red'>arm</font>-linux gdb调试工具的安装
ARM指令adr和ldr的区别
很多人在写简单的裸机代码或分析uboot时,常常遇到adr和ldr指令。却分不清这2者的区别,现在谈谈adr与ldr指令。先写启动代码start.S。 .text .globl _start _start: ldr r0, test adr r0, test ldr r0, =test nop test: nop Makefile文件内容如下: all : start.S arm-linux-gcc -c -o start.o start.S arm-linux-ld -Ttext 0x00000000 -g start.o -o start_elf arm-linux-objcopy -O bi
[单片机]
ARM7与FPGA在工控和故障检测中的应用
工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的CPU芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。 各部分功能简介   图1为此系统的结构连接框图。如图所示,ARM芯片与FPGA芯片之间通过数据总线、地址总线及读写控制线相连,而与终端PC则通过串口通信;FPGA与目标设备通过命令控制总线和故障检测总线相连。                  
[测试测量]
<font color='red'>ARM</font>7与FPGA在工控和故障检测中的应用
ARM CEO劝AMD放弃X86选择ARM
  最新的消息显示,处理器架构设计与授权服务公司ARM近日正在做的事情是劝说自己的竞争对手同时也是英特尔的竞争对手AMD放弃X86架构并选择自己的ARM架构。ARM首席执行官Warren East表示,AMD成功的销售了大量的处理器产品而ARM则是一家处理器的设计与授权公司,在过去的10年时间里我们应该让AMD接受ARM架构但是我们并没有做到这一点。   ARM目前在移动平台上的流行是有目共睹的事实,甚至软件巨头微软也宁愿为了ARM而不惜冒着和老朋友英特尔翻脸的风险表示将会让自己的 Windows操作系统支持ARM架构。业内人士表示,让AMD支持ARM架构并不是不可能的事情,但是从短期内来看让AMD放弃X86架构则是不可能的事情
[半导体设计/制造]
ARM经典300问
第1 章 体系结构 第1 问: Q:请问在初始化CPU 堆栈的时候一开始在执行mov r0, LR 这句指令时处理器是什么模式 A:复位后的模式,即管理模式. 第2 问: Q:请教:MOV 中的8 位图立即数,是怎么一回事 0xF0000001 是怎么来的 A:是循环右移,就是一个0 255 之间的数左移或右移偶数位的来的,也就是这个数除以4 一直除, 直到在0-255 的范围内它是整数就说明是可以的! A:8 位数(0-255)循环左移或循环右移偶数位得到的,F0000001 既是0x1F 循环右移4 位, 符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把32 位立即数放在 32 位的指令中.移位偶数也是这个原因.可以
[单片机]
ARM中的ADR ADRL LDR
ARM中LDR伪指令与LDR加载指令 LDR伪指令的形式是 LDR Rn,=expr 。下面举一个例子来说明它的用法。 COUNT EQU 0x40003100 LDR R1,=COUNT MOV R0,#0 STR R0, COUNT是我们定义的一个变量,地址为0x40003100。这中定义方法在汇编语言中是很常见的,如果使用过单片机的话,应该都熟悉这种用法。 LDR R1,=COUNT是将COUNT这个变量的地址,也就是0x40003100放到R1中。 MOV R0,#0是将立即数0放到R0中。最后一句STR R0, 是一个典型的存储指令,将R0中的值放到以R1中的值为地址的存储单元去。实际就是将0放到地址为0x4000310
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved