基于嵌入式PsoC的MCU選色控制器設(shè)計
闡述Cypress公司的可配置片上系統(tǒng)(PSoC)的功能及其實現(xiàn)結(jié)構(gòu);結(jié)合選色控制器開發(fā)實例,詳細(xì)闡述使用PsoC開發(fā)的方法和流程。其設(shè)計方法也可用于其它控制系統(tǒng)或工業(yè)自動化等各種應(yīng)用。
引言
最近幾年,隨著電子技術(shù)及半導(dǎo)體工藝的迅猛發(fā)展,片上系統(tǒng)(SoC),特別是可配置片上系統(tǒng)PsoC(Programmable System on Chip),已逐漸成為微控制器的主流產(chǎn)品。因此,要求設(shè)計工程師必須迅速地掌握SoC的開發(fā)特點和要求,盡快融入SoC的開發(fā)大潮中去。但是,SoC系統(tǒng)設(shè)計帶來了與傳統(tǒng)系統(tǒng)設(shè)計全然不同的挑戰(zhàn),其中包括從處理器和存儲器的選擇到產(chǎn)品環(huán)境的考慮。如果設(shè)計工程師能夠深入理解SoC的開發(fā)特點,并且考慮部件之間如何交互,以及各種因素帶來的影響等問題,就可以直接提高產(chǎn)品設(shè)計的成功率和開發(fā)效率,降低系統(tǒng)開發(fā)的復(fù)雜性和費用,同時增強(qiáng)系統(tǒng)的可靠性和抗干擾能力。
文章根據(jù)本人的開發(fā)經(jīng)歷,結(jié)合選色控制器的開發(fā)過程,為設(shè)計工程師提供指導(dǎo),從所有層面上幫助他們?yōu)榻窈蟮脑O(shè)計項目做更好的準(zhǔn)備。
人們在各種各樣的微控制器和嵌入式控制系統(tǒng)設(shè)計過程中發(fā)現(xiàn),并非不同的設(shè)計就必須用到完全不同的外圍器件;相反,這其吸大量共的部分,因此,啟發(fā)了芯片設(shè)計工程師建立此種可配置微控制器。在芯片內(nèi)建立一些通用的數(shù)字和模擬塊(digital and analog block),把它們配置成微控制器的各種功能模塊(Module)。這樣,在ASIC設(shè)計過程中,應(yīng)用工程師就可以根據(jù)自己的不同設(shè)計要求調(diào)用不同的功能模塊,完成芯片內(nèi)部的功能配置,實現(xiàn)使用一塊芯片就可以配置成具多種不同外圍器件的微控制器。
目前,市場上有Cypress MicroSystems,InC和Cygnal Integrated Products,Inc生產(chǎn)可配置的SOC微控制器。本控制系統(tǒng)選用Cypress MicroSystems,Inc生產(chǎn)的M8C內(nèi)核PsoC微控制器作為控制核心。
下面我們首先熟悉開發(fā)的任務(wù)要求。選色控制器是一個由信息采集、鍵盤、顯示及輸出驅(qū)動等部分組成的控制系統(tǒng),主要用來取代進(jìn)口和國產(chǎn)劍桿織機(jī)上的紙帶輸入式光電緯紗選色器。
為了便于用戶根據(jù)不同的實際需要對工作方式及其它參數(shù)進(jìn)行修改,要求所有的參數(shù)及組態(tài)均可通過面板睥幾個操作鍵進(jìn)行輸入、檢查、修改;并可在突然并機(jī)的情況下,重新開機(jī)后,自動恢復(fù)斷點參數(shù)信息。
根據(jù)用戶提出的技術(shù)指標(biāo),我們還必須把它進(jìn)步量化,并且進(jìn)一步完成功能設(shè)計方案。
1 硬件方案設(shè)計
1.1 選擇微處理器
在設(shè)計任務(wù)確定后,應(yīng)對控制系統(tǒng)所需要的硬件做出初步估計和選擇。微處理器是整個控制系統(tǒng)的核心,它的選擇將對整個控制系統(tǒng)產(chǎn)生決定性的影響。一般應(yīng)從以下幾個方面考慮微處理器是否符合控制系統(tǒng)的要求:字長、指令的種類和數(shù)量、內(nèi)部寄存器的種類數(shù)量、微處理器的速度、中斷處理能力以及微處理器的外圍電路配套等。對于外圍器件的來源、軟件的運行等也是設(shè)計人員必須考慮的因素,因為其涉及到整個系統(tǒng)實時控制能力以及硬件和應(yīng)用程序的分開。
Cypress MicroSystems,Inc生產(chǎn)的PsoC是新一代功能強(qiáng)大的8位可配置微控制器。PsoC微控制順片內(nèi)有8根獨立的輸入和輸出總線,分別與數(shù)字和模block相連。其內(nèi)部可用的block資源包含:4個基本類型和4個通信類型的數(shù)字block,各有3個CT、SCA和SCB類型模擬block。使用這些資源可以配置成不販功能模塊,用以實現(xiàn)微控制器標(biāo)準(zhǔn)外圍器件的功能。
使用基本類型數(shù)字block可配置:
*計數(shù)器(counter);
*定時器(timer);
*脈寬調(diào)制(PWM);
*循環(huán)冗余碼校驗(CRC)串行接收(serial receiver)。
使用通信類型數(shù)字block可配置:
*基本數(shù)字block;
*串行發(fā)送(serial transmitter);
*串行接收(serial receiver);
*SPI主端(SPI Master);
*SPI從端(SPI Slave)。
使用模擬block可配置:
*多極濾波器(multi-pole filters);
*放大器(gain stages);
*數(shù)模轉(zhuǎn)換(DACs);
*模數(shù)轉(zhuǎn)換(ADCs)。
在模塊功能設(shè)計方面,Cypress公司把各種常用處理器的外圍器件作為設(shè)計Module的標(biāo)準(zhǔn),把芯片內(nèi)數(shù)字和模擬block資源組配成標(biāo)準(zhǔn)的功能模塊(module),并把這些功能模塊存儲在器件庫中。用戶通過使用其提供的集成開發(fā)平臺(IDE),調(diào)用這些功能模塊、設(shè)定模塊時鐘輸入,配置全局變量和局部變量,設(shè)定用戶功能參數(shù),完成功能模塊的配置。另外,這些功能模塊還可以相互連接,以完成更加復(fù)雜的功能。因此,通過合理的配置數(shù)字和模擬block就可以在片內(nèi)實現(xiàn)大部分外圍器件的工作。并且,由于設(shè)定的參數(shù)量存儲在片內(nèi)Flash中,因此,無論是在設(shè)計之初,還是在產(chǎn)品應(yīng)用現(xiàn)場,工程師均通過軟件重新配置數(shù)字和模擬block參數(shù),從而增加/刪除功能模塊,定義輸入/輸出引腳,完成硬件升級。這就是可編程嵌入式片上系統(tǒng)的動態(tài)重新配置能力(Dynamic ReConfigurability)。因此,可配置片上系統(tǒng)(PSoC)允許用戶根據(jù)自己的需求,定義整個系統(tǒng)所需要的功能模塊的種類和數(shù)量,分配芯片的資源,完成芯片內(nèi)部的功能配置。
對于本控制系統(tǒng)來說,可以利用其內(nèi)部的多個定時器功能模塊,完成各個動作之間的間隔和定時,從及復(fù)雜的邏輯關(guān)系;利用A/D、PGA模塊,實現(xiàn)鍵盤輸入等功能;利用液晶模塊,實現(xiàn)參數(shù)的顯示等功能;利用PsoC具有I/O多的特點,可以方便地實現(xiàn)對多個開關(guān)信號量的控制。因此,利用PsoC就可以實現(xiàn)使用一塊芯片來配置多種不同外圍元器件微控制器。建立一種可配置控制器,可以實現(xiàn)從確定系統(tǒng)功能開始,到軟/硬件劃分,并在片內(nèi)完成整個選色控制器的設(shè)計過程。
本系統(tǒng)使用PSoC微控制器具有三個明顯優(yōu)勢:①通過使用數(shù)字和模擬block配置不同的外圍器件,大量的外圍器件可以設(shè)計成SoC;②通過使用內(nèi)部總線連接用戶所選的功能,用戶可以建立實際系統(tǒng)信號鏈,減少大量的外部線路,甚至可以重新分配輸入/輸出引腳,幫助優(yōu)化電路板的布局;③最大的益處是它可以實時重新定義模塊功能,迅速完成硬件升級,能夠適應(yīng)非常復(fù)雜的實時控制需求,同時增強(qiáng)系統(tǒng)的可靠性和抗干擾能力。
1.2 確定總體控制方案
選色控制方式是一種典型的順序控制方式。順序控制是工業(yè)自動控制系統(tǒng)中一種常見的控制方式,其控制系統(tǒng)一般具有以下一些特性:開關(guān)信號量多、定時范圍大、邏輯關(guān)系復(fù)雜、可靠性要求高等。因此,在總體方案設(shè)計時必須考慮其控制特點。
PSoC微處理器的所有輸入/輸出引腳都可以申請中斷,各個內(nèi)部數(shù)字和模擬模塊也可以申請中斷。因此本系統(tǒng)可以根據(jù)要求,方便靈活地申請執(zhí)行多個中斷。
經(jīng)過對上述各項認(rèn)真分析后,就可以畫出整個系統(tǒng)的概略框圖。本選色控制系統(tǒng)是由存儲器、輸入/輸出電路、液晶顯示模塊、鍵盤電路等部件構(gòu)成,其系統(tǒng)組成如圖1所示。
1.3 具體硬件設(shè)計方案
進(jìn)入具體設(shè)計階段,必須認(rèn)真考慮和反復(fù)權(quán)衡硬件和軟件的分工及比例。
硬件和軟件設(shè)計過程必須同時進(jìn)行,兩者相輔相成。對于本控制系統(tǒng)的設(shè)計來說,由于大部分外圍器件的功能是在微控制器片內(nèi)實現(xiàn)的,因此,外部硬件的主要工作集中在輸入/輸出接口設(shè)計上,而輸入/輸出接口設(shè)計又往往和控制程序交織在一起。此外,存儲器的連接和擴(kuò)充也是必做的工作。
硬件設(shè)計過程中,器件應(yīng)注意篩選,在布線和安排時,注意制作技術(shù)和裝配技術(shù),以克服電氣干擾。下面就是具體的硬件設(shè)計:在單片配備8位液晶顯示器,2×4的鍵盤,8KB的存儲器。輸入/輸出都采用光電隔離,每一路輸出還經(jīng)過功率放大。
(1)PSoC微控制器
PSoC微控制器控制系統(tǒng)中最主要的部件,它完成對輸入信號的判斷和邏輯運算,產(chǎn)生時序控制信號,對PSoC微控制器的配置可以通過其系統(tǒng)提供的IDE集成開發(fā)平臺上的圖形化工具來完成。選擇本控制系統(tǒng)所需的計時器、放大器、液晶等功能模塊,配置其內(nèi)部參數(shù),指定其輸入與輸出關(guān)系,主、輸出引腳。在全局變量部分要配置CPU的工作頻率、系統(tǒng)時鐘、中斷、電荷泵以及其它特性,以此完成PSoC微控制器片內(nèi)配置。
(2)存儲器
存儲器用來存儲工作參數(shù)和用戶應(yīng)用程序。隨機(jī)存儲器有動態(tài)隨機(jī)存儲器DRAM和靜態(tài)隨機(jī)存儲器SRAM兩種。DRAM雖然價格低,但它需要不斷刷新。PSoC單片機(jī)沒有刷新功能,為了使用DRAM,不得不增加刷新電路。這樣總的價格并不低,且使電路復(fù)雜化,可靠性降低,因此本系統(tǒng)中采用SRAM