基于CPLD的电子秤逻辑接口设计
* 来源: * 作者: * 发表时间: 2020-08-03 17:03:46 * 浏览: 247
现代电子仪器系统正变得越来越多功能和智能,随着实际应用的变化,可能需要随时升级系统功能。因此,硬件设计越来越依赖于EDA辅助设计方法。本文主要讨论基于CPLD的电子秤的逻辑控制电路的设计,着眼于CPU地址空间扩展的问题,并解决了热敏打印机驱动程序设计和其他接口设计的问题。 1.系统组成和设计指标本文设计的电子秤系统包括硬件模块,例如主控制单元,内存,键盘显示,检测和转换,数据传输和通讯,打印以及系统时钟。图1显示了系统组成框图。由于采用了CPU和CPLD协同控制的设计方案,因此硬件模块之间的相关性很高,电路组件的数量也很少,并且系统的EMC也得到了显着改善。更重要的是,它符合嵌入式软件的设计理念,并可以实时运行系统。该系统的移植和管理具有很大的好处。除了测量和打印等一般功能外,它还具有良好的用户/客户液晶中文图形人机界面界面,以太网远程控制和数据传输,CS无线数据传输等功能。操作简单直观,扩展,升级和更新快速便捷。 ,在不更改控制系统的情况下更改CPU方案(例如更改为DSP / ARM方案)也非常方便。系统功能和设计指标为:最小重量5g,2MB闪存,128KB充电电池保护RAM,128gt,64点矩阵LCD显示界面,100键键盘,46个客户LED,10MHz以太网通信接口,905MHz智能通道扫描无线通信界面,精工高速热敏92打印机等。2.主控制单元主控制单元的功能是控制整个电子秤系统的运行状态,协调各种功能模块与过程信息之间的关系等。它主要包括改进的51核单片机和CPLD。主要从产品成本考虑使用单片机作为主控制CPU。许多新的MSC51内核微控制器不仅在软件和硬件上与传统的MCS51系列微控制器完全兼容,而且在速度,抗干扰性能,稳定性和成本效益方面都比后者具有明显优势。图2中的CPU使用SST89E58,它与8位标准51系列单片机完全兼容。它的工作频率为0-40MHz,工作电压范围为2.7V4.5V。其SuperFlash存储结构和其他高级功能可以为用户提供极高的可靠性和极低的成本。这种单片机与CPLD的结合可以建立一个强大的商用电子秤操作和控制平台。商业电子秤的性能要求决定了硬件设计的复杂性。本文使用CPLD来构建可重新配置的数字平台,作为逻辑控制组件。所有时序控制和地址分配均由CPLD完成,该CPLD用来取代传统的低密度AISC设备,充分发挥CPLD的优势,并使CPU对外部设备几乎透明。 ,它可以专注于过程信息的处理,但不更多地参与硬件控制。图2中的CPLD使用一块Altera的MAX7000系列CPLDEPM7256AET144-7。该芯片有144个引脚,可以解决功能模块的控制和驱动问题,包括内存访问,键盘扫描和显示。单片机设备实现了CPU和所有外围设备的逻辑接口,大大减小了整个操作控制系统主板的面积,并大大提高了整体性能的稳定性。 CPLD中实现的功能模块包括:地址解码,打印机驱动程序,PWM调制转换和其他部分。为了提高开发效率并减少调试中无法预测的问题,采用了分步逐步的设计方法来设计零件并调试零件。 3.接口逻辑和地址分配商用电子秤的应用环境决定了它需要更多的外部扩展端口资源和更大的存储容量。因此,在逻辑设计中,地址分配和管理问题尤为重要。首先,由于单片机的64KB寻址范围无法覆盖2MB的存储空间,因此本文采用块页方法来管理内存:P1和P2 / P0一起用作地址线,因此总地址线达到24,CPU有效地址空间最大为16MB。同时,将16MB空间进一步平均分为8个块,每个块分为32页,每页为64KB。其中,P1.5-P1.7线分别用作Flash,RAM和I / O端口的块寻址线,P1.0-1.4线用作页寻址线以生成32个有效页地址,P2 / P0作为微控制器的默认地址总线,用于寻址每个页面中连续的64KB存储器单元。寻址实现方法:每次寻址一个单元,微控制器都会发送两次地址号,第一次是从P1端口发送块/页面地址号,第二次是从P2 / P0发送页面地址号港口。块地址不能直接发送到目标设备,而是在CPLD解码后发送到相应的设备,如图3所示。显然,端口P0仍然复用为数据总线,而低8位地址总线端口P0 CPLD将CPLD锁存为低8位地址以供存储器使用,并且从端口P0直接引出的数据线连接到所有设备的数据线。 CPU工作在40MHz的时钟频率,并消除了为每个寻址发送两个地址对电子技术应用速度的影响。” 2007年第12期欢迎订购电子产品。其次,由于单片机的P1端口已扩展为地址线,而P3端口只能使用其第二功能,因此没有其他端口线可以用作通用I / O控制线。因此,本文采用I / O端口的统一寻址方式,除存储器外的所有设备都布置在I / O寻址空间中,所有数据(包括串行通信中的串行并行转换结果)均在CPLD缓冲区之后发送。在CPU中,为所有内存和外部I / O端口分配了地址:第一个块A00000H?BFFFFH地址分配给FLASH,第二个块C00000H-C1FFFFH地址分配给RAM,第三个块分配给其他并连接总线上所有端口使用的I / O。存储器的组织结构如图4所示。4.打印机驱动程序设计打印机是商用电子秤的必不可少的部分。热打印原理由控制逻辑驱动,通过控制在打印头上以正方形或带状排列的微型加热器来加热热敏纸,以产生与加热元件相同的图像元件,同时还控制进纸,为了打印出完整的图形(例如销售产品的条形码)。本文采用精工热敏打印机LTP1245,每行384个加热点,最宽打印48mm宽带纸,打印加热电压范围4.2-8.5V,电源设计方便。为了减少打印电流,将每行分成六个部分,每个部分有64个点,并进行六次打印。工作序列如图5所示。CLK是移位时钟信号,DAT是打印位数据,LATCH是数据锁存信号,DST是段控制信号。打印数据在CLK时钟的控制下从串行数据线DAT引脚逐位输入打印机,然后在LATCH锁存信号的控制下存储在打印存储器中。将所有数据锁存到数据存储器中后,在DST1-DST6信号的控制下将其加热并打印6次。当某个DST信号有效时,将加热并打印相应的段。 384个数据位正好对应于384个加热点。当该位为0时,不执行加热,并且打印纸上的相应位置显示为白色,否则,纸张显示为黑色。印刷加热时间由DST的持续时间控制,可以控制印刷图形的对比度深度。CS。根据图5中的时序,结合以上设计思想,在CPLD中抽象了功能图。图6. Buffer1缓冲步进电机驱动信号,驱动打印头四相精密步进电机,Buffer2缓冲打印头过热和缺纸传感器信息。从端口P0写入Buffer1的数据,从端口P0读取Buffer2的数据。 DECODER是一种解码器,用于解码6位打印机段加热控制信号。 COUNTER实际上是一个串行到并行转换器,它将并行打印数据转换为串行数据,移位时钟和锁存信号。 5.仿真验证首先,使用硬件描述语言从硬件实体中提取每个独立的单元模块,在EDA工具软件中对其进行调试并生成符号模型,然后生成包含地址分配模块和接口组件的顶层文件。 ,并对其进行仿真。挥手,完成整个设计。图7是打印机数据的并行-串行转换模拟波形图,该波形将CPU输入的并行数据转换为串行数据。串行数据在图5的时序驱动下输入到打印机。在MAXPLUSII中选择CPLD器件,对这部分电路进行时序分析器分析,得到的理论移位时钟的最高频率可以达到111MHz。该结果的意义在于:假设需要在8个时钟后将并行数据移入打印机,当CPU以40MHz工作时,如果将并行数据发送到CPLD,则需要4个指令周期,每个周期指令周期需要12个机器周期,因此CPU发送的每个并行数据的非间隔时间约为(1/40)gt,4?或1.2ps。可以看出,只要CPLD并串转换模块的移位时间小于1.2!s,即工作频率大于0.83MHz,微控制器与打印机之间的零等待时间数据传输即可。可以实现,这对提高打印机的打印速度非常有帮助。图5显示了一个例子,该例子将并行数据2的最低有效位(LSB)首先从右移出。图8是PWM调制转换仿真验证的波形图。 PWM(PulseWideMudulation)脉宽调制电路将模拟信号转换为数字信号,是一种低成本,高性能的A / D采样方法。在该图中,data_cnt计数器在data_en高信号的作用下开始计数clk脉冲,并在data_en低时停止计数。如果此时rd也很低,则将从do数据行中读取data_cnt。显然,这实际上是在计算data_en脉冲宽度。需要说明的一点是data_cnt是一个16位计数器,而CPU是8位。 CPU在s控制信号的作用下两次读取data_cnt值。本文讨论了基于单片机与CPLD协同控制的商用电子秤的设计方案。从应用的角度出发,重点介绍了在典型的单片机应用系统中以CPLD为逻辑控制组件的设计思想和实现方法。其中,用于内存扩展,打印机驱动程序和其他问题的CPLD设计方法对CPU是透明的。其意义不仅在于提高系统的稳定性,减轻CPU的负担,缩短调试周期,降低生产成本,而且可以推广到DSP或其他类型的CPU应用系统中,具有推广意义。值。
Previous: 电子秤的原理与验证
Next: 电子秤零位不稳定的问题及其解决方法