基于CPLD的电子秤逻辑接口设计

* 来源: * 作者: * 发表时间: 2020-04-28 0:24:42 * 浏览: 193
现代电子仪器系统越来越具有多功能性和智能性,随着实际应用的变化,可能需要它们随时升级系统功能。因此,硬件设计越来越依赖于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来代替传统的低密度AISC器件,充分发挥CPLD的优势,并使CPU大约对外部设备透明。这样您就可以专注于过程信息的处理,而更多地参与硬件控制。图2中的CPLD使用一个Altera MAX7000系列CPLDEPM7256AET144-7。该芯片有144针,可以解决功能模块的控制和驱动问题,包括内存访问,键盘扫描,显示等。所有外围设备的逻辑接口大大减小了整个操作控制主板的面积系统,大大提高了整体性能的稳定性。 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存储单元。寻址实现方法:对于每个寻址单元,MCU发送两次地址号,第一次从P1端口发送块/页面地址号,从P2 / P0端口发送页面地址号。第二次。块地址不能直接发送到目标设备,而是在CPLD解码后发送到相应的设备,如图3所示。显然,P0端口仍然复用为数据总线和低8位地址总线。通过CPLD锁存PLD端口后,将其用作存储器的低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的持续时间控制。持续时间可以控制打印的灰度的对比度图片。根据图5中的时序,结合上述设计思想,在CPLD中抽象出功能图,如图6所示。Buffer1缓冲步进电机驱动信号,驱动打印头四相精密步进电机,而Buffer2缓冲打印头过热和缺纸传感器信息。从P0端口写入Buffer1的数据,并从P0端口读取Buffer2的数据。 DECODER是一个解码器,可转换6位打印机段加热控制信号。 COUNTER实际上是一个串行到并行转换器,它将并行打印数据转换为串行数据以及移位时钟和锁存信号。 5.仿真验证首先,使用硬件描述语言将每个独立的单元模块抽象为硬件实体,在EDA工具软件中对其进行调试并生成符号模型,然后生成一个包含地址分配模块和接口组件的顶级文件。 ,并模拟波形以完成整个设计。图。图7是打印机数据的并行-串行转换的模拟波形图,其将CPU输入的并行数据转换成串行数据。串行数据在图2的定时驱动下输入到打印机。 5.在MAXPLUSII中选择CPLD器件,对电路的这一部分进行时序分析器分析,得到的理论移位时钟的最高频率可以达到111MHz。该结果的重要意义是:假设需要在8个时钟后将并行数据移入打印机,当CPU工作在40MHz时,如果将并行数据发送到CPLD,则需要4个指令周期,每个指令周期需要使用12个机器周期时,CPU发送的每个并行数据的不间断时间约为(1/40)gt,4?,即1.2 ps。可以看出,只要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值。本文讨论了基于MCU和CPLD协同控制的商用电子秤的设计方案。从应用的角度,它着重于在典型的MCU应用系统中使用CPLD作为逻辑控制组件的设计概念和实现方法。仿真验证了设计的正确性。其中,用于内存扩展和打印机驱动程序的CPLD设计方法对CPU是透明的。其意义不仅在于提高系统的稳定性,减轻CPU的负担,缩短调试周期,降低生产成本,而且推广到DSP或其他类型的CPU应用系统中,具有推广价值。