基于嵌入式PsoC的MCU选色控制器设计

基于嵌入式PsoC的MCU选色控制器设计,第1张

摘要:阐述Cypress公司的可配置片上系统(PSoC)的功能及其实现结构;结合选色控制器开发实例,详细阐述使用PsoC开发的方法和流程。其设计方法也可用于其它控制系统或工业自动化等各种应用。

    关键词:PsoC(可配置片上系统) 选色控制器MCU

引言

最近几年,随着电子技术及半导体工艺的迅猛发展,片上系统(SoC),特别是可配置片上系统PsoC(Programmable System on Chip),已逐渐成为微控制器的主流产品。因此,要求设计工程师必须迅速地掌握SoC的开发特点和要求,尽快融入SoC的开发大潮中去。但是,SoC系统设计带来了与传统系统设计全然不同的挑战,其中包括从处理器和存储器的选择到产品环境的考虑。如果设计工程师能够深入理解SoC的开发特点,并且考虑部件之间如何交互,以及各种因素带来的影响等问题,就可以直接提高产品设计的成功率和开发效率,降低系统开发的复杂性和费用,同时增强系统的可靠性和抗干扰能力。

文章根据本人的开发经历,结合选色控制器的开发过程,为设计工程师提供指导,从所有层面上帮助他们为今后的设计项目做更好的准备。

人们在各种各样的微控制器和嵌入式控制系统设计过程中发现,并非不同的设计就必须用到完全不同的外围器件;相反,这其吸大量共的部分,因此,启发了芯片设计工程师建立此种可配置微控制器。在芯片内建立一些通用的数字和模拟块(digital and analog block),把它们配置成微控制器的各种功能模块(Module)。这样,在ASIC设计过程中,应用工程师就可以根据自己的不同设计要求调用不同的功能模块,完成芯片内部的功能配置,实现使用一块芯片就可以配置成具多种不同外围器件的微控制器。

目前,市场上有Cypress MicroSystems,InC和Cygnal Integrated Products,Inc生产可配置的SOC微控制器。本控制系统选用Cypress MicroSystems,Inc生产的M8C内核PsoC微控制器作为控制核心。
基于嵌入式PsoC的MCU选色控制器设计,第2张
    下面我们首先熟悉开发的任务要求。选色控制器是一个由信息采集、键盘、显示及输出驱动等部分组成的控制系统,主要用来取代进口和国产剑杆织机上的纸带输入式光电纬纱选色器。

为了便于用户根据不同的实际需要对工作方式及其它参数进行修改,要求所有的参数及组态均可通过面板睥几个 *** 作键进行输入、检查、修改;并可在突然并机的情况下,重新开机后,自动恢复断点参数信息。

根据用户提出的技术指标,我们还必须把它进步量化,并且进一步完成功能设计方案。

1 硬件方案设计

1.1 选择微处理器

在设计任务确定后,应对控制系统所需要的硬件做出初步估计和选择。微处理器是整个控制系统的核心,它的选择将对整个控制系统产生决定性的影响。一般应从以下几个方面考虑微处理器是否符合控制系统的要求:字长、指令的种类和数量、内部寄存器的种类数量、微处理器的速度、中断处理能力以及微处理器的外围电路配套等。对于外围器件的来源、软件的运行等也是设计人员必须考虑的因素,因为其涉及到整个系统实时控制能力以及硬件和应用程序的分开。

Cypress MicroSystems,Inc生产的PsoC是新一代功能强大的8位可配置微控制器。PsoC微控制顺片内有8根独立的输入和输出总线,分别与数字和模block相连。其内部可用的block资源包含:4个基本类型和4个通信类型的数字block,各有3个CT、SCA和SCB类型模拟block。使用这些资源可以配置成不贩功能模块,用以实现微控制器标准外围器件的功能。

使用基本类型数字block可配置:

*计数器(counter);

*定时器TImer);

*脉宽调制(PWM);

*循环冗余码校验(CRC)串行接收(serial receiver)。

使用通信类型数字block可配置:

*基本数字block;

*串行发送(serial transmitter);

*串行接收(serial receiver);

*SPI主端(SPI Master);

*SPI从端(SPI Slave)。

使用模拟block可配置:

*多极滤波器(mulTI-pole filters);

*放大器(gain stages);

*数模转换(DACs);

*模数转换(ADCs)。

在模块功能设计方面,Cypress公司把各种常用处理器的外围器件作为设计Module的标准,把芯片内数字和模拟block资源组配成标准的功能模块(module),并把这些功能模块存储在器件库中。用户通过使用其提供的集成开发平台(IDE),调用这些功能模块、设定模块时钟输入,配置全局变量和局部变量,设定用户功能参数,完成功能模块的配置。另外,这些功能模块还可以相互连接,以完成更加复杂的功能。因此,通过合理的配置数字和模拟block就可以在片内实现大部分外围器件的工作。并且,由于设定的参数量存储在片内Flash中,因此,无论是在设计之初,还是在产品应用现场,工程师均通过软件重新配置数字和模拟block参数,从而增加/删除功能模块,定义输入/输出引脚,完成硬件升级。这就是可编程嵌入式片上系统的动态重新配置能力(Dynamic ReConfigurability)。因此,可配置片上系统(PSoC)允许用户根据自己的需求,定义整个系统所需要的功能模块的种类和数量,分配芯片的资源,完成芯片内部的功能配置。

本系统使用PSoC微控制器具有三个明显优势:①通过使用数字和模拟block配置不同的外围器件,大量的外围器件可以设计成SoC;②通过使用内部总线连接用户所选的功能,用户可以建立实际系统信号链,减少大量的外部线路,甚至可以重新分配输入/输出引脚,帮助优化电路板的布局;③最大的益处是它可以实时重新定义模块功能,迅速完成硬件升级,能够适应非常复杂的实时控制需求,同时增强系统的可靠性和抗干扰能力。

1.2 确定总体控制方案

选色控制方式是一种典型的顺序控制方式。顺序控制是工业自动控制系统中一种常见的控制方式,其控制系统一般具有以下一些特性:开关信号量多、定时范围大、逻辑关系复杂、可靠性要求高等。因此,在总体方案设计时必须考虑其控制特点。

PSoC微处理器的所有输入/输出引脚都可以申请中断,各个内部数字和模拟模块也可以申请中断。因此本系统可以根据要求,方便灵活地申请执行多个中断。

经过对上述各项认真分析后,就可以画出整个系统的概略框图。本选色控制系统是由存储器、输入/输出电路、液晶显示模块、键盘电路等部件构成,其系统组成如图1所示。

1.3 具体硬件设计方案

进入具体设计阶段,必须认真考虑和反复权衡硬件和软件的分工及比例。

硬件和软件设计过程必须同时进行,两者相辅相成。对于本控制系统的设计来说,由于大部分外围器件的功能是在微控制器片内实现的,因此,外部硬件的主要工作集中在输入/输出接口设计上,而输入/输出接口设计又往往和控制程序交织在一起。此外,存储器的连接和扩充也是必做的工作。

硬件设计过程中,器件应注意筛选,在布线和安排时,注意制作技术和装配技术,以克服电气干扰。下面就是具体的硬件设计:在单片配备8位液晶显示器,2×4的键盘,8KB的存储器。输入/输出都采用光电隔离,每一路输出还经过功率放大。

(1)PSoC微控制器

PSoC微控制器控制系统中最主要的部件,它完成对输入信号的判断和逻辑运算,产生时序控制信号,对PSoC微控制器的配置可以通过其系统提供的IDE集成开发平台上的图形工具来完成。选择本控制系统所需的计时器、放大器、液晶等功能模块,配置其内部参数,指定其输入与输出关系,主、输出引脚。在全局变量部分要配置CPU的工作频率、系统时钟、中断、电荷泵以及其它特性,以此完成PSoC微控制器片内配置。

(2)存储器

存储器用来存储工作参数和用户应用程序。随机存储器有动态随机存储器DRAM和静态随机存储器SRAM两种。DRAM虽然价格低,但它需要不断刷新。PSoC单片机没有刷新功能,为了使用DRAM,不得不增加刷新电路。这样总的价格并不低,且使电路复杂化,可靠性降低,因此本系统中采用SRAM——6264。

当6264的CE1为高电平或CE2为怦时时,6264处于低功耗的保持状态,此时流过的电源电流为维持电流,只有μA级。在保持状态的情况下,VCC可降至3V左右,内部所存储数据不会丢失。由此可见,只要在掉电之后保持CE1为高,并保持VCC大于3V,就可保持RAM中所存储数据不变,且消耗VCC的电流很小。由此可以建立数据存储保护电路

(3)液晶模块

字符型液晶显示模块是一类专用于显示字母、数字、符号等的点阵型液晶显示模块。字符型液晶显示驱动控制器广泛应用于字符型液晶显示模块上。目前PSoC微控制器内液晶模块仅支持HD44780U显示驱动控制器。

(4)输入电路

单片机只能接受0~5的逻辑电路平信号,而现场工作信号是按钮、行程开关。输入电路完成电平转换任务,同时为了系统的安全和可靠,还要考虑信号的滤波和隔离问题。

本系统采用的是光电隔离及电平转换电路。光电耦合器以光电转换原理传输信息,它不仅使信息发出端(收侧)与信息接收并输出端(二次侧)是电绝缘的,从而对地电位差干扰有很强的抑制能力,而且有很强的抑制电磁干扰能力,且速度高、价格低、接口简单,因而得到广泛的应用。光电耦合器的一次侧都是发光二极管,但是二次侧侧则有多种结构,如光敏二极管、光敏晶体管等,因而就有二极管-二极管光电耦全器、二极管一晶体管光电耦全器等多种型号的光电耦全器。本系统选用TPL521-4,它在同一个封装内4个相同而独立的光电耦合器。TPL521主要用于工业控制中,其速度不高。

(5)输出电路

输出电路主要包括两部分:一是隔离,二是功率放大。在顺序控制系统中,单片机输出的控制信号常用来控制继电器等执行机构,它们需要较大的功率,因此输出信号需要光隔离和放大后才输出到执行机构。

2 织机选色器的功能设计

织机选色控制器是一个可以编程的顺序控制器。它有两个工作状态:编程状态和运行状态。编程状态的主程序的功能为更新显示器上显示的内容、用户键入编辑相应的用户程序。键盘有MOD、TAB、INC、DEC、ENT这5个键,用于输入程序和参数。下面介绍这些键的功能。

MOD模式键:用于编程状态和运行状态之间的切换。编程状态下,用户可以完成用户程序的编辑;运行状态下,用于显示程序执行的步骤。

TAB光标移动键:用于屏幕光标的移动,随着光标处于不同的变量位置,表明此变量处于编辑状态。此变量可以编辑。

INC增加键:在编程状态下,按下此键,光标所在位置的变量加1。

DEC减少键:在编程状态下,按下此键,光标所位置的变量减1。

ENT确认键:变量改变后,按此键确认更改。

为了使织机选色器能按照用户输入的程序执行,我们设定了固定的程序格式。用户按此格式输入用户程序,织机选色器就可按程序进行工作。其格式如下:

程序号段号色号纬数最大段号

程序号:表示执行或编辑的程序名称。

段号:表示程序步的标号。

色号:表示此次选中的颜色。

纬数:表示打纬的次数。

最大段号:表明程序循环段数。

使用以上定义的几个键,就可以完成用户程序输入。在开机后处于运行状态中,此时执行监控中的键盘、显示器管理程序,输入信号监控。根据输入信号执行用户预先存储在存储器内的程序。

3 具体软件设计方案

用户通过键盘编写用户程序,为此在外部存储空间中预留一定的存储空间供用户存储用户程序。用户可以随时调用、查看、编辑自己的选色程序。具体做法根据程序号确定高位址,根据段号确定低位地址,然后向不同字节写入色号和纬数的信息,最大段号存放在一个固定的地址中。在工作过程中,同样根据程序号确定高位地址,根据段号确定低位地址,然后读出存放在不同字节内的色号和纬数信息。

4 MCU内部资源配置

和普通的ASIC设计相比较,PsoC的设计首先必须完成片内功能模块的设计。因此,可配置片上系统设计流程和集成开发环境上也与通用的ASIC设计流程及集成开发环境有所不同。PSoC设计必须首先完成芯片内部资源的规划,其片内资源设计流程具体为:

*确定系统需求;

*选择用户模块;

*放置用户模块;

*设置全局变量和用户模块参数;

*定义输出引脚;

*产生应用代码;

*编辑应用代码。

因此,在集成开发环境内按照设计流程完成设备编辑器参数配置。

图2

    4.1 用户模块的选择和放置

选择TImer16、TImer8、PGA、SAR6、LCD模块,如图2所示。IDE内含用户模块描述、说明,以及用户指导/代码摘录、阅读模块的用户指导信息,以供配置使用。数字模块放置一般没有什么限制,尽量使用基本类型的数字模块;模拟模块只能放置在允许的位置。

4.2 设置全局变量和用户模块参数

全局资源

24V1=16 ;配置系统时钟一

24V2=16 ;配置系统时钟二

Timer16模块

Clock=CPU_32KHz ;时钟选择

Capture=Low ;捕捉功能关

Period=65535 ;配置period

CompareValue=Terminal Count

;指定中断类型

InterruptType=Terminal Count

;指定中断类型

Output=None

Timer8模块

Clock=CPU_32KHz ;时钟选择

Capture=Low ;捕捉功能关

Period=255 ;配置period

CompareValue=Terminal Count

;指定中断类型

InterruptType=Terminal Count

;指定中断类型

Output=None

PGA模块

Gain=1 ;单元增益

Input=AnalogColumn_InputMUX_3

;信号输入

Reference=AGND ;参考地

Analogbus=Disable ;输出总线

AnalogColumn_InputMUX_3=PORT_0_2;输入总线

Specify Pinout P0[2]=Analog_Input

;模拟输入引脚

SAR6模块

SignSource=ACA03 ;信号选择

ClockPhase=Normal ;时钟选择

LCD模块

LCDPort=Port_0 ;数据口

BarGraph=Enable ;启用

4.3 定义输出引脚

输入/输出引脚指定

P2[2]=StdCPU RisingEdge(Int);选色

P2[3]=StdCPU DisablrInt ;倒棕输入

P2[4]=StdCPU DisablrInt ;加纬

P2[5]=StdCPU DisablrInt ;减纬

P1[1]=AnalogColumn_InputMUX_3(High Z)键盘输入

4.4 产生应用代码

在完成功能模块的参数配置工作后,系统就自动生成应用程序接口API和中断服务程序ISR,并且自动插入到工程项目中。设计工程师可在此基础之上填写应用代码,完成用户程序的编制。

结语

总的来说,在基于PSoC的选色控制系统中,除了个别无法集成的器件以外,选色控制系统所应用的大部分器件均可以集成到PSoC芯片中去,应用系统电路板变得很简洁,这对于减小系统的体积和功耗、提高系统的可靠性都是非常有利的。与传统解决方案相比,可配置嵌入式片上系统提供的解决方案具有无法比拟的优越性。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2420934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-01
下一篇 2022-08-01

发表评论

登录后才能评论

评论列表(0条)

保存