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