作為一個從事硬件開發(fā)多年的理工老男人,見證了ARM從誕生到繁榮的整個歷程。取代51,開始獨霸江湖,我們似乎習(xí)慣了開發(fā)各類通用應(yīng)用就從ST的ARM系列里尋找合適的MCU。隨著國產(chǎn)替代的興起,慢慢出現(xiàn)了兆易創(chuàng)新、華大、國民技術(shù)、靈動微等一系列國產(chǎn)方案,尤以兆易創(chuàng)新最為成功,可以直接替代ST的部分MCU,軟件改動非常非常小。至此國產(chǎn)MCU進(jìn)入了一個內(nèi)卷的時代,沒有特色,只有特別低的價格。
知道我對MCU設(shè)計的各類小產(chǎn)品的應(yīng)用特別感興趣,朋友給我?guī)砹艘粋€數(shù)字迷你示波器,特別小巧,攜帶非常方便。單通道,標(biāo)注100Mhz帶寬,500MS采樣率。這樣高的采樣率必須使用高速AD及很高性能的處理器才行。出于好奇,我拆開了示波器,看看如何實現(xiàn)的。沒想到硬件出奇的簡單。另外一面為按鍵及320x240的彩屏。
從上圖看到,示波器探頭進(jìn)來經(jīng)過保護(hù)及衰減進(jìn)入RS8751(250MHz的rail to rail運(yùn)放),再到高速AD(雖然48pin的AD芯片被抹掉了mark號,但很容易就查到是ADI的AD9288),后面的數(shù)據(jù)處理及顯示用的是GD32F407。GD32F407最高運(yùn)行頻率168MHz, AD9288雙通道8bit 100Mhz高速AD。從各芯片的性能上來看,雖然AD9288用雙通道AD實現(xiàn)單通道采樣時可以達(dá)到2倍(200MS)的采樣速率,但是GD32F407能通過什么接口讀取這么快的數(shù)據(jù)呢?仔細(xì)看板子的PCB圖,AD出來的數(shù)據(jù)口DA0~7, DB0~7都接到了GD32F407的IO端口PORT D上。
很顯然,在這么高的速率下,GD407只能通過DMA的方式來不斷讀取端口D的數(shù)據(jù)。只要保證兩者的頻率一致,DMA就無需等待判斷,不斷讀取數(shù)據(jù)即可。不得不佩服設(shè)計者的智慧,GD407的性能發(fā)揮到了極致。這種方案以極低的價格實現(xiàn)了極高的性能,佩服。但是不管如何,200MS的理論采樣速度與產(chǎn)品實際標(biāo)的500MS還是有點差距的。測量GD407給AD9288的時鐘,在最高采樣率的時候為125Mhz,超過了AD9288的標(biāo)稱值,只有一種可能是超頻運(yùn)行。以上只是方案探討分析,有不同意見的可以留言發(fā)表,但不要亂噴,學(xué)習(xí)交流為主。
筆者由衷佩服設(shè)計者超高的軟硬件設(shè)計能力,這的確給普通的設(shè)計者設(shè)置了非常高的門檻。但是在如今國產(chǎn)MCU如雨后春筍,層出不窮出現(xiàn)的時候,是否能用性價比更高的MCU來更簡單地實現(xiàn)呢?
在ARM一統(tǒng)江湖的年代,RISC-V異軍突起,大有不斷蠶食ARM市場份額的苗頭。RISC-V是一個基于精簡指令集(RISC)原則的開源指令集架構(gòu)(ISA)。與大多數(shù)指令集相比,RISC-V指令集可以自由地用于任何目的,允許任何人設(shè)計、制造和銷售RISC-V芯片和軟件。
AGM Micro是領(lǐng)先的AGM32 32位MCU、可編程SoC、和異構(gòu)(MCU)計算芯片和方案提供商,是一家芯片設(shè)計公司,致力于為消費(fèi)電子、工控和AIoT中高量市場提供智能化的設(shè)計軟件和芯片系統(tǒng)。AGM創(chuàng)立于2010年,剛開始致力于FPGA/CPLD的研發(fā)推廣,在LED戶外屏驅(qū)動市場占有大半壁江山后,于3年前切入MCU市場,助力國產(chǎn)替代。FPGA是AGM的傳統(tǒng)優(yōu)勢,推出的MCU里也保留了這一部分,這就給開發(fā)人員提供了很大的想象和發(fā)揮空間。
AGM32F系列異構(gòu)芯片內(nèi)部框圖:
1、超高的性價比(超高主頻給了開發(fā)者更多的數(shù)據(jù)處理分析時間)
RISC-V開源內(nèi)核,省去了IP授權(quán)費(fèi)用,讓利給了終端用戶。248Mhz的超高主頻,是STM32F207/407望塵莫及的。熟悉ST MCU的設(shè)計者能直接看出,內(nèi)部的框圖是與STM32F027非常接近的,除此之外,還有2K的FPGA,相當(dāng)于4片ALTERA CPLD EPM570的容量。而這樣相當(dāng)于1片ST207+4片EPM570的AGM32芯片的售價也才1$多點,可以說性價比超高的。
2、靈活的自定義接口:(高速AD數(shù)據(jù)接口的實現(xiàn))
看一下數(shù)字示波器使用的高速AD9288的數(shù)據(jù)接口,你會發(fā)現(xiàn)這個接口非常簡單,每個時鐘的下降沿直接獲取數(shù)據(jù)即可,這個時鐘的速度高達(dá)100Mhz,普通的MCU還真沒有類似這種同步機(jī)制的接口來讀數(shù)據(jù)。這里如果用AGM32里的FPGA來實現(xiàn)就非常容易了,要不了幾句Verilog語言就實現(xiàn)了。這里就不貼代碼了,實在是太簡單了。
3、自定義的硬件加速模塊(實現(xiàn)示波器的觸發(fā)功能)
示波器的觸發(fā)要求電壓低于或者高于設(shè)置的電壓時,開始采樣后續(xù)的波形。這個電壓比較就可以交給FPGA來實現(xiàn)。采樣完電壓后,F(xiàn)PGA先不用馬上將數(shù)據(jù)發(fā)送給MCU, 而是直接進(jìn)行判斷,沒有滿足觸發(fā)電壓值之前丟棄所有的數(shù)據(jù),直到滿足觸發(fā)條件,可以用中斷的方式或者DMA流控的方式來實現(xiàn)。這個過程基本只要FPGA參與,MCU空閑等待即可。
4、FPGA/MCU相互協(xié)調(diào),最大程度發(fā)揮性能
FPGA最擅長的就是大數(shù)據(jù)量的并行采集分析處理。這125M(超頻)的高速AD數(shù)據(jù)采樣即使使用了DMA數(shù)據(jù)讀取,也會頻繁與MCU搶占AHB總線,導(dǎo)致MCU的運(yùn)行效率及其低下。如果用FPGA來做緩存就好很多了,F(xiàn)PGA在讀取數(shù)據(jù)后進(jìn)行緩存,當(dāng)達(dá)到一個DMA的burst長度后通知DMA來讀取,這樣會大幅減少AHB總線的搶占情況。使MCU有更多的時間來刷新波形的顯示,以及一些人機(jī)界面的操作。FPGA同時還能對采集到的數(shù)據(jù)進(jìn)行縮放、過濾等,盡可能幫助MCU完成波形顯示前的數(shù)據(jù)處理。
5、數(shù)字接口重定向(任何應(yīng)用,2層PCB輕松完成)
這是AGM32F407 100pin的引腳描述。這里面定義的PIN_XX可以用軟件定義成任意數(shù)字接口,如UART,SPI,IIC, PWM,IO等等。除了模擬部分,ADC, DAC,CMP,usb外,其它接口都能任意定義。這樣根據(jù)PCB布局來調(diào)整數(shù)字接口部分的順序,2層板就輕松搞定。這樣布出來的板子不但美觀大方,而且性能更加可靠,基本上不存在交叉走線的情況。
6、可以任意定義端口驅(qū)動能力
根據(jù)需要,可以任意定義每一個端口的驅(qū)動能力,大大加強(qiáng)了接口的抗干擾能力
7、防破解功能
很多產(chǎn)品在銷售之前會抹掉主控芯片的MARK號碼,防止競爭對手抄襲,包括筆者拆的這款示波器。這時候我們會根據(jù)外圍電路,比如SPI flash, IIC的eeprom, UART口等對應(yīng)于主控芯片的某幾個引腳來猜測驗證這是哪家的哪款型號。但如果你用了AGM的MCU,你會發(fā)現(xiàn)根本無從知曉。
啰里啰唆寫了挺多的,估計要被年輕人嫌棄了。筆者寫這個,可能會對原設(shè)計廠家有一定的影響,但這不是我的本意。我非常佩服設(shè)計者的設(shè)計開發(fā)能力,用GD407就實現(xiàn)了便攜式數(shù)字示波器的功能,可見功力何等深厚。就像武俠世界里的頂尖高手一樣,但是如果有一把趁手的兵器能助力你達(dá)到頂峰,你何不選擇一下呢?
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21748瀏覽量
603955 -
mcu
+關(guān)注
關(guān)注
146文章
17171瀏覽量
351499 -
數(shù)字示波器
+關(guān)注
關(guān)注
6文章
526瀏覽量
33610 -
RISC-V
+關(guān)注
關(guān)注
45文章
2292瀏覽量
46210
發(fā)布評論請先 登錄
相關(guān)推薦
評論