新闻  |   论坛  |   博客  |   在线研讨会
ARM9微控制器与嵌入式无线网络实战
c51rfmcu | 2008-06-20 23:35:58    阅读:1513   发布文章

产品简介:
    将高性能、低功耗的ARM微控制器与目前新兴的ISM波段短距离无线通信技术和各种新兴的无线网络技术相结合,将是未来嵌入式设计的一个“热点”。本书以ARM9微控制器为基础,分别介绍ARM9的基础实战、ARM9与ZigBee无线网络实战、ARM9与蓝牙无线网络实战、ARM9与GSM/GPRS网络实战,为读者展示一个嵌入式无线设计开发的思路。
    本书适合广大从事单片机、无线应用、自动化控制、无线传感等专业的工程技术人员作为学习、参考用书,也可作为高等院校的计算机、电子、自动化、通信、无线课程的参考用书。

产品图片:

功能特点:
一、嵌入式无线需要32位微控制器 

    集成电路,特别是SoC(片上系统)技术的发展,使需要低功耗、低成本的嵌入式应用市场发生了天翻地覆的变化。以ARM微控制器为代表的一批新型、高性能、低功耗、低价格微处理器的诞生和快速成长,使嵌入式产品的开发和应用开始广泛地进入到了32位的新时代。

    采用ARM 32位结构的微控制器同目前市场上的8位微控制器比较,在价格上的差异越来越小,但是在性能上却有很大的提高。这些32位的微控制器在单芯片中,除了集成有大量的输出、输入接口、串口、以太网接口、A/D转换器等外,还集成了256 KB~2 MB闪存、20 KB~100 KB静态存储器(SRAM),从而构成了一个高速、高性能的32位片上系统。这将为嵌入式系统的设计和应用提供更多的灵活性和更多的选择性,进而大大推动嵌入式设计应用向更深的层次发展。

    出版者注:为了不增加读者的经济负坦和免除读者录入程序之劳,凡是程序清单的序号带有“*”号的,如读者需要参考,可登录作者单位——成都无线龙通讯科技有限公司的网站(www.c51rf.com)下载。

    在以ARM为核心的32位微控制器快速成长的同时,无线通信和无线网络技术近年来也有了迅速的发展。蓝牙无线网络技术经过多年的努力,特别是在无线语音、PC外设等方面有了很大发展;WiFi(IEEE 802.11高速无线网络标准)/GSM网络/ZigBee(IEEE 802.15.4无线网络标准)同样开始取得长足的进展并得到广泛的应用。

    由于以ARM为核心的32位微控制器将其大量的资源集成在芯片内部,包括I/O、存储器、通信接口等,使系统电路板需要的空间大大简化,而且一些对高频通信可能产生的干扰的噪声大大减少,加上可以用电池供电和具有低功耗模式等新的特点,因此越来越多的无线网络和其他短距离无线通信系统开始采用以ARM为核心的32位微控制器来进行设计。

    将高性能、低功耗的ARM微控制器同目前新兴的ISM波段短距离无线通信技术和各种新兴的无线网络技术相结合,将是未来嵌入式设计的一个“热点”,也是一个“难点”。对广大电子工程师和单片机工程师而言,这将是一个具有很大挑战性,探索性的工作。

二、32位嵌入式设计“热点”——无线通信和无线网络

    无线通信和无线网络技术近年来获得了迅猛的进展,各种新的无线标准如雨后春笋般涌现,通信可靠性越来越高,而功耗越来越低。

    无线通信和无线网络的发展,对无线通信和无线网络系统使用的微控制器提出了全新的要求。主要有以下几点:

1. 更快的处理速度

    无线网络的速度越来越快,不仅要在瞬间处理大量的数据包装,还要处理图像、进行语音压缩等。这些都要求具有更快速的实时处理能力。同时,还要可以更容易地得到实时操作系统(RTOS)、图形处理软件技术的支持。

2. 更强的网络拓扑路由处理

    像ZigBee无线网络系统,需要能处理更多无线节点和进行更快、更复杂的网状网络路由计算,而且要求实时完成,而采用8位微处理器的无线网络系统在节点处理数量、路由计算速度方面都远远不能满足要求。

3. 更加安全算法

    无线通信的网络安全算法,也需要大量的实时计算能力,来实现各种复杂的网络加密计算。

4. 需要更大的程序存储器空间和数据存储器空间,以及更多的通信接口

    采用以ARM为核心的32位微控制器,作为无线网络的基带处理器,可以满足大多数高速无线通信和无线网络系统的基本要求。
对于无线网络路由器、无线网关、无线抄表集中器、工业控制设备、WiFi热点、大型高速网络覆盖接入器设计等,以ARM为核心的32位微控制器可以提供更大的网络节点容量、更快的路由算法、更复杂的加密算法等,从而使系统更加可靠和高效。

    对于无线数字家庭显示单元、无线控制设备、高级无线手持终端、无线测试设备、无线网络监控仪器、汽车电子等无线产品开发,采用以ARM为核心的32位微控制器可以驱动高分辨率的图形显示功能,使无线通信和无线网络产品具有更好的直观性和更良好的监视界面。再加上实时操作系统(RTOS)和图形界面(GUI)的支持,可以大大缩短无线应用产品的开发时间,更快上市,争取商机。

三、嵌入式无线设计的“难点”——“三大难关”
1. ARM技术是第1关

    对于很多电子工程师和单片机工程师而言,最新的以ARM为核心的32位微控制器是挡在面前的第1座大山。ARM微控制器的芯片虽然小,但是结构非常复杂,仅是英文原厂数据手册就有几百页;从汇编语言到C语言,加上RTOS、GUI编程,哪一样都不简单;各种新名词、新技术,很容易让他们眼花缭乱,学习困难。

2. 无线技术和无线网络技术是第2关

    高频系统工作在300 MHz~2.4 GHz的高频频段,对线路设计、元件选择有较高要求。
 
    微处理器和其他数字电路对高频电路的相互干扰。
 
    无线通信在空气中容易被干扰,因而需要进行一系列软件处理,包括纠错、防止碰撞、通信协议处理等,而熟悉这些技术,需要大量时间和经验。
 
    无线网络协议栈和各种无线网络的标准,需要用较长时间来熟悉和理解。

3. 缺乏可视化直观性无线测试设备是第3关

    无线通信和无线网络的设计开发,高频设计需要工作在数吉赫兹(GHz)的无线测试设备,价格昂贵,动辄几千、数万美元,很少有单位能配备。而没有这样的高频设备,很难直观地观察无线通信和无线网络系统的工作状态。

四、32位微控制器和嵌入式无线的完整解决方案

    本书和本书配套的成都无线龙ARMRFST912平台希望能够从教材到实验,为电子工程师提供一个完整的ARM9微控制器和无线网络学习、实验和开发的解决方案。

    本书从ARM软件开发环境(Keil最新的ARM开发平台)入手,循序渐进地学习ARM9微控制器(ARM9微控制器是最新的STR912系列微控制器)。本书从最基本的入门开始,一边介绍ARM9的处理器、外设、各种通信接口,一边介绍相应的软件程序。每一个小的章节都有一套与具体实验对应的,全部由C语言源代码组成的实验代码,成都无线龙的工程师已经为读者建立好了工程文件,并且验证过这些代码。读者只要对这些文件进行简单地编译、下载,就可以观察到运行效果。大部分的运行结果都可以在系统自己的彩色显示器上观察到。

    成都无线龙ARMRFST912平台提供的这十多个实验,使读者可以完全理解STR912微控制器的内部原理和特点,包括定时器、中断、同步、异步串口、CAN总线、以太网接口等。学习ARM9微控制器,最好的办法是理论同实际相结合,动手为主,在动手实验中去体会ARM9的基本结构和基本原理。

    当为读者提供一系列实验和一百多页教材,使读者对ARM9微控制器有了初步了解(或深入了解)后,本书用一个章节介绍了ZigBee无线网络的基本原理,以便为下一个章节的学习打下理论基础,然后很快进入ZigBee无线网络的实验。

    ZigBee(IEEE 802.15.4)是一种很有前途、低速度的无线网络,学习ZigBee无线通信和无线网络是入门无线技术很好的选择。

    学习ZigBee技术和其他无线网络技术的主要难点是复杂的无线冲突碰撞避免技术和网络协议栈。本书的ZigBee无线SoC(无线片上系统)采用了类似EM260的协议栈内置技术。这样,读者可以避开复杂的网络协议,直接使用高级AT命令集和ARM9微控制器串口对ZigBee网络进行控制,从而将注意力集中到ARM9接口软件和无线通信接口软件这个学习无线的最重要方面上来,实现入门无线网络的低门坎和高效率。

    ZigBee无线网络的实验,包括了全部进入网络、网络路由、无线传感器数据传输、网络节点控制等功能。它利用彩色TFT液晶显示系统进行图形和字符显示,让读者相当于有了一台高级的无线网络分析仪器,能够轻松观察到无线组网效果和数据包装进行实际无线传输的通信效果,从而解决了学习无线时缺乏无线仪器的另外一个难题。

    学习完ZigBee网络后,本书将带领读者进入嵌入式蓝牙网络。虽然目前很多人都熟悉蓝牙耳机,但是,恐怕很少有人有机会实际使用过蓝牙技术进行实际的通信和实际的无线控制,以及了解蓝牙无线技术的核心。

    当读者很方便地从ARMRF开发板上取下ZigBee片上系统,换装蓝牙片上系统后,读者的ARMRF平台就立即变成了一台蓝牙无线开发系统。通过成都无线龙通讯科技有限公司提供的蓝牙开发软件代码,可以轻松地使用ARM9微控制器实现对蓝牙网络的控制,包括进入蓝牙网络、分析蓝牙服务等。

    最后一章是学习使用ARM9微控制器实战目前广泛使用的GSM手机网络。在ARMRF开发板上安装GSM模块,便可以用本书提供的源代码轻松实现进入GSM网络,实现发送短信息等功能。当读者使用自己的ARM9无线开发系统实现与远在数百公里外的朋友进行短信通信时,一定会加倍感受到无线网络技术和以ARM9为核心的32位微控制器技术的强大功能,并感受到嵌入式无线技术的光明前景。

    从ARM微处理器诞生以来,已经有大量的图书和教材对ARM技术进行了全面介绍,但由于短距离无线通信和ZigBee、蓝牙、GSM等无线网络技术是近年来才兴起的新技术,而无线通信和无线网络又有自己的一系列技术难点和特点,因此目前将ARM微控制器技术应用到无线通信和无线网络的实用书籍还很少见。然而从事嵌入式无线设计的技术学员又急切需要这方面的图书。

    成都无线龙通讯科技有限公司长期从事无线通信和产品的开发,特别是无线开发工具的开发,在如何使用ARM9微控制器进行无线通信和使用无线网络方面,有多年的实际经验。本书正是这些实际经验的很好总结。

    与成都无线龙通讯科技有限公司和北京航空航天大学出版社已经共同出版的其他无线单片机丛书一样,本书最重要的特点是以动手实战为核心,而将ARM微控制器的原理和技术资料放在次要位置。这是因为目前因特网已经普及,任何人需要获得这方面的技术资料,都非常容易。对读者而言,真正比较困难的是采用ARM9微控制器与无线SoC芯片、无线网络模块的接口技术,以及进行实际的软件开发和实际测试、调试的技术。而本书正是紧紧抓住这个重点,从ARM9微控制器开始,结合无线通信和无线网络的基础知识,通过一系列不同的实验和ZigBee、蓝牙、GSM等无线网络系统的应用示范,让读者轻松上路,自己体验如何采ARM9微控制器构建自己的无线通信系统和实际的无线网络系统。

    同时,为了适应ARM9微控制器在无线领域的高级应用需要,本书还具体讨论了如何将RTOS、GUI等ARM软件开发的高级技术应用到无线通信和无线网络的实际中去。

    最后,我们要感谢北京航空航天大学出版社为本书的出版付出的心血和努力,没有他们的辛勤劳动,这本书和其他无线单片机系列技术丛书不会这样快地与读者见面。

作者
2007年12月

第1章 ARMRF912WZ系统

1.1 ARMRF912WZ系统概述1

1.2 硬件开发平台2

1.2.1 ARM912主板2

1.2.2 无线射频模块7

1.2.3 无线网关8

1.2.4 传感器扩展板8

1.3 软件开发平台9

1.3.1 ARM RealView MDK9

1.3.2 入门ARM RealView软件开发平台 11

1.3.3 IAR平台21

1.3.4 AT命令集35

1.3.5 驱动程序35

1.3.6 μC/OSII操作系统38

1.3.7 STR91x编程模板38

第2章 STR912微控制器

2.1 STR912处理器39

2.1.1 STR912芯片40

2.1.2 存储结构43

2.1.3 电源51

2.1.4 复位53

2.1.5 低电压模式54

2.2 STR912的I/O57

2.2.1 功能描述57

2.2.2 寄存器描述59

2.2.3 GPIO库函数62

2.2.4 键盘实验63

2.3 时钟70

2.3.1 系统时钟源72

2.3.2 实时钟84

2.3.3 实时钟库函数93

2.3.4 实时钟实验93

2.4 中断(VIC和WIU)99

2.4.1 向量中断控制器(VIC)100

2.4.2 VIC寄存器描述103

2.4.3 唤醒/中断单元(WIU)110

2.4.4 VIC和WIU库函数114

2.4.5 中断实验115

2.5 16位定时器119

2.5.1 主要特性119

2.5.2 功能描述120

2.5.3 寄存器描述130

2.5.4 库函数介绍136

2.5.5 定时器实验1138

2.5.6 定时器实验2140

2.6 DMA控制器(DAMC)142

2.6.1 主要特点142

2.6.2 功能描述144

2.6.3 软件需考虑的事项145

2.6.4 寄存器描述153

2.6.5 库函数介绍167

2.6.6 DMA实验169

2.7 同步串行外设(SSP)171

2.7.1 主要特点172

2.7.2 功能描述172

2.7.3 SSP操作174

2.7.4 寄存器描述181

2.7.5 库函数介绍188

2.7.6 SSP实验1:LED189

2.7.7 SSP实验2:温度传感器195

2.8 STR912的UART201

2.8.1 主要特征201

2.8.2 功能描述201

2.8.3 寄存器说明208

2.8.4 库函数介绍224

2.8.5 UART实验226

2.9 模拟/数字转换器(ADC)231

2.9.1 介绍231

2.9.2 功能描述233

2.9.3 寄存器描述235

2.9.4 库函数介绍240

2.9.5 AD及麦克风实验242

第3章 ARM912主板高级应用

3.1 EMI接口实验247

3.1.1 功能描述247

3.1.2 寄存器描述251

3.1.3 库函数介绍255

3.1.4 EMI控制LCD256

3.1.5 EMI操作RAM271

3.2 红外线接口实验277

3.3 FLASH存储器实验282

3.3.1 功能描述283

3.3.2 FMI寄存器描述283

3.3.3 库函数介绍289

3.3.4 FLASH存储器读写实验290

3.4 USB控制器实验292

3.4.1 主要特性293

3.4.2 功能描述293

3.4.3 编程要点295

3.4.4 寄存器描述304

3.4.5 USB存储试验325

3.4.6 USB操纵杆实验326

3.5 以太网实验331

3.5.1 功能描述332

3.5.2 MAC 802.3操作338

3.5.3 DMA控制器操作345

3.5.4 寄存器描述349

3.5.5 ENET库函数介绍385

3.5.6 EasyWEB实验386

第4章 移植μC/OSⅡ到STR912

4.1 μC/OSⅡ介绍395

4.2 μCOSⅡ的特点396

4.2.1 μC/OSⅡ提供源代码396

4.2.2 μC/OSⅡ的可移植性396

4.2.3 μC/OSⅡ的可固化性396

4.2.4 μC/OSⅡ的可裁减性396

4.2.5 μC/OSⅡ的可剥夺性396

4.2.6 μC/OSⅡ的可多任务性397

4.2.7 μC/OSⅡ的可确定性397

4.2.8 μC/OSⅡ的任务栈397

4.2.9 μC/OSⅡ的系统服务397

4.2.10 μC/OSⅡ的中断管理397

4.2.11 μC/OSⅡ的稳定、可靠性397

4.3 μC/OSⅡ的移植398

4.3.1 移植的基本概念398

4.3.2 μC/OSⅡ向ARM9移植399

4.3.3 os_cpu_a.asm402

4.3.4 OS_CFG.H403

4.4 μC/OSⅡ基础GPIO实验404

4.4.1 实验目的404

4.4.2 实验原理和步骤404

4.4.3 程序流程图404

4.4.4 各个模块的实现405

4.5 μCGUI应用实例406

4.5.1 μC/GUI简介406

4.5.2 μC/GUI配置406

4.5.3 μC/GUI字体显示407

4.5.4 μC/GUI 2D图形库409

4.5.5 μC/GUI颜色管理413

4.5.6 μC/GUI单、多任务系统415

4.5.7 μC/GUI视窗管理器417

4.5.8 μC/GUI窗体控件421

4.6 μC/OSⅡ、μC/GUI综合实验428

4.6.1 实验目的428

4.6.2 实验原理和步骤428

4.6.3 程序流程图429

4.6.4 各个功能的实现430

第5章 ZigBee无线网络基础

5.1 ZigBee模块介绍432

5.2 短距离无线通信基础434

5.2.1 无线局域网(WLAN)435

5.2.2 蓝牙(Bluetooth)技术 435

5.2.3 HomeRF436

5.2.4 ZigBee436

5.3 ZigBee无线网络437

5.3.1 ZigBee结构体系437

5.3.2 PHY(物理)层438

5.3.3 MAC(介质接入控制子层)层441

5.3.4 ZigBee网络层443

5.3.5 ZigBee应用层459

5.4 ZigBee协议栈实验465

5.4.1 数据发送465

5.4.2 数据接收466

5.4.3 实验硬件467

5.4.4 实验源代码468

5.4.5 流程图469

5.4.6 路由器代码469

5.4.7 协调器代码470

第6章 无线传感器网络实验

6.1 AT命令开发ZigBee472

6.1.1 AT命令介绍472

6.1.2 设置命令:S(et)475

6.1.3 测试命令:T(est)478

6.1.4 读命令:R(ead)481

6.1.5 AT命令演示实验487

6.2 ARM手持终端实验493

6.2.1 命令函数494

6.2.2 基础实验演示496

6.2.3 ARM无线监视软件498

6.3 无线传感器网络与以太网500

6.3.1 基本处理函数501

6.3.2 以太网处理函数502

6.3.3 实验结果503

第7章 ARM嵌入无线蓝牙网络

7.1 蓝牙概述504

7.1.1 蓝牙技术简介504

7.1.2 建立网络连接505

7.1.3 保密机制506

7.1.4 软件结构507

7.2 蓝牙无线模块简介507

7.3 蓝牙无线模块常用命令集508

7.3.1 串口参数509

7.3.2 主节点设置命令509

7.3.3 地址修改命令509

7.3.4 设备连接命令510

7.3.5 退出数据模式命令511

7.3.6 地址查询命令512

7.4 蓝牙扩展板512

7.5 蓝牙实验513

7.5.1 实验目的513

7.5.2 实验原理514

7.5.3 实验流程图514

7.5.4 ARM和蓝牙515

7.5.5 蓝牙扩展板实验526

7.5.6 实验结果527

第8章 ARM嵌入式GSM/GPRS

8.1 GPRS概述530

8.1.1 GPRS网络的特点531

8.1.2 GPRS网络结构 532

8.1.3 GPRS的协议 533

8.1.4 GPRS的路由管理534

8.1.5 空中接口的信道构成 535

8.1.6 GPRS的应用 535

8.2 MC39i模块介绍536

8.2.1 MC39i模块特点536

8.2.2 AT命令介绍537

8.2.3 模块驱动541

8.3 GSM/GPRS实验542

8.3.1 实验1:电话演示542

8.3.2 实验2:SMS演示545

参考文献549

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
晨曦星梦缘  2009-12-11 20:59:28 

这本书很好,新技术

ZigBee开发系统,无线传感器网络,嵌入式无线,WIFI开发系统:手机:13540716232或电话:028-68191060-152或QQ:317559113或邮箱:peterpanjy@163.com
推荐文章
最近访客