PSoC Creator:面向嵌入式應用的開(kāi)發(fā)工具
嵌入式系統是計算設備硬件中嵌入軟件作為其核心組件的應用。我們身邊現在已經(jīng)被嵌入式系統包圍了,這些產(chǎn)品能為我們的生活帶來(lái)各種方便乃至奢華的功能,包括移動(dòng)手持設備、洗衣機、微波爐、ATM 機、空調等等。由于某些特定的應用要求,工程師必須以不同于其它設計類(lèi)型的特定方法進(jìn)行嵌入式設計。
以下簡(jiǎn)要介紹了進(jìn)行嵌入式系統設計的幾個(gè)步驟:
1. 建議:一個(gè)能夠讓生活變得更輕松和/或減少完成任務(wù)所需人力的創(chuàng )新性理念或系統。
2. 定義:接下來(lái)需要設計整個(gè)系統,包括在各種可能的輸入條件下系統的表現情況。定義或許是最關(guān)鍵的部分,因為在定義階段的任何錯誤均會(huì )影響整個(gè)系統的工作。
I. 輸入/輸出考慮因素:定義在一個(gè)特定輸入下系統輸出會(huì )是什么,要把系統作為一個(gè)黑盒子來(lái)考慮;
II. 數學(xué)建模:設計讓系統按需工作的算法;
III. 功能建模:設計系統接受輸入并生成所需輸出的功能。
3. 技術(shù)選擇:基于上述幾點(diǎn),設計人員可評估可用的技術(shù),選擇哪些器件能夠滿(mǎn)足所有要求,同時(shí)平衡效率、成本和產(chǎn)品上市進(jìn)程。
4. 集成和 PCB 設計:列出實(shí)現您想要的功能所需的所有組件,并設計它們在PCB 上的布局。布線(xiàn)和所有其它路徑都必須盡可能地降低電磁干擾 (EMI),而且應避免各種錯誤。設計 PCB 時(shí),應特別注意鋪地以及 PCB 上接地的所有組件。
5. 固件開(kāi)發(fā)和調試:由于硬件需要指令來(lái)按我們想要的方式加以執行,我們需要為硬件使用的每個(gè)組件編寫(xiě)代碼。這也正是固件(即應用代碼)所做的工作。固件應當最大限度地降低復雜性。此外,我們在編寫(xiě)代碼時(shí),可能會(huì )遇到許多錯誤和故障,這些都需要適當的調試協(xié)議。
6. 測試:調試時(shí)需要測試代碼部分,而在測試過(guò)程中,我們需要檢測整個(gè)系統,也就是硬件以及驅動(dòng)該硬件的軟件。
7. 文檔:任何瀏覽您完整應用設計的人都不應該問(wèn)您“這是什么意思?”“這個(gè)東西怎么操作?”為了避免被這樣的問(wèn)題所困擾,我們應當準備好全面完整的文檔。
當前設計流程中存在的問(wèn)題:
在開(kāi)發(fā)嵌入式應用時(shí),我們應當充分了解不同的芯片及其功能和復雜的架構,然后再創(chuàng )建系統設計流程。接下來(lái),我們需要一款應用來(lái)為我們的產(chǎn)品和組件提供功能,為此我們必須要編寫(xiě)代碼。在編寫(xiě)代碼時(shí),系統要求會(huì )不斷變化,設計人員需要相關(guān)工具,為不同的調試協(xié)議提供支持。我們或許無(wú)法重復使用代碼,我們希望在單個(gè)系統中集成多種特性。鑒于上述問(wèn)題,嵌入式系統設計需要考慮整個(gè)系統價(jià)格、性能、加速產(chǎn)品上市進(jìn)程、尺寸、功耗、可維護性、安全性、存儲器容量等各種問(wèn)題。此外,嵌入式系統的開(kāi)發(fā)人員還希望在單個(gè)芯片上實(shí)現可編程模擬和數字外設。因此,片上系統 (SOC) 的開(kāi)發(fā)工作對于開(kāi)發(fā)人員來(lái)說(shuō)是相當繁瑣的。
嵌入式系統日益復雜,幾乎在任何情況下都需要可編程性。為此,設計人員需要工具來(lái)應對這種困難的局面,同時(shí)提供用戶(hù)友好型環(huán)境來(lái)開(kāi)發(fā)應用。雖然我們有一些SOC工具的市場(chǎng),但我們并不完全了解這些工具的功能。此外,工具還必須能夠最大限度地發(fā)揮產(chǎn)品的特性潛力。為了說(shuō)明這一點(diǎn),我們不妨舉一個(gè)采用復雜架構芯片的例子,在單個(gè)芯片上集成了幾乎所有的模擬和數字可編程外設。我們或許會(huì )發(fā)現,閱讀和了解相關(guān)的配置寄存器以及使用器件相關(guān)的其它底層信息可能比較復雜,因此我們需要一款直觀(guān)易用的系統設計工具把底層信息隱藏起來(lái),讓我們更方便地集中了解系統應用。
簡(jiǎn)而言之,我們需要這樣一款工具,它不僅可加速產(chǎn)品的上市進(jìn)程,直觀(guān)高效地處理所有的開(kāi)發(fā)考慮因素,而且成本不能太高,還能根據要求的變化支持項目在不同芯片之間的移植。
PSoC Creator:
可編程片上系統 (PSoC) 制造商已經(jīng)充分認識到,開(kāi)發(fā)人員需要在單個(gè)芯片上擁有完整的系統,而且要同時(shí)具備模擬和數字功能,同時(shí)該模擬和數字功能也應該完全具有可編程性。為了開(kāi)發(fā)可在這些芯片上工作的嵌入式應用,以及為上述所有問(wèn)題提供解決方案,賽普拉斯半導體公司推出了 PSoC Creator。PSoC Creator 通過(guò)其獨特的基于原理圖的格式能讓設計人員無(wú)需手動(dòng)管理架構或配置寄存器即可開(kāi)發(fā)應用?,F在,我們要做的就是思考出設計方案,然后通過(guò)把組件從賽普拉斯組件庫或我們自己的組件庫中拖放到設計原理圖中即可繪制出設計。這就好像繪制系統方框圖一樣,不用考慮使用的是什么器件。正是由于革命性的圖形設計編輯器支持獨特而功能強大的軟硬件協(xié)同設計環(huán)境,我們才能實(shí)現這一目標。請注意,該工具不僅是將軟件開(kāi)發(fā)環(huán)境和直觀(guān)的圖形設計編輯器完美地結合在一起,同時(shí)還支持全新理念的即時(shí)測試,能夠快速響應于硬件變化,創(chuàng )建可共享的設計組件庫,提供定制外設,支持片上外設的無(wú)差錯互動(dòng),并能使用內置的調試器實(shí)現完整的設計。
簡(jiǎn)而言之,該工具的功能和使用可如下圖所示分為 4 步:
步驟 1:設計與配置拖放組件 連接外設 I/O 到引腳 設置時(shí)鐘頻率
步驟 2:開(kāi)發(fā)調用內置 API C/匯編語(yǔ)言編程無(wú)差錯更方便
步驟 3:調試內置調試器在運行時(shí)查看任何變量的類(lèi)型、地址和值在運行時(shí)查看協(xié)議棧、存儲器和寄存器
步驟 4:重復使用快速方便地創(chuàng )建未來(lái)設計將工作設計集成到可重復使用的組件中
圖 1. 使用 PSoC Creator 創(chuàng )建項目的步驟
PSoC Creator 將基于 C 語(yǔ)言的開(kāi)發(fā)流程與自動(dòng)生成的組件 API 在您的設計中相結合。它能根據后續階段要求的變化在器件之間(比如8位到32位)實(shí)現無(wú)縫移植。即便要在不同的器件系列之間進(jìn)行移植,我們也無(wú)需考慮存儲器映射、助記符等問(wèn)題。這里的一個(gè)獨特優(yōu)勢在于,設計過(guò)程中不必考慮目標芯片屬于什么系列的問(wèn)題,因為設計人員能在開(kāi)發(fā)周期中的任何時(shí)間更改器件,而且無(wú)需修改項目中的任何東西。
現在讓我們通過(guò)一個(gè)項目范例來(lái)更好地了解 PSoC Creator 在實(shí)際環(huán)境中開(kāi)發(fā)嵌入式應用的功能和可用性。這個(gè)項目范例演示了如何通過(guò)使用脈沖寬度調制 (PWM) 來(lái)控制 LED 的亮度。
圖2:PSoC Creator 的示意圖
評論