微型热敏打印机使用说明strp_第1页
微型热敏打印机使用说明strp_第2页
微型热敏打印机使用说明strp_第3页
微型热敏打印机使用说明strp_第4页
微型热敏打印机使用说明strp_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学毕 业 设 计(论 文)题 目基于Cortex M3的微型热敏打印机控制电路设计与实现专 业电气工程及其自动化学生姓名李前洋班级学号B080504 B08050425指导教师张腾飞指导单位南京邮电大学自动化学院 日期:2012年 03月 14日至 2012年 06月 05日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。 论文作者签名: 日期: 年 月 日摘 要微型热敏打印机在现代生活中应用得越来越广泛、深入,随着用户需求的多样化,市场上出现了各式各样的专用微型打印机,但由于其种类繁多,针对性太强,各个厂商之间的产品互不兼容,造成了一定的资源浪费。笔者为微型热敏打印机开发了一套完整的控制电路,编写具有专门数据接口的上位机来控制嵌入式芯片进而控制微型热敏打印机打印数据,使得相关人员在二次开发时可以专注于应用开发。本文详细地介绍了基于Cortex-M3的微型热敏打印机控制电路的设计与实现、上位机的编写、多线程技术的应用等,同时也给出了开发STM32F103系列最小系统板的具体过程,以及开发过程中的注意点等,此外作者也给出了自己在实际开发中掌握的一些技巧及开发经验。关键词:热敏打印机;嵌入式系统;STM32;PCB设计;VB.NETABSTRACTMiniature thermal printer applications in modern life is more extensive in modern life, in-depth, with the diversification of users needs, a wide variety of special micro-printer comes out in the market, but because of its wide range of targeted too, all the products are not compatible between manufacturers, resulting in a waste of resources.I have developed for the miniature thermal printer with a complete set of control circuit, to write with a special data interface, the host computer to control the embedded chip and then control the miniature thermal printer, print data, and enables staff can focus on application development in the secondary development . This article described in detail based on the Cortex-M3-miniature thermal printer control circuit design and implementation of the host computer to write multi-threaded application, minimum system board in the development of STM32F103 series is also given specific process, as well as development attention to points in the process, in addition to the author also gives the master in the actual development of skills and development experience.Key words:Miniature Thermal Printer;Embedded Operating System;STM32;PCB Design;VB.NET目 录第一章 绪论11.1 课题背景11.2 嵌入式的定义11.3 嵌入式的发展历史21.4 嵌入式系统的应用领域41.5 本文结构安排5第二章 总体方案设计62.1 STM32单片机简介62.2 热敏打印机介绍92.2.2 热敏打印机常规驱动控制方式102.3 系统功能及结构122.4 总体方案设计132.4.1 上位机编写软件选择132.4.2 主控芯片选择132.5 本章小结14第三章 硬件单元设计153.1 最小系统板的设计153.1.1 最小系统板开发软件介绍153.1.2 最小系统板硬件设计173.2 电源模块的设计203.3 控制电路的设计213.4 本章小结22第四章通信协议234.1 RS-232串口通信协议234.2 打印机控制命令244.3 本章小结26第五章 软件单元设计275.1 开发工具介绍275.1.1 Visual Studio 2010275.1.2 Keil Vision4 (RealView MDK)285.2 多线程技术285.3 上位机编写295.4 本章小结31第六章系统调试326.1 第一阶段调试326.2 第二阶段调试326.3 本章小结34结束语35致 谢36参考文献37附录A 上位机软件部分代码38第一章 绪论1.1 课题背景通信电子计算机自20世纪40年代诞生之后,一直向着高性能和智能化两个方向发展。但在近20年间特别是近10年,借助于微电子技术、通信技术和感知测量技术的发展,一个完整的计算机系统可以在更小的空间内实现,且仍能满足用户的需求,这使得计算机系统的应用范围从传统的科学计算与信息处理进一步拓展到通信、娱乐、视讯、测量、控制、国防、航空航天等各类应用,这种趋势体现为近年嵌入式技术的兴起,大量计算机系统设计的折目标,也由传统的以高性能为重偏向更加强调满足用户需求和资源约束的平衡设计。在这种产业背景下,作为一家在20世纪90年代初刚刚推出ARM内核的小公司,就在20年内迅速成长为全球领先的嵌入式与移动领域的旗舰厂商,今天,基于ARM内核的芯片年销量就超过百,ARM已经成为嵌入式领域的事实标准之一。Cortex系列内核是ARM公司在新的技术条件推出的全新ARM内核产品,并按照市场和应用不同分为高性能、控制和实时应用三个系列,即Cortex-A,Cortex-M和Cortex-R,其中Cortex-M3内核旨在面向控制类应用,提供一种高性能,低成本、具有卓越计算能力和出色中断响应速度的32位嵌入式平台。由于Cortex-M3定位准确,出色地平衡了成本、性能、功耗等各方面的要求,在市场上迅速被ST,TI,Philips/NXP等众多厂商所接受,并在实际中替代了传统应用中大量的16位和高端8位芯片。其中,ST公司推出的STM32F103系列通用微控制芯片性能优越、成本低廉、资源丰富,尤其适合工业自动化测控应用,自推出伊始就获得了市场的高度认可并在实际中获得了广泛应用,也恰好为本课题偏重市场和自动化类应用的定位提供了完善的硬件支持。1.2 嵌入式的定义由于嵌入式系统技术与非计算机学科如电子、通信、传感与测量、控制等学科的结合非常紧密,应用范围非常广泛,以至于很难给出一个严格的、公认的嵌入式系统定义,这里仅给出一个比较全面合理的说明:嵌入式系统是以应用为核心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。在上述关于什么是嵌入式系统的说明中,有这样几个要点:l 以应用为中心:强调嵌入式系统的目标是满足用户的特定需求,而不是像前的PC机那样定位在通用信息处理。就绝大多数完整的嵌入式系统而言,用户打开电源即可直接享用其功能,无需二次开发或仅需少量配置操作。l 专用性:嵌入式系统的应用场合大多数对可靠性、实时性有较高要求,这样就决定了服务于特定应用的专用系统是嵌入式系统的主流模式,它并不强调系统的通用性和可扩展性,这与20世纪80年代强调通用化的微型计算机技术在出发点上是根本不同的。这种专用性通常也导致嵌入式系统是一个软硬件紧密集成的最终系统,因为这样才能更有效地提高整个系统的可靠性并降低成本,并使之具有更好的用户体验。l 以现代计算机技术为核心:嵌入式系统的最基本支撑技术,大致上包括集成电路设计技术、系统结构技术、传感与检测技术、嵌入式操作系统(Enbedded OS/EOS)和实时操作系统(RTOS)技术、资源受限系统的高可靠软件开发技术、系统形式化规范与验证技术、通信技术、低功耗技术、特定应用领域的数据分析、信号处理和控制优化技术等,它们围绕计算机基本原理,集成进特定的专用设备就形成了一个嵌入式系统。所以本质上嵌入式系统也是各种技术的集大成者。l 软件硬件可裁剪:嵌入式系统针对的应用场景如此之多,并带来差异性极大的设计指标要求(功能、性能、可靠性、成本、功耗),以至于现实上很难有一套方案满足所有的系统要求,因此根据需求的不同,灵活裁剪软硬件、组建体符合要求的最终系统是嵌入式技术发展的必然技术路线。外围技术系统可靠性设计与评估软件工程与形式化技术传感与测量控制系统分析与综合低功耗系统设计信息处理技术并行计算与系统结构网络与通信传感器网络与物联网核心技术计算机原理电路原理与设计总线与接口技术嵌入式操作系统与基础软件图1-1 嵌入式系统的核心技术与外围技术1.3 嵌入式的发展历史嵌入式系统的发展主要来源于两大动力:社会需求的拉动与先进技术的推动,而且需求拉动为主,技术推动为辅。需求提供了市场,带动了新技术的产生,刺激了新技术的推广,如果没有需求就没有市场,再好的技术也会走向消亡;另一方面,技术在一定程度上也可以反作用于需求,因为先进的技术使得不可能成为可能,使人们最初的梦想成为现实,最终有可能创造出新的需求和市场。大规模集成电路设计技术网络与通信技术传感与检测技术信息处理技术技术驱动嵌入式系统产业控制测量电信能源医疗航天交通安全需求牵引图1-2 嵌入式系统产业的发展动力示意图:需求拉动和技术驱动嵌入式系统的发展也深受这两大动力的左右。让我们简单回顾一下其发展规律:20世纪3050年代:计算机诞生,十余台设计各异的计算机诞生在世界各地,并很快统一到冯诺依曼架构下。1958年,TI公司的杰克基尔比发明了第一块集成电路,从此,计算机技术的发展与集成电路工艺的发展紧密结合在一起。1961年,TI公司研发出第一个基于IC的计算机。1964年,全球IC出货量首次超过10亿美元。1965年,高登摩尔提出了描述集成电路工业发展规律的摩尔定律;同年,中国的第一块集成电路诞生,仅比美国晚了7年。1968年,Intel公司诞生,推出第一片1K字节的RAM。1971年,Intel推出微处理器4004.这是第一块在实际中被广泛使用的CPU芯片。紧接着,TI,Zilog,Motorola分别于1971、1973、1974年推出了基于半导体集成电路技术的CPU。集成电路技术成为计算机工业的基础支撑技术。嵌入式系统从此也步入了它的早期阶段。这一阶段的突出特征是:以微处理器CPU芯片为核心,辅以外围电路,形成一块相对完整的电路模块,用于工业控制等系统中,这种架构与同时期计算机的架构基本完全相同,只不过用途不同而已。这些模块被人称为单板机,意指在一块电路板上实现了一台计算机。即使是在今天,单板机模块依然在很多领域发挥余热。1981年,Intel公司推出了8位微处理器8051,它在单芯片内集成了CPU、4K内存、通用I/O、计数器、串行通信模块以及中断管理模块,已经是一个实用的微控制器(MCU)芯片了。在IC工业的支持下,8051的出现极大降低了计算机应用的门槛,实现了从单板到单片的飞跃,8051因此在实际中获得了极其广泛的应用,其他各大公司如ATMEL、飞利浦、华邦等相继开发了功能更多、更强大的8051兼容产品,即使是在今天,8051架构仍然随处可见。这一阶段的主要特征就是从单板到单片的技术飞跃,以及8051在实现中的广泛应用,可认为是嵌入式系统发展的中期阶段。1990年,ARM公司诞生。1991年,ARM公司推出32位ARM6低功耗内核,旋即升级为ARM7。ARM7成为世界上采用量最大的CPU内核,当今世界ARM内核驱动了超过60亿的设备,成为嵌入式系统领域发展中的重要里程碑。至2009年,采用ARM内核的处理器的销量已经超过了100亿个。2004年,ARM公司推出了Cortex内核系统,Cortex的A,M和R系列分别针对高性能类、微控制器类和实时类应用,既是对过去ARM产品线的重新整理,也包含了大量革命式的技术突破,特别是进一步强化了ARM在低功耗领域的技术优势、Cortex的优点也正在逐步为各大厂商和客户所认识,正在代替传统了ARM系统内核成为客户的首选技术方案。回顾过去的这段历史,我们可以发现,需求是嵌入式技术和系统得以生存发展的根本动因,但是技术的突破也可能创造出新的需求,两者的发展呈现典型的互动关系。任何产业趋势的动向,都应该放到需求拉动和技术驱动的框架下去体味。1.4 嵌入式系统的应用领域嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括: 1、工业控制: 基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。 2、交通管理: 在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。 3、信息家电: 这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。 4、家庭智能管理系统: 水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。 5、POS网络及电子商务: 公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。 6、环境工程与自然: 水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣,地况复杂的地区,嵌入式系统将实现无人监测。 7、机器人: 嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。 这些应用中,可以着重于在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/IP的嵌入式系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探讨嵌入式系统有着十分重要的意义。1.5 本文结构安排本文从结构上大致可以分为四个部分,第一部分由第1章绪论构成,讲述嵌入式系统的概念、历史、应用等;第二部分是第2章,主要分绍了STM32单片机的基本结构及组成,并详细阐述了系统整体方案设计;第三部分由第3至第5章构成,这部分对系统的各个模块作了非常详细的设计说明,其中也会介绍一些相关的开发工具知识以及通信协议等相关知识;第四部分由第6和第7章构成,主要分析了在系统调试过程中出现的各种问题及解决方法,分两个阶段进行,先测试各个模块的功能与稳定性,在各个功能模块正常的情况下联调,进而使整个系统达到设计目标,同时也会作一些细微的改动使系统更加完善。并在第7章给出了结论。第二章 总体方案设计2.1 STM32单片机简介STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。构想STM32简单而强大1+现成的软件固件库USB,CAN电机控制图形库3STM32工具入门工具集IDE编译器调试器实时操作系统2+产品图2-1 STM32产品线的设计理念在平时做开发的时候经常会遇到这样的问题,一方面抱怨16位单片机有限的指令和性能,另一方面又抱怨32位处理器的高成本和高功耗,那么,基于ARM Cortex-M3内核的STM32系列处理器则很好地解决了这个问题。它很好地解决了性能、成本、功耗等因素之间的平衡。而且对我们新手来说最主要就是上手难度问题,STM32很好地解决了这个问题,它自带一个官方的库,而这个库的源代码是开放的,在作相应的地开发时只需将参数改一下即可,十分方便,而且bug也少。其主要特点如下:l 核心 ARM 32位的Cortex-M3CPU 72MHz,高达90DMips,1.25DMips/MHz 单周期硬件乘法和除法加快计算l 存储器 从32K字节至128K字节闪存程序存储器 从6K字节至20K字节SRAM 多重自举功能l 时钟、复位和供电管理 2.0至3.6伏供电和I/O管脚 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)、掉电监测器 内嵌4至16MHz高速晶体振荡器 内嵌经出厂调校的8MHz的RC振荡器 内嵌40kHz的RC振荡器 内嵌PLL供应CPU时钟 内嵌使用外部32kHz晶体的RTC振荡器l 低功耗 3种省电模式:睡眠、停机和待机模式 VBAT为RTC和后备寄存器供电l 2个12位模数转换器,1us转换时间(16通道) 转换范围是0至3.6V 双采样和保持功能 温度传感器l 调试模式 串行线调试(SWD)和JTAG接口l DMA 7通道DMA控制器 支持的外设:定时器、ADC、SPI、I2C和USARTl 多达80个快速I/O口 26/36/51/80个多功能双向5V兼容的I/O口 所有I/O口可以映像到16个外部中断l 多达7个定时器 多达3个同步的16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道 16位6通道高级控制定时器 多达6 路PWM 输出 死区控制、边缘/中间对齐波形和紧急制动 2个看门狗定时器(独立的和窗口型的) 系统时间定时器:24位的、带自动加载功能的l 多达9个通信接口 多达2个I2C接口(SMBus/PMBus) 多达3个USART接口,支持ISO7816,LIN,IrDA接口和调制解调控制 多达2个SPI同步串行接口(18兆位/秒) CAN 接口(2.0B 主动) USB 2.0 全速接口图2-2 STM32F103系列结构框图应用领域: 工业:可编程控制器(PLC)、变频器、打印机、扫描仪、工控网络;家电 :电机控制、应用控制低功耗:手持仪器、三相功率表消费类: PC外设,游戏机、数码相机,GPS平台建筑与安防:警报系统、可视电话发展趋势:STM32推出市场已经有几年了,以后发展将会向无线通信以及面向低成本发展,单片化程度更高,即包含液晶驱动等专用模块,并逐步扩大对消费电子、通信设备及工业控制领域的占有率。同时开发人员的素质也会逐步提高,薪资水平也同等地提高了,这对大学毕业生来说是一件好事,如果在学校开发一些产品对以后走上工作岗位将会有很大帮助。2.2 热敏打印机介绍2.2.1 热敏打印机的原理热敏打印机的原理是,在淡色材料上(通常是纸)覆上一层透明膜,将膜加热一段时间后变成深色(一般是黑色,也有蓝色)。图象是通过加热,在膜中产生化学反应而生成的。这种化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于60时,膜需要经过相当长,甚至长达几年的时间才能变成深色;而当温度为200时,这种反映会在几微秒内完成。图2-3热敏打印机热敏打印机有选择地在热敏纸的确定位置上加热,由此就产生了相应的图形。加热是由与热敏材料相接触的打印头上的一个小电子加热器提供的。加热器排成方点或条的形式由打印机进行逻辑控制,当被驱动时,就在热敏纸上产生一个与加热元素相应的图形。控制加热元素的同一逻辑电路,同时也控制着进纸,因而能在整个标签或纸张上印出图形。最普遍的热敏打印机使用一种带加热点阵的固定打印头,打印头设有320个方点,每一点为0.25mm0.25mm。利用这种点阵,打印机可把打印点在热敏纸的任意位置上。这种技术已用于纸张打印机和标签打印机上。热敏打印机只能使用专用的热敏纸,热敏纸上涂有一层遇热就会产生化学反应而变色的涂层,类似于感光胶片,不过这层涂层是遇热后会变色,利用热敏涂层的这种特性,出现了热敏打印技术。热敏纸是一种特殊的涂布加工纸,其外观与普通白纸相似。热敏纸表层光滑,是由普通纸张作为纸 基,上面涂布一层热敏发色层,都涂在普通纸张表面的一面,发色层是由胶粘剂、显色剂、无色染料(或称隐色染料)组成,没有通过微胶囊予以隔开,化学反应处 于“潜伏”状态。当热敏纸遇到发热的打印头时,打印头所打印之处的显色剂与无色染料即发生化学反应而变色,形成图文。热敏纸被置于70以上环境时,热敏涂层开始变色。其变色的原因还要从它的成份谈起。热敏纸涂层中的热敏成份主要是两种:一种是无色染料或称隐色染料;另外一种是显色剂。这类热敏纸也被称为双组分化学型热敏记录纸。 常用作无色染料的主要是:三苯甲烷基苯酞体系的结晶紫内酯(CVL)、荧烷体系、无色苯酰亚甲基蓝(BLMB)或螺吡喃体系等物质。常用作显色剂的主要是:对位羟基苯甲酸及其酯类(PHBB、PHB)、水杨酸、2,4-二羟基苯甲酸或芳族砜等物质。热敏纸遇热后无色染料与显色剂发生化学反应产生颜色,于是使用热敏纸在传真机上接收信号打印或直接用热敏打印机打印时,图文就显示出来了。由于用作无色染料的品种有许多种,所以显现的字迹颜色就有不同,有蓝色、紫红色、黑色等。2.2.2 热敏打印机常规驱动控制方式热敏控制单元主要有以下几部分:(1) 主控芯片采用Freescale公司S12系列单片机中的MC9S12D64作为主控器件。该器件是一款性能优良的单片机,包含一个16位中央处理单元、64 KBFlash、4 KB RAM、1 KB EEPROM、两个异步串行通信接口和一个同步串行接口等丰富资源,能够满足本设计的需求。该器件具有良好的稳定性,使得打印机能够在恶劣的工业现场使用。(2) 热敏打印头过热保护模块热敏打印头加热时间一般为1 mS,连续加热超过1 s后,很容易烧毁热敏头,所以必须对热敏打印头添加过热保护电路。过热保护电路图如图3所示。图中VH为7.2V热敏打印头驱动电压,VH的供给与否由常开继电器控制。由CPU的一个I/O口输出控制加热电压源控制端TCl,参见图2与图3。TH为外部电阻与热敏打印头内部热敏电阻的分压值。热敏打印头温度升高,则TH电压降低。当热敏打印头温度上升到一定值时,TH电压低于比较器U1B的引脚6参考电压,则引脚7输出一个低电平,此时无论ICI为何值,与门U6的引脚3都为低电平,进而Ql截止,继电器断开,热敏打印头加热电源被切断。同时主控器件检测到比较器U1B的引脚7输出低电平信号,进入中断,暂停打印工作。当检测到U1B的引脚7为高电平后,延时一段时间,出中断。此时若热敏打印头温度降低,TH电压高于U1B的引脚6参考电压后,CPU恢复到正常工作情况;反之,比较器U1B的引脚7输出依然是低电平,继电器保持断开;主控器件再次进入中断模式。这样就可以起到保护热敏打印头的作用。图2-4 过热保护电路(3) 步进电机驱动模块步进电机是将输入的电脉冲信号转换成角位移或直线位移的伺服电动机。FTP-628热敏打印头中使用的是二相四拍步进电机控制打印纸走纸及走纸速度。本系统采用LB1836M进行驱动。LB1836M是低饱和、双通道双向电机驱动器件,常用于微型打印机、相机等便携设备。图2给出步进电机的驱动电路。引脚INl、IN2、IN3和IN4是步进脉冲的输入端。OUT1、OUT2、OUT3、OUT4为步进脉冲的输出端,分别与热敏打印头中电机对应的A、NA、B、NB相连接。OUT1:4与IN1:4的逻辑关系为OUT=IN。输出驱动电压由引脚VS控制,其电压高低决定了步进电机工作电流的大小,影响步进电机运行的快慢,决定走纸快慢。LBl836M输入端的四个步进脉冲可由单片机的PWM0、PWMl、PWM2、PWM3四路PWM通道产生。四路PWM的相位关系为PWM0与PWM2反相,PWMl与PWM3反相,PWM0与PWMl相差/2。图2-5 步进电机驱动电路(4) 数据加载数据加载即将内存缓冲区的数据输出到热敏打印头的移位寄存器中,然后进行打印。由于本设计采用的主控器件带有串行外围接口(SPI),所以将SPI用于数据加载。使用SPI加载数据,不但电路比硬件方式数据移位简化,而且较I/O口模拟串行数据传输的时序移位速度更快,从而整体提高了打印机性能。 如图3所示,将主控器件设为主机,热敏打印头内部移位寄存器设为从机。主控器件MC9S12D64将打印的数据存入SPI数据寄存器。当数据寄存器写入数据后,数据开始传输。数据通过串行时钟线的同步信号循环移位8位,移入热敏打印头内部的移位寄存器中,实现了数据的加载。图2-6 SPI实现数据加载2.3 系统功能及结构本课题研究目的大致如下:1、 掌握热敏打印机的基本工作原理;2、 掌握热敏打印机的数据接口格式;3、 开发热敏打印机外围控制电路;4、 编写上位机软件并实现对热敏打印机的控制。通过以上研究,可以开发出一种简单的只有数据接口的打印机系统,并且可以通过微控制芯片实现打印机的组网控制,即一个局域网共享一个打印机。还可以通过无线网络来共享此打印机,即把控制芯片当作开发对象,这样便变得简单、明了。整个系统结构如下图所示:上位机STM32打印机发送指令发送指令图2-7 系统结构图2.4 总体方案设计本课题系统方案大致如下:上位机采用Visual Studio 编写,向STM32单片机发送数据,单片机接收到数据后做出相应的处理并通过控制电路控制打印机走纸打印数据。 具体的设计可分为这几个部分:上位机编写、电源电路、控制电路、单片机最小系统板。2.4.1 上位机编写软件选择对于上位机的编写现在流行的主要有四种:1、LabView;2、Visual Studio;3、VC+;4、Delphi。对于LabView,它是图形化的编程语言,摆脱了传统文语言需要一行一行写代码的苦恼。可以快速的编写测试测量程序用于验证项目的可行性。并且其是先天的并行语言,有一定的优势。但其也有一些不足的地方。LabView修改程序比较麻烦,一旦要改,改动的地方就非常大。并不如文本语言那么方便。LabView的主要应用领域是在测试测量,而对于其它一些地方,不是很擅长,如做华丽的UI。如果用于测试测量,那么首选LabView,如果涉及到诸如网络应用、数据库、应用软件等,文本语言还是有优势的。考虑到在平时的学习中若编写上位机的话一直使用LabView,没有接触过其它的软件,但用VB无疑是最快速最简便的,实现的功能也足够强大,足以满足我们的基本需要,所以最终采用Visual Basic来编写上位机。2.4.2 主控芯片选择对于主控芯片,现在市面上对微型热敏打印机的控制芯片大概有以下几种:1)51系列单片机这种控制芯片最简单,也最便宜,但是功能太单一,主频有上限,在低速情况下,要求不是很复杂的情况下可以考虑,而且成本相对于其它的来说是最低的。2)ARMARM控制这种打印机具有相当大的优势,内部具体十分丰富的资源,可以应用在要求很高的环境下,并且可以使用操作系统来进行控制,使其更加科学,有效。3)Cortex M3系列单片机速度可达72MHz,外围器件简单,成本低廉。Cortex M3相对于1、2这两方式来说处于中间状态,内部资源及成本均介于两者之间,同时在软件资源上有很多开源的库,程序编写会很方便,个人也认为比较符合此次课题的要求。2.5 本章小结实物图放在后面的章节,本章是系统总体设计,用框图的形式表述就可以了。整个系统最终实物如下图所示:通过对STM32F103芯片及热敏打印机原理等背景知识的介绍,让我们大致对本次课题涉及的主要方面有了大概的了解。同时对后续开发也有一定的帮助。在总体方案设计中先是对上位机软件进行了选择,并对市面上常见的软件进行了简要的介绍,同时也给出了本次课题所采用的方案。本章在整个系统的功能及结构上进行了阐述,并按功能进行划分,逐块设计,给出各个模块所用的方案及具体器件,并最终给出了总体设计方案。图2-8 实物图第三章 硬件单元设计3.1 最小系统板的设计3.1.1 最小系统板开发软件介绍最小系统板采用Altium Designer Winter 09来设计开发,这是一款优秀的软件,Altium Designer Winter 09 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer Winter 09 在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。并集成了现代设计数据管理功能,使得Altium Designer Winter 09成为电子产品开发的完整解决方案一个既满足当前,也满足未来开发需求的解决方案。其主要特性如下:l 三维PCB可视引擎性能大提升以前版本里已经提供的Altium三维PCB可视设计环境可以让工程师在设计的同时实时观看PCB设计的三维外观。通过可视环境,工程师可以直接将机械CAD信息反应在PCB设计上,帮助在元件的放置和距离上做出最优选择。 Winter 09版本优化了内存并将三维PCB可视化系统的速度提升至最高达7倍之多。 其他方面性能的提升还包括:二维制图速度提升3倍;二维透视性能提升11倍;高亮和对比度调试性能提升9倍,三维旋转性能提升5倍。 Winter 09版本还提供了一系列目前已有的显卡的性能对比供用户参考,更好地保护用户的投资,为软件的投入提供最大的回报。这使设计人员能够更好地利用现有的计算硬件。优化三维PCB图形引擎至关重要,由此可以极大的提高整个软件的性能,并降低对硬件的要求,使得系统的反应速度更快,把图形延迟对设计造成的影响变得最小。l 增强PCB建模功能Altium在最新的版本里扩充了其实时三维PCB设计功能。最新的版本支持三维建模的纹理映射,使设计师能过对设计板和元件进行表面处理。 Altium提供增强的过孔功能,并允许在不同信号层上使用不同尺寸的焊盘。过孔的叠加可以支持更高的跟踪密度。工程师还可以通过元件焊盘来实现过孔的偏移。 所有上述的增强型功能都提高了PCB设计的精确性,并为设计板布线和可视化提供了新的设计思路。l 新的交互式布线功能Altium同时将其5月推出的交互式布线功能推向一个新的层次。新的布线引擎对差分对信号和总线的布线(多重布线,和追踪)进行了增强。新的布线引擎支持对当前路径物件的绕过,对现有布线进行环绕并生成新的路径,对路径物件(包括过孔)的推挤,和对布线路径的智能完成。新的引擎同时也保证了布线的速度和流畅性。这样,工程师可以在交互式布线的同时实现差分对和单闭端的管脚交换。这在FPGA器件设计的时候十分有用,因为在很多时候管脚会发生某种特殊的信号。Altium同时还通过交互式的布线引擎来自动解决布线中遇到障碍需要改变各种路径的各种情况。l 设计新概念 Altium还新推出一项技术用于帮助工程师更好的管理从设计到制造的流程。当工程师准备将设计付诸实际生产时,通常会为制造环节的不同人群提供大量各类文件。通常信息主要来源于:原理图,PCB文件,原料清单,元件数据,FPGA和软件的源码及目标文件,以及设计流程报告等。对于同样的文件,有些使用者需要打印,而有些则只需要相应的PDF文档。所以生成正确的文件是一项费时费力的工作,而且随时都有没有及时更新或者发生错误的可能,这在时间和成本方面都有可能代价高昂。Altium Designer 的这一新版本增强了对所有设计文件的版本控制。Altium采用新的技术在设计环境中创建并跟踪文件的更新记录。通过集中管理输出文件的定义和产生过程,整个输出的流程更简单顺畅了。所有的文件都可以轻易生成为各种形式,大部分是智能PDF和在线的格式。该功能和三维的PCB设计环境相链接,工程师可以借此在生成生产文件之前很直观地检测他们的设计,避免不必要的错误。新的设计发布管理功能的向导式界面可以管理设计发布的整个流程,并可以使之向设计团队之外的相关人员开放。通过中央控制面板可以生成各类输出文件,并发送到相关人员。设计发布管理功能还可以对设计进行“快照”,便于设计师进行收回,修改和重新发布,并对所有相对应支持文件进行正确性的检查。该功能可实现设计的多次发布,并提供完整的发布历史以供追溯。在PCB布线阶段,Altium Designer新版本加入了针对制造的设计规则以尽量避免在生产阶段可能会出现问题。工程师得以在设计阶段就可以实时进行一系列问题的检查,避免了后期不必要的返工,可以更快速的把产品推向市场。l 应用控制面板Altium在新版本里推出了应用控制面板,以帮助解决FPGA设计中的一些问题,并可以远程的监测可编程器件内部的设计。Altium的LiveDesign原理让工程师可以把FPGA的设计视为整个设计中一部分。新工具可以让工程师更好的模拟和探索可编程器件内部的设计。应用控制面板不需要Altium Designer的完全许可证就可以下载并安装,并使面板和FPGA设计进行交互,使用户能够调试或者甚至在产品发布以后增加新的功能。l 即插即用软件平台搭建器Altium还在Altium Designer新版本中提出了即插即用的软件平台搭建器的概念。通过Altium NanoBoard可重构硬件平台,工程师可以很容易地“整合”出硬件平台上所需的软件服务。这包括了电子设计中常见的设计元素:例如外设,通信模块,和支持正常工作所需要的各种驱动规则(由NanoBoard提供)。这样,基本但是必要的软件模块设计被简化成拖放预先配置软件模块到设计中,工程师得到了解放,能够真正地专注于核心的产品智能设计。软件平台搭建器提供一系列的驱动和软件规则来支持通过NanoBoard设计平台运行的外设。3.1.2 最小系统板硬件设计最小系统板主芯片为STM32F103VCT6,主要由时钟电路、复位电路、电源电路、JATAG接口及引脚等几部分组成。(1) 时钟电路时钟是STM32单片机的脉搏,是单片机的驱动源。使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。STM32单片机的时钟可以由以下3个时钟源提供:1、HSI:高速内部时钟信号STM32单片机内带的时钟 (8M频率), 精度较差2、HSE:高速外部时钟信号,精度高,来源:i. HSE外部晶体/陶瓷谐振器(晶振);ii. HSE用户外部时钟3、LSE:低速外部晶体:32.768kHz,主要提供一个精确的时钟,一般作为RTC时钟使用。STM32单片机的将时钟信号(例如HSE)经过分频或倍频(PLL)后,得到系统时钟,系统时钟经过分频,产生外设所使用的时钟。图3-1 时钟电路(2) 电源电路VDD2.03.6V:VDD管脚为I/O管脚和内部调压器的供电。VSSA,VDDA2.03.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDD不得小2.4V。VDDA和VSSA必须分别连接到VDD和VSS。VBAT1.83.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32.768kHz振荡器和后备寄存器供电。 3.3V电压芯片选用国家半导体公司(National Semiconductor Corporation)生产的LM1117MPX-3.3型低压差(LDO)稳压器,它的输人电压典型值为5V,输出电压为3.3V,最大输出电流为0.8A。图3-2 电源电路(3) 复位电路本次设计采用的是简单的“RC按键”复位形式,复位电路的连接示意图如图3-3所示,该复位电路可以实现上电自动复位功能和手动按键复位功能。图3-3 复位电路这里存在一个问题:当系统处于正常工作状态下,电源突然有一个较短时间的大幅度抖动,例如在保持了1ms的低电平,此时外部系统(芯片之外的其他系统或工作可能由于这次抖动工作都不正常了或者说工作不协同了)已经紊乱了,但是有可能该复位电路中电容里的电荷还没有放干净尽(在短暂的1ms内无法放干净,可能需要更多的时间),无法使得芯片复位脚变成低电平,没能对系统进行复位,这种情况比较容易发生在电源合闸瞬间(机械接触存在抖动)。为了解决此问题,图3-3所示的复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位(提示:二极管可以导通使得电容尽快放电)。JATAG接口及引脚电路比较简单,这里便不再叙述了。最终的最小系统原理图如下图所示:图3-4 最小系统板原理图最小系统PCB 3D模型如下:图3-5 最小系统板PCB模型3.2 电源模块的设计电源模块主要给控制电路和最小系统板供电,考虑到电流比较小(小于1A),于是采用LDO来供电,电源芯片选取常用的LM2940CT-5,主要参数如下:表3-1 LM2940主要参数输入电压26V最大值温度范围0C T 125C输出电压4.75V Vin 5.25V输出电流1A最大值短路电流1.6A具体电路如图3-6所示:图3-6 5V电源此外对于线性稳压芯片,最好在各个电解电容两端并联一些陶瓷电容,以消除高频噪声,除此以外,对于LM2940这款芯片最好用钽电容,因为铝电解电容的串联等效电阻很大,不适合严格环境下的使用。在实际使用中电流在800mA左右芯片的发热量便很大,为了保证芯片稳定工作便加一块散热片,注意散热片的固定螺丝最好使用尼龙螺丝,因为芯片的螺丝孔一般都是接地的,金属螺丝会引起不必要的短路。此外在接触面涂抹导热硅脂也很必要,实际使用表明采取这些措施以后芯片温度明显下降。3.3 控制电路的设计控制电路主要由MAX232芯片和跳线帽构成,由于现在电脑主板一般不自带串口,所以必须自行设计一套电平转换电路,在众多方案中,采用MAX232芯片是比较通用的做法,同时考虑到测试过程中可能更改连接,便增加了跳线帽。该产品是由美信公司(MAXIM)推出的一款兼容RS232 标准的芯片。由于电脑串口rs232 电平是-10v +10v,而一般的单片机应用系统的信号电压是TTL 电平0 +5v,max232 就是用来进行电平转换的。该器件包含2 驱动器、2 接收器和一个电压发生器电路提供TIA/EIA-232-F 电平。该器件符合TIA/EIA-232-F 标准,每一个接收器将TIA/EIA-232-F 电平转换成5-V TTL/CMOS 电平。每一个发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论