正交编码器数字滤波器(二)

news2024/11/18 9:41:18

正交编码器数字滤波器(一)电路初画完了,正交编码器数字滤波器(二)把核心部分用HDL描述语言实现了,放在一个小芯片里。

上面的整张图上,截出下面的小图,就用古老的ABEL工具实现它。

 

这张图上有六个芯片,用一个P16R4可编程器件就可以了,样子是这样的。

开发环境 Win11 + vDOS + ABEL4

Win11和其它Win也都行,开源vDOS考贝到一个文件夹,不需要安装。在vDOS所在文件夹里做个子文件夹把ABEL4放进去,软件在CSDN找了下载,VETUSWARE老DOS程序收集铺也有这东西,一个最大优点就是简单。简单工具做简单事,方便实用。

在WIN上运行vDOS是这样的,它所在的文件夹就自动变成C盘,窗口在WIN11上可大小,右上角还带个小ControlBox,键入exit或点x就退出vDOS程序了。我自己用喜欢全屏大字,那种流年的感受特好。 

好,我们在C:\>_处转到ABEL4然后用个FreeDOS里不花钱的文本编辑器edit编程即可。vDOS兼容许多版本的DOS,需要其它DOS程序找到考贝了用就行。看它列出的空间,大到全盘,根本不用担心空间问题。

文件名 Qfiltout.abl,程序界面下图。

 完整代码

module QFiltout
title 'Quadrature filter output with JK, and 2-3input for A, B
       Ref Mongnewer      24 Dec 2022'
       
        QFiltout     device 'P16R4';

        CLK            pin 1;
        Qa43           pin 2;
        Qa42           pin 3;
        Qa41           pin 4;
        Qb43           pin 5;
        Qb42           pin 6;
        Qb41           pin 7;

        Qa             pin 19;
        Qb             pin 18;

        FQa            pin 14 istype 'reg_D,invert';
        FQb            pin 15 istype 'reg_D,invert';

equations
        FQa.C = CLK;
        FQa.D = (Qa43 & Qa42 & Qa41)&!Qa # !(!Qa43 & !Qa42 & !Qa41)&Qa;
        Qa = FQa.Q;

        FQb.C = CLK;
        FQb.D = (Qb43 & Qb42 & Qb41)&!Qb # !(!Qb43 & !Qb42 & !Qb41)&Qb;
        Qb = FQb.Q;

test_vectors   ([CLK, Qa43, Qa42, Qa41, Qb43,   Qb42,  Qb41] -> [Qa, Qb])
                [.C., 0,    0,    0,     0,     0,     0] -> [0, 0];
                [.C., 0,    0,    1,     0,     0,     1] -> [0, 0];
                [.C., 0,    1,    0,     0,     1,     0] -> [0, 0];
                [.C., 0,    1,    1,     0,     1,     1] -> [0, 0];
                [.C., 1,    0,    0,     1,     0,     0] -> [0, 0];
                [.C., 1,    0,    1,     1,     0,     1] -> [0, 0];
                [.C., 1,    1,    0,     1,     1,     0] -> [0, 0];
                [.C., 1,    1,    1,     1,     1,     1] -> [1, 1];
                [.C., 1,    1,    0,     1,     1,     0] -> [1, 1];
                [.C., 1,    0,    1,     1,     0,     1] -> [1, 1];
                [.C., 1,    0,    0,     1,     0,     0] -> [1, 1];
                [.C., 0,    1,    1,     0,     1,     1] -> [1, 1];
                [.C., 0,    1,    0,     0,     1,     0] -> [1, 1];
                [.C., 0,    0,    1,     0,     0,     1] -> [1, 1];
                [.C., 0,    0,    0,     0,     0,     0] -> [0, 0];
                [.C., 0,    0,    1,     0,     0,     1] -> [0, 0];
                [.C., 0,    1,    0,     0,     1,     0] -> [0, 0];
                [.C., 0,    1,    1,     0,     1,     1] -> [0, 0];
                [.C., 1,    0,    0,     1,     0,     0] -> [0, 0];
                [.C., 1,    0,    1,     1,     0,     1] -> [0, 0];
                [.C., 1,    1,    0,     1,     1,     0] -> [0, 0];
                [.C., 1,    1,    1,     1,     1,     1] -> [1, 1];
end QFiltout

保存退出,然后 abel4bat Qfiltout 回车,编译仿真报告一套活儿就全自动妙完。下面截图看一下它生成的一些内容。

Qfiltout.sim中的仿真结果,从0到1再到0一周结果全部是正确的。即三个连续的A或B信号,才确认输入A信号或B信号,中途预有干扰状态保持不变。

下面是DOC里的芯片样子,我用红线条加上辅助标记。

 原图剩下前端两块4路D触发器,施密特前置触发器; 后端是解码,主要用到上升和下降沿,然后出计数脉冲和方向信号电平,或是一路UP脉冲一路DOWN脉冲代替方向信号电平。

不断学习,很少一点儿进步,继续努力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/112986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高斯函数和C++简单实现

高斯函数在科学和工程中有广泛应用;其定义为, 其一般图像为, 高斯函数的图形在形状上像一个倒悬着的钟;参数a指高斯曲线的峰值,b为其对应的横坐标,c即标准差(有时也叫高斯RMS宽值)&a…

【1754. 构造字典序最大的合并字符串】

来源:力扣(LeetCode) 描述: 给你两个字符串 word1 和 word2 。你需要按下述方式构造一个新字符串 merge :如果 word1 或 word2 非空,选择 下面选项之一 继续操作: 如果 word1 非空&#xff0…

Python常用基础语法知识点大全

介绍 Python 是一门独特的语言,快速浏览一下他的要点: 面向对象:每一个变量都是一个类,有其自己的属性(attribute)与方法(method)。语法块:用缩进(四个空格…

Qml 中用 Shader 实现圣诞树旋转灯

一、前言 2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 这次给大家带来一个简单漂亮圣诞树灯。 当然了,本篇文章主要是讲解一下如何在 Qml 中使用 GLSL 来实现自己的特效。 至于代码嘛,我比较喜欢在 Shaderjoy 上寻找,那里有很…

Biotin-PEG-Biotin,生物素-聚乙二醇-生物素聚乙二醇试剂供应

一:产品描述 1、名称 英文:Biotin-PEG-Biotin 中文:生物素-聚乙二醇-生物素 2、CAS编号:N/A 3、所属分类:Biotin PEG 4、分子量:可定制,2000/10000/3400/1000/20000/500 5、质量控制&…

c++继承知识点

目录1.继承的概念及定义1.1继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6. 继承与静态成员如何定义一个不被继承的类7.继承的一个题目8. 复杂…

目标检测之YOLOv2算法分析

要点 Batch Normalization 训练 若batchsize64,某一层的某一个神经元会输出64个响应值,对这64个响应值求均值,标准差,然后标准化,对标准化的结果乘λβ\lambda \betaλβ,其中λ\lambdaλ和 β\betaβ是需要训练的参数&#xf…

Windows平台RTMP、RTSP播放器录像模块精细化控制

技术背景 上篇文章,我们介绍了Unity平台RTMP、RTSP播放器录像功能,这里,我们详细的介绍下,做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点? 在我们常规的考量,RTMP或RTSP流录制,无非就是…

在gitee上新建仓库并上传文件

一、进入到自己gitee的个人主页,点击图示新建仓库 二、根据图示操作,最后点击创建 三、如果没有配置git全局设置,需要配置一下(配置过的可以跳过这一步) 四、打开你要上传的文件,在里面右击鼠标,点击如图所示 五、输入…

spring之Bean的循环依赖问题

文章目录一、Bean的循环依赖之Set注入模式下1、Husband类2、Wife类3、Spring配置文件4、测试类5、测试结果6、结论二、Bean的循环依赖之构造方法注入模式下1、Husband类2、Wife类3、Spring配置文件4、测试类5、运行结果三、Spring解决循环依赖的机理三级缓存(面试常…

PyQt5 基本布局管理 及 信号槽机制

一:布局设计 & 信号槽机制 效果实现如下: 对于窗口整体设计左右布局 对于左边布局,包括有水平布局(用户信息 左上方一块)垂直布局(多个按钮 左下方一块) 对于右边布局,主要是窗口切换,通过按下左边布局的左下方侧按…

SQLAlchemy连接MySQL及记录的查询、更新、删除、多表关联查询

SQLAlchemy是Python的ORM库,支持多种数据库。 建立连接 连接MySQL要用到Engine,Engine集成了连接池pool和方言Dialect(支持不通数据库的SQL语法),最后都统一成标准DBAPI。 from sqlalchemy import create_engine en…

TypeScript

现在说起TypeScript想必大家都不会陌生的,当初从碎片信息中了解TypeScript,我认为他的变量声明和Rust语言有几分相似,是一门比较严格的语言,今天正式的来学习他 JavaScript易学习,易用,以至于大多数人对于…

软件体系结构 思维导图

软件体系结构 思维导图 软件体系结构思维导图 源文件放在 GitHub 仓库 使用 Xmind 即可打开查看 课程评价 比较抽象和理论化,如果光看 PPT 肯定看不懂,得听课或者看视频 后面实验试图基于 SpringBoot 去实战教学,可惜没系统学过只能照搬…

Kafka Consumer开发

Kafka Consumer - 消费者 跟生产者一样,消费者也属于kafka的客户端,不过kafka消费者是从kafka读取数据的应用,侧重于读数据。一个或多个消费者订阅kafka集群中的topic,并从broker接收topic消息,从而进行业务处理。今天…

一种嵌入式项目的参数保存方案

设计背景 嵌入式项目中,为了保证系统的正常运转,通常需要保存一部分数据至非易失存储设备如flash中。此处提供了一种通用的方案用于快速在项目中集成参数保存功能,该方案有以下几点特征: 接口简便,方便快速集成以及使用…

东北大学2023分布式操作系统实验

1.实验目的 建立伪分布式(有条件的可以建立分布式环境)的Hadoop环境,并成功运行示例程序。 2.Hadoop简介 2.1 Hadoop项目基础结构 在其核心,Hadoop主要有两个层次,即: 加工/计算层(MapReduce)存储层(Ha…

Python pandas有几千个库函数,你用过几个?(1)

对Python的 pandas 库所有的内置元类、函数、子模块等全部浏览一遍,然后挑选一些重点学习一下。我安装的库版本号为1.3.5,如下: >>> import pandas as pd >>> pd.__version__ 1.3.5 >>> print(pd.__doc__)pandas…

C++ STL vector list set map容器循环通过迭代器删除元素注意事项

先说说写这篇博客的原因吧,同事转部门了,把他手头的工作交接给了我。他以前维护的一个模块,会将外部输入的数据缓存起来分段处理,处理完了就会清除缓存数据,最近出现了一个bug,缓存数据一直不清除&#xff…

【SpringMVC】非注解的处理器映射器和适配器

项目目录 1.导入的依赖 pom.xml <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><…