0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

擁有性能良好且集成的工具和可配置性可幫助外圍的編程設(shè)計(jì)

牽手一起夢(mèng) ? 來(lái)源:電子工程網(wǎng) ? 作者:佚名 ? 2020-10-04 14:57 ? 次閱讀

今天半導(dǎo)體工藝幾何尺寸的不斷減小正在改變微控制器的經(jīng)濟(jì)學(xué)。新的嵌入式設(shè)計(jì)開(kāi)發(fā)工具成本快速增長(zhǎng),但微控制器上的數(shù)字邏輯線(xiàn)路成本正不斷下降。這使得提供具有更多外圍的微控制器更具經(jīng)濟(jì)性,尤其是如果這些外圍屬于數(shù)字類(lèi)電路、UART、CAN控制器和以太網(wǎng)MAC等。目前市場(chǎng)上帶有更復(fù)雜外圍的微控制器正不斷出現(xiàn)。如果我們將閃存和RAM也看作是外圍,那么今天許多微控制器的結(jié)構(gòu)中90%以上的部分都是外圍。

這里以目前銷(xiāo)售的8051和許多衍生器件為例進(jìn)行說(shuō)明。10年前,8051幾乎要被棄用,但是現(xiàn)在有許多新產(chǎn)品還在采用8051內(nèi)核,為提高性能,其外圍的數(shù)量和種類(lèi)都有了顯著增加。許多熟悉8051的工程師都在關(guān)注這些新產(chǎn)品。他們認(rèn)為自己了解8051內(nèi)核,所以采用基于8051的器件比采用基于其它內(nèi)核的器件會(huì)更簡(jiǎn)單。但僅僅熟悉微控制器內(nèi)核就足夠了嗎?

1 用C編譯器編寫(xiě)控制器軟件

在回答這個(gè)問(wèn)題之前,先了解一下新微控制器發(fā)展的過(guò)程。大多數(shù)微控制器制造商都有許多不同的變種產(chǎn)品,某個(gè)廠(chǎng)商甚至擁有500多個(gè)不同的變種。這些變種對(duì)于設(shè)計(jì)者為特定應(yīng)用充分選擇外圍提供了條件。

圖1:CyanIDE集成開(kāi)發(fā)環(huán)境。

一種更好的方式就是選擇已經(jīng)具備很多項(xiàng)目所需的所有外圍和靈活輸入輸出排列的微控制器。因此,用戶(hù)可以選擇和配置每個(gè)項(xiàng)目要求的具體外圍組合,顯著降低了PCB重新設(shè)計(jì)所需的工作量。選擇這類(lèi)微控制器可以使硬件修改更加容易。這可使用戶(hù)更加靈活地選取恰當(dāng)?shù)耐鈬M合來(lái)滿(mǎn)足設(shè)計(jì)要求。

此外,工程師通過(guò)降低不同零部件購(gòu)買(mǎi)和庫(kù)存的數(shù)量,將獲得公司內(nèi)的物料供應(yīng)人員認(rèn)同,因?yàn)樵谶^(guò)去很長(zhǎng)的一段時(shí)間內(nèi),我們看到制造商都以能提供各種各樣的微控制器為榮,實(shí)際上,這對(duì)于客戶(hù)和制造商本身來(lái)說(shuō)都無(wú)異于一場(chǎng)物流供應(yīng)方面的噩夢(mèng)。事實(shí)上,供貨商應(yīng)更好地利用不斷降低的硅成本制造更少變種、但功能更強(qiáng)大的微控制器。

大多數(shù)工程師會(huì)爭(zhēng)辯說(shuō)軟件功能是他們不能放棄現(xiàn)有微控制器系列的原因之一,所以我們來(lái)談?wù)勡浖?wèn)題。

考慮一款新的微控制器時(shí),需要解決2個(gè)主要軟件問(wèn)題:

1. 編寫(xiě)完全運(yùn)行在內(nèi)核中的算法,包括數(shù)學(xué)算法(如濾波算法)或主循環(huán);

2. 外圍初始化和接口的軟件。

首先來(lái)談?wù)勗谖⒖刂破鲀?nèi)核中運(yùn)行的軟件。過(guò)去幾年里,C編譯器的使用不斷普遍,并且效率也有所提高。這意味著,C編譯器可節(jié)省的編程工作比所有應(yīng)用程序中性能損失的程度更重要。仍有一些與時(shí)間精確性相關(guān)的軟件功能需要用匯編程序編寫(xiě),但是這些程序也可能打包在C編譯器編寫(xiě)的主程序中。

除了編譯器的效率外,微控制器總體性能也有了明顯的提高。許多工程師都利用比以前性能強(qiáng)10倍的現(xiàn)代控制器并轉(zhuǎn)變成用C編譯器編寫(xiě)軟件,而設(shè)計(jì)出的產(chǎn)品比前幾代產(chǎn)品運(yùn)行起來(lái)要快得多。

采用C編譯器的另外一個(gè)驅(qū)動(dòng)因素就是許多產(chǎn)品普遍都需要增加代碼數(shù)量。在匯編程序中編寫(xiě)8K代碼可能相當(dāng)于100張A4紙的軟件。編寫(xiě)和維護(hù)這種數(shù)量的代碼需要耗費(fèi)大量的工作量。一旦你開(kāi)始著眼于需要32K或64K代碼的應(yīng)用程序,那么使用編譯器自然而然就成了99%應(yīng)用程序的唯一實(shí)際選擇。

如果我們決定下一個(gè)要開(kāi)發(fā)項(xiàng)目使用C編譯器,那么就可以做出一個(gè)大膽得結(jié)論。包括C語(yǔ)言在內(nèi)的高級(jí)語(yǔ)言可以使工程師避開(kāi)微控制器內(nèi)核的繁雜工作。如果我們編寫(xiě):

Counter=Counter+1; (or Counter++;),

我們可以意識(shí)到其實(shí)我們不必在乎它在應(yīng)用程序中究竟如何執(zhí)行。這就是編譯器的主要目的所在,所以也就不足為怪。只要變量Counter增加,我們并不需要知道是否使用累加器或寄存器架構(gòu)獲得結(jié)果。

2 應(yīng)對(duì)復(fù)雜外圍電路編程挑戰(zhàn)

現(xiàn)在來(lái)討論外圍電路編程的問(wèn)題。在市場(chǎng)上許多新款微控制器中,外圍數(shù)量迅速增長(zhǎng)。越來(lái)越多的芯片面積都被外圍電路占用,它們的復(fù)雜性和功率似乎也在不斷增加。今天市場(chǎng)上的一些8051微控制器擁有300~400頁(yè)的數(shù)據(jù)手冊(cè)。其中,你會(huì)發(fā)現(xiàn)只有25頁(yè)內(nèi)容是介紹內(nèi)核工作原理的,剩下的都是關(guān)于外圍的,從復(fù)位控制器、復(fù)雜的ADC到更復(fù)雜的通信控制器(如CAN、USB、以太網(wǎng))。

這讓我們得出一個(gè)結(jié)論,涉及外圍的軟件比完全在內(nèi)核中運(yùn)行的軟件要花費(fèi)更多得多的工作量。

進(jìn)一步說(shuō)就是,專(zhuān)門(mén)針對(duì)外圍的datasheet越多,對(duì)熟悉這種控制器內(nèi)核來(lái)說(shuō)就越無(wú)益。

圖2:賽恩的16位微控制器μCOG1m集成了密集的外圍電路

作為面對(duì)復(fù)雜外圍的工程師,為了避免淹沒(méi)在那些外圍實(shí)現(xiàn)所有預(yù)期用途的繁重任務(wù)時(shí),你會(huì)怎樣做呢?有些微控制器制造商提供能夠生成源代碼的工具。在圖1中,你可以到這種工具的一個(gè)例子,賽恩科技公司提供的CyanIDE集成開(kāi)發(fā)環(huán)境,顯示了只需點(diǎn)擊鼠標(biāo)就可以輕松設(shè)定UART波特率的便捷方法。

有了這些工具,開(kāi)發(fā)者無(wú)需閱讀長(zhǎng)篇累牘的數(shù)據(jù)手冊(cè)就能算出每個(gè)寄存器中應(yīng)該編程的數(shù)值。此外,CyanIDE還具有全面的上下文相關(guān)的幫助。這種工具可以大幅減少新款微控制器所涉及的工程量。

3 本文小結(jié)

本文開(kāi)篇就對(duì)一項(xiàng)假設(shè)提出了質(zhì)疑,即選擇帶有熟悉內(nèi)核的微控制器一定會(huì)降低新項(xiàng)目設(shè)計(jì)工作涉及的學(xué)習(xí)任務(wù)量嗎?對(duì)所涉及的工作進(jìn)行簡(jiǎn)單分析后,可以清楚的發(fā)現(xiàn)這種假設(shè)是不正確的。如果使用C編譯器和即使帶有為數(shù)不多外圍的器件,那么對(duì)內(nèi)核的熟悉程度比起幫助完成外圍電路編程的工具來(lái)說(shuō)其重要性要小得多。

實(shí)際上,如果新制造商擁有性能良好且集成的工具幫助進(jìn)行外圍的編程,那么選擇新制造商的微控制器可能不比選擇來(lái)自傳統(tǒng)系列和制造商但具有重要新型外圍的微控制器更容易。工具和可配置性的強(qiáng)有力結(jié)合比擁有內(nèi)核方面的豐富經(jīng)驗(yàn)要重要得多。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15886

    瀏覽量

    175401
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1602

    瀏覽量

    48896
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電源系統(tǒng)設(shè)計(jì)中靈活性和可配置的好處

    。全定制式設(shè)計(jì),按照用戶(hù)的具體規(guī)格定制,包括功率、輸出數(shù)、外形尺寸、環(huán)境保護(hù)和其它任何必需參數(shù)。可配置或可編程電源。 通過(guò)選擇安裝在常用底座單元中的適當(dāng)模塊,可配置電源單元能夠支持多種電源規(guī)格,還支持
    發(fā)表于 04-07 15:06

    Silego 可配置混合信號(hào)集成電路出貨量突破30多億

    有效的硬件產(chǎn)品投入市場(chǎng)。CMIC產(chǎn)品平臺(tái)是擴(kuò)展的,它是由可配置集成電路、專(zhuān)有的設(shè)計(jì)軟件以及開(kāi)發(fā)工具包組成。我們的解決方案包括我們專(zhuān)有的CMIC平臺(tái)與交付模式,其中包括互動(dòng)設(shè)計(jì)支持、快
    發(fā)表于 08-28 15:53

    一種基于FPGA的可配置FFT IP核實(shí)現(xiàn)設(shè)計(jì)

    中,數(shù)字信號(hào)處理系統(tǒng)經(jīng)常要進(jìn)行高速、高精度的FFF運(yùn)算。現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)是一種定制集成電路,具有面向數(shù)字信號(hào)處理算法的物理結(jié)構(gòu)。用FPGA實(shí)現(xiàn)FFT處理器具有硬件系統(tǒng)簡(jiǎn)單、功耗低的優(yōu)點(diǎn)
    發(fā)表于 07-03 07:56

    SoPC目標(biāo)板Flash編程設(shè)計(jì)的創(chuàng)建及應(yīng)用介紹

    ,它是可編程片上系統(tǒng),即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要功能,并具備軟硬件系統(tǒng)可編程的能力;另一方面,它內(nèi)嵌處理器IP核,具有靈活的設(shè)計(jì)方式,用戶(hù)可根據(jù)需要隨意配置、構(gòu)建、裁剪處理器IP核。目前最具有代表
    發(fā)表于 07-29 06:58

    怎么實(shí)現(xiàn)SoPC目標(biāo)板Flash編程設(shè)計(jì)的創(chuàng)建?

    怎么實(shí)現(xiàn)SoPC目標(biāo)板Flash編程設(shè)計(jì)的創(chuàng)建?目標(biāo)板Flash編程設(shè)計(jì)在實(shí)際Flash編程中的應(yīng)用
    發(fā)表于 04-30 07:06

    淺談編程設(shè)計(jì)模式

    時(shí)候你就能夠理解在開(kāi)發(fā)初期對(duì)程序架構(gòu)的搭建重要。而架構(gòu)最基本熟知的其中就是設(shè)計(jì)模式,使用設(shè)計(jì)模式是為了重用代碼、讓代碼更容易被他人理解、保證代碼可靠、程序的重用。嘗試去研究?jī)?yōu)秀
    發(fā)表于 11-08 08:36

    分享一種用于Arduino的嵌入式編程設(shè)計(jì)工具

    工具包用于Arduino的嵌入式編程設(shè)計(jì)。This file exchange submission is an Embedded Coder custom target for Arduino.
    發(fā)表于 12-22 08:16

    可配置振蕩器,可配置振蕩器結(jié)構(gòu)原理是什么?

    可配置振蕩器,可配置振蕩器結(jié)構(gòu)原理是什么? 可配置振蕩器既具備可編程振蕩器交付時(shí)間短的優(yōu)勢(shì),又避免了其噪聲高的缺陷,其內(nèi)部結(jié)構(gòu)如圖2
    發(fā)表于 03-22 14:34 ?809次閱讀

    可配置處理器開(kāi)發(fā)原理

    Xtensa可配置處理器架構(gòu)是可配置擴(kuò)展的微處理器技術(shù),可以用于片上系統(tǒng)SOC設(shè)計(jì)?,F(xiàn)在的SOC需要更高系統(tǒng)性能、更高輸入/輸出帶寬和更高功耗利用率
    發(fā)表于 04-19 11:51 ?1929次閱讀
    <b class='flag-5'>可配置</b>處理器開(kāi)發(fā)原理

    C嵌入式編程設(shè)計(jì)模式.part1

    C嵌入式編程設(shè)計(jì)模式電子書(shū),第1部分的內(nèi)容。
    發(fā)表于 05-20 17:01 ?0次下載

    C嵌入式編程設(shè)計(jì)模式.part2

    C嵌入式編程設(shè)計(jì)模式電子書(shū),第2部分的內(nèi)容。
    發(fā)表于 05-20 17:01 ?0次下載

    SLPC可編程調(diào)節(jié)器的編程設(shè)計(jì)與操作

    SLPC可編程調(diào)節(jié)器的編程設(shè)計(jì)與操作
    發(fā)表于 12-11 23:15 ?0次下載

    一個(gè)arm的接口編程設(shè)計(jì)

    一個(gè)arm的接口編程設(shè)計(jì)
    發(fā)表于 10-24 09:22 ?10次下載
    一個(gè)arm的接口<b class='flag-5'>編程設(shè)計(jì)</b>

    可配置邏輯單元(CLC)配置工具的詳細(xì)中文資料概述

    本用戶(hù)指南旨在幫助讀者熟悉可配置邏輯單元(CLC)配置工具。文中將介紹如何安裝該工具,并通過(guò)創(chuàng)建曼徹斯特編碼器的應(yīng)用示例介紹如何
    發(fā)表于 06-08 10:28 ?24次下載
    <b class='flag-5'>可配置</b>邏輯單元(CLC)<b class='flag-5'>配置</b><b class='flag-5'>工具</b>的詳細(xì)中文資料概述

    電源管理集成電路PMIC的安全機(jī)制詳細(xì)概述

    電源管理集成電路(PMIC)穩(wěn)壓器具有可配置、可編程、高集成度和高效率的特點(diǎn);精確的上下電時(shí)
    的頭像 發(fā)表于 08-17 09:41 ?7201次閱讀
    電源管理<b class='flag-5'>集成</b>電路PMIC的安全機(jī)制詳細(xì)概述