当前位置:首页 > 单片机 > 单片机
[导读] 引言 无线数据传输现在广泛地运用在车辆监控、遥控、小型无线网络、小型无线数据终端等领域中,无线数据传输主要由数据终端机、主机和主控制机组成,主控制机与主机间用串行口通信,主机和数据终端机

引言
无线数据传输现在广泛地运用在车辆监控、遥控、小型无线网络、小型无线数据终端等领域中,无线数据传输主要由数据终端机、主机和主控制机组成,主控制机与主机间用串行口通信,主机和数据终端机之间通过射频模块进行通信。
传感器采集信号后传给数据终端机,终端机通过射频模块进行无线数据传输,主控制机与数据终端的通信转化为主控制机与主机串口(UA RT)间的通信以及数据终端通过无线数传模块和主机之间的数据传输,在此基础上形成了无线分布式传感/控制网络(Wireless Distribution ed Sensor/Control Networks,WDSCN)的处理机的软硬件系统搭建。无线数据传输的处理系统采用嵌入式系统辅以适当无线数传模块来实现。系统中用射频模块来完成数据的传输,用嵌入式系统来实现对传输数据的处理和存储、网络通信、外部控制等任务。

1 射频模块的设计
射频模块的主要功能由无线收发芯片nRF401配合外围电路完成,该模块内部结构分为发射电路、接收电路、模式和低功耗控制逻辑电路以及串行接口几个部分组成。
发射电路有射频功率放大器(PA)、锁相环(PLL)、压控振荡器(VCO)、频率合成器等。基准振荡器采用外接晶体振荡器产生电路所需的基准频率,振荡电路采用锁相环方式,由在DDS基础上的频率合成器、外接的无源回路滤波器和压控振荡器组成,压控振荡器由片内的振荡电路和外接的LC谐振回路组成,要发射的数据通过DIN端输入。
接收电路由低噪声放大器(LNA)、混频器、中频放大器、GFSK解调器、滤波器等电路组成,中频放大器的输出信号经过中频滤波器后送入GFSK解调器解调,解调后的数字信号在DOUT端输出。
芯片内包含有发射功率放大器、低噪声接收放大器、晶体振荡器、锁相环、压控振荡器、混频器等电路,工作频率为ISM频段433 MHz,采用FSK调制解调、晶体振荡和PLL频率合成技术,接收灵敏度为-105 dBm,发射功率为10 dBm,待机状态电流消耗仅10μA。在接收模式中,射频输入信号被低噪声放大器放大,经由混频器变换,在送入解调器之前被放大和滤波,解调后的数字信号在DOUT端输出。在发射模式中,压控振荡器的输出信号是直接送入到功率放大器,DIN端输入的数字信号被频移键控后馈送到功率放大器输出。射频模块的电路如图1所示。

  2 嵌入式系统

  一般而言,嵌入式系统的构架可以分为4个部分:处理器、存储器、输入/输出(I/O)和软件。嵌入式系统是软件和硬件的综合体,它是以应用为中心,以计算机技术为基础,软、硬件皆可以裁剪,从而能够适应于工业和服务领域实际应用中。

  由于μClinux在设计时就已经充分考虑了可移植性,所以将μClinux移植到S3C44B0相对来说是比较容易的。但要使μClinux正常运行,处理器必须满足以下要求:

  (1)处理器的C编译器能产生可重入代码。

  (2)用C语言就可以打开和关闭中断。

  (3)处理器支持中断,并且能产生定时中断(通常在10~100 Hz之间)。

  (4)处理器支持能够容纳一定量数据(可能是几千字节)的硬件堆栈。

  2.1 Bootloader的工作

  Bootloader就是在操作系统内核运行之前运行的一段程序,通过这段程序可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。因此,正确建立μClinux的移植的前提条件是具备一个与μClinux配套、易于使用的Bootloader。

  硬件初始化。系统上电或复位后,程序从位于地址0x0的Reset Exception Vector处开始执行,因此需要在这里放置Bootloader的第一条指令:b ResetHandler,跳转到标号为ResetHandler处进行第一阶段的硬件初始化,主要内容为:关Watchdog Timer,关中断,初始化PLL和时钟,初始化存储器控制器。比较重要的是PLL的输出频率要计算正确,ARMSYS中把它设置为64 MHz;这实际上就是处理器的工作主频,这个时间参数在第二阶段计算SDRAM的刷新计数值和UART的波特率等参数时还要用到。

  建立二级异常中断矢量表。异常中断矢量表(Exception Vector Table)是Bootloader与μClinux内核发生联系关键的地方之一。即使μClinux内核已经得到处理器的控制权运行,一旦发生中断,处理器还是会自动跳转到从0x0地址开始的第一级异常中断矢量表中的某个表项(依据于中断类型)处读取指令运行。在编写Bootloader时,地址0x0处的一级异常中断矢量表只需简单地包含向二级异常中断矢量表的跳转指令就可以。这样,就能够正确地将发生的事件交给μClinux的中断处理程序来处理。对于μClinux内核,它在RAM空间中基地址为0xC000000处建立了自己的二级异常中断矢量表。

  如果在Bootloader执行的全过程中都不必响应中断,那么上面的设置已能满足要求。在ARMSYS上提供了USB下载器,需要用到中断,Boot loader必须在同样的地址(0xC000000)处配置自己的二级异常中断矢量表,以便同μClinux兼容。这张表事先存放在FLASH MEMORY里,引导过程中由Bootloader将其复制到RAM地址0x0C000000。

  2.2 源代码裁剪与移植

  将μClinuX-dist-20040408.tar.gz拷贝到/home/下(或者其他目录都可以),运行解压命令:tar xvzfμClinux-ARMSYS-20040801. tar.gz,解压结束后会在/home/下生成μClinux-dist目录。

配置与编译。安装编译环境,到以下地址下载arm-elf工具链:http://www.uclinux.org/pub/μClinux/m68k-elf-tools/arm-elf-tools-20030314.sh。将arm-elf-tools-20030314.sh拷贝到根目录,运行安装:
sh arm-elf-tools-20030314.sh
然后开始配置μClinux的内核和用户选项,打开终端。
# cd/home/uClinux-dist
# make menuconfig
进入μClinux配置(μClinux V3.1.0 Configuration),选中“Kernel/Library/Defaults Selectiona”敲空格进入。其中有两个选项:定制内核设置和定制用户选项设置:
[*]Customize Kernel Settings
[]Customize Vendor/User Settings
选中定制内核设置选项,按下ESC键退出,在询问是否保存时,选择Yes并回车。终端将首先进入内核配置选单。在配置μClinux内核时,就可以通过对这些选项的选择和取消选择来设定内核所具有的功能项,这也是裁减μClinux内核的基本方法。每个选项都对应着一个宏定义,make menuconfig执行结束后,自动将配置结果保存为.config文件,将前一次的配置结果备份为.config.old文件。
交叉编译。按下面的步骤对μClinux源码包进行编译:
# make dep
# make clean(非必要)
# make lib_only
# make user_only
# make romfs
# make image
# make
初次移植时,在make lib_only到make这5步编译过程中很可能产生错误,无法继续下去,如果产生了错误,可以尝试根据报告的错误内容修改一下源程序,交叉编译成功后,在μClinux-dist/目录下产生images目录,其中包含的3个文件:image.ram,image.rom和romfs.img就是我们可以使用的二进制文件,下载或烧录这些二进制文件,并启动运行μClinux。出现正确提示信息后,可以尝试从键盘输入ls,PINg命令,来查看系统的运行情况,编写简单的应用程序,看是否能够正确运行。
2.3 嵌入式处理器程序
应用程序的部分具体代码如下:该部分完成了嵌入式控制器硬件初始化、操作系统初始化、GUI以及用户界面、时钟的初始化,创建了一个主任务,启动了多任务调度。

  3 结语

  本文通过对无线传感器/控制网络技术的研究,提出了一种基于射频通信技术的无线数据采集和控制方案,利用所开发的无线通信模块构建了一个无线分布式传感/控制网络,实现了传感器数据的实时采集。开发了一种短距离无线数据传输平台。目前测试通讯距离为80m,无线通信最高速率可达到20Kb/s。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭