版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 大课(1)单片机(2)8051单片机(3)8051 CPU核的内部结构(4)8051 CPU核的存储空间分布(重点、难点) 小课(1)实验硬件平台的熟悉(2)IAR开发环境的熟悉第1页/共37页本周教学主要内容 CC2530和8051的关系; CC2530结构; 物理存储器的映射(难点) CC2530 GPIO口编程(重点)第2页/共37页教学目标 理解cc2530 cc2530 物理存储器的映射; 掌握CC2530 GPIOCC2530 GPIO口控制原理和编程方法。第3页/共37页 CC2530 8051 CPU 核 ROM(32K/64K/128K/256K) RAM(8K) IO接口
2、电路 无线射频电路 51无线单片机+ +51单片机的相关知识上次课我们已经讲过,单片机和无线通信又如何中走在一起的呢?第4页/共37页 80年代,当单片机技术已经广泛普及,8051如日中天的时候,手机还是价值万元的大砖头,语音通讯也只有8K/S的通讯速度,无线通讯技术还仅是美国摩托罗拉等巨头公司实验室里的前沿。 90年代,TI投入巨资,开发短距离通讯芯片,10年努力,却以失败告终,据统计,当时在美国进行无线产品的项目开发,有85%以上的开发项目会失败。复杂的高频,昂贵的设备,完全被封锁的技术,无线似乎是在“天上”遥不可及。第5页/共37页2003年挪威两家创新公司,CHIPCON (2006年
3、被TI公司2亿美元收购)和Nordic 公司,采用CMOS高频技术将无线收发器完全集成到芯片内部,外部只有很少的元件, 电路板设计非常简化,并将8051单片机和高频电路进行集成,就诞生了”无线单片机”。射频SoC 单片机(简称无线单片机)的出现,为不具备无线通讯经验和高频电路经验的电子工程师,提供了 非常简单的解决方案。1)专门的设计,将全部的高频部分电路集成到了电路内部,从无线单片机到天线之间,只有简单的滤波电路,系统设计者完成不必进行任何高频电路设计; 2)采用特殊设计,使8051 的微处理器和高频线路间,实现完美的配合,数字电路对高频通讯的影响减低到最小;3)设置了高频通讯的若干寄存器,
4、将高频通讯的处理,简化为对寄存器的简单操作处理,即你只需要对这 些寄存器进行操作,就可以轻松完成无线通讯功能。代表作有NRF2401,CC1000,NRF905,CC1010,CC2430,CC2530. 4)高度集成SOC,简化了高频设计,使开发无线应用设计转移到以软件代码为中心; 5)大量低价格,直观显示为特点的无线开发、测试工具的诞生,使无线应用开发成本大大降低; 在家建立自己的无线开发平台不是梦想; 6)无线SOC得到了非常广泛应用,特别是无线鼠标,键盘和游戏摇杆等方面。 第6页/共37页第7页/共37页- 8 -l 高性能、低功耗的8051微控制器内核。l 适应2.4GHz IEEE
5、802.15.4的RF收发器。l 极高的接收灵敏度和抗干扰性。l 32KB/64KB/128KB/256KB闪存。l 8KB SRAM,具备各种供电方式下的数据保持能力。l 强大的DMA功能。l 只需极少的外接元件,即可形成一个简单应用系统。l 只需一个晶振,即可满足网状型网络系统的需要。CC2530芯片特征第8页/共37页- 9 -l 低功耗,主动模式RX(CPU空闲):24mA;主动模式TX在1dB(CPU空闲):29mA;供电模式1(4us唤醒):0.2mA;供电模式2(睡眠定时器运行):1uA;供电模式3(外部中断):0.4uA;宽电源电压范围(2V-3.6V)。l 硬件支持CSMA/
6、CA。l 支持数字化的接收信号强度指示器/链路质量指示(RSSI/LQI)。l 具有8路输入8位14位ADC。l 高级加密标准AES协处理器。l 具有看门狗和2个支持多种串行通信协议的USART。l 1个通用的16位定时器和2个8位定时器,1个IEEE802.15.4 MAC定时器。l 21个通用I/O引脚。CC2530芯片特征第9页/共37页- 10 -二、CC2530存储器及映射 CC2530物理存储器CC2530存储空间映射存储器仲裁第10页/共37页CC2530存储器及映射 物理存储器:实际存在的具体存储介质,如下:SRAM未上电时,SRAM的内容未定义,在供电的情况下,SRAM的内容
7、被保留FLASH片上闪存存储器,主要为了保存程序和常量数据。FLASH由一组2KB的页面组成 信息页面信息页面是一个2KB的只读区域,它的主要作用是存储全球唯一的IEEE地址 SFR控制8051CPU内核或外设的一些功能 XREG 是SFR的扩展寄存器,比如射频寄存器,访问速度比SFR要慢 第11页/共37页- 12 -CC2530存储器及映射 存储空间:虚拟的空间,指对存储器编码的范围CODE程序存储器,只读存储空间,用于存放程序代码和一些常量,有16根地址总线,寻址范围为0 x00000 xFFFF共64KB DATA数据存储器,可读/写的数据存储空间,用于存放程序运行过程中的数据,直接或
8、间接被1个指令周期访问。有8根地址总线,因此寻址空间为0 x000 xFF,共256个字节 ,低128B可直接或间接寻址,高128B只能间接寻址XDATA外部数据存储器,可读/写的数据存储空间,主要用于DMA寻址,需45个指令周期访问。有16根地址总线,寻址空间是0 x00000 xFFFF共64KB SFR特殊功能寄存器,可读/写的寄存器存储空间,共有128字节,直接被1个指令周期访问。对于地址是被8整除的SFR寄存器,每一位还可以单独寻址 第12页/共37页CC2530存储器及映射 物理存储器与存储空间的关系存储空间只是4种不同的寻址方式概念,并不代表物理具体上的存储设备,只是存储空间的概
9、念;而FLASH、SRAM、EEPROM等是具体的物理存储设备。他们两者之间的关系是通过映射来联系起来的。例如FLASH或者EEPROM都可以作为物理存储媒介映射到CODE上。 第13页/共37页- 14 -CC2530存储器及映射 映射映射就是将CC2530的物理存储器映射到其存储空间上,有两个作用: 方便方便DMA访问访问存储设备存储设备 可在可在CODE区执行区执行FLASH或或SRAM中的中的代码代码 第14页/共37页CC2530存储器及映射 映射的两种主要形式:1.CODE存储器映射存储器映射 2.XDATA存储器映射存储器映射第15页/共37页CC2530存储器及映射 1.COD
10、E存储器映射l CODE存储器映射具有两个功能:存储器映射具有两个功能:l 一是将一是将FLASH映射至映射至CODE存储空间;存储空间;l 二是执行来自二是执行来自SRAM的代码(将的代码(将SRAM映射至映射至CODE存储空间)存储空间) 第16页/共37页- 17 -CC2530存储器及映射 FLASH映射CODE的寻址空间为64KB,而对于CC2530F256设备来说FLASH的存储空间为256KB首先要解决存储空间不对称的问题首先要解决存储空间不对称的问题 CC2530将将FLASH存储器分为几个存储器分为几个bank,每个每个bank的大小是的大小是32KB。对于对于CC2530F
11、256设备来说,它有设备来说,它有8个个bank,分别为,分别为bank0bank7。通过操作寄存器通过操作寄存器FMAP.MAP2:0来控制来控制将哪个编号的将哪个编号的bank映射到映射到CODE区域区域 只针对CC2530F32这款芯片,因为这款芯片的的FLASH只有32KB虽然这里有bank0区域,但是映射的时候bank0总映射的根部的低32KB区域第17页/共37页- 18 -CC2530存储器及映射 SRAM映射为了便于在SRAM中执行代码,可以将SRAM映射到CODE存储空间的0 x8000(0 x8000+SRAM_SIZE-1)的区域 虽然程序从虽然程序从SRAM中运行代码,
12、但中运行代码,但是并不代表程序是从是并不代表程序是从SRAM中启动中启动的。程序仍旧是从的。程序仍旧是从CODE的普通区的普通区域域0 x0000开始执行,当程序执行到开始执行,当程序执行到0 x8000时,将执行时,将执行SRAM中的代码中的代码 第18页/共37页CC2530存储器及映射 2.XDATA 映射为了方便DMA控制器能访问所有的物理存储空间,CC2530把所有的物理存储器以及寄存器都映射到XDATA上,包括CODE和SFR部分存储空间 。第19页/共37页- 20 -CC2530存储器及映射 XDATA包含了所有物理存储器的映射,包括8KB的SRAM存储器、XREG、SFR、信
13、息页面和FLASH存储器 l SRAM映射的地址范围是映射的地址范围是0 x0000到到SRAM_SIZE-1。其中。其中SRAM较高的较高的256字字节映射到节映射到DATA存储空间存储空间8位地址区域,即地址范围从位地址区域,即地址范围从SRAM_SIZE-256到到SRAM_SIZE-1 l XREG区域映射到区域映射到1KB地址区域地址区域0 x6000-0 x63FF l SFR寄存器映射到地址区域寄存器映射到地址区域0 x7080-0 x70FF。128个条目的硬件寄存器区域是个条目的硬件寄存器区域是通过这一存储空间访问的。闪存信息页面通过这一存储空间访问的。闪存信息页面2KB映射
14、到地址区域映射到地址区域0 x7800-0 x7FFF。这是一个只读区域,包含有关设备的各种信息。这是一个只读区域,包含有关设备的各种信息 l 信息页面映射到地址区域信息页面映射到地址区域0 x78000 x7FFF l XBANK为为CODE存储空间的存储空间的bank07区域的映射,其地址仍然是区域的映射,其地址仍然是0 x80000 xFFFF。可以配置存储器控制寄存器。可以配置存储器控制寄存器MEMCTR.XBANK2:0(详见(详见存储器仲裁)决定选择映射存储器仲裁)决定选择映射bank0bank7之间的哪个区域,比如之间的哪个区域,比如MEMCTR.XBANK=001,则映射,则映
15、射bank1区域区域 第20页/共37页- 21 -CC2530存储器及映射 存储器仲裁 l 主要功能是解决主要功能是解决CPU与与DMA访问所有物理存储器(除了访问所有物理存储器(除了CPU内部寄内部寄存器)之间的冲突问题。当存器)之间的冲突问题。当CPU和和DMA之间发生冲突时,之间发生冲突时,“存储器存储器仲裁仲裁”停止停止CPU或或DMA的总线的总线 l 存储器仲裁主要有两个寄存器:存储器仲裁控制寄存器存储器仲裁主要有两个寄存器:存储器仲裁控制寄存器MEMCTR和和闪存区映射寄存器闪存区映射寄存器FMAP,这两个寄存器用于控制存储器子系统的各,这两个寄存器用于控制存储器子系统的各个方面
16、个方面 第21页/共37页- 22 -CC2530存储器及映射 1.存储器仲裁控制寄存器MEMCTR l MEMCTR.XMAP必须设置以使得程序从必须设置以使得程序从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-
17、1)这使得程序代码从)这使得程序代码从RAM执行。执行。0:SRAM映射到映射到CODE功能禁用功能禁用1:SRAM映射到映射到CODE功能使能功能使能2:0XBANK000R/WXDATA区选择,控制物理闪存存储器的哪个代码区域映区选择,控制物理闪存存储器的哪个代码区域映射到射到XDATA区域(区域(0 x8000-0 xFFFF)。当设置为)。当设置为0,映射,映射到根底部。到根底部。有效设置取决于设备的闪存大小。写一个无效设置被忽略有效设置取决于设备的闪存大小。写一个无效设置被忽略,即不会更新,即不会更新XBANK2:032KB版本只能是版本只能是0(即总是映射到根底部)(即总是映射到根
18、底部)64KB版本:版本:0-1128KB版本:版本:0-3256KB版本:版本:0-7第22页/共37页- 23 -CC2530存储器及映射 2.闪存区映射寄存器FMAP l 闪存区映射寄存器闪存区映射寄存器FMAP控制物理控制物理32KB代码区映射到代码区映射到CODE存储空存储空间的程序地址区域间的程序地址区域0 x8000-0 xFFFF 位位名称名称复位复位R/W描述描述7:3-00000R0保留保留2:0MAP2:0001R/W闪存区域映射,控制物理闪存存储器的闪存区域映射,控制物理闪存存储器的哪个代码映射到哪个代码映射到XDATA区域(区域(0 x8000-0 xFFFF)。当设
19、置为)。当设置为0,映射到根部区。,映射到根部区。有效设置取决于设备的闪存大小。写一有效设置取决于设备的闪存大小。写一个无效设置被忽略,即不会更新个无效设置被忽略,即不会更新MAP2:032KB版本只能是版本只能是0(即总是映射到根底部(即总是映射到根底部)64KB版本:版本:0-1128KB版本:版本:0-3256KB版本:版本:0-7即最底部的32KB区域(0 x00000 x7FFF)第23页/共37页 作为一个单片机或 嵌入式编程人员,毋容置疑需要熟悉系统中物理存储器所映射的存储空间,更需要清楚自己程序里的对象(变量、函数、参数)所分配的具体存储空间。 对象空间的缺省分配方式可以通过I
20、AR中的如下界面设置:Code modelCode model负责函数的缺省分配方式;负责函数的缺省分配方式;Data modelData model负责静态负责静态局部变量和全局变量的缺省分配方式;局部变量和全局变量的缺省分配方式;Calling conventionCalling convention负责函数局部变量和参数的缺省分配方式;负责函数局部变量和参数的缺省分配方式;Location for Location for constants and strconstants and str负责常量和字符串的缺省分布方式负责常量和字符串的缺省分布方式第24页/共37页 Data mode
21、l分配表 Code model分配表负责静态局部变量和全局变量的缺省分负责静态局部变量和全局变量的缺省分配方式;配方式;负责函数的缺省分配方式;负责函数的缺省分配方式;第25页/共37页 Calling convention负责函数局部变量和参数的缺省分配方式;负责函数局部变量和参数的缺省分配方式;第26页/共37页n当我们要改变对象的缺省分配方式时,可以声明对象是通过添加一个memory type修饰,使对象具有一个新的存储类型。 不同的存储类型意味对应存储空间、寻址方式、指针类型不一样不同的存储类型意味对应存储空间、寻址方式、指针类型不一样第27页/共37页n例如: (1)_xdata i
22、nt x; 整型变量x将被分配在XDATA存储空间; (2)_data int x; 整型变量x将被分配在DATA存储空间;n我们在实际编程过程中,如何选取对象的存储类型,应该尽量使用访问效率高的memory type;一般说来,寻址空间越大的memory type访问效率越低。 第28页/共37页 CC2530共有21个可用作数字输入、输出管脚或者其他外围设备管脚,主要特性如下: (1)数字输入、输出; (2)可以作为普通的输入、输出管脚或其他外围设备管脚; (3)管脚内部具有上下拉电阻(输入时才有用); (4)可用作外部中断输入; 其中,(3)特性少数管脚没有;GPIO口作为外围设备管脚的
23、具体配置可参加CC2530的数据手册73页的Table 7-1;第29页/共37页n21个管脚被分成了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)通信协议简单,例如和发光二极管、按键、继电器等简单设备的通信第30页/共37页n在计算系系统中,一个再复杂的IO接口电路面向CPU的一面都是一组特殊功能寄存器SFR;nCPU 通过读、写与IO接口相关联的一组SFR来间接和连在IO接口上的外部设备进行信息交换;n普通的输入
24、、输出管脚的编程,主要涉及如下几个sfr(8位): PxSEL:每位所对应的管脚时普通IO还是外围设备IO; Px: 每位的值和对应管脚的电平一致; PxDIR:每位对应管脚是输入还是输出; PxINP:管脚拉电阻选择这里x可以为0,1,2第31页/共37页PxSel: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 0第32页/共37页nCC2530 GPIO普通输入、输出的编程步骤: (1)
25、设置PxSEL,选择管脚功能; (2)设置PxDIR,选择管脚方向; (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位运算要非常熟悉:& | 第33页/共37页 本次课开始主要讲述了CC2530的物理存储器如何映射到存储空间,理解这种映射关系是编程时正确、有效地使用存储器的前提;CC2530最简单的片上资源GPIO口的控制原理和编程方法,GPIO口的正确使用将为后面复杂的片上IO接口打下坚实的基础。第34页/共37页查阅资料理解查阅资料理解IOCC2530.hIOCC2530.h中关于定义特殊功能寄存器、特殊功能寄存器位的宏:中关于定义特殊功能寄存器、特殊功能寄存器位的宏:#define SFR(name,addr) _sfr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度保险合同抵押物变更条件带眉脚
- 2024年别墅销售协议标准格式样本版
- 2024年家具出口进口合作协议
- 2024年定制场地商业租赁协议格式版B版
- 2024届检测分析技术服务协议书版B版
- 2024年工程居间合作合同范本版B版
- 2024年度劳务协议附加协议样本版B版
- 2024年委托股权托管服务明细合同版
- 2024年度停车场车位寄存服务合同
- 2024年度供应商产品供应合作协议模板版B版
- 2024年11月时事政治试题及答案
- 2024广东汕头市龙湖区龙腾街道招聘城管执法工作专项临聘人员3人笔试核心备考题库及答案解析
- 2024年度机器设备购买及售后服务合同3篇
- 安徽省A10联盟2024-2025学年高一上学期期中考试物理试题
- 广东省顺德区2024-2025学年高三上学期第一次教学质量检测历史试题 含解析
- 数据安全与网络管理制度
- 第二单元 《-参考活动3-应对来自同伴的压力》说课稿 -2024-2025学年初中综合实践活动苏少版八年级上册
- 猪的常见疾病治疗方法
- 攻防演练防守方汇报
- 智能制造数字化孪生模型构建合同
- 2024年展望:未来汽车发展趋势
评论
0/150
提交评论