《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 新技術架起ASIC與基于ARM的控制器之間的橋梁

新技術架起ASIC與基于ARM的控制器之間的橋梁

2011-06-12
作者:作者:Mark Saunders,賽普拉斯半導體
來源:OFweek電子工程網

  從一個角度看嵌入式世界,范圍很廣,可以從ASICMCU。而ASIC設計是非常昂貴的,并且要花費數年的時間才能完成,但是卻有很大的潛力和創新力。單片機方案相比起來非常便宜,只需幾個月甚至是幾周的時間就可完成,但是他們受第三方芯片限制。然而,盡管他們有所不同,但在技術上看又有很多共同點,他們的最終產品有很多相似點,都主要使用ARM CPU核,包含標準的通信接口,片內整合了大量的模擬功能,支持低功耗工作和快速喚醒。

  

  圖1:嵌入式設計SoC和MCU對照圖

  這個對照圖中間的是可編程平臺,它的設計不發生在硅級別,但能從功能上提供巨大的靈活性,可以集成到一個器件上。這種類型最明顯的例子就是FPGA和CPLD,他們功能強大,容量巨大。然而,這些器件并不能稱之為可編程平臺,因為他們都是集中在數字領域的。

  為了在ASIC和MCU之間架起真正的橋梁,那就需要一個可編程平臺,這個平臺能夠提供模擬和數字功能的靈活性,不需要設計者是這兩方面的專家就能做好設計。設計者想要這樣的平臺,在標準的MCU上加上可編程功能,利用他們現成的工具和系統。那么,理想的系統是這樣的,完全適合一種應用,片上提供所有所需的外圍器件和接口,性能表現恰如其分,并沒有不需要的還要付錢的功能。

  要實現這樣的靈活性需要一個平臺,這個平臺可以支持在SoC里實現可定制配置的高性能模擬功能和可編程數字邏輯,而不需要開發人員成為HDL或模擬設計的專家。微控制器有一些工具和模擬功能,但缺少配置性。FPGA有可配置的邏輯,也可以提供比較好的軟件,但是他們的缺點仍在于模擬方面和不能真正的低功率運作。

   ARM是實際應用中的嵌入式標準

   許多年來,ARM構架一直是ASIC設計事實上的標準,在很多高端嵌入式市場占統治地位,英特爾公司一直致力于個人電腦的使用推廣(沒有反編程克隆的問題)。在幾年前,Cortex M系列處理器核發布之后,人們很難找到一個沒有ARM核的現代單片機。

  這種說法的真實性可以從遍布嵌入式工業的ARM支持者看出。跟SoC IP供應商談及他們的目標新產品使用的第一個總線體系結構時,結果永遠是ARM的AMBA。和實時操作系統(RTOS)公司(那些還沒有被半導體公司購買)交談時,他們會告訴你,支持ARM是他們新產品的最高優先級。

  實際上,任何平臺希望在可編程部分尋求成功都必須使用ARM CPU。其結果是連續性的。工程師們不害怕變化。但是,他們經常因變化而浪費時間。在SoC的設計中,如果你不提供相同的CPU結構,同樣的編譯器,同樣的IDE和調試器,同樣的實時操作系統和相同的中間軟件包,就想吸引工程師不用他們的傳統的平臺轉向新的設計, 這是非常困難的。簡而言之,軟件規則就是沒有人愿意離開原來的設計。除了真正的低端產品,他們能夠在8位設備上如8051上完成特定的嵌入式功能,任何不是ARM CPU的可編程平臺都很快歸類于少數領域,成為不占主導地位的架構。

   在可編程器件中添加模擬功能

   不斷有可編程器件失敗,當然,是指模擬功能。雖然有很多平臺可以整合重要的模擬功能,如高速通信接口,但真正的難點是要解決整合的傳統片外部件的低級電路問題。畢竟,現在的FPGA的物理層(PHY)的實現是完全把模擬部分的問題和設計者隔離的,只留標準數字接口,就像其他的IP模塊。

  真正的模擬挑戰是實現通用功能,如模擬數字和數字模擬轉換器、放大器和電壓比較器。這不僅僅是因為模擬電路是一個棘手的設計問題,更是因為一些困難被轉交給了最終用戶。對于數字功能,例如,它可以把實現方式融入設計,路由到適當的I/O,運行靜態時序檢查,以及計劃中的所有工作。當然,時序扮演了設計中的重要角色,但時序問題并不是IP整合的本質的問題,而是器件運行時的速度問題,整體設計的復雜程度,器件的利用率,以上這些都會影響到路由資源。然而,對于任何模擬設計,甚至簡單的電路都很難設計,配置選項、片上路由和外部板設計,這些都很難做到最優。

  舉例來說,開關電容模塊是重要的模擬部件,因為他們可以配置成許多方式,如可編程增益放大器(PGA),跨阻放大器(TIA),模擬過濾器,甚至是混頻器。然而,他們也給設計者帶來了問題,因為他們的行為依賴于模塊的配置與電容的開關頻率。把這個功能放到一個芯片里固然很好,但是要從datasheet和一堆配置寄存器里明白如何使它工作就不容易了。

  要解決這個問題當然可以通過軟件實現。把高性能模擬功能放到一顆器件里是一個解決方案。但是如果沒有一個開發工具來揭開配置過程的神秘面紗,那么當最初選定可編程器件后,由于需要快速設計進入市場,在設計中很可能要引進很多最開始計劃時沒有的片外器件。

  要解決這些模擬問題的方法是一個軟件工具,它通過包括可編程模擬模塊和實現細則的器件提供了模塊和參數,使設計者不需了解功能如何實現。換句話說,設計者不需要了解傳統ADC芯片的工作原理,也不需要學習該集成器件的寄存器名稱和位域,只需要建立一個ADC就可以了。設計者不需要陷入計算時鐘頻率和匹配R和C值的困境,只需要根據其特征,特性(如可分辨率,最大采樣率,工作電壓范圍,等等)配置ADC即可。

  一旦設計里確定了ADC,下一步就是裁剪它適合應用的需求。最理想的情況是,這個過程通過設置參數實現。如果一個ADC支持一個范圍或固定的設置值,可以叫輸入范圍(群電壓不會給ADC供電),那么這些選擇應該直觀地體現出來,通過一個操作來實現對理想參數值的選擇。

 

  

  圖2:一些工具,例如賽普拉斯的PSoC Creator可以通過選擇你所需要的功能實現可編程模擬電路設計,可以無需考慮實現細節

   這種可編程平臺的工具中典型的例子就是賽普拉斯半導體的PSoC Creator。PSoC Creator支持PSoC 3和PSoC 5器件設計,它提供原理圖設計接口,用戶可以根據需要繪制,可以通過用戶參數編輯器來配置所選器件。在目錄里用戶可以預創建模擬(和數字)器件,在那里可以看到工程實例和數據手冊,就像是片外的ADC。當在設計中使用一個器件時, 工具會自動生成API接口,使用者不需要進行寄存器設置,或者擔心ADC的次序或時序。

  從一個角度看嵌入式世界,范圍很廣,可以從ASIC到MCU。而ASIC設計是非常昂貴的,并且要花費數年的時間才能完成,但是卻有很大的潛力和創新力。單片機方案相比起來非常便宜,只需幾個月甚至是幾周的時間就可完成,但是他們受第三方芯片限制。然而,盡管他們有所不同,但在技術上看又有很多共同點,他們的最終產品有很多相似點,都主要使用ARM CPU核,包含標準的通信接口,片內整合了大量的模擬功能,支持低功耗工作和快速喚醒。

  

  圖1:嵌入式設計SoC和MCU對照圖

  這個對照圖中間的是可編程平臺,它的設計不發生在硅級別,但能從功能上提供巨大的靈活性,可以集成到一個器件上。這種類型最明顯的例子就是FPGA和CPLD,他們功能強大,容量巨大。然而,這些器件并不能稱之為可編程平臺,因為他們都是集中在數字領域的。

  為了在ASIC和MCU之間架起真正的橋梁,那就需要一個可編程平臺,這個平臺能夠提供模擬和數字功能的靈活性,不需要設計者是這兩方面的專家就能做好設計。設計者想要這樣的平臺,在標準的MCU上加上可編程功能,利用他們現成的工具和系統。那么,理想的系統是這樣的,完全適合一種應用,片上提供所有所需的外圍器件和接口,性能表現恰如其分,并沒有不需要的還要付錢的功能。

  要實現這樣的靈活性需要一個平臺,這個平臺可以支持在SoC里實現可定制配置的高性能模擬功能和可編程數字邏輯,而不需要開發人員成為HDL或模擬設計的專家。微控制器有一些工具和模擬功能,但缺少配置性。FPGA有可配置的邏輯,也可以提供比較好的軟件,但是他們的缺點仍在于模擬方面和不能真正的低功率運作。

   ARM是實際應用中的嵌入式標準

   許多年來,ARM構架一直是ASIC設計事實上的標準,在很多高端嵌入式市場占統治地位,英特爾公司一直致力于個人電腦的使用推廣(沒有反編程克隆的問題)。在幾年前,Cortex M系列處理器核發布之后,人們很難找到一個沒有ARM核的現代單片機。

  這種說法的真實性可以從遍布嵌入式工業的ARM支持者看出。跟SoC IP供應商談及他們的目標新產品使用的第一個總線體系結構時,結果永遠是ARM的AMBA。和實時操作系統(RTOS)公司(那些還沒有被半導體公司購買)交談時,他們會告訴你,支持ARM是他們新產品的最高優先級。

  實際上,任何平臺希望在可編程部分尋求成功都必須使用ARM CPU。其結果是連續性的。工程師們不害怕變化。但是,他們經常因變化而浪費時間。在SoC的設計中,如果你不提供相同的CPU結構,同樣的編譯器,同樣的IDE和調試器,同樣的實時操作系統和相同的中間軟件包,就想吸引工程師不用他們的傳統的平臺轉向新的設計, 這是非常困難的。簡而言之,軟件規則就是沒有人愿意離開原來的設計。除了真正的低端產品,他們能夠在8位設備上如8051上完成特定的嵌入式功能,任何不是ARM CPU的可編程平臺都很快歸類于少數領域,成為不占主導地位的架構。

   在可編程器件中添加模擬功能

   不斷有可編程器件失敗,當然,是指模擬功能。雖然有很多平臺可以整合重要的模擬功能,如高速通信接口,但真正的難點是要解決整合的傳統片外部件的低級電路問題。畢竟,現在的FPGA的物理層(PHY)的實現是完全把模擬部分的問題和設計者隔離的,只留標準數字接口,就像其他的IP模塊。

  真正的模擬挑戰是實現通用功能,如模擬數字和數字模擬轉換器、放大器和電壓比較器。這不僅僅是因為模擬電路是一個棘手的設計問題,更是因為一些困難被轉交給了最終用戶。對于數字功能,例如,它可以把實現方式融入設計,路由到適當的I/O,運行靜態時序檢查,以及計劃中的所有工作。當然,時序扮演了設計中的重要角色,但時序問題并不是IP整合的本質的問題,而是器件運行時的速度問題,整體設計的復雜程度,器件的利用率,以上這些都會影響到路由資源。然而,對于任何模擬設計,甚至簡單的電路都很難設計,配置選項、片上路由和外部板設計,這些都很難做到最優。

  舉例來說,開關電容模塊是重要的模擬部件,因為他們可以配置成許多方式,如可編程增益放大器(PGA),跨阻放大器(TIA),模擬過濾器,甚至是混頻器。然而,他們也給設計者帶來了問題,因為他們的行為依賴于模塊的配置與電容的開關頻率。把這個功能放到一個芯片里固然很好,但是要從datasheet和一堆配置寄存器里明白如何使它工作就不容易了。

  要解決這個問題當然可以通過軟件實現。把高性能模擬功能放到一顆器件里是一個解決方案。但是如果沒有一個開發工具來揭開配置過程的神秘面紗,那么當最初選定可編程器件后,由于需要快速設計進入市場,在設計中很可能要引進很多最開始計劃時沒有的片外器件。

  要解決這些模擬問題的方法是一個軟件工具,它通過包括可編程模擬模塊和實現細則的器件提供了模塊和參數,使設計者不需了解功能如何實現。換句話說,設計者不需要了解傳統ADC芯片的工作原理,也不需要學習該集成器件的寄存器名稱和位域,只需要建立一個ADC就可以了。設計者不需要陷入計算時鐘頻率和匹配R和C值的困境,只需要根據其特征,特性(如可分辨率,最大采樣率,工作電壓范圍,等等)配置ADC即可。

  一旦設計里確定了ADC,下一步就是裁剪它適合應用的需求。最理想的情況是,這個過程通過設置參數實現。如果一個ADC支持一個范圍或固定的設置值,可以叫輸入范圍(群電壓不會給ADC供電),那么這些選擇應該直觀地體現出來,通過一個操作來實現對理想參數值的選擇。

 

  

  圖2:一些工具,例如賽普拉斯的PSoC Creator可以通過選擇你所需要的功能實現可編程模擬電路設計,可以無需考慮實現細節

   這種可編程平臺的工具中典型的例子就是賽普拉斯半導體的PSoC Creator。PSoC Creator支持PSoC 3和PSoC 5器件設計,它提供原理圖設計接口,用戶可以根據需要繪制,可以通過用戶參數編輯器來配置所選器件。在目錄里用戶可以預創建模擬(和數字)器件,在那里可以看到工程實例和數據手冊,就像是片外的ADC。當在設計中使用一個器件時, 工具會自動生成API接口,使用者不需要進行寄存器設置,或者擔心ADC的次序或時序。

   具備軟件開發環境的整合模擬數字功能的設計

   使用模擬器件原理圖設計解決可編程模擬問題是很有效的,它并不是整個的解決方案。開發人員也需要一個工具支持數字設計,更重要的是,還要支持應用軟件設計。

  在數字設計里原理圖設計絕不是新鮮事物,支持數字和模擬電路設計整合成一個單一的器件的平臺越來越受歡迎。然而,使用多個工具來完成一個設計,這也不能吸引開發人員。開發人員更希望在一個編輯器里進行數字和模擬設計,用相同的環境創建,調試和測試上述設計。

  可編程平臺的供應商需要記住,在MCU的世界,設計者的設計離不開軟件中心的集成開發環境(IDE),需要它進行源碼編輯、項目管理、工具編譯,在一個單一構架下一起調試。在ASIC世界里,對于應用開發,他們是相同的,芯片設計人員和軟件開發人員很少是一個團隊。兩組中的任何一組都不希望丟棄他們方便的IDE增加新的工具來解決它們之前不關心的問題。這兩個團隊都需要一個現代的IDE,這個IDE看起來和用起來就像他們以前用過的那樣,甚至需要更引人注目的特點來證明IDE已經變化了。

  

  圖3:整合了模擬比較器和數字計數器的過電壓定時器電路

  我們通過過電壓定時器舉例說明一下這些想法,它使用一個模擬比較器和一個數字計數器來監控輸入電壓。如果引腳電壓超過參考值,比較器開啟計數器,一段特定的時間后 (當然,這個時間可以通過設置一個參數來實現),在引腳發出一個錯誤信號并觸發中斷服務程序(ISR)。這個簡單的例子很容易地整合了數字和模擬電路設計,開發人員可以從草圖開始設計,只需考慮MCU的工作,也就是說,連接了引腳,時鐘,參考電壓和中斷,那么就可以設計很難實現的功能了。

  當這個設計創建后,開發環境為器件生成API。這使得開發人員可以不需了解它的實現方式,直接使用這些器件。例如,開發人員可以通過API改變計數器的timeout周期或得到其值,關閉中斷,關閉時鐘等等,不需要研究器件的參考手冊或示例代碼。通過從原理圖里建立硬件,可編程器件提供了固定功能芯片所不能比擬的優勢,因為工具自動提供了所有的設置代碼,使接口到所有片上功能的設計成為一個很簡單的過程。

  

  圖4:PSoC Creator創造者的工作瀏覽器窗口顯示了為比較器,計數器,時鐘和中斷服務程序生成的源文件

   API的生成其實是把硬件設置參數映射到軟件抽象概念的延伸。例如,要建立一個時鐘,開發人員只需要把它放到設計里然后設置所需的頻率。開發工具會負責如何從片內或片外已知的時鐘源獲得在公差范圍內的適當的頻率。啟動和關閉時鐘只需要簡單的調用API即可,例如ctr_clock_Start()或ctr_clock_Stop()。根本不需要修改寄存器來選擇時鐘源,設置分頻,選擇它就象是片上功能的輸入一樣,或者可以通過位操作實現開啟/關閉。

  開發工具可以為系統資源(例如時鐘,中斷,DMA,或引腳)生成API,可以節省時間,同時,片上模擬、數字和通信外設API也使得開發可編程器件比MCUs 或 ASIC變得更容易。當使用了最流行的嵌入式ARM核后,相對于文章開始所看到的對照圖,集成的原理圖設計工具比對照圖兩端的設計表現出強大的優勢。隨著可編程芯片越做越好,性能越做越強,ARM核越來越強大,模擬功能越來越強,成本越來越低,這一切似乎越來越清楚地表明,平臺支持的軟件將確定它在市場上是否會成功。日常開發工具是開啟芯片潛能和擴大設計范圍的鑰匙,最重要的是,它會贏得嵌入式工程師的喜愛,因為他們一直在做一件事情:找一個更好的方法來解決所有難題。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品日韩一区| 国产午夜精品全部视频在线播放| 亚洲欧美日韩国产中文在线| 亚洲美女视频在线观看| 亚洲第一网站| 亚洲高清不卡| 亚洲第一主播视频| 亚洲第一天堂av| 亚洲福利在线观看| 欧美一区二区日韩一区二区| 亚洲欧美一区二区原创| 亚洲一区二区在线观看视频| 中文有码久久| 亚洲一区日韩在线| 亚洲欧美成人| 亚洲欧美制服另类日韩| 午夜在线精品偷拍| 欧美在线免费观看亚洲| 久久国产福利| 91久久精品久久国产性色也91| 91久久久久久国产精品| 亚洲精品久久7777| av成人免费| 亚洲欧美国产精品专区久久| 性欧美长视频| 久久亚洲不卡| 欧美电影免费观看高清| 欧美激情日韩| 欧美午夜在线视频| 国产女优一区| 在线播放亚洲一区| 亚洲精品美女在线观看| 一区二区三区精品在线| 亚洲欧美精品在线| 久久www免费人成看片高清| 亚洲国产成人午夜在线一区| 亚洲精品黄色| 亚洲一区二区在| 久久高清国产| 欧美不卡一区| 欧美日韩国产一区| 国产精品社区| 韩国v欧美v日本v亚洲v| 亚洲国产小视频| 一区二区三区高清在线观看| 小黄鸭精品aⅴ导航网站入口| 久久精品九九| 99这里只有久久精品视频| 亚洲欧美三级在线| 久色成人在线| 欧美三区免费完整视频在线观看| 国产精品外国| 影音先锋在线一区| 一区二区三区四区五区视频| 欧美一区二区三区免费视频| 亚洲精品午夜| 欧美一区二区视频在线| 久久中文字幕一区| 欧美视频一区二区三区四区| 国产一区二区三区的电影| 亚洲人成网站精品片在线观看| 亚洲一区二区精品| 亚洲激情校园春色| 午夜精品国产| 欧美高清成人| 国产欧美日韩综合一区在线播放| 亚洲福利久久| 午夜精品久久久久久久99热浪潮 | 99精品99| 久久精品国产一区二区三区免费看| 中文欧美字幕免费| 久久人人97超碰国产公开结果 | 欧美一区免费视频| 一区二区三区国产盗摄| 久久久www成人免费精品| 欧美日韩国产影片| 国产综合久久久久久| 日韩一级片网址| 亚洲电影中文字幕| 先锋影音久久久| 欧美日韩国产欧| 精品成人一区二区| 亚洲欧美制服另类日韩| 在线一区二区视频| 久久亚洲精品伦理| 国产精品欧美日韩一区| 亚洲裸体在线观看| 亚洲电影成人| 午夜一区二区三区不卡视频| 欧美激情一区二区三区不卡| 国产一区二区在线观看免费播放| 一区二区三区日韩精品视频| 亚洲精品韩国| 久热精品在线视频| 国产亚洲欧美一区在线观看| 亚洲一区二区精品| 亚洲性图久久| 欧美日韩国产综合视频在线观看中文| 在线电影国产精品| 久久精品91久久香蕉加勒比| 欧美一区二区视频免费观看| 欧美视频精品在线观看| 亚洲片国产一区一级在线观看| 久久精品国产999大香线蕉| 欧美一区在线视频| 国产精品一区二区三区成人| 中文亚洲字幕| 亚洲在线观看| 国产精品久久久久9999吃药| 99在线精品观看| 99国产精品久久| 欧美大片免费观看在线观看网站推荐| 韩国久久久久| 亚洲国产精品t66y| 开心色5月久久精品| 伊人天天综合| 亚洲人成人一区二区在线观看| 久久男女视频| 国内精品久久久| 亚洲国产高清在线观看视频| 久久中文精品| 亚洲电影免费在线| 亚洲精品一二三| 欧美精品在线免费播放| 亚洲人精品午夜| 一本久久精品一区二区| 欧美日韩成人免费| 9i看片成人免费高清| 亚洲一区二区三区午夜| 国产精品久久久久久久浪潮网站| 亚洲视频第一页| 欧美一级午夜免费电影| 国产视频在线观看一区二区| 欧美一区二区视频在线观看| 裸体女人亚洲精品一区| 伊大人香蕉综合8在线视| 亚洲欧洲日韩女同| 欧美日本精品在线| 99精品热视频| 香蕉久久国产| 狠狠色综合色区| 亚洲免费观看在线观看| 欧美日本一区二区三区| 亚洲网在线观看| 久久精品国产视频| 在线成人免费视频| 一区二区三区回区在观看免费视频| 欧美三区在线视频| 欧美一区1区三区3区公司| 久久一区视频| 亚洲精品乱码| 校园春色综合网| 影音先锋中文字幕一区| 在线视频欧美精品| 国产视频久久久久久久| 亚洲国产第一页| 欧美视频专区一二在线观看| 亚洲综合电影| 免费成人性网站| 一区二区三区国产盗摄| 久久精品免视看| 亚洲免费不卡| 久久精品视频免费观看| 亚洲高清视频在线观看| 亚洲欧美日本国产有色| 狠狠网亚洲精品| 亚洲性色视频| 今天的高清视频免费播放成人| 99视频超级精品| 国产亚洲va综合人人澡精品| 亚洲精品乱码久久久久久按摩观| 国产精品国产三级国产普通话蜜臀 | 亚洲一区精品视频| 国内精品久久久久影院优| 亚洲美女啪啪| 国产亚洲亚洲| 亚洲午夜在线观看| 合欧美一区二区三区| 国产精品99久久久久久久女警| 国产视频不卡| 亚洲色无码播放| 伊人男人综合视频网| 亚洲欧美资源在线| 亚洲国产视频a| 久久精品九九| 在线一区二区三区四区五区| 老司机一区二区| 亚洲一区免费看| 欧美精品国产精品日韩精品| 欧美综合国产精品久久丁香| 欧美午夜女人视频在线| 亚洲片在线资源| 国产午夜精品理论片a级探花| 亚洲色图自拍| 一区二区在线视频观看| 性做久久久久久久久| 日韩一本二本av| 欧美国产另类| 久久精精品视频| 国产欧美一区二区视频|