
F3YP08-0N
横河YOKOGAWAF3YP14-0N横河YOKOGAWAF3YP14-0N横河YOKOGAWAF3YP14-0N-------------------------------------------------------------------------------------------------------------------在上电之后,单片机将图4中的电路配置在FPGA中。配置完成后,单片机发送的ASET信号由低电平跳变为高电平,使得FPGA内的PN码产生电路开始工作,并于CPU发送过来的PN码进行比较。比较结果一致就使能USER_DESIGN模块正常工作。其中PLL_BITSYS模块用来发生VERIFY_PN的位同步时钟,采用微分锁相原理实现。各种参考资料都有较多介绍,在此不再详述。COMPARE_PN模块完成对单片机发送的伪随机码和PNMA_PRODUCER模块产生的伪随机码的比较:当两路相同,输出1,不同时输出0;若两路伪码完全匹配,则恒定输出1,使USER_DESIGN电路正常工作,否则,输出为类似于伪码的信号,使USER_DESIGN电路不能正常工作。4FPGA内的伪随机码产生电路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引脚,程序循环执行产生伪随机码。单片机核心源程序如下:CLRASET;单片机上电后将ASET位清0CLRPNMAMOVWORD1,#55hMOVWORD2,#0MOVWORD3,#0MOVWORD4,#0MOVWORD5,#0;将55H作为移位寄存器的初值PEIZHI:……;进行FPGA的配置工作JBCONFDONE,PNPRODUCE;根据CONFDONE判断配置是否完成LJMPPEIZHI;否则继续配置PNPRODUCE:SETBASET;配置完成后,将ASET脚置1XMQLOOP:MOVC,Q0MOVPNMA,C;将Q0输出到PNMA引脚,作为PN码MOVC,Q0MOVWORD6.0,C;用WORD6单元的0位来存Q0的状态MOVC,Q2MOVWORD7.0,C;用WORD7单元的0位来存Q2的状态;MOVC,Q21MOVWORD8.0,C;用WORD8单元的0位来存Q21的状态MOVC,Q23MOVWORD9.0,C;用WORD9单元的0位来存Q23的状态MOVACC,WORD6XRLA,WORD7XRLA,WORD8XRLA,WORD9;通过异或指令,计算反馈逻辑MOVC,ACC.0;反馈逻辑为Qin=Q0;XORQ2XORQ21XORQ23MOVMID_VARY,C;将运算后的状态存到MID_VARY中右移运算MOVACC,WORD1RRCA;移位Q7~Q0MOVWORD1,A;移位后,保存到WORD1单元中MOVACC,WORD2RRCA;移位Q15~Q8MOVWORD2,A;移位后,保存到WORD2单元中MOVQ7,C;将Q8的值赋到Q7MOVACC,WORD3RRCA;移位Q23~Q16MOVWORD3,A;移位后,保存到WORD3单元中MOVQ15,C;将Q16的值赋到Q15MOVACC,WORD4RRCA;移位Q31~Q24MOVWORD4,A;移位后,保存到WORD4单元中MOVQ23,C;将Q24的值赋到Q23MOVACC,WORD5RRCA;移位Q39~Q32MOVWORD5,A;移位后,保存到WORD5单元中MOVQ31,C;将Q32的值赋到Q31MOVC,MID_VARY;将前面反馈计算的值赋给Q39MOVQ39,CLJMPXMALOOP;继续产生下一代PN码元6其它加密方法介绍及比较对SRAM工艺的FPGA进行加密,除了可以利用单片机实现外,还可以用E2PROM工艺的CPLD实现。与用单片机实现相比,利用CPLD的优点在于可实现高速伪码,但要在硬件电路中增加一块CPLD芯片,使整个硬件电路复杂化,增加了成本。本文提供的加密方法考虑到配置完成后单片机处于空闲状态,此时利用单片机进行加密,不需要增加任何电路成本,使得整个系统硬件结构十分简洁。本文提出采用长伪随机码来实现加密。如果采用其它的算法产生验证信息,并增加单片机与FPGA工作时信息实时交互,使得获取验证信息的难度足够大,也可以达到类似的加密效果。ABBYB560103-CHABBYYT102CABBA185-30-11-84ABB1FT3101-5AZ21-9-ZABBMPS-C-3716513A00ABB3HAB2241-1ABBEH260C-1ABBEH260C-1ABBEH260C-1ABBACS501-015-4-00P2ABBACS401601135ABBDSQC2498ABBEHW-250ABB3HAB3365-001ABB6004BZ10300ABB50VM1000ABBACS601-0020-4-S00B1200801ABB3HNE00025-1/16#29377ABB3HNE00025-1/16#29377ABBL3HAA-2121-2ABB3HAB5845-1ABB57775840ABBIP55ABBMPS-C2000ABBCAARS05HTABBACS601-0011-4-000B1200801ABBDSQC3253HAB2241ABBYT212001-ALABBPST60-600-70ABBD05010/R0004ABBGNT2009454R0004/05MA22GABBYB560101-SVABB5716075-E/3ABBYB560103-CCABB57160001-ACAAB1326AB-B520-FS2K5LABBYT213001-BBAB1326AB-B515E-21-K5ABBYB560103-CEABB3HAA3563-AGA/2ABBACS601-0020-2-S00B1200001ABBR3HAC10604-1AB1326AB-B515-GS2K5LABB264DCFBDFSSSA4A1V2E4N2ABB3HAB6372-1ABBMK14A-X020ABBPS60/4-50-P-LSS-3823ABB61001395ABBSK827085-AFABB3HAC17971-1ABB3HAC36191ABB3HAB6425-1ABBACS601-0016-4-000B1200800ABB1922RA00103AABBACS501-006-3-00P20000DABBACS601-0016-2-S00B1200801ABB57160001KABBREV-EH175-120VAB1326AB-B515G-21ABBYYT-102CABBACH500ABBVOY-12ABBAM54072ABB3HAB5960-1ABBA210-30-11AB1326AB-B515E-21ABB3HAB2213-1/1ABB3BSE030220R1ABB3HAB8801-1/2BABB980006R109ABB3GAA182111-BDAABBS6NQ600BWABBS6HQ600EWABBACS143-4K1-3ABB5761806-0DABBPP07512HSABBPP07512HSABBRF6153BHT100010R1ABB2000DAI02ABB6231BP10830C-BABB3HAC16917-1ABB3BSE008508R1ABB3BHB003387R0101ABB3ASD573001A1YPP110AAB1397-B050NAB1394-AM75MODULEAXIS15KWAB1336F-MCB-SP2DABCAT-1201-HA2ABBLC42TLR0012ABBV05402A00ABBACH550-UH-012A-?4ABBAINT12CABBDCF504A0050NP53*ANP53*BNP53*C51402573-150DSAO1306DD1683-OCD06DD1683-0CC06DD1682-0CH26DD1681-0CA26DD1661-0AB1SST-PB3-CLXSST-SR4-CLXFBM233SR511GJR5252100R010107KT94GJR5252100R016107KT94DGJR5252100R020107KT94GJR5252100R026107KT94GJR5252100R326107KT945136-DN-PCC8102GF1180-8CACDIO16/16-0,5-1131BERGHOFID740CognexVM16A203-0075-CVPM-5118-32MATEQMF5F520SchneiderTSXDST3292安川YASKAWAADE-4C1CYASKAWACACRSR30TZ6SMEYaskawaDR2-A5YASKAWAUSAREM-05CFJ11YASKAWA4K171-841-3YASKAWACACR-SR44BB1AM-?Y8YASKAWAE7BVB014XYASKAWACACR-SR02AB1ERYASKAWAXCAP04YASKAWAUCV000361YASKAWACACR-SR03AC1ERYASKAWACACR-SR02AC1ERYASKAWAETC507606-S3305YASKAWASGMAH-02AAF41YASKAWACACR-SR02AB1ERYASKAWACIMR-F55AS3YASKAWACACR-SRA5AB1ERYASKAWACIMR-SVJ-37AAYASKAWACIMR-F7U43P7YASKAWAJANCD-MEW02-1YASKAWACIMR-P5M25P51FYASKAWADS074YASKAWACIMR-PCU40P4YASKAWACIMR-PCU40P4YASKAWACACR-05-TF2ES-D?FYASKAWASGDB-20ADGY8YASKAWAJEPMC-PL200YASKAWACIMR-G7U41P5YASKAWACIMR-V7NU40P7YASKAWASGMG-13ASAYASKAWACIMR-XCBAB0P4YASKAWACACR-SR03AD1-KRYASKAWADR2-01ACYASKAWACACR-SR10SZ1SFY?90YASKAWASGM-01U3B2LYASKAWASGM-01U3B2CLYASKAWAJEPMC-CP200YASKAWACACR-IR-15SFBYASKAWASGDB-03ADMYASKAWAUSASEM-08-HG21YASKAWASGMGH-13D2A61YASKAWAYS-13YASKAWAJANCV-MFC05YASKAWADF8101720-D1YASKAWADE9407237-1)