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