新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式网络监控系统的研究

嵌入式网络监控系统的研究

作者:时间:2012-03-21来源:网络收藏

摘要:无线数据传输现在广泛地运用在各种控制领域。该系统中采用由无线收发芯片nRF401配合外围电路的射频模块来完成数据的传输;通过对Bootloader硬件的初始化后,实现将μClinux裁减并移植到S3C44BO中,最后用处理器程序来实现对传输数据的处理和存储、通信、外部控制等任务。经过测试通信距离为80m,无线通信最高速率可达到20Kb/s。
关键词:μClinux;无线数据传输;Bootloader;无线通信

0 引言
无线数据传输现在广泛地运用在车辆监控、遥控、小型无线、小型无线数据终端等领域中,无线数据传输主要由数据终端机、主机和主控制机组成,主控制机与主机间用串行口通信,主机和数据终端机之间通过射频模块进行通信。
传感器采集信号后传给数据终端机,终端机通过射频模块进行无线数据传输,主控制机与数据终端的通信转化为主控制机与主机串口(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所示。

本文引用地址:http://www.eepw.com.cn/article/149380.htm

a.JPG



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目录。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)
lc振荡电路相关文章:lc振荡电路原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭