基于DSP和X5165芯片的非易失性數(shù)據(jù)存儲(chǔ)設(shè)計(jì)
3 X5165的工作原理
X5165包含了一個(gè)8位的指令寄存器。SI引腳上輸入的數(shù)據(jù)在SCK上升沿被鎖存,片內(nèi)的數(shù)據(jù)在SCK下降沿輸出到SO引腳上。所有的指令、地址和數(shù)據(jù)都是先傳輸最高位,指令、數(shù)據(jù)為8位,地址為16位。時(shí)鐘SCK允許操作過(guò)程中停止并在其后恢復(fù)。根據(jù)圖1所示,應(yīng)該選用“無(wú)延時(shí)的上升沿”這一時(shí)鐘方式,且數(shù)據(jù)字長(zhǎng)為8位。X5165的指令集如表1所示。
X5165包括一個(gè)8位狀態(tài)寄存器,格式如表2所示。
表2中,WIP位是指出非易失性寫操作是否忙,只讀位,為1,寫操作正在進(jìn)行,為0,無(wú)寫操作。WEL是寫使能鎖存狀態(tài)位,它可以用WREN指令置位,用WRDI指令復(fù)位。WPEN與引腳組合,實(shí)現(xiàn)保護(hù)存儲(chǔ)陣列和狀態(tài)寄存器位WPEN、BL1、BL0、WD1、WD0,是非易失性位,可用WRSR指令對(duì)WPEN位編程。其組合如表3所示。
BL1、BL0是存儲(chǔ)器塊保護(hù)位,為非易失性位。其組合可通過(guò)WRSR指令編程,可以保護(hù)存儲(chǔ)器陣列范圍,如表4所示。
選定保護(hù)的塊,用戶只能讀不能寫。
WD1、WD0是看門狗定時(shí)器位,為非易失性位,可用WRSR指令進(jìn)行編程。
在讀狀態(tài)寄存器時(shí),先將片選信號(hào)拉到低電平,然后通過(guò)SPI接口發(fā)送數(shù)據(jù),先發(fā)送RDSR指令,接著提供8個(gè)SCK脈沖,就可以將寄存器的內(nèi)容讀回到TMS320LF2407A中。
在寫狀態(tài)寄存器時(shí),參考表3,可知,必須先用WREN指令將WEL位置位。由于本文提供的電路能控制引腳,故,直接將該引腳電平拉為高電平,就可以對(duì)狀態(tài)寄存器進(jìn)行寫操作。在寫狀態(tài)寄存器時(shí),先將片選信號(hào)拉到低電平,然后發(fā)送數(shù)據(jù),先發(fā)送WRSR指令,然后發(fā)送8位待寫入的內(nèi)容。注意,狀態(tài)寄存器的只讀位不受影響。
在讀存儲(chǔ)陣列時(shí),先將片選信號(hào)拉到低電平,然后通過(guò)SPI接口發(fā)送數(shù)據(jù),先發(fā)送READ指令,接著發(fā)送16位地址,選定的存儲(chǔ)單元中的數(shù)據(jù)在SCK下降沿讀回TMS320LF2407A中。每個(gè)數(shù)據(jù)被送出后,芯片內(nèi)的地址計(jì)數(shù)器自動(dòng)加1,繼續(xù)提供SCK脈沖,可讀出下一個(gè)存儲(chǔ)單元的數(shù)據(jù)。當(dāng)?shù)刂酚?jì)數(shù)器達(dá)到$07FFH時(shí),自動(dòng)翻轉(zhuǎn)到$0000H單元。讀數(shù)據(jù)完成后,將片選信號(hào)拉到高電平。
評(píng)論