GE IC693MDL940、IC693MDL645
FPGA内工作电路
在上电之后,单片机将图4中的电路配置在FPGA中。配置完成后,单片机发送的ASET信号由低电平跳变为高电平,使得FPGA内的PN码产生电路开始工作,并于CPU发送过来的PN码进行比较。比较结果一致就使能USER_DESIGN模块正常工作。其中PLL_BITSYS模块用来发生VERIFY_PN的位同步时钟,采用微分锁相原理实现。各种参考资料都有较多介绍,在此不再详述。
COMPARE_PN模块完成对单片机发送的伪随机码和PNMA_PRODUCER模块产生的伪随机码的比较:当两路相同,输出1,不同时输出0;若两路伪码完全匹配,则恒定输出1,使USER_DESIGN电路正常工作,否则,输出为类似于伪码的信号,使USER_DESIGN电路不能正常工作。
4 FPGA内的伪随机码产生电路
PNMA_PRODUCER模块和来产生伪随机码,采用移位寄存器实现,具体电路见图5。LPM_SHIFTREG为移位寄存器模块。移位寄存器ASET端为异步置位端,高电平有效,即ASET为高时,将初值85置入移位寄存器内,LPMSHIFTREG模块的“DIRECTION”设置为“RIGHT”即移位方向为右移。Q[39..0]表示40位移位寄存器的各个状态,SHIFTIN为串行输入,SHIFTIN为Q0、Q2、Q21、Q23四个状态异或运算的结果。

移位寄存器电路
系统加电时,单片机将ASET置为低电平,经过一个非门,变成高电平使移位寄存器处于置位状态。在配置完成后,单片机将ASET信号置为高电平,经非门使移位寄存器正常工作。利用移位寄存器电路产生伪随机码的电路非常简单,反馈逻辑也便于修改。
5 单片机验证伪码的程序
在位寻址区(20H~2FH)定义了字节变量WORD1、WORD2、WORD3、WORD4、WORD5,用来存储移位寄存器的40个状态。其中Q0对应WORD1.0,Q1对应WORD1.1……Q39对应WORD5.7。同时,在位寻址区定义了WORD6、WORD7、WORD8、WORD9,用来进行后面的反馈逻辑计算。单片机一上电,首先将ASET脚清零,同时,也将PNMA脚清零,将初值55H作为移位寄存器的初始状态,接着完成FPGA的上电配置工作。配置完成后,单片机检测来自FPGA的外部中断CONFDONE。如果配置完成,CONFDONE为高电;否则,为低电平。在检测到CONFDONE为高电平,即配置完成后,单片机将ASET脚置为1,使能FPGA内的伪码发生电路工作,单片机产生伪随机码的流程。配置完成后,首先将Q0输出到PNMA引脚,接着计算反馈逻辑输入,将参与反馈运算的几个状态运算结果存在中间变量MID_VARY中。然后,对各个状态进行右移,为了提高运算效率,使用了带进位C的字节循环右移指令。移位完成后,将MID_VARY存入Q39,再将新的Q0输出到PNMA引脚,程序循环执行产生伪随机码。
单片机核心源程序如下:
CLR ASET;单片机上电后将ASET位清0
CLR PNMA
MOV WORD1,#55h
MOV WORD2,#0
MOV WORD3,#0
MOV WORD4,#0
MOV WORD5,#0;将55H作为移位寄存器的初值PEIZHI:
……;进行FPGA的配置工作
JB CONFDONE,PNPRODUCE;根据CONFDONE判断配置是否完成
LJMP PEIZHI;否则继续配置
PNPRODUCE:SETB ASET;配置完成后,将ASET脚置1
XMQLOOP:MOV C,Q0
MOV PNMA,C;将Q0输出到PNMA引脚,作为PN码
MOV C,Q0
MOV WORD6.0,C;用WORD6单元的0位来存Q0的状态
MOV C,Q2
MOV WORD7.0,C;用WORD7单元的0位来存Q2的状态
; MOV C,Q21
MOV WORD8.0,C;用WORD8单元的0位来存Q21的状态
MOV C,Q23
MOV WORD9.0,C;用WORD9单元的0位来存Q23的状态
MOV ACC,WORD6
XRL A,WORD7
XRL A,WORD8
XRL A,WORD9;通过异或指令,计算反馈逻辑
MOV C,ACC.0;反馈逻辑为Qin=Q0;
XOR Q2 XOR Q21 XOR Q23
MOV MID_VARY,C;将运算后的状态存到MID_VARY中右移运算
MOV ACC,WORD1
RRC A;移位Q7~Q0
MOV WORD1,A;移位后,保存到WORD1单元中
MOV ACC,WORD2
RRC A;移位Q15~Q8
ABB Procontic CS31 Ein-/Ausgabemodul ICS016N1 & Modul...
ABB Procontic CS31 Ein-/Ausgabemodul ICSA04B5 & Modul...
ABB Procontic CS31 GJR5251300R1101 Zentraleinheit
ABB DCS402.0680 REV.A.1 Frequenzumrichter
ABB ACS50-01E-09A8-2 ACS5001E09A82
ABB GJV3 0724 02 R1 07 KR 240
ABB GJR5252100R2261 07KT94C-S
ABB GJR5253100R2260 07KT98-S H1
ABB GJR5250800R0101 07AB90-SD
ABB GJR5250900R0202 07DI90-S D1
ABB GJR5253100R0260 07KT98G
ABB GJR5253100R0160 07KT98G
ABB Switch Line OT16E3 Lastschalter
ABB GTU0150 GTU 0150
ABB SOT15M-B45N-C1-PKS SOT15MB45NC1PKS
ABB Stotz Motorschutzschalter 1SVR430710R0200
ABB SOT15M-B45N-C1-KS SOT15MB45NC1KS
ABB SOT15M-B45N-C1-PKS SOT15MB45NC1PKS
ABB F804B-63/0.5AP-R F 804 B 63 0.5 AP R
ABB HESG 324120 324 120 R40
ABB UN0901d UN 0901d Version 1
ABB MS325-6.3 + HKF-11 Motorschutzschalter
ABB MS116-4.0 MS 116-4.0 Motorschutzschalter
Imatronic Ferrocontrol FIPC 1.2-CT-426B-010-C2
ABB PSA30 PS A 30 Softstarter
ABB LM041-CE18RDC LM041 CE18RDC
ABB Drives ACS60100093 Frequenzumrichter
ABB 1SBH143001R8853 NL53E Hilfschütz
ABB A 75 22KW
Bender SB478 SB 476 93083002 Berührungsspannungsrelais
ABB Processing Units S200TB3S S 200TB3S S200TB3 sealed
ABB Processing Units 200-BPN 200BPN sealed
ABB Drives ACS60100053 Frequenzumrichter
ABB Procontic CS31 Ein-/Ausgabemod?ul ICS016N1 & Modul...
?
ABB Procontic CS31 Ein-/Ausgabemod?ul ICSA04B5 & Modul...
?
ABB Procontic CS31 GJR5251300R1101 Zentraleinheit
?
ABB DCS402.0680 REV.A.1 Frequenzumricht?er
?
ABB ACS50-01E-09A8-?2 ACS5001E09A82
?
ABB GJV3 0724 02 R1 07 KR 240
?
ABB GJR5252100R2261 07KT94C-S
?
ABB GJR5253100R2260 07KT98-S H1
?
ABB GJR5250800R0101 07AB90-SD
?
ABB GJR5250900R0202 07DI90-S D1
?
ABB GJR5253100R0260 07KT98G
?
ABB GJR5253100R0160 07KT98G
?
ABB Switch Line OT16E3 Lastschalter
?
ABB GTU0150 GTU 0150
?
ABB SOT15M-B45N-C1-?PKS SOT15MB45NC1PKS
?
ABB Stotz Motorschutzscha?lter 1SVR430710R0200
?
ABB SOT15M-B45N-C1-?KS SOT15MB45NC1KS
?
ABB SOT15M-B45N-C1-?PKS SOT15MB45NC1PKS
?
ABB F804B-63/0.5AP-?R F 804 B 63 0.5 AP R
?
ABB HESG 324120 324 120 R40
?
ABB UN0901d UN 0901d Version 1
?
ABB MS325-6.3 + HKF-11 Motorschutzscha?lter
?
ABB MS116-4.0 MS 116-4.0 Motorschutzscha?lter
?
Imatronic Ferrocontrol FIPC 1.2-CT-426B-010?-C2
?
ABB PSA30 PS A 30 Softstarter
?
ABB LM041-CE18RDC LM041 CE18RDC
?
ABB Drives ACS60100093 Frequenzumricht?er
?
ABB 1SBH143001R8853 NL53E Hilfschütz
?
ABB A 75 22KW
?
Bender SB478 SB 476 93083002 Berührungsspann?ungsrelais
ABB Processing Units S200TB3S S 200TB3S S200TB3 sealed
?
ABB Processing Units 200-BPN 200BPN sealed
?
ABB Drives ACS60100053 Frequenzumricht?er
AEG Microverter D 10.5 /380V-2 Frequenzumricht?er SachNr...
?
AEG Microverter D 2.5/380-2 029143705 Frequenzumricht?...
?
AEG Microverter D 16/380 029.143710
?
AEG Modicon BIK 114 BIK114
?
AEG DTA200 DTA 200
?
AEG ADU206 ADU 206
?
AEG DNP 205 DNP205
?
AEG ALU202 ALU 202
?
AEG Mbs 25 Mbs25 Motorschutzscha?lter
?
AEG T-SV1 TSV1
?
AEG Microverter D 25/380
?
AEG Modicon BITBUS - Reseiver DEA 106
?
AEG Modicon SFB-master BIK 116
?
AEG Modicon DTA 200
?
AEG Modicon DTA 201
?
AEG Modicon A 120 NUL 202
?
AEG Modicon DAP 212
?
AEG THYRO-P LBA
?
AEG THYRO-P 2P 400-280 HF ASM 2P400280HFASM
?
AEG THYRO-P 2P 400-110 H ASM 1P400110HASM
?
AEG THYRO-P 2P 400-75 H ASM 1P40075HASM
?
AEG THYRO-P 1P 400-75 H 1P40075H
?
AEG Modicon ADU 205 424-270397
?
AEG Modicon DAP 216 424-270385
?
AEG Modicon DEP 216 424-244630
?
AEG BLR-MQ BLRMQ Blindleistungsr?egler
?
AEG Elfa E83 3 Pol.
?
AEG A020/ERW/220V 7628-200594.09 110/220V; 50-60Hz
?
AEG Schneider OPC 456 SP310 Touchpanel Operator Panel
?
AEG Lasttrennschalt?er LTSIST 167 LtSiSt 167
AEG MT23C-1041-000 MT 23 C-1041-000 Servo Motor
?
AEG DEP 216 6728-042.244630
?
AEG KPE 141-1 6355-042.703 946 ETHERN. Controller
?
AEG Microverter 2.8/230V Frequenzumricht?er
?
AEG Microverter 2.8/230V Frequenzumricht?er
?
AEG TSX A250 DEP112
?
AEG ALU154-1 ALU 154-1 Modicon A250
?
AEG Modicon ALU 131 ALU131
?
AEG Modicon SC 8128 SC8128 128kb
?
AEG Modicon SCU 150 SCU150
?
Netzger?t für AEG Frequenzumricht?er NG 3-690 /EZO 95W
?
Powerboard AEG Frequenzumricht?er T56030155045
?
AEG MINISEMI 380/36 +SD Frequenzumricht?er