0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用FPGA实现旋转开关信号到PC/AT键码转换的设计

电子工程师 来源:未知 作者:胡薇 2018-11-06 16:07 次阅读

在专用电路设计中,为了方便操作与控制,要对电路设计提出各种具体要求。本文即为一设计实例,其设计要求为:在旋转开关的控制下,产生所需的PC/AT键码控制信号,即当旋转开关左转时,每转动一个位置,产生一个左箭头键码和断开码(E0、6B、E0、F0、6B)信号,控制光标左移一个位置;旋转开关右转时,每转动一个位置,产生一个右箭头键码和断开码(E0、74、E0、F0、74)信号,控制光标右移一个位置;当按下一次旋转开关的接通按键时,产生一个回车键码和断开码(50、F0、50)信号,控制光标换行。为了实现这一设计要求,设计中采用Altera公司生产的可编程逻辑芯片EPM7128SLC,利用Maxplus2软件完成设计任务。

1基本概念

1.1旋转开关简介

旋转开关由A、B两个通道开关、一个按压通断开关构成,当左右旋转时,A、B通道分别输出具有90度相位差的控制信号;当按下通断开关时,输出一个通断控制信号。旋转开关的构成及输出波形如图1所示。

1.2PC/AT键码特点

PC/AT键码由接通码与断开码构成,当键按下时,产生相应的PC/AT键码,当键释放后,产生对应的断开码,不同的按键对应不同的键码和断开码,如左箭头的键码为E0、6B,断开码E0、F0、6B;右箭头的键码为E0、74,断开码E0、F0、74;回车键的键码为50,断开码为F0、50。每发送一个键码包含11个数据位,即1个起始位、8个数据位(低位在前,高位在后)、1个奇偶校验位、1个停止位;在键码传送的同时,还传送一个与键码同步的时钟信号,用于同步键码数据的接收;键码中每个数据位的传送发生在键码时钟的下降沿,时钟的波特率为16Kbps左右。

1.3EPM7128简介

EPM7128是Altera公司生产的建立在多阵列结构基础上的高性能可编程逻辑器件,其内部具有符合IEEE1149.1标准的JTAG接口用于在线下载和修改程序,其内部具有2500个可使用门阵列、128个宏单元、8个逻辑阵列块,EPM7128SLC84具有68个用户可使用I/O接口。

2软件设计

为了利用FPGA将旋转开关信号转换成PC/AT键码信号,所设计的FPGA软件由时钟发生器模块(clk)、时钟编码模块(pd_clk)、旋转开关状态识别模块(pdidentify)、输出数据编码控制模块(pd_control)、码器模块(pdcoder)、输出模块(pdout)构成,其功能连接如图2所示

时钟发生器模块的功能为:在reset信号的控制下,产生频率为15.5kHz的时钟信号,其振荡源为由5个非门构成的串联环路,该振荡器产生的振荡信号经分频电路分频,获得所需频率的振荡信号clk。

时钟编码模块的功能有两个,一是产生其它功能模块所需的基准控制信号clk/16;二是产生所需的PC/AT时钟信号pdclk,如图3所示。

旋转开关状态识别模块的功能是正确地识别旋转开关的状态,并产生相应的控制信号;如果旋转开关向左旋转一个位置,则输出一个Leftturn识别信号;如果旋转开关向右旋转一个位置,则输出一个识别信号;如果按压一次旋转开关上的接通开关,则输出一个Up/Down识别信号。

输出编码控制模块和编码器模块的功能是在旋转开关识别信号的控制下,产生相应的输出编码控制信号,控制编码器,使编码器产生相应的编码信号;如果输入一个Leftturn识别信号,则依次输出E0、6B、E0、F0、6B五个编码信号;如果输入一个识别信号,则依次输出E0、74、E0、F0、 74五个编码信号;如果输入一个Up/Down识别信号,则依次输出50、F0、50三个编码信号。

输出模块的功能是:根据输入的编码信号,确定校验位的值,如编码信号中有奇数个1,则校验位为0,否则为1;根据输入的编码信号与生成的校验位,产生符合PC/AT键码格式要求的键码信号。

3仿真结果

按照设计要求,利用Maxplus2软件进行功能设计与仿真,在完成模块功能设计与各功能模块仿真之后,进行整体功能模块连接与仿真,整体模块连接如图2所示,功能仿真结果如图4所示。其中,reset信号为复位信号,A、B、ON/OFF信号为来自旋转开关的输出信号,所设计的FPGA输出的PC/AT键码时钟与数据信号分别为pd_clk和pd_data。

4硬件结构

所设计的FPGA程序,通过JTAG口与旋转开关相连接的输入接口、用于输出PC/AT键码和时钟的输出端口

5结束语

所设计的FPGA芯片可通过计算机键盘口进行测试,当左、右转动旋转开关时,控制显示器上的光标随之左、右移动;当按压旋转开关上的通断按键时,控制显示器上的光标换行。所设计的FPGA芯片已被实际工程项目应用,实现了设计目的,满足了要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21302

    浏览量

    593109
  • 接口
    +关注

    关注

    33

    文章

    7629

    浏览量

    148444

原文标题:一种基于FPGA的接口电路设计

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    利用FPGA实现信号发生器

    利用FPGA实现信号发生器
    发表于 08-24 16:24

    怎么读取FPGA上寄存器引脚的内容PC

    你好,任何人都可以帮我读取FPGA上寄存器/引脚的内容PC。我唯一的电缆是随Spartan 3E电路板一起提供的USB电缆。情况如下:1.当“complete_simulation”信号
    发表于 06-18 15:18

    如何利用AD7543和FPGA进行数/模转换电路设计?

    数/模转换(D/A)电路,是数字系统中常用的电路之一,其主要作用是把数字信号转换成模拟信号,通常是利用专用的数/模
    发表于 08-01 06:19

    利用FPGA怎么实现数字信号处理?

    DSP技术广泛应用于各个领域,但传统的数字信号处理器由于以顺序方式工作使得数据处理速度较低,且在功能重构及应用目标的修改方面缺乏灵活性。而使用具有并行处理特性的FPGA实现数字信号处理
    发表于 10-17 08:12

    请问在FPGA上怎么实现从RGB转换到YCbCr?

    本文推导出一种适合在FPGA实现从RGBYCbCr。颜色空间变换的新算法,采用单片FPGA完成电路设计,利用
    发表于 04-29 06:57

    如何利用FPGA控制器实现模数转换和隔离传输?

    本文研究设计了一种基于高速隔离芯片的高速串行隔离型ADC。该数字隔离型ADC频带宽,延时小,稳定性高并且电路结构简单。利用FPGA作为控制器,很好地实现了模数转换和隔离传输。
    发表于 05-06 06:38

    如何利用FPGA设计实现GNSS信号的频域快速捕获算法?

    如何利用FPGA设计实现GNSS信号的频域快速捕获算法?
    发表于 05-20 06:40

    如何利用旋转编码器实现计数?

    如何利用旋转编码器实现计数?
    发表于 01-21 07:28

    基于FPGA的DDS信号源设计与实现

    基于FPGA的DDS信号源设计与实现 利用DDS和 FPGA 技术设计一种信号发生器.介绍了该
    发表于 02-11 08:48 223次下载

    一种基于FPGA的接口电路设计?

    【摘 要】 在简要介绍了PC/AT键码旋转开关和EPM7128结构特点的基础上,介绍了利用FPGA
    发表于 05-11 19:53 748次阅读
    一种基于<b class='flag-5'>FPGA</b>的接口电路设计?

    旋转开关

    旋转开关 1.旋转开关的结构旋转开关又称为波段开关
    发表于 09-19 15:08 1w次阅读

    怎样在FPGA中处理开关控制信号

    本系统设计利用FPGA间接控制2块MAX4312选通所需要的视频通道,实现各个视频通道间相互切换。根据开关控制信号的设计思想在
    发表于 06-29 15:45 3446次阅读
    怎样在<b class='flag-5'>FPGA</b>中处理<b class='flag-5'>开关</b>控制<b class='flag-5'>信号</b>

    如何利用FPGA设计一个双通道旋转变压器测角系统?

    系统总体框图如图1所示,采用集成芯片AD2S82A和AD2S80A,分别作为旋转变压器粗码盘和精码盘输出信号的解码器,将旋转变压器输出的模拟量转换成与之对应的数字量。然后将它们送入
    发表于 08-26 09:37 2412次阅读
    如何<b class='flag-5'>利用</b><b class='flag-5'>FPGA</b>设计一个双通道<b class='flag-5'>旋转</b>变压器测角系统?

    旋转开关如何选购

    目前市场上质量出色的旋转开关面板主要都采用PC材质,PC材质拥有出色的抗冲击和耐高温性能,不容易出现变色,因此我们在购买时最好选择PC材质的
    的头像 发表于 08-21 11:30 3708次阅读

    旋转开关接线_旋转开关怎么安装

    本文首先介绍了旋转开关原理,其次介绍了旋转开关接线方法,最后介绍了旋转开关安装方法。
    发表于 11-20 10:57 2.1w次阅读