资源描述:
《基于VerilogHDL的车载DVD位控子程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//异常判断子程序moduleABN_DIFF(CLKIN,DATA,TIME00,ADCABCP2,ADCABCP5,VPA,VPB,VPC,VPD,HPE,HPF,HPG,HPH,MOTOR11P2,MOTOR12P2,MOTOR21P2,MOTOR22P2,MOTOR11P5,MOTOR12P5,MOTOR21P5,MOTOR22P5,ERROR0,MOTOR11P4,MOTOR12P4,MOTOR21P4,MOTOR22P4);inputCLKIN,VPA,VPB,VPC,VPD,HPE,HPF,HP
2、G,HPH;inputMOTOR11P2,MOTOR12P2,MOTOR21P2,MOTOR22P2;inputMOTOR11P5,MOTOR12P5,MOTOR21P5,MOTOR22P5;input[2:0]ADCABCP2,ADCABCP5;input[12:0]TIME00;input[7:0]DATA;outputERROR0;outputMOTOR11P4,MOTOR12P4,MOTOR21P4,MOTOR22P4;regMOTOR11P4,MOTOR12P4,MOTOR21P4,MOTOR22P
3、4;regERROR0;reg[7:0]V_POSTION4,H_POSTION4;parameterVA=20,VB=180,VC=210,VD=240,HE=20,HF=180,HG=210,HH=240;always@(posedgeCLKIN)beginif(ADCABCP2==3'b000
4、
5、ADCABCP5==3'b000)begin//水平位置V_POSTION4<=DATA;if((MOTOR11P2==1
6、
7、MOTOR12P2==1
8、
9、MOTOR11P5==1
10、
11、MOTOR12P5==1)&
12、&TIME00>=4000&&(V_POSTION4>VA&&V_POSTION413、
14、MOTOR12P2==1
15、
16、MOTOR11P5==1
17、
18、MOTOR12P5==1)&&TIME00>=2666&&(VPB==0&&VPC==0&&VPD==0))beginERROR0<=1;//水平位置调节时出错MOTOR11P4<=0;MOTOR12P4<=0;end
19、endif(ADCABCP2==3'b001
20、
21、ADCABCP5==3'b001)beginH_POSTION4<=DATA;if(((MOTOR21P2==1
22、
23、MOTOR22P2==1)
24、
25、(MOTOR21P5==1
26、
27、MOTOR22P5==1))&&TIME00>=4000&&(H_POSTION4>HE&&H_POSTION428、
29、MOTOR22P2==
30、1)
31、
32、(MOTOR21P5==1
33、
34、MOTOR22P5==1))&&TIME00>=2666&&(HPF==0&&HPG==0&&HPH==0))beginERROR0<=1;//角度调节时出错MOTOR21P4<=0;MOTOR22P4<=0;endendif(ERROR0==1&&TIME00>=4000)beginERROR0<=0;endendEndmodule//DIVIDERFREQUENCY分频子进程moduleDIV_COUNT(CLKIN,TIME_S,ADIVDER,TIME00);in
35、putCLKIN,TIME_S;outputADIVDER;output[12:0]TIME00;reg[23:0]COUNT;reg[12:0]TIME00;regADIVDER;always@(posedgeCLKIN)beginif(COUNT<37)COUNT<=COUNT+1;elseCOUNT<=0;ADIVDER<=!ADIVDER;endalways@(posedgeADIVDER)beginif(TIME_S==0)TIME00<=0;elseTIME00<=TIME00+1;endendm
36、odule//open_closemoduleOPEN_OP(CLKIN,OPEN_CLOSE,ERROR0,TILT,TILT_BCD,TILT_FGH,DATA,GOOD0,ADCABCP2,MOTOR11P2,MOTOR12P2,MOTOR21P2,MOTOR22P2,TIME_S,EOC,READ,WRITE,OP,ADCCLK);inputCLKIN;inputOPEN_CLOSE,ERR