恢復(fù)模糊邏輯專用器件新方案
自Lofti Zadeh首次提出模糊邏輯理論以來,模糊邏輯已向前邁出驚人的步伐,特別是關(guān)于此理論的實(shí)用研究方面。的確,從前,屬于大學(xué)研究中心的課題,現(xiàn)在是工業(yè)所用的強(qiáng)有力的工具。實(shí)際上,模糊邏輯基應(yīng)用正在日益增長,這不僅僅包括高檔和高技術(shù)應(yīng)用,而且特別是在消費(fèi)類產(chǎn)品中應(yīng)用增長更快。
現(xiàn)在,模糊邏輯的大多數(shù)應(yīng)用是用寫在標(biāo)準(zhǔn)微控制器中的軟件程序?qū)崿F(xiàn)的。這種方法盡管具有經(jīng)濟(jì)和其他優(yōu)點(diǎn),但在靈活性和合成性方面有某種限制,尤其是在執(zhí)行算法性能方面有局限性。
這些因素導(dǎo)致VLSI設(shè)計(jì)人員想到用專用器件實(shí)現(xiàn)模糊計(jì)算。確實(shí),已有了模糊協(xié)處理器,它們與標(biāo)準(zhǔn)微處理器結(jié)合提高了計(jì)算和控制性能。然而,這種器件在很多情況下不是一種經(jīng)濟(jì)方案,因?yàn)樗鼈冃枰獌蓚€(gè)“貴重的”元件外加一些接口邏輯。
因此,實(shí)現(xiàn)模糊邏輯基控制系統(tǒng)的正確方法是用專用器件,這種專用器件具有模糊計(jì)算能力、標(biāo)準(zhǔn)微控制器特性、“傳統(tǒng)”布爾計(jì)算能力、I/O單元和片上外設(shè)。這就是STMicroelectronics公司提出的ST52家族元件方案。
ST52x420Dualogic TM 微控制器
“DualogicTM”一詞的意思是器件具有布爾和模糊兩種計(jì)算功能。為此,它提供微控制器標(biāo)準(zhǔn)的指令系統(tǒng):送數(shù)、加、減、乘、除、邏輯AND、邏輯OR、位方式移位、無條件和條件轉(zhuǎn)移、子程序調(diào)用、控制指令。模糊計(jì)算單元是在程序開始模糊指令部分時(shí)傳遞控制的輔助結(jié)構(gòu)。這樣的模糊指令部分可在程序中使用多次,;而且用幾個(gè)模糊計(jì)算塊不僅僅為了實(shí)現(xiàn)系統(tǒng)控制,也可實(shí)現(xiàn)其他功能(如“虛擬傳感器”或自適應(yīng)控制)。對于這種應(yīng)用,傳統(tǒng)的微控制器的功能是選擇哪種控制來執(zhí)行,而模糊功能去實(shí)現(xiàn)它。
除了上述功能外,為了執(zhí)行控制,它還具有從傳感器或從其他器件采集數(shù)據(jù)的外設(shè)。實(shí)際上,ST52x420配備有8通道8位A/D變換器、23條可配置I/O引腳、看門狗定時(shí)器、3個(gè)PWM/定時(shí)器(帶16位預(yù)定標(biāo)計(jì)數(shù)器的8位“自動(dòng)重新輸入”計(jì)數(shù)器)。通過外部引腳可以驅(qū)動(dòng)其中一個(gè)PWM/定時(shí)器,以便獲得像事件計(jì)數(shù)器、輸入捕獲和輸出比較這樣的功能。所有PWM/定時(shí)器可產(chǎn)生定時(shí)器和PWM中 的波形。為了控制PWM模式中3相全橋驅(qū)動(dòng)器,有單獨(dú)的引腳提供負(fù)向波形。圖1示出ST52x420功能框圖。
總之,可以說ST52具有實(shí)現(xiàn)智能控制的所有功能:采集數(shù)據(jù)、管理信息、做出判斷、計(jì)算控制動(dòng)作和執(zhí)行控制。這些性能使控制系統(tǒng)實(shí)現(xiàn)的成本降低,所以可以說產(chǎn)品的戰(zhàn)略是經(jīng)濟(jì)的。
FUZZYSTUDIO TM 4
無論如何,一個(gè)好的低成本元件對經(jīng)濟(jì)應(yīng)用是不夠的。事實(shí)上,產(chǎn)品的上市時(shí)間是基本法則,這意味著為了縮短應(yīng)用設(shè)計(jì)的時(shí)間(從而降低成本),需要強(qiáng)有力的和易于使用的開發(fā)工具。為了滿足這種要求,STMicroelectronics公司提供ST52家族開發(fā)系統(tǒng)FUZZYSTUDIOTM4,為低檔微控制器編程提供新設(shè)計(jì)方法。這種方法稱之為“視覺方法”,為器件編程提供快速、簡單的方法,不需要用匯編程序,從而縮短了開發(fā)時(shí)間和降低了成本。用戶接口是某些“奇才(Wizards)”構(gòu)圖成的簡單直觀圖像支持和編輯環(huán)境。
由設(shè)計(jì)人員對微控制器進(jìn)行編程的主要操作如下:
·器件和外設(shè)配置
·變量定義和初始化
·主程序定義
·用戶的流程定義
·中斷服務(wù)子程序定義
圖2示出FUZZYSTUDIOTM4概觀。
FUZZYSTUDIOTM4執(zhí)行上述操作借助于目標(biāo)視窗,目標(biāo)視窗包含進(jìn)入開發(fā)編程操作環(huán)境的樹形視圖。雙擊“Peripheral”項(xiàng),便可進(jìn)入外設(shè)配置環(huán)境。借助能提供外設(shè)性能指標(biāo)的參數(shù)表就能執(zhí)行這種操作,而不用寫任何代碼行,僅僅用鼠標(biāo)點(diǎn)擊引導(dǎo)選擇就行。應(yīng)考慮到,為了配置外設(shè)必須編程幾個(gè)寄存器的每一位,連續(xù)地保持?jǐn)?shù)據(jù)表在視野之下。用新的方法,不僅僅能較快地得到配置,而且也能避免編程不允許配置的錯(cuò)誤差。在編譯期間自動(dòng)生成相應(yīng)的代碼。
雙擊“Variables”項(xiàng)便進(jìn)入變量定義和初始化視窗。此操作與“寄存器文件”中通用寄存器的一個(gè)符號(hào)名稱有關(guān),另外,可以定義變量類型??捎玫淖兞款愋褪恰癇yte”,"Signed Byte"“Word”,“Signed Word”。根據(jù)變量類型,編譯程序把指令編譯為處理符號(hào)和16位變量類型的一種方式。符號(hào)變量類所采用的變換不是傳統(tǒng)的二進(jìn)制補(bǔ)碼,而是基于128的數(shù)據(jù)移動(dòng),在這種方式中,當(dāng)寄存器值為0時(shí)變量值是-128,當(dāng)寄存器值為128時(shí)變量值是0,當(dāng)寄存器值為255時(shí)變量值是127。在Signed Word類型中加128到最高有效字節(jié)。采用這種變換的原因是:在執(zhí)行控制時(shí)它具有某些優(yōu)點(diǎn)、用ST52家族指令系統(tǒng)最容易處理。雙擊“Table”項(xiàng)打開視窗以便定義常數(shù)和數(shù)據(jù)表(或查找表),數(shù)據(jù)表做為常數(shù)向量處理。
FUZZYSTUDIOTM4開發(fā)系統(tǒng)最重要的特性之一是程序編輯。可借助互連功能單元組成的框圖定義編寫程序。微控制器的每一功能對應(yīng)于一個(gè)功能單元。功能如下:
·算術(shù)和邏輯編程(運(yùn)算單元)
·模糊系統(tǒng)定義(模糊單元)
·修正程序流程的條件結(jié)構(gòu)(條件單元)
·外設(shè)使能/禁止(外設(shè)單元)
·程序調(diào)用(調(diào)用單元)
·與外設(shè)和I/O數(shù)據(jù)交換(發(fā)送和接收單元)
·中斷設(shè)置(中斷屏蔽和中斷優(yōu)先單元)
·中斷等待和暫停(等待和暫停單元)
·低級編程(匯編單元)
每個(gè)單元與一個(gè)相配的編輯相關(guān),雙擊單元便可選取。運(yùn)算單元編輯是一個(gè)簡單的文本編輯,它能寫算術(shù)和邏輯高級指令、控制指令(如IF,WHILE,F(xiàn)OR)和借助存在精密外設(shè)寄存器中的預(yù)定義變量與外設(shè)相互聯(lián)系。所用語法與“C”語言相同。條件單元用簡單的編輯單元來插入條件以修正程序的邏輯流程。用鼠標(biāo)點(diǎn)擊檢查單元編程外設(shè)所執(zhí)行的功能,在處理外設(shè)單元時(shí)檢查單元能確定所選外設(shè)是否使能、停止或復(fù)位。以同樣的方式使能或禁止每個(gè)中斷。與外設(shè)的數(shù)據(jù)交換(例如定時(shí)計(jì)數(shù)器初始化或并行端口數(shù)據(jù)讀)用選擇器件列表中的目標(biāo)/源器件和變量列表中的源/目標(biāo)變量來執(zhí)行。這兩種列表適用于發(fā)送或接收單元。
最重要的編輯是模糊系統(tǒng)編輯,它能開發(fā)模糊邏輯的圖像和“視覺”編程能力。第一級編輯用于定義模糊系統(tǒng)結(jié)構(gòu)以建立輸入和輸出變量數(shù)及其特性和與程序全局變量的聯(lián)系。每一個(gè)圖標(biāo)代表一個(gè)模糊變量:雙擊它便開放Member ship Function編輯;它完全是圖形化的,這便于進(jìn)行設(shè)計(jì)和用簡便快速點(diǎn)擊鼠標(biāo)修改函數(shù)形狀(三角形和梯形)。此外,在模糊系統(tǒng)圖中包括表示模糊規(guī)則單元的圖標(biāo)。雙擊它便進(jìn)入Rule Editor,用人機(jī)對話工具可快速確定模糊規(guī)則,這可避免可能的語法或鍵入錯(cuò)誤。此工具插入規(guī)則的關(guān)鍵詞以及模糊變量的名稱和隸屬函數(shù)(從適配列表選擇或點(diǎn)擊合適的鍵)??捎玫牧斜砗褪鼓苕I只是語句和語義上容許的。
中斷服務(wù)程序和用戶程序編輯幾乎等同于主程序編輯,唯一的差別是它們必須分別用“RETI”(從中斷返回)和“RET”(從子程序返回)結(jié)束。
完成程序后,執(zhí)行編譯步驟,生成具有不同格式的碼文件。第一種格式用類似于'C'正本語言的FSCode表示,它代表程序,而且用框圖描述。從這種文件產(chǎn)生ST52匯編程序碼。最后產(chǎn)生存入器件存儲(chǔ)器的二進(jìn)制碼。借助FUZZYSTUDIOTM4所含的芯片編程功能執(zhí)行輸入步驟,通過計(jì)算機(jī)并行端口在套件所含編程板上執(zhí)行數(shù)據(jù)下載。
在應(yīng)用的實(shí)際實(shí)現(xiàn)前,應(yīng)該用調(diào)試程序來測試程序和器件性能。調(diào)試程序能執(zhí)行整個(gè)芯片仿真,包括中斷和外設(shè),借助變量“觀測(watch)”和信號(hào)及程序變量的圖像瞬時(shí)圖提供仿真數(shù)據(jù)。為了便于調(diào)試,程序也可被逐條指令地檢查。另外,它也提供某些典型的調(diào)試程序性能(如斷點(diǎn)或信號(hào)和變量設(shè)置)。
綜上所述可見,F(xiàn)UZZYSTUDIOTM4是開發(fā)ST52模糊微控制器應(yīng)用的一種完整系統(tǒng)。另外,它為用戶提供非常直觀的編程方法,使其成為容易使用強(qiáng)有力的開發(fā)工具。
新器件和開發(fā)系統(tǒng)
ST52x420 器件是ST52模糊微控制器家族(ST52x301是第1個(gè)型號(hào))的一個(gè)型號(hào)。新器件ST52x430的樣品已生產(chǎn)出,它具有雙倍的存儲(chǔ)器容量(256RAM存儲(chǔ)單元代替128存儲(chǔ)單元,程序存儲(chǔ)器擴(kuò)展到8K字節(jié))。實(shí)現(xiàn)UART協(xié)議的SCI(串行通信接口)已增添到已有外設(shè)中。
另外,具有不同外設(shè)組合的其他器件正在設(shè)計(jì)中。
同時(shí),STMicroelectronics公司正在開發(fā)軟件工具的新版本。
新器件和新開發(fā)系統(tǒng)即將推出。
評論