Monza X-2K芯片手册学习笔记_20170117 下载本文

Monza X-2K Dura 芯片手册阅读记录

//淘宝网芯片好用的程序

#define Device_WriteADD 0b11010100 //设备地址 0xD4 写 #define Device_ReadADD 0b11010101 //设备地址 0xD5 读 //紫钺科技好用 的程序

//#define Device_WriteADD 0b11011100 //设备地址 0xDC 写 //#define Device_ReadADD 0b11011101 //设备地址 0xDE 读

芯片IIC从机地址(只有从机功能!!!):110111M(M位根据内存地址MSB确定) 读取速率:0--400Kbits/s(0--50KB/s)

芯片从机地址与内存地址:IIC器件的内存地址,由9位组成(在读操作中A8位被忽略不读),用来指定主机所寻找的内存区域,在一次写操作中只能改写一次,主机每次写操作时都要写入。内存地址的最高有效位MSB代替芯片器件地址的最低有效位(对255 byte字节前的内存数据进行访问M位为0,之后的位为1!!!),即从地址的M位。在读操作时只需写入设备地址1 byte数据,其他位将被忽略。(一次写过程)主机只能写一次内存地址,后面的操作沿用之前的。

写入操作:当执行单字写入操作时忽略内存地址最低有效位(A0),当执行双字写入操作时忽略内存地址的低两位(A1,A0)。若写操作有效则在接收到IIC主机发送的停止位后将进行NVM(非易失性存储器)写入操作,期间不受理IIC信号操作。两种写入操作的时间一样。

无效NVM写入操作:如果主机发送1 byte,3 bytes 或超过两个字的数据时将不会执行写操作(之前写入的1或3字节数据也会被撤销)。芯片会检查内存地址是否一致,如果不一致也不会执行写操作(但即使是错误的地址芯片也会更新它的内存地址)。

读取操作:读取操作开始于一个存储地址,并依次送出给地址其他位。当R/W=1时读操作忽略内存地址最高有效位MSB。

如果读取的内存超过最后的内存主机还要继续读取数据,芯片将全部发送1。要读取新的内存数据主机需要发送新的内存地址。并且主机可以在读取每一个完整字节后终止此地址数据读取,转而读取其他内存地址单元的数据。

芯片Gen 2 协议与IIC协议的差别:IIC协议中所有操作都是以字节为单位,而Gen 2协议中是以bit 或16bit为单位。当通过IIC进行读写操作时芯片会忽略Gen2 Lock和Kill permissions。IIC 通过改变第8,9,20,21,22,或23字节来控制芯片工作方式。

第8个字节确定Gen2协议接口对芯片的访问方式(在IIC方式下改写)。kill password , access password , EPC memory bank , USER memory bank ,第一位对应pwd-write位或pwd-read/write

位,第0位对应permalock位 四种位字段功能控制方式见下表:

第9个字节的高5位分别控制五个user-memory blocks,确定数据存储区。1至4位每一位与当前permalock位进行或运算,Block0可能对IIC接口不锁定。两种通信方式都不能访问没有锁定的block内存(block1至block4)。IIC通过控制第21字节的bit5 BPL_EN位来决定BlockPermalock(块锁)是否对Gen2有效。

第9字节的低2位CONFIG[1:0]包含重要信息,用户必须防止它被改写。在IIC模式下确定发送字数时需要访问它。

SENT_WORD = (OLD_WORD & 0x0003) | (NEW_WORD & 0xFFFC)

第21字节的QT_SR和QT_MEN位控制QT功能,它们对IIC操作没有影响,只能改变Gen2的行为。它们两位都是独立的,QT_SR设置时会打开芯片短距离模式。在这种模式下OPEN和SECURED状态都将对读写器关闭。但是如果芯片天线有小于-9dBi的功率,通过RF端口将禁止OPEN或SECURED访问。QT_MEN位控制芯片内存怎么显示给Gen2接口,当此位被设置时芯片处于公开模式(用户内存,TID都是隐藏的,QT_EPC在EPC区),当清零是芯片处于私密模式下,所有内存都是暴露的。第21 byte的DCI_EN_RF_EN 位和 RF_DIS[1:0] 位将覆盖在RF接近控制区。

第22 byte的长度区间EPC_LENTH[4…0]将映射Gen2的确认命令,GEN的方式EPC区第7位UMI位于40 byte的低0~5位有关,使用读写器读写时会自动与这几位进行或运算。(为了操作方便使用时40 byte尽量不用,全置零),剩余几位没特殊功能,暂时不管。

射频访问控制:设置第21 byte的RF1_DIS或RF2_DIS位禁止对应的RF两个通道,RF无权限访问这两位。这两位只能通过IIC改写,默认为0,允许RF1,RF2访问。

在当前DCI电压下设置DCI_RF_EN位为0禁止所有RF访问。它的优先级高于RF1_DIS或RF2_DIS位,