H H D7 D6 D5 D4 D3 D2 D1 D0
从DD RAM读数据,读指令执行后Y地址计数器自动加1。从DD RAM读数据前要先执行“设置页地址”及“设置列地址”命令。
3。4 CC2530 Flash 存储器
CC2530单片机的可编程非易失性存储器,可以映射到代码和外部数据存储器空间。除了保持程序代码和常量以外,非易失性存储器允许应用程序保存必要的数据,以保证这些数据在设备重启后可用。通过Flash 控制器,可以保存外部数据,当系统再次上电后就可以直接访问数据。
表3-2:CC2530存储空间
CC2530 Flash控制器负责写入和擦除CC2530 Flash存储器,嵌入式Flash存储器包含多达100多个页面,每页有2048个字节。具有以下特性:
(1)32位字可编程,按页面擦除;
(2)具有写保护和代码安全的锁定位;
(3)Flash页面擦除时间约为20ms;
(4)整个芯片Flash擦除时间为200ms;
(5)Flash写入时间(4个字节)约为20微秒。
CC2530使用Flash控制器来进行Flash写操作,可以通过使用DMA传输或者CPU直接访问两种方法来实现。
(1)DMA写Flash操作
使用DMA(直接内存存取)进行Flash写操作,将需要写入的数据应放入XDATA空间,其首地址作为DMA的源地址,目的地址固定为Flash写数据寄存器FWDATA(0x6273)。设置DMA写Flash触发事件,当Flash控制寄存器FCTL。WRITE置为1时,触发DMA传输。
使用DMA 写Flash操作时必要注意下述几点:来-自~优+尔=论.文,网www.youerw.com +QQ752018766-
①Flash为32位字可编程,传输的长度为4的整数倍,否则要进行位补充。
②DMA选择按字节方式传输。
③传输模式为单次传输。
④在DMA传输期间,其他中断程序处理时间超过一次写Flash时间(20微秒),Flash
写操作因为超时而停止,所以DMA传输优先级设置为最高。
(2)CPU直接写Flash操作
CPU直接写Flash的操作指令要在SRAM空间运行,具体步骤如下:
①FADDRH:FADDRL为传输数据的首地址;
②设置FCTL。WRITE为1,开始写Flash操作;
③在20微秒时间内写FWDATA四次,直到FCTL。FULL变低
④等待直到FCTL。FULL变为低电平。
在本项目设计中使用DMA写Flash方式来存储温度数据,DMA传送方式不需要经过CPU的累加器,减少了中间环节,并且内存地址的修改和传送完毕的结束报告都由硬件完成,很大程度上提高了数据传送速率。该方式用到了控制寄存器FCTL(0x6270),