當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]首先闡述Cypress公司的可編程片上系統(tǒng)(PSoC)的動態(tài)配置能力及其實(shí)現(xiàn)結(jié)構(gòu),概要地列出幾種對PSoC微控制器在系統(tǒng)編程(ISP)的方法;在此基礎(chǔ)上分析CY8C26443-24PI通過。

摘要:首先闡述Cypress公司的可編程片上系統(tǒng)(PSoC)的動態(tài)配置能力及其實(shí)現(xiàn)結(jié)構(gòu),概要地列出幾種對PSoC微控制器在系統(tǒng)編程(ISP)的方法;在此基礎(chǔ)上分析CY8C26443-24PI通過。

    關(guān)鍵詞:可編程片上系統(tǒng) 在系統(tǒng)編程 閃速存儲器 非易失性存儲器 嵌入式微控制器

引言

隨著集成電路應(yīng)用的飛速發(fā)展,片上系統(tǒng)的結(jié)構(gòu)變的越來越復(fù)雜,這對嵌入式微控制器(Embedded MCU)的性能提出了更高的要求。和目前的16位甚至32位的微控制器相比,8位微控制器結(jié)構(gòu)簡單、代碼密度高,是嵌入式系統(tǒng)的重要組成部分。傳統(tǒng)的8位MCU結(jié)構(gòu)比較成熟,但是作為嵌入式應(yīng)用,其各方面性能還遠(yuǎn)不能令人滿意。此外,一般在嵌入式系統(tǒng)的應(yīng)用中,都需要 使用幾十種甚至是更多的模擬或數(shù)字外圍元器件。熟悉MCU開發(fā)的工程師們都知道,在MCU的開發(fā)過程中,最需要花時間和精力的就是元器件的選購,以及元器件兼容性方面的考慮。目前在市場上有成千上萬不同種外圍元器件,設(shè)計(jì)人員要想從中尋找到適合自己應(yīng)用的元器件是一件令人頭痛的事情。因此,設(shè)計(jì)工程師的理想方案似乎是采用定制的SoC芯片,但是如果采用定制微控制器、ASIC和PLD器件,一方面價格比較昂貴,另一方面需要設(shè)計(jì)人員具有專門的設(shè)計(jì)技能。因此,研制一個高效率、外圍元器件可嵌入配置的、低功耗的≮位微控制器是很有必要的。

作為ASIC(Application Specific IC)設(shè)計(jì)方法學(xué)中的新技術(shù),SoC始于20世紀(jì)90年代中斷。1994年Motorola發(fā)布的Flex CoreTM系統(tǒng)(用來制作基于68000TM和Power PCTM的定制微處理器)和1995年LSI Logic公司為SONY公司設(shè)計(jì)的SoC,可能是基于IP(Intellectual Property)核完成SoC設(shè)計(jì)的最早報(bào)導(dǎo)。由于SoC可以充分利用已有的設(shè)計(jì)積累,顯著地提高ASIC的設(shè)計(jì)能力,因此發(fā)展非常迅速。

PSoC(Programmable System on Chip)是美國Cypress MicroSystems公司于最近推出的新一代功能強(qiáng)大的8位可配置的嵌入式單片機(jī)。該系列單片機(jī)與傳統(tǒng)單片機(jī)的根本區(qū)別在于其內(nèi)部集成的數(shù)字和模擬block模塊,工程師可以根據(jù)不同設(shè)計(jì)要求調(diào)用不同的數(shù)字和模擬block模塊,完成芯片內(nèi)部的功能設(shè)計(jì);實(shí)現(xiàn)使用一塊芯片就可以配置成具有多種不同外圍元器件的微控制器,建立一種可配置嵌入式微控制器;用以實(shí)現(xiàn)從確定系統(tǒng)功能開始,到軟/硬件劃分,并完成設(shè)計(jì)的整個過程。因此,PSoC能夠適應(yīng)非常復(fù)雜的實(shí)時控制需求,使用它進(jìn)行產(chǎn)品開發(fā)可以大大提高開發(fā)效率,降低系統(tǒng)開發(fā)的復(fù)雜性和費(fèi)用,同時增強(qiáng)系統(tǒng)的要可靠性和抗干擾能力;因此,它特別適用于各種控制和自動化領(lǐng)域。

1 PSoC的動態(tài)配置能力及實(shí)現(xiàn)

閃速存儲器(Flash Memory)是一類非易失性存儲器NVM(Non-Volatile Memory),它即使在供電電源關(guān)閉后仍能保持片內(nèi)信息;而諸如DRAM、SRAM這類易失性存儲器,當(dāng)供電電源關(guān)閉時其片內(nèi)信息隨丟失。閃速存儲器還集合了其它非易失性存儲的特點(diǎn):與EPROM相比較,閃速存儲器在系統(tǒng)電可擦除和可重復(fù)編程具有明顯的優(yōu)勢,它不需要特殊的高電壓就可以完成擦除和/或編程操作;與EEPROM相比較,閃速存儲器具有成本低、密度大的特點(diǎn)。其獨(dú)特的性能使其廣泛地運(yùn)用于各個領(lǐng)域,包括嵌入式系統(tǒng)。

PSoC器件內(nèi)就集成有一個SONOSTM(硅/氧化氮/氧化硅)工藝制造的閃速存儲器,以及快速微控制器(MCU)和SRAM及模擬和數(shù)字的可編程陣列模塊(即PSoC block)。在PSoC芯片內(nèi)共有2個256字節(jié)的寄存器空間。這些寄存器空間可以用于個性化和參數(shù)化設(shè)定片上資源和數(shù)據(jù)讀寫;通過系統(tǒng)提供的PSoC Designer開發(fā)工具,設(shè)計(jì)人員可以合理地配置數(shù)字和模擬PSoC block參數(shù),并且寫入PSoC芯片的閃速存儲器中,完成PSoC芯片的設(shè)計(jì)工作。當(dāng)PSoC芯片工作時,芯片根據(jù)已配置的數(shù)字和模擬PSoC block參數(shù),完成對寄存器空間設(shè)定,配置系統(tǒng)硬件;根據(jù)不同的系統(tǒng)需求,設(shè)計(jì)人員可以改變數(shù)字和模擬PSoC block參數(shù)的配置,實(shí)現(xiàn)多種特定配置的MCU外圍元器件的功能。這就是可編程嵌入式片上系統(tǒng)的配置能力。不但如此,PSoC還可以實(shí)現(xiàn)動態(tài)重新配置,即在運(yùn)行時,根據(jù)系統(tǒng)不同時刻的需求,通過編程動態(tài)地改變存儲在片內(nèi)閃速存儲器中設(shè)定的參數(shù),重新定義系統(tǒng)所需要的功能模塊的種類和數(shù)量,動態(tài)地完成芯片上資源的重新分配,實(shí)現(xiàn)新的外圍元器件的功能。這就是可編程片上系統(tǒng)的動態(tài)重新配置能力(Dynamic ReConfigurability)。

為了節(jié)省設(shè)計(jì)時間及減少重復(fù)性勞動,Cypress也提供各種用戶模塊,在其器件庫中存儲有多種預(yù)設(shè)計(jì)外圍元器件模塊。用戶通過使用其系統(tǒng)提供的IDE,調(diào)用這些功能模塊;在功能模塊設(shè)計(jì)方面,在反復(fù)考察微控制器上的外圍器件和用于典型設(shè)計(jì)的模擬集成電路基礎(chǔ)上,Cypress提供了多種常用的數(shù)字和模擬外圍器件以供調(diào)用。目前在PSoC Designer 3.10版本的外圍器件庫中包含的用戶模塊有:

數(shù)/模轉(zhuǎn)換器(6位、8位);

模/數(shù)轉(zhuǎn)換器(增量式、Σ-Δ式……);

放大器(8位、16位、32位);

計(jì)數(shù)器(8位、16位、32位);

定時器(8位、16位、32位);

濾波器(高通、低通、帶通);

脈寬調(diào)制(PWM8、PWM16、PWM32);

各種數(shù)字設(shè)備(包括液晶模塊、E2PROM);

通信模塊(SPI主、SPI從、TX、RX、UART);

……

其提供的集成開發(fā)環(huán)境(IDE)還包含用戶模塊描述、說明,以及用戶指導(dǎo)/代碼摘錄、應(yīng)用程序接口API(Application Programming Interface)和中斷服務(wù)程序ISR(Interrupt Service Routine),不用戶調(diào)用用戶模塊時和設(shè)備配置表產(chǎn)生時,功能模塊被自動插入到工程文件中。設(shè)計(jì)工程師可以使用API或者ISR以完成用戶程序的編制,實(shí)現(xiàn)任何定制的應(yīng)用。

    其提供的集成開發(fā)環(huán)境(IDE)還包含用戶模塊描述、說明,以及用戶指導(dǎo)/代碼摘錄、應(yīng)用程序接口API(Application Programming Interface)和中斷服務(wù)程序ISR(Interrupt Service Routine),當(dāng)用戶調(diào)用用戶模塊時和設(shè)備配置表產(chǎn)生時,功能模塊被自動插入到工程文件中。設(shè)計(jì)工程師可以使用API或者ISR以完成用戶程序的編制,實(shí)現(xiàn)任何定制的應(yīng)用。

下面利用動態(tài)重新配置能力,完成如下功能需求的PSoC芯片設(shè)計(jì)工作。在不同的時刻,系統(tǒng)需要二套不同功能的外圍器件,時刻一是系統(tǒng)需要完成數(shù)據(jù)的接收工作,時刻二需要完成數(shù)據(jù)的發(fā) 送工作。使用普通的芯片,需要搭建大量的外圍電路;這項(xiàng)功能。系統(tǒng)不同時刻需要的帶有外圍器件的功能需求如圖1所示。

要完成此塊含有相當(dāng)豐富功能的微控制器芯片,必須通過應(yīng)用IDE內(nèi)的Device Editor完成用戶模塊的選用及參考配置工作。首先,根據(jù)時間先后,劃分出基本配置和其它功能配置;在基本配置內(nèi)必須完成對共有資源(定時器、計(jì)數(shù)器、模數(shù)、數(shù)模轉(zhuǎn)換等)的選用、放置和參數(shù)配置工作(時鐘頻率、輸入/輸出總線、I/O)。然后,完成功能配置要求(半雙工UART接收、發(fā)送模塊功能配置),在各自不同的功能配置中,根據(jù)功能要求設(shè)定系統(tǒng)參數(shù)。

在Application Editor部分產(chǎn)生配置文件,編寫應(yīng)用程序代碼。利用程序完成功能配置的裝入、卸載工作以及實(shí)現(xiàn)相應(yīng)的功能轉(zhuǎn)換,完成預(yù)定的芯片功能。具體的示例程序代碼如下:

;*******************************************

area bss(RAM) ;定義變量

RXdata; blk 1

area text(ROM,REL)

;*********************************************

_main:

call Counter8_1_Start;基本配置

call Timer16_1_Start

……

;*********************************************

receiver:

;動態(tài)完成UART接收器重新配置工作

call LoadConfig_receiver ;裝入U(xiǎn)ART接收配置

call RX8_1_Start ;啟動RX模塊工作

receiverIoop:

tst reg[RX8_1_CONTROL_REG],

RX8_RX_COMPLETE ;測試接收

jz receiverloop ;判斷完成

call bRX8_1_ReadRxData ;讀寫存儲數(shù)據(jù)

mov [RXdata],A

;*********************************************

transmitter:

;動態(tài)完成UART發(fā)送器重新配置工作

call LoadConfig_transmitter ;裝入U(xiǎn)ART發(fā)送配置

call TX8_1_Start ;啟動TX模塊工作

inc [RXdata]

mov A,[RXdata] ;準(zhǔn)備數(shù)據(jù)發(fā)送

call TX8_1_SendData ;發(fā)送數(shù)據(jù)

;*********************************************

transmitterloop:

tst reg[TX8_1_CONTROL_REG],

TX8_TX_COMPLETE ;測試發(fā)送

jz transmitterloop ;判斷完成

jmp trceiver ;返回?cái)?shù)據(jù)接收

圖3

通過應(yīng)用IDE,就可以簡單地實(shí)現(xiàn)以上特定的MCU的需求,根據(jù)設(shè)計(jì)進(jìn)展過程和功能需求的改變,對PSoC微控制器進(jìn)行配置和重新配置。因此,PSoC可以降低成本,擴(kuò)大PSoC資源利用率,簡單實(shí)現(xiàn)或重復(fù)實(shí)現(xiàn)任何定制的應(yīng)用。

2 PSoC在系統(tǒng)編程

通過以上討論,了解了PSoC的動態(tài)重新配置能力;但在實(shí)際應(yīng)用中,我們常常必須在工業(yè)現(xiàn)場完成對PSoC的重新配置。因此,在系統(tǒng)編程(ISP)技術(shù)在實(shí)現(xiàn)應(yīng)用中顯著尤為重要。所謂在系統(tǒng)編程(ISP)就是一種可以讓最終用戶對已經(jīng)安裝在電路板上的設(shè)備進(jìn)行編程和重新編程的技術(shù)。它可以允許在制造過程和應(yīng)用現(xiàn)場中進(jìn)行對微控制器編程。

PSoC芯片內(nèi)部提供一個包含二個引腳的特殊串行接口,使用它們可以發(fā)送和接收來自在系統(tǒng)編程的數(shù)據(jù)。但是這種在系統(tǒng)編程需要使用仿真器作為編程設(shè)備。編程器包含5根信號線(Vcc、GND、Xres、SCLK、DATA);系統(tǒng)提供兩種編程模式:設(shè)備復(fù)位編程和設(shè)備電源循環(huán)編程。一般推薦使用設(shè)備復(fù)位編程模式。在PSoC Designer內(nèi)選定編程模式,就可以通過圖2的相應(yīng)連接完成在系統(tǒng)編程。要注意的是,在設(shè)備復(fù)位編程模式下不需要Vcc信號;在設(shè)備電源循環(huán)編程目標(biāo)板消耗的電流不能超過300 mA,否則會造成仿真器損壞。

使用圖2所提供的系統(tǒng)連接方式,用戶可以非常簡單地對PSoC芯片實(shí)現(xiàn)在系統(tǒng)編程。同樣,用戶也可以使用UART接口、并行接口或者用戶自定義的接口來完成ISP編程,但是由于PSoC片內(nèi)不直接提供代碼支持這種應(yīng)用,因此用戶必須自己完成外部應(yīng)用電路及ISP代碼的編寫。通過使用PSoC片內(nèi)提供管理員ROM和重新配置的應(yīng)用來解決此ISP代碼編寫的問題。用戶編寫ISP代碼存儲在片內(nèi)閃存的高端地址空間內(nèi),不可擦除;用戶代碼存儲在片內(nèi)閃存的低端空間地址空間內(nèi),當(dāng)ISP代碼執(zhí)行時,它將重新配置PSoC MCU系統(tǒng),通過特定的接口與主機(jī)通信,接收來自于此接口的數(shù)據(jù)包,然后對芯片編程(使用用戶代碼)。編程完成后,PC指針跳回地址0,系統(tǒng)復(fù)位,根據(jù)新的用戶代碼重新配置芯片,用戶可以根據(jù)需要指定用戶代碼和ISP代碼空間大小,但是當(dāng)使用在系統(tǒng)編程時,ISP應(yīng)用代碼不可以覆蓋。用戶新的代碼可以對ISP代碼進(jìn)行調(diào)用。圖3是一個應(yīng)用UART接口完成ISP應(yīng)用的基本電路。

在此電路內(nèi)使用DB9連接器和RS232轉(zhuǎn)換電路完成ISP編程特性。主機(jī)通過串口對芯片進(jìn)行編程。P0.4和P0.6用作TXD和RXD。因此在ISP應(yīng)用過程中,PSoC MCU配置此2個引腳作為通信引腳,并且與內(nèi)部UART模塊相聯(lián),用戶同樣也可以設(shè)定其它需要的用戶模塊,并設(shè)定一個按鈕以外部觸發(fā)ISP應(yīng)用。用戶在程序內(nèi)增加一部分代碼監(jiān)測按鈕的狀態(tài),以執(zhí)行ISP應(yīng)用程序。程序內(nèi)可以使用中斷或掃描方式監(jiān)測按鈕狀態(tài)。具體的程序流程如圖4所示。

結(jié)語

PSoC的動態(tài)配置能力給開發(fā)者提供了快速方便的編程和開發(fā)方法,同時也為單片機(jī)的應(yīng)用開拓了更大的空間。合理地利用片內(nèi)集成的閃速存儲器可以降低產(chǎn)品開發(fā)成本,縮短產(chǎn)品開發(fā)周期。因此,本MCU結(jié)構(gòu)具有廣闊的應(yīng)用推廣前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉