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