基于MSP430單片機(jī)的虛擬I2C總線軟件包VIIC_M1.0
一、VIIC_M1.0軟件包的組成
根據(jù)歸一化設(shè)計(jì)的要求,主方式下虛擬I2CC總線由下列10個(gè)子程序組成:
1、時(shí)序模擬子程序4個(gè)
I2C_sta,I2C _stop,I2C _mack ,I2C _mnack
2、操作模擬子程序3個(gè)
I2C_ackn,I2C _wr_byte,I2C _rd_byte
3、數(shù)據(jù)讀寫子程序3個(gè)
I2C_wr_nbyte,I2C _rd_nbyte,I2C_wr_addr
二、應(yīng)用對(duì)象
1、MSP430單片機(jī)
MSP430單片機(jī)為低功耗的16位單片機(jī),有MSP430X11、MSP430X112、MSP430X1101、MSP430X13X、MSP430X14X、MSP430X31X/32X/33X、MSP430X41X等型號(hào),每種芯片都有豐富的I/O端口。本設(shè)計(jì)采用芯片為MSP430E325
(1)虛擬I2C總線所使用的I/O端口
>數(shù)據(jù)線(SDA)使用的是通用端口P0中的P0.7,該端口為輸入/輸出雙向口,有輸入寄存器(P0IN)、輸出寄存器(P0OUT)及方向寄存器(P0DIR)等寄存器,通過字節(jié)指令訪問。>>時(shí)鐘線(SCL)使用的是通用定時(shí)器/端口TP中的TP.1,該端口為輸出口,有定時(shí)器/端口控制寄存器(TPCTL)、定時(shí)器/端口數(shù)據(jù)寄存器(TPD)及定時(shí)器/端口允許寄存器(TPE)等,通過字節(jié)指令訪問。
(2)運(yùn)行時(shí)所使用的時(shí)鐘頻率
MSP430E325運(yùn)行時(shí)用兩個(gè)時(shí)鐘:輔助時(shí)鐘(ACLK)和主時(shí)鐘(MCLK)。當(dāng)采用32768KHz的晶體振蕩器,并且系統(tǒng)時(shí)鐘控制寄存器采用缺省值時(shí),主時(shí)鐘的頻率為1.049MHz。若主時(shí)鐘的頻率不是1.049MHz,請(qǐng)適當(dāng)調(diào)整程序中nop的個(gè)數(shù)。
2、EEPROM器件
(1)EEPROM器件
本例使用的EEPROM器件為24LC65(MICROCHIP)。24LC65容量為8KB,其中的字節(jié)地址為13位,分兩個(gè)字節(jié):
SUBADDR_H為高5位地址 SUBADDR_L為低8位地址;24LC65的封裝引腳如圖1所示:
(2)24LC65的數(shù)據(jù)格式
A、當(dāng)前地址寫:S,SLA+W,A,DATA1,A,DTA2,A...,DATAn,A,P
B、當(dāng)前地址讀:S,SLA+R,A,DATA1,A,DTA2,A...,DATAn,/A,P
C、指定地址寫:S,SLA+W,A,subaddr_H,A,subaddr_L,A,DATA1,A,DATA2,A,...,DATAn,A,P
D、指定地址讀:S,SLA+R,A,subaddr_H,A,subaddr_L,A,DATA1,A,DATA2,A,...,DATAn,/A,P
其中:SLA+W,SLA+R,subaddr_H,subaddr_L為主控器件發(fā)出的數(shù)據(jù)
S,A,/A,P為主控器件發(fā)出的信息
DATA1,DATA2,...,DATAn為被控器件發(fā)給主控器件的數(shù)據(jù)
A 為被控器件發(fā)給主控器件的信息
(3)24LC65與MSP430-325的連接如圖2所示
評(píng)論