第三周CC2530基础(大课)_第1页
第三周CC2530基础(大课)_第2页
第三周CC2530基础(大课)_第3页
第三周CC2530基础(大课)_第4页
第三周CC2530基础(大课)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与应用单片机原理与应用2 大课(1)单片机(2)8051单片机(3)8051 CPU核的内部结构(4)8051 CPU核的存储空间分布(重点、难点) 小课(1)实验硬件平台的熟悉(2)IAR开发环境的熟悉3本周教学主要内容本周教学主要内容 CC2530和8051的关系; CC2530结构; 物理存储器的映射(难点) CC2530 GPIO口编程(重点)4教学目标教学目标 理解理解cc2530 cc2530 物理存储器的映射;物理存储器的映射; 掌握掌握CC2530 GPIOCC2530 GPIO口控制原理和编程方法。口控制原理和编程方法。5 CC2530 8051 CPU 核核 RO

2、M(32K/64K/128K/256K) RAM(8K) IO接口电路 无线射频电路无线射频电路 51无线单片机无线单片机+ +5151单片机的相关知识上单片机的相关知识上次课我们已经讲过,单次课我们已经讲过,单片机和无线通信又如何片机和无线通信又如何中走在一起的呢?中走在一起的呢?6 80年代,当单片机技术已经广泛普及,8051如日中天的时候,手机还是价值万元的大砖头,语音通讯也只有8K/S的通讯速度,无线通讯技术还仅是美国摩托罗拉等巨头公司实验室里的前沿。 90年代,TI投入巨资,开发短距离通讯芯片,10年努力,却以失败告终,据统计,当时在美国进行无线产品的项目开发,有85%以上的开发项目

3、会失败。复杂的高频,昂贵的设备,完全被封锁的技术,无线似乎是在“天上”遥不可及。72003年挪威两家创新公司,CHIPCON (2006年被TI公司2亿美元收购)和Nordic 公司,采用CMOS高频技术将无线收发器完全集成到芯片内部,外部只有很少的元件, 电路板设计非常简化,并将8051单片机和高频电路进行集成,就诞生了单片机和高频电路进行集成,就诞生了”无线单片机无线单片机”。射频射频SoC 单片机单片机(简称无线单片机简称无线单片机)的出现,的出现,为不具备无线通讯经验和高频电路经验的电为不具备无线通讯经验和高频电路经验的电子工程师子工程师,提供了提供了 非常简单的解决方案。非常简单的解

4、决方案。1)专门的设计,将全部的高频部分电路集成到了电路内部,从无线单片机到天线之间专门的设计,将全部的高频部分电路集成到了电路内部,从无线单片机到天线之间,只有简单的滤波电路,系统设计者完成不必进行任何高频电路设计;,只有简单的滤波电路,系统设计者完成不必进行任何高频电路设计; 2)采用特殊设计,使采用特殊设计,使8051 的微处理器和高频线路间,实现完美的配合,数字电路对的微处理器和高频线路间,实现完美的配合,数字电路对高频通讯的影响减低到最小;高频通讯的影响减低到最小;3)设置了高频通讯的若干寄存器,将高频通讯的处理,简化为对寄存器的简单操作处设置了高频通讯的若干寄存器,将高频通讯的处理

5、,简化为对寄存器的简单操作处理,即你只需要对这理,即你只需要对这 些寄存器进行操作,就可以轻松完成无线通讯功能。代表作些寄存器进行操作,就可以轻松完成无线通讯功能。代表作有有NRF2401,CC1000,NRF905,CC1010,CC2430,CC2530. 4)高度集成高度集成SOC,简化了高频设计,使开发无线应用设计转移到以软件代码为中心;,简化了高频设计,使开发无线应用设计转移到以软件代码为中心; 5)大量低价格,直观显示为特点的无线开发、测试工具的诞生,使无线应用开发成本大量低价格,直观显示为特点的无线开发、测试工具的诞生,使无线应用开发成本大大降低;大大降低; 在家建立自己的无线开

6、发平台不是梦想;在家建立自己的无线开发平台不是梦想; 6)无线无线SOC得到了非常广泛应用,特别是无线鼠标,键盘和游戏摇杆等方面。得到了非常广泛应用,特别是无线鼠标,键盘和游戏摇杆等方面。 89- 9 -l 高性能、低功耗的高性能、低功耗的8051微控制器内核。微控制器内核。l 适应适应2.4GHz IEEE802.15.4的的RF收发器。收发器。l 极高的接收灵敏度和抗干扰性。极高的接收灵敏度和抗干扰性。l 32KB/64KB/128KB/256KB闪存。闪存。l 8KB SRAM,具备各种供电方式下的数据保持能,具备各种供电方式下的数据保持能力。力。l 强大的强大的DMA功能。功能。l 只

7、需极少的外接元件,即可形成一个简单应用系统。只需极少的外接元件,即可形成一个简单应用系统。l 只需一个晶振,即可满足网状型网络系统的需要。只需一个晶振,即可满足网状型网络系统的需要。CC2530芯片特征芯片特征10- 10 -l低功耗,主动模式低功耗,主动模式RX(CPU空闲):空闲):24mA;主动模式;主动模式TX在在1dB(CPU空闲):空闲):29mA;供电模式;供电模式1(4us唤醒):唤醒):0.2mA;供电模式;供电模式2(睡眠定时器(睡眠定时器运行):运行):1uA;供电模式;供电模式3(外部中断外部中断):0.4uA;宽电源电压范围(;宽电源电压范围(2V-3.6V)。)。l

8、硬件支持硬件支持CSMA/CA。l支持数字化的接收信号强度指示器支持数字化的接收信号强度指示器/链路质量指示(链路质量指示(RSSI/LQI)。)。l具有具有8路输入路输入8位位14位位ADC。l高级加密标准高级加密标准AES协处理器。协处理器。l具有看门狗和具有看门狗和2个支持多种串行通信协议的个支持多种串行通信协议的USART。l1个通用的个通用的16位定时器和位定时器和2个个8位定时器,位定时器,1个个IEEE802.15.4 MAC定时器。定时器。l21个通用个通用I/O引脚。引脚。CC2530芯片特征芯片特征11- 11 -二、二、CC2530存储器及映射存储器及映射 CC2530物

9、理存储器物理存储器CC2530存储空间存储空间映射映射存储器仲裁存储器仲裁12CC2530存储器及映射存储器及映射 物理存储器:实际存在的具体存储介质,如下:物理存储器:实际存在的具体存储介质,如下:SRAM 未上电时,未上电时,SRAM的内容未定义,在供电的情况下,的内容未定义,在供电的情况下,SRAM的内容被保留的内容被保留FLASH片上闪存存储器,主要为了保存程序和常量数据。片上闪存存储器,主要为了保存程序和常量数据。FLASH由一组由一组2KB的页面组成的页面组成 信息信息页面页面信息页面是一个信息页面是一个2KB的只读区域,它的主要作用是存储全球唯一的的只读区域,它的主要作用是存储全

10、球唯一的IEEE地址地址 SFR控制控制8051CPU内核或外设的一些功能内核或外设的一些功能 XREG 是是SFR的扩展寄存器,比如射频寄存器,访问速度比的扩展寄存器,比如射频寄存器,访问速度比SFR要慢要慢 13- 13 -CC2530存储器及映射存储器及映射 存储空间:虚拟的空间,指对存储器编码的范围存储空间:虚拟的空间,指对存储器编码的范围CODE程序存储器,只读存储空间,用于存放程序代码和一些常量,有程序存储器,只读存储空间,用于存放程序代码和一些常量,有16根根地址总线,寻址范围为地址总线,寻址范围为0 x00000 xFFFF共共64KB DATA数据存储器,可读数据存储器,可读

11、/写的数据存储空间,用于存放程序运行过程中的数据,直接或写的数据存储空间,用于存放程序运行过程中的数据,直接或间接被间接被1个指令周期访问。有个指令周期访问。有8根地址总线,因此寻址空间为根地址总线,因此寻址空间为0 x000 xFF,共,共256个字节个字节 ,低,低128B可直接或间接寻址,高可直接或间接寻址,高128B只能间接寻址只能间接寻址XDATA外部数据存储器,可读外部数据存储器,可读/写的数据存储空间,主要用于写的数据存储空间,主要用于DMA寻址,需寻址,需45个指令个指令周期访问。有周期访问。有16根地址总线,寻址空间是根地址总线,寻址空间是0 x00000 xFFFF共共64

12、KB SFR特殊功能寄存器,可读特殊功能寄存器,可读/写的寄存器存储空间,共有写的寄存器存储空间,共有128字节,直接被字节,直接被1个指令个指令周期访问。对于地址是被周期访问。对于地址是被8整除的整除的SFR寄存器,每一位还可以单独寻址寄存器,每一位还可以单独寻址 14CC2530存储器及映射存储器及映射 物理存储器与存储空间的关系物理存储器与存储空间的关系存储空间只是存储空间只是4种不同的寻址方式概念,并不代表物理具体种不同的寻址方式概念,并不代表物理具体上的存储设备,只是存储空间的概念;而上的存储设备,只是存储空间的概念;而FLASH、SRAM、EEPROM等是具体的物理存储设备。他们两

13、者之间的关系等是具体的物理存储设备。他们两者之间的关系是通过映射来联系起来的。例如是通过映射来联系起来的。例如FLASH或者或者EEPROM都可都可以作为物理存储媒介映射到以作为物理存储媒介映射到CODE上。上。 15- 15 -CC2530存储器及映射存储器及映射 映射映射映射就是将映射就是将CC2530的物理存储器映射到其存储空间上,的物理存储器映射到其存储空间上,有两个作用:有两个作用: 方便方便DMA访问访问存储设备存储设备 可在可在CODE区执行区执行FLASH或或SRAM中的中的代码代码 16CC2530存储器及映射存储器及映射 映射的两种主要形式:映射的两种主要形式:1.CODE

14、存储器映射存储器映射 2.XDATA存储器映射存储器映射17CC2530存储器及映射存储器及映射 1.CODE存储器映射存储器映射lCODE存储器映射具有两个功能:存储器映射具有两个功能:l 一是将一是将FLASH映射至映射至CODE存储空间;存储空间;l 二是执行来自二是执行来自SRAM的代码(将的代码(将SRAM映射至映射至CODE存储空间)存储空间) 18- 18 -CC2530存储器及映射存储器及映射 FLASH映射映射CODE的寻址空间为的寻址空间为64KB,而对于,而对于CC2530F256设备来说设备来说FLASH的的存储空间为存储空间为256KB首先要解决存储空间不对称的问题首

15、先要解决存储空间不对称的问题 CC2530将将FLASH存储器分为几个存储器分为几个bank,每个每个bank的大小是的大小是32KB。对于对于CC2530F256设备来说,它有设备来说,它有8个个bank,分别为,分别为bank0bank7。通过操作寄存器通过操作寄存器FMAP.MAP2:0来控制来控制将哪个编号的将哪个编号的bank映射到映射到CODE区域区域 只针对只针对CC2530F32这款这款芯片,因为这款芯片的的芯片,因为这款芯片的的FLASH只有只有32KB虽然这里有虽然这里有bank0区域,但区域,但是映射的时候是映射的时候bank0总映射总映射的根部的低的根部的低32KB区域

16、区域19- 19 -CC2530存储器及映射存储器及映射 SRAM映射映射为了便于在为了便于在SRAM中执行代码,可以将中执行代码,可以将SRAM映射到映射到CODE存储空间的存储空间的0 x8000(0 x8000+SRAM_SIZE-1)的区域)的区域 虽然程序从虽然程序从SRAM中运行代码,但中运行代码,但是并不代表程序是从是并不代表程序是从SRAM中启动中启动的。程序仍旧是从的。程序仍旧是从CODE的普通区的普通区域域0 x0000开始执行,当程序执行到开始执行,当程序执行到0 x8000时,将执行时,将执行SRAM中的代码中的代码 20CC2530存储器及映射存储器及映射 2.XDA

17、TA 映射映射为了方便为了方便DMA控控制器能访问所有制器能访问所有的物理存储空间,的物理存储空间,CC2530把所有把所有的物理存储器以的物理存储器以及寄存器都映射及寄存器都映射到到XDATA上,上,包括包括CODE和和SFR部分存储空间部分存储空间 。21- 21 -CC2530存储器及映射存储器及映射 XDATA包含了所有物理存储器的映射,包括包含了所有物理存储器的映射,包括8KB的的SRAM存储器、存储器、XREG、SFR、信息页面和、信息页面和FLASH存储器存储器 lSRAM映射的地址范围是映射的地址范围是0 x0000到到SRAM_SIZE-1。其中。其中SRAM较高的较高的25

18、6字字节映射到节映射到DATA存储空间存储空间8位地址区域,即地址范围从位地址区域,即地址范围从SRAM_SIZE-256到到SRAM_SIZE-1 lXREG区域映射到区域映射到1KB地址区域地址区域0 x6000-0 x63FF lSFR寄存器映射到地址区域寄存器映射到地址区域0 x7080-0 x70FF。128个条目的硬件寄存器区域是个条目的硬件寄存器区域是通过这一存储空间访问的。闪存信息页面通过这一存储空间访问的。闪存信息页面2KB映射到地址区域映射到地址区域0 x7800-0 x7FFF。这是一个只读区域,包含有关设备的各种信息。这是一个只读区域,包含有关设备的各种信息 l信息页面

19、映射到地址区域信息页面映射到地址区域0 x78000 x7FFF lXBANK为为CODE存储空间的存储空间的bank07区域的映射,其地址仍然是区域的映射,其地址仍然是0 x80000 xFFFF。可以配置存储器控制寄存器。可以配置存储器控制寄存器MEMCTR.XBANK2:0(详见(详见存储器仲裁)决定选择映射存储器仲裁)决定选择映射bank0bank7之间的哪个区域,比如之间的哪个区域,比如MEMCTR.XBANK=001,则映射,则映射bank1区域区域 22- 22 -CC2530存储器及映射存储器及映射 存储器仲裁存储器仲裁 l主要功能是解决主要功能是解决CPU与与DMA访问所有物

20、理存储器(除了访问所有物理存储器(除了CPU内部寄内部寄存器)之间的冲突问题。当存器)之间的冲突问题。当CPU和和DMA之间发生冲突时,之间发生冲突时,“存储器存储器仲裁仲裁”停止停止CPU或或DMA的总线的总线 l存储器仲裁主要有两个寄存器:存储器仲裁控制寄存器存储器仲裁主要有两个寄存器:存储器仲裁控制寄存器MEMCTR和和闪存区映射寄存器闪存区映射寄存器FMAP,这两个寄存器用于控制存储器子系统的各,这两个寄存器用于控制存储器子系统的各个方面个方面 23- 23 -CC2530存储器及映射存储器及映射 1.存储器仲裁控制寄存器存储器仲裁控制寄存器MEMCTR lMEMCTR.XMAP必须设

21、置以使得程序从必须设置以使得程序从SRAM执行;执行;MEMCTR.XBANK决决定定XDATA的高的高32KB映射映射CODE存储空间的哪个存储空间的哪个bank区域区域 位位名称名称复位复位R/W描述描述7:4-0000R0保留保留3XMAP0R/WXDATA映射到代码,当设置了这一位,映射到代码,当设置了这一位,SRAM XDATA区区域从域从0 x0000到(到(SRAM_SIZE)映射到)映射到CODE区域的区域的(0 x8000+SRAM_SIZE-1)这使得程序代码从)这使得程序代码从RAM执行。执行。0:SRAM映射到映射到CODE功能禁用功能禁用1:SRAM映射到映射到COD

22、E功能使能功能使能2:0XBANK000R/WXDATA区选择,控制物理闪存存储器的哪个代码区域映区选择,控制物理闪存存储器的哪个代码区域映射到射到XDATA区域(区域(0 x8000-0 xFFFF)。当设置为)。当设置为0,映射,映射到根底部。到根底部。有效设置取决于设备的闪存大小。写一个无效设置被忽略有效设置取决于设备的闪存大小。写一个无效设置被忽略,即不会更新,即不会更新XBANK2:032KB版本只能是版本只能是0(即总是映射到根底部)(即总是映射到根底部)64KB版本:版本:0-1128KB版本:版本:0-3256KB版本:版本:0-724- 24 -CC2530存储器及映射存储器

23、及映射 2.闪存区映射寄存器闪存区映射寄存器FMAP l闪存区映射寄存器闪存区映射寄存器FMAP控制物理控制物理32KB代码区映射到代码区映射到CODE存储空存储空间的程序地址区域间的程序地址区域0 x8000-0 xFFFF 位位名称名称复位复位R/W描述描述7:3-00000R0保留保留2:0MAP2:0001R/W闪存区域映射,控制物理闪存存储器的闪存区域映射,控制物理闪存存储器的哪个代码映射到哪个代码映射到XDATA区域(区域(0 x8000-0 xFFFF)。当设置为)。当设置为0,映射到根部区。,映射到根部区。有效设置取决于设备的闪存大小。写一有效设置取决于设备的闪存大小。写一个无

24、效设置被忽略,即不会更新个无效设置被忽略,即不会更新MAP2:032KB版本只能是版本只能是0(即总是映射到根底部(即总是映射到根底部)64KB版本:版本:0-1128KB版本:版本:0-3256KB版本:版本:0-7即最底部的即最底部的32KB区域区域(0 x00000 x7FFF)25 作为一个单片机或 嵌入式编程人员,毋容置疑需要熟悉系统中物理存储器所映射的存储空间,更需要清楚自己程序里的对象(变量、函数、参数)所分配的具体存储空间。 对象空间的缺省分配方式可以通过IAR中的如下界面设置:Code modelCode model负责函数的缺省分配方式;负责函数的缺省分配方式;Data m

25、odelData model负责静态负责静态局部变量和全局变量的缺省分配方式;局部变量和全局变量的缺省分配方式;Calling conventionCalling convention负责函数局部变量和参数的缺省分配方式;负责函数局部变量和参数的缺省分配方式;Location for Location for constants and strconstants and str负责常量和字符串的缺省分布方式负责常量和字符串的缺省分布方式26 Data model分配表 Code model分配表负责静态局部变量和全局变量的缺省分负责静态局部变量和全局变量的缺省分配方式;配方式;负责函数的缺省分

26、配方式;负责函数的缺省分配方式;27 Calling convention负责函数局部变量和参数的缺省分配方式;负责函数局部变量和参数的缺省分配方式;28n当我们要改变对象的缺省分配方式时,可以声明对象是通过添加一个memory type修饰,使对象具有一个新的存储类型。 不同的存储类型意味对应存储空间、寻址方式、指针类型不一样不同的存储类型意味对应存储空间、寻址方式、指针类型不一样29n例如:例如: (1)_xdata int x; 整型变量整型变量x将被分配在将被分配在XDATA存储空间存储空间; (2)_data int x; 整型变量整型变量x将被分配在将被分配在DATA存储空间存储空

27、间;n我们在实际编程过程中,如何选取对象的存储类型,应该尽量使用访我们在实际编程过程中,如何选取对象的存储类型,应该尽量使用访问效率高的问效率高的memory type;一般说来,寻址空间越大的;一般说来,寻址空间越大的memory type访问效率越低。访问效率越低。 30 CC2530共有21个可用作数字输入、输出管脚或者其他外围设备管脚,主要特性如下: (1)数字输入、输出;)数字输入、输出; (2)可以作为普通的输入、输出管脚或)可以作为普通的输入、输出管脚或其他外围设备管脚;其他外围设备管脚; (3)管脚内部具有上下拉电阻()管脚内部具有上下拉电阻(输入时输入时才有用才有用););

28、(4)可用作外部中断输入;)可用作外部中断输入; 其中,(3)特性少数管脚没有;GPIO口作为外围设备管脚的具体配置可参加CC2530的数据手册73页的Table 7-1;31n21个管脚被分成了个管脚被分成了3组组(1)P0组:组:8个管脚分别是个管脚分别是P0_0-P0_7;(2)P1组:组:8个管脚个管脚分别是分别是P1_0-P1_7;(3)P2组:组:5个管脚个管脚分别是分别是P2_0-P2_4nGPIO口用作普通口用作普通IO口的应用场合口的应用场合(1)外部设备所要求的通信速率较低低;)外部设备所要求的通信速率较低低;(2)通信协议简单,例如和发光二极管、按键、继电器等)通信协议简

29、单,例如和发光二极管、按键、继电器等简单设备的通信简单设备的通信32n在计算系系统中,一个再复杂的在计算系系统中,一个再复杂的IO接口电路面向接口电路面向CPU的的一面都是一组特殊功能寄存器一面都是一组特殊功能寄存器SFR;nCPU 通过读、写与通过读、写与IO接口相关联的一组接口相关联的一组SFR来间接和连来间接和连在在IO接口上的外部设备进行信息交换;接口上的外部设备进行信息交换;n普通的输入、输出管脚的编程,主要涉及如下几个普通的输入、输出管脚的编程,主要涉及如下几个sfr(8位)位): PxSEL:每位所对应的管脚时普通每位所对应的管脚时普通IO还是外围设备还是外围设备IO; Px:

30、每位的值和对应管脚的电平一致;每位的值和对应管脚的电平一致; PxDIR:每位对应管脚是输入还是输出;每位对应管脚是输入还是输出; PxINP:管脚拉电阻选择管脚拉电阻选择这里这里x可以为可以为0,1,233PxSel:PxSel: 7 6 5 4 3 2 1 7 6 5 4 3 2 1 0 0例:例:PxDIR:PxDIR: 7 6 5 4 3 2 1 07 6 5 4 3 2 1 0例:例:Px:Px: 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 034nCC2530 GPIO普通输入、输出的编程步骤: (1)设置PxSEL,选择管脚功能; (2)设置PxDIR,选择管脚方

31、向; (3)设置Px为管脚的初始状态; n特殊功能寄存器位于特殊功能寄存器位于8051 CPU存储空间的存储空间的SFR区域,区域,You cannot create a pointer to an object located in SFR memory!也就是说,尽管知道了P0SEL的地址为0 xf3,但我们却无法通过指针来访问它!nCC2530中的特殊功能寄存器以及其中的每一位在其头文件中的特殊功能寄存器以及其中的每一位在其头文件iocc2530.h中已经定义好了,我们直接拿来使用就行了如中已经定义好了,我们直接拿来使用就行了如 :P0SEL P0DIR P0 P0_0等。等。 n位运算要非常熟悉:位运算要非常熟悉:& | 35 本次课开始主要讲述了本次课开始主要讲述了CC2530CC2530的物理存储器如的物理存储器如何映射到存储空间,理解这种映射关系是编程时何映射到存储空间,理解这种映射关系是编程时正确、有效地使用存储器的前提;正确、有效地使用存储器的前提;CC2530C

温馨提示

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

评论

0/150

提交评论