/* 1、根据汇川变频器的逐波限流保护原理用verilog实现:
   检测下降沿,cnt计数到3就保护输出
   同时计时计数器(cnt2)开始计数,时间到了,就给模3计数器复位
   也就是连续的过流才保护    
    
*/

module oc_protection(clk,rst,data,set_o);
   input   clk ;
   input   rst ;
   input   data;
    output  set_o;
edge_detect e_d(
                .clk (clk),
                     .rst (rst),
                     .data (data) ,
                     .neg_detect (neg_detect) 
                     );
cnt_oc1 c_oc1  (
                .neg_detect(neg_detect) ,
                .rst(set) ,
                     .set(set_o) ,
                     );
cnt_oc2 c_oc2  (
                .clk (clk),
                     .rst (rst),
                     .set(set) ,
                     );
                        
endmodule

/* 2、
 下降沿检测,时钟频率太低可能丢失信号
 */

module edge_detect (
    input clk,
    input rst,
    input data,
    //output wire pose_detect ,
    //output wire dou_detect ,
    output wire neg_detect
);
    reg d1, d2;

always @(posedge clk or negedge rst) begin
      if(!rst)
        begin
            d1 <= 0;
            d2 <= 0; 
        end
      else begin
            d1 <= data;
            d2 <= d1;
        end
  end

//assign pose_detect = d1 & (~d2);  //上升
      //下降 
  //assign dou_detect  = d1 ^ d2;     //双沿
    assign neg_detect  = (~d1) & d2;
endmodule

/* 3、以带使能的模100异步清零计数器为例
*/

module cnt_oc1 (
input neg_detect,
input rst,
output reg set       //如果参数化中COUNT比较大,需要更改out的位宽来适配
    );
  
parameter COUNT=3 ;
reg [1:0]out ;
always@(posedge neg_detect or negedge rst) //异步清零
begin 
if(!rst)
        begin out<=2'd0; set<=1'b0; end
else if(out==COUNT-1)
        begin out<=2'd0; set<=1'b1; end 
else 
          begin  out<=out+1'b1; set<=1'b0; end 
end 
endmodule

/* 4、以带使能的模100异步清零计数器为例
*/

module cnt_oc2 (
input clk,
input rst,
output reg set       //如果参数化中COUNT比较大,需要更改out的位宽来适配
    );
  
parameter COUNT=10 ;
reg [3:0]out ;
always@(posedge clk or negedge rst) //异步清零
begin 
if(!rst)
        begin out<=4'd0; set<=1'b1; end
else if(out==COUNT-1)
        begin out<=4'd0; set<=1'b0; end 
else 
          begin  out<=out+1'b1; set<=1'b1; end 
end 
endmodule    
       /*

01-edge_detect

cnt_oc1

cnt_oc2

oc_protection

新手练手的,感谢各位留言

汇川低压变频器有个输出霍尔检测,用veriog实现相关推荐

  1. 汇川H5U模拟量输出模拟量转换FC: S_RTI

    模拟量输入模拟量转换FC: S_ITR可以参看下面这篇博客. 汇川H5U模拟量输入模拟量转换 FC S_ITR_RXXW_Dor的博客-CSDN博客接口中的临时变量,如果优化的可以省去一些,感兴趣的可 ...

  2. 汇川660C系列CANOPEN 伺服通过HT3S-PNS-COP网关实现数据传输到西门子ProfiNet (S7-300/400/1200/1500)PLC

    案例背景 江苏某汽车生产线现场主站控制器采用西门子1500系列PLC支持PROFINET协议,现场300多个CANOPEN模块均来自汇川660C系列伺服+电机:两边设备协议上不一致,无法直接通讯实现数 ...

  3. 汇川am600运动指令详解_汇川中型PLC AM400系列产品型号说明及功能介绍

    产品介绍 内置EtherCAT总线 可带4或者8个伺服轴(其中AM401可带4轴,AM402可带8轴),支持同步定位,电子凸轮,插补功能 可同时扩展125个机架,可扩展32000个IO点 内置CAN总 ...

  4. 汇川MD500变频器学习之路(一)

    汇川MD500变频器有硬件.软件.调试等说明帮助文档,跟随着这三种资料便可以开始对此款变频器进行学习. MD500-PLUS用户手册.zip-嵌入式文档类资源-CSDN文库 首先记录一下调试手册的学习 ...

  5. 汇川PLC和PLC之间ModebusTCP通讯

    目录 一.AM402做主站和H3U通讯 1.Modebus主站中组态配置 2.读从站寄存器配置 3.写从站寄存器配置 4.程序中使用对从站读写操作的寄存器值 (1)I/O映射中地址关联 (2)创建自定 ...

  6. 汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解

    原文链接:汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解 PLC数据存储原理简介 H123U小型PLC内部采用的是32位的处理器,PLC中的数据处理和电脑中的数据处理基本是一致的 ...

  7. 汇川PLC单位换算及电子齿轮比

    本文以汇川H5U为例进行说明轴控的单位换算,经过改进后,H5U的设置界面更加合理及容易理解,汇川中型PLC-AM400/AM600系列的设置与此类似,界面也相同. H5U支持本地轴控(发脉冲)和Eth ...

  8. 汇川PLC如何连接电脑进行数据通信和远程上下载

    在日常工作现场中,当PLC出现故障时,工程师常常抱着笔记本电脑,对着屏幕劈里啪啦的一顿敲,这样PLC就完成维护了. 上述场景看起来十分轻松写意,但其中所经历的痛苦只有工程师自己知道.现场维护需要电脑连 ...

  9. CK-GW06-E01与汇川PLC的MODBUC TCP通信

    准备阶段: CK-GWO6-E01网关 POE交换机 网线 汇川PLC编程软件 1.打开汇川PLC编程软件AutoShop 新建工程,选择对应的PLC型号,点击确定,本次以H5U-A8型号为例. 选择 ...

最新文章

  1. 纸质图书与电子图书的营销策略研究
  2. oracle 实现map,PLSQL实现的map功能,以及一些疑惑
  3. 中国水闸橡胶密封件市场需求状况与营销模式建议报告2022年
  4. LeetCode中常用语言的一些基本方法记录
  5. Tomcat 学习笔记(0)
  6. 借力IBM 贵州移动搭建云计算民生服务平台
  7. 奖学金(信息学奥赛一本通-T1179)
  8. 皖西学院计算机科学与技术分数线,2017年皖西学院艺术类本科专业录取分数线...
  9. Cisco设备基础命令
  10. 【色彩管理】ICC曲线制作教程
  11. Aho-Corasick懵逼学习
  12. vmware workstation添加共享硬盘的步骤
  13. OpenCV颜色空间——Lab颜色空间
  14. 办公室桌面计算机,我的办公室桌面(一切为了简洁)
  15. 扫地机器人扫水泥地板有用吗_39元的扫地机器人你见过么,还送块水泥板砖……...
  16. C语言字符串函数strcat | strcpy | strlen | strcmp的用法及原型
  17. 树莓4b驱动开发:Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
  18. matlab神经网络newff函数的用法
  19. 个人征信报告解析(机构版)
  20. websocket例子

热门文章

  1. 位图—BitMap和BitSet,布隆过滤器,Roaring Bitmap
  2. vue密码md5加密(学习篇)
  3. 【行研报告】2021年度中国汽车保值率研究报告—附下载
  4. 浅析汽车抵押贷款业务
  5. 机器学习、智能算法、视觉识别,你想要的AI热点都在这
  6. simulink调用python_如何通过TCP/IP将Simulink/MATLAB连接到Python?
  7. 【职业规划】了解自己~
  8. php老黄历源码,基于聚合数据的老黄历接口调用示例-PHP版
  9. XML document structures must start and end within the same entity.
  10. 看似简单的光耦电路,实际使用中应该注意些什么?