用單片機實現(xiàn)可編程邏輯器件的配置
CLR EA
WJRESTART:CLR NCONFIG
SETB NCONFIG ;上升沿復位PLD
WAIT:JNB NSTATUS,WAIT ;NSTATUS為高,可進行配置
WJPEIZHI:MOV P1,COUNTER3
MOV DPH,COUNTER2
MOV DPL,COUNTER1 ;配置數(shù)據(jù)大,需3個單元作地址記數(shù)
MOVX A,@DPTA
MOV SBUF,A ;串行移位
NOP
NOP ;采用填充2個空指令,正好使一個字節(jié)發(fā)送完成,可發(fā)送下一個字節(jié)
INC COUNTER1 ;地址加
MOV A,COUNTER1
JB CONFDONE,WJEND1
CJNE A,#0,WJPEIZHI
INC COUNTER2
NOV A,COUNTER2
CJNE A,#0,WJPEIZHI
INC COUNTER3
LJMP WJPEIZHI
WJEND1:MOV R0,#60
WJEND:WOV A,#55H
……
MOV SBUF,A ;由此產(chǎn)生40個DCLK時鐘
DJNZ R0,WJEND
WERE:LJMP HERE ;配置完成,進入用戶工作模式
使用OTP(One Time Programming)器件配置CPLD具有一定的冒險性,一次簡單的代碼更換就可能意味著更換OTP器件,并重新開始所有的程序。被動串行微處理器(Passive Serial With Processor)配置方式以EEPROM為基礎,允許對這些存儲器進行多次編程,所有其它芯片都無需從已裝配的印制電路板上拆卸下來。高速讀寫周期的FLASH存儲器能確保1萬次編程,而且能對任何以SRAM為基礎的PLD下載。該方式除了在加電期間能承載配置數(shù)據(jù)外,還有許多方便之處。例如,用戶可以將多個配置文件.rbf分區(qū)編程到外部存儲器的未用區(qū)段,通過單片機讀取不同存儲區(qū)可以將可編程邏輯器件在線配置成多種不同的工作模式。
評論