新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 恢复模糊逻辑专用器件新方案

恢复模糊逻辑专用器件新方案

作者:时间:2006-05-07来源:网络收藏

自Lofti Zadeh首次提出模糊逻辑理论以来,模糊逻辑已向前迈出惊人的步伐,特别是关于此理论的实用研究方面。的确,从前,属于大学研究中心的课题,现在是工业所用的强有力的工具。实际上,模糊逻辑基应用正在日益增长,这不仅仅包括高档和高技术应用,而且特别是在消费类产品中应用增长更快。

现在,模糊逻辑的大多数应用是用写在标准微控制器中的软件程序实现的。这种方法尽管具有经济和其他优点,但在灵活性和合成性方面有某种限制,尤其是在执行算法性能方面有局限性。

这些因素导致VLSI设计人员想到用专用器件实现模糊计算。确实,已有了模糊协处理器,它们与标准微处理器结合提高了计算和控制性能。然而,这种器件在很多情况下不是一种经济方案,因为它们需要两个“贵重的”元件外加一些接口逻辑。

因此,实现模糊逻辑基控制系统的正确方法是用专用器件,这种专用器件具有模糊计算能力、标准微控制器特性、“传统”布尔计算能力、I/O单元和片上外设。这就是STMicroelectronics公司提出的ST52家族元件方案。

ST52x420Dualogic TM 微控制器

“DualogicTM”一词的意思是器件具有布尔和模糊两种计算功能。为此,它提供微控制器标准的指令系统:送数、加、减、乘、除、逻辑AND、逻辑OR、位方式移位、无条件和条件转移、子程序调用、控制指令。模糊计算单元是在程序开始模糊指令部分时传递控制的辅助结构。这样的模糊指令部分可在程序中使用多次,;而且用几个模糊计算块不仅仅为了实现系统控制,也可实现其他功能(如“虚拟传感器”或自适应控制)。对于这种应用,传统的微控制器的功能是选择哪种控制来执行,而模糊功能去实现它。

除了上述功能外,为了执行控制,它还具有从传感器或从其他器件采集数据的外设。实际上,ST52x420配备有8通道8位A/D变换器、23条可配置I/O引脚、看门狗定时器、3个PWM/定时器(带16位预定标计数器的8位“自动重新输入”计数器)。通过外部引脚可以驱动其中一个PWM/定时器,以便获得像事件计数器、输入捕获和输出比较这样的功能。所有PWM/定时器可产生定时器和PWM中 的波形。为了控制PWM模式中3相全桥驱动器,有单独的引脚提供负向波形。图1示出ST52x420功能框图。

总之,可以说ST52具有实现智能控制的所有功能:采集数据、管理信息、做出判断、计算控制动作和执行控制。这些性能使控制系统实现的成本降低,所以可以说产品的战略是经济的。

FUZZYSTUDIO TM 4

无论如何,一个好的低成本元件对经济应用是不够的。事实上,产品的上市时间是基本法则,这意味着为了缩短应用设计的时间(从而降低成本),需要强有力的和易于使用的开发工具。为了满足这种要求,STMicroelectronics公司提供ST52家族开发系统FUZZYSTUDIOTM4,为低档微控制器编程提供新设计方法。这种方法称之为“视觉方法”,为器件编程提供快速、简单的方法,不需要用汇编程序,从而缩短了开发时间和降低了成本。用户接口是某些“奇才(Wizards)”构图成的简单直观图像支持和编辑环境。

由设计人员对微控制器进行编程的主要操作如下:

·器件和外设配置

·变量定义和初始化

·主程序定义

·用户的流程定义

·中断服务子程序定义

图2示出FUZZYSTUDIOTM4概观。

FUZZYSTUDIOTM4执行上述操作借助于目标视窗,目标视窗包含进入开发编程操作环境的树形视图。双击“Peripheral”项,便可进入外设配置环境。借助能提供外设性能指标的参数表就能执行这种操作,而不用写任何代码行,仅仅用鼠标点击引导选择就行。应考虑到,为了配置外设必须编程几个寄存器的每一位,连续地保持数据表在视野之下。用新的方法,不仅仅能较快地得到配置,而且也能避免编程不允许配置的错误差。在编译期间自动生成相应的代码。

双击“Variables”项便进入变量定义和初始化视窗。此操作与“寄存器文件”中通用寄存器的一个符号名称有关,另外,可以定义变量类型。可用的变量类型是“Byte”,"Signed Byte"“Word”,“Signed Word”。根据变量类型,编译程序把指令编译为处理符号和16位变量类型的一种方式。符号变量类所采用的变换不是传统的二进制补码,而是基于128的数据移动,在这种方式中,当寄存器值为0时变量值是-128,当寄存器值为128时变量值是0,当寄存器值为255时变量值是127。在Signed Word类型中加128到最高有效字节。采用这种变换的原因是:在执行控制时它具有某些优点、用ST52家族指令系统最容易处理。双击“Table”项打开视窗以便定义常数和数据表(或查找表),数据表做为常数向量处理。

FUZZYSTUDIOTM4开发系统最重要的特性之一是程序编辑。可借助互连功能单元组成的框图定义编写程序。微控制器的每一功能对应于一个功能单元。功能如下:

·算术和逻辑编程(运算单元)

·模糊系统定义(模糊单元)

·修正程序流程的条件结构(条件单元)

·外设使能/禁止(外设单元)

·程序调用(调用单元)

·与外设和I/O数据交换(发送和接收单元)

·中断设置(中断屏蔽和中断优先单元)

·中断等待和暂停(等待和暂停单元)

·低级编程(汇编单元)

每个单元与一个相配的编辑相关,双击单元便可选取。运算单元编辑是一个简单的文本编辑,它能写算术和逻辑高级指令、控制指令(如IF,WHILE,FOR)和借助存在精密外设寄存器中的预定义变量与外设相互联系。所用语法与“C”语言相同。条件单元用简单的编辑单元来插入条件以修正程序的逻辑流程。用鼠标点击检查单元编程外设所执行的功能,在处理外设单元时检查单元能确定所选外设是否使能、停止或复位。以同样的方式使能或禁止每个中断。与外设的数据交换(例如定时计数器初始化或并行端口数据读)用选择器件列表中的目标/源器件和变量列表中的源/目标变量来执行。这两种列表适用于发送或接收单元。

最重要的编辑是模糊系统编辑,它能开发模糊逻辑的图像和“视觉”编程能力。第一级编辑用于定义模糊系统结构以建立输入和输出变量数及其特性和与程序全局变量的联系。每一个图标代表一个模糊变量:双击它便开放Member ship Function编辑;它完全是图形化的,这便于进行设计和用简便快速点击鼠标修改函数形状(三角形和梯形)。此外,在模糊系统图中包括表示模糊规则单元的图标。双击它便进入Rule Editor,用人机对话工具可快速确定模糊规则,这可避免可能的语法或键入错误。此工具插入规则的关键词以及模糊变量的名称和隶属函数(从适配列表选择或点击合适的键)。可用的列表和使能键只是语句和语义上容许的。

中断服务程序和用户程序编辑几乎等同于主程序编辑,唯一的差别是它们必须分别用“RETI”(从中断返回)和“RET”(从子程序返回)结束。

完成程序后,执行编译步骤,生成具有不同格式的码文件。第一种格式用类似于'C'正本语言的FSCode表示,它代表程序,而且用框图描述。从这种文件产生ST52汇编程序码。最后产生存入器件存储器的二进制码。借助FUZZYSTUDIOTM4所含的芯片编程功能执行输入步骤,通过计算机并行端口在套件所含编程板上执行数据下载。

在应用的实际实现前,应该用调试程序来测试程序和器件性能。调试程序能执行整个芯片仿真,包括中断和外设,借助变量“观测(watch)”和信号及程序变量的图像瞬时图提供仿真数据。为了便于调试,程序也可被逐条指令地检查。另外,它也提供某些典型的调试程序性能(如断点或信号和变量设置)。

综上所述可见,FUZZYSTUDIOTM4是开发ST52模糊微控制器应用的一种完整系统。另外,它为用户提供非常直观的编程方法,使其成为容易使用强有力的开发工具。

新器件和开发系统

ST52x420 器件是ST52模糊微控制器家族(ST52x301是第1个型号)的一个型号。新器件ST52x430的样品已生产出,它具有双倍的存储器容量(256RAM存储单元代替128存储单元,程序存储器扩展到8K字节)。实现UART协议的SCI(串行通信接口)已增添到已有外设中。

另外,具有不同外设组合的其他器件正在设计中。

同时,STMicroelectronics公司正在开发软件工具的新版本。

新器件和新开发系统即将推出。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭