新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 带RTC的I2C总线铁电存储器FM31256的设计

带RTC的I2C总线铁电存储器FM31256的设计

作者:时间:2018-08-28来源:网络收藏

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

P5OUT |=RTC_SCL;// SCL=1

delay(IIC_DELAY);

P5OUT =~ RTC_SCL;// SCL=0}

void _Send_noAck( void ) {/*不应答程序*/

P5OUT |=RTC_SCL;// SCL=1

delay(IIC_DELAY);

P5OUT =~ RTC_SCL;// SCL=0}

说明:SCL线是高电平时,SDA线从高电平向低电平切换,表示起始条件;当SCL是高电平时,SDA线由低电平向高电平切换,表示停止条件。相关的确认时钟脉冲由主机产生,在确认的时钟脉冲器件发送方释放SDA(高电平),在此期间接收方须将SDA拉低。

void _transfByte_to_IIC( unsigned char tran_byte ) {/* CPU字节发送程序*/

unsigned char i , current_bit =0x80;

P5OUT =~ RTC_SCL;

delay(IIC_DELAY);

for( i=0; i =7; i++ ) {

if ( tran_byte current_bit )

P6OUT |= RTC_SDA;

else

P6OUT =~ RTC_SDA;

current_bit >>=1;

delay(IIC_DELAY);

P5OUT |=RTC_SCL;//SCL=1

delay(IIC_DELAY);

P5OUT =~ RTC_SCL;//SCL=0

delay(IIC_DELAY);

}

}

unsigned char FM31256_receByte_from_IIC( void ){/*CPU字节接收程序*/

unsigned char mvalue, i, rece_data =0;

P6DIR =~ RTC_SDA;//设置为输入方向

P5OUT =~ RTC_SCL; //SCL=0

delay(IIC_DELAY);

for(i=0;i8;i++) {

rece_data = rece_data1;

P5OUT |=RTC_SCL;//SCL=1

delay(IIC_DELAY);

mvalue = P6IN RTC_SDA;//当前位的值

if( mvalue )//接收位为高

rece_data = rece_data | 0x01;

else//接收位为低

rece_data = rece_data 0xFE;

P5OUT =~ RTC_SCL;//SCL=0

delay(IIC_DELAY);

}

P6DIR |=RTC_SDA;//P6.6输出

return(rece_data);//返回收到的字节

}

说明:发送到SDA线上的每个字节须为8位。tran_byte为CPU要发送的字节,CPU读入的数据存储在rece_data中。对FM31256存储器可以直接对当前地址进行“读”操作,也可以连续“读/写”多个字节而无须逐一指定地址。依据上述一般步骤,对存储器的访问操作可归纳为3种基本操作: ① 设置当前操作目标地址; ② 写入数据; ③ 读出数据。

访问存储器操作有多种,如内存“写”、当前地址或顺序连续“读”和随机地址“读”操作。在控制程序中,需要向FM31256内存中写入并读出给定参数、故障信息等数据。内存读/写的方法如下:

内存写操作,首先由CPU发送从机地址,然后是内存16位地址,主机通过设置从机地址字节的最低位为0声明一个写操作;接收应答信号后,CPU向FM31256发送数据的每个字节,之后器件又产生应答信号,任何数量的连续字节可以被写入,以停止信号结束传输。有两种类型的读操作:当前地址读操作和随机地址读操作。读操作同样先由CPU发送从机地址,主机通过设置从机地址字节的最低位为1声明一个读操作。当要进行随机读操作时,还要在读取数据之前,发送16位内存地址之后读取任意个字节,每个字节后应跟随应答信号,以停止信号结束传输。

在电磁铸轧电源控制装置的主控程序中,还将调用时钟刷新函数Flash_time()、时钟写入函数Write_time()、寄存器写入函数Register_write()和寄存器读出函数Register_read()。

启动RTC和WatchDog的流程图如图4所示。

图4 启动RTC和WatchDog的流程图

结语

将铁电存储器用于电磁铸轧电源控制装置中,与MSP430系列单片机相结合,充分发挥了其强大的功能;同时取代了传统的EEPROM和实时时钟芯片,既降低了硬件成本,又简化了软件设计。


上一页 1 2 3 下一页

关键词: FM31256 MSP430单片机

评论


相关推荐

技术专区

关闭