日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 玩轉(zhuǎn)嵌入式
[導(dǎo)讀]2021年4月初,一位熱衷于自制CPU的19歲極客小伙FilipSzkandera自己設(shè)計(jì)和制造出了32位功能性?RISC-VCPU,并構(gòu)建了與其他自制計(jì)算機(jī)不同的個(gè)人計(jì)算機(jī)「菠蘿一號(hào)(PineappleONE)」。從設(shè)計(jì)、調(diào)試和安裝CPU和所有硬件,F(xiàn)ilip整整花了兩年時(shí)間。Filip還受邀在東京舉辦的RISC-VDaysTokyo2021Spring上做了演示,他也成為了該會(huì)議自2017年舉辦以來最年輕的演示者。創(chuàng)建者FilipSzkandera。整體來看,「菠蘿一號(hào)」是由8塊正方形打印電路板垂直堆疊組成,每塊邊側(cè)高度約為10厘米,外加一個(gè)VGA顯示接口卡。一共使用了230多個(gè)集成電路,...

2021 年 4 月初,一位熱衷于自制 CPU 的 19 歲極客小伙 Filip Szkandera自己設(shè)計(jì)和制造出了 32 位功能性 RISC-V CPU,并構(gòu)建了與其他自制計(jì)算機(jī)不同的個(gè)人計(jì)算機(jī)「菠蘿一號(hào)Pineapple ONE)」。從設(shè)計(jì)、調(diào)試和安裝 CPU 和所有硬件,Filip 整整花了兩年時(shí)間。


Filip 還受邀在東京舉辦的 RISC-V Days Tokyo 2021 Spring 上做了演示,他也成為了該會(huì)議自 2017 年舉辦以來最年輕的演示者。




創(chuàng)建者 Filip Szkandera。

整體來看,「菠蘿一號(hào)」是由 8 塊正方形打印電路板垂直堆疊組成,每塊邊側(cè)高度約為 10 厘米,外加一個(gè) VGA 顯示接口卡。


一共使用了 230 多個(gè)集成電路,大多數(shù)是 74HCT 系列邏輯芯片。示意圖如下:




32 位 RISC-V CPU 的規(guī)格如下:


  • 最大時(shí)鐘速度:500kHz
  • 程序內(nèi)存:512kB
  • 內(nèi)存 512kB
  • 閃存 512kB
  • VGA 輸出:200×150px(黑白)
  • 2 個(gè) 8 位輸入端口
  • 2 個(gè) 8 位輸出端口
目前,「菠蘿一號(hào)」計(jì)算機(jī)支持的命令包括:HELLO、HI、PEEK 、POKE、SYSTEM INFORMATION、CLEAR 等。






此外雖然 CPU 的運(yùn)行速度僅有 500kHz,但玩?zhèn)€貪吃蛇游戲還是綽綽有余的:



Filip 在一篇博客中介紹了他從設(shè)計(jì) CPU、制作原型機(jī)、輸入 / 輸出端口、最終成品到軟件編程的技術(shù)細(xì)節(jié)(下文以第一人稱敘述)。
設(shè)計(jì)自己的 RISC-V CPU
此前,我在 Youtube 上發(fā)現(xiàn)了電子愛好者 Ben Eater 自制 CPU(構(gòu)建著名的 8 位計(jì)算機(jī)和經(jīng)典的 6502 微處理器)的相關(guān)教程,所以非常著迷,也就有了自制 CPU 的想法。


然而,我覺得對(duì)于 CPU 基礎(chǔ)知識(shí)了解的還不夠,因此又觀看了 Google Robotics 軟件工程師 Robert Baruch 的教程視頻,他只使用了基本邏輯元件構(gòu)建了 32 位 RISC-V CPU。


之后,我便開始在一個(gè)名為「Logisim-Evolution」的項(xiàng)目中制造自己的 RISC-V CPU。


我給自己設(shè)定的目標(biāo)是不使用任何微控制器或 FPGA,只使用基本的分立邏輯元件


編譯器支持的最基礎(chǔ) RISC-V CPU 必須包含擴(kuò)展「整數(shù)(I)」且至少為 32 位。


此外,我還需要安裝一個(gè) VGA(視頻圖形陣列)輸出卡。


我花了整整 6 個(gè)月的時(shí)間在 Logisim 項(xiàng)目上,終于得到一個(gè)可運(yùn)行的程序模擬。


下一步繪制所有模塊的原理圖、從 JLCPCB 網(wǎng)站上購(gòu)買所有的 PCB(印制電路板)并重新設(shè)計(jì)。


由于這是我首次購(gòu)買 PCB,擔(dān)心搞砸一切,于是決定在設(shè)計(jì)過程中分模塊處理,一次選購(gòu)幾個(gè),以免自己應(yīng)接不暇。


Logisim-Evolution 項(xiàng)目中的模擬原理圖如下:






經(jīng)過了兩輪設(shè)計(jì),最后只剩下幾個(gè)模塊需要處理,其中一個(gè)是直接生成器(immediate generator)。


當(dāng)我絞盡腦汁想將它從模擬轉(zhuǎn)化為合適的原理圖時(shí),發(fā)現(xiàn)自己犯了一個(gè)致命錯(cuò)誤:完全不清楚模擬是如何運(yùn)行的。


幸運(yùn)的是,修復(fù)起來也沒有那么困難,于是對(duì)已經(jīng)制作完成的 PCB 做了改進(jìn)。




原型機(jī)
接下來,我將開源電子原型平臺(tái) Arduino 連接到每個(gè) PCB 的輸入端、同時(shí)監(jiān)控輸出端并與預(yù)測(cè)端(prediction)做對(duì)比,從而對(duì)這些 PCB 進(jìn)行測(cè)試。設(shè)置好之后,一切就可以自動(dòng)運(yùn)行了。


每次測(cè)試都至少持續(xù)數(shù)個(gè)小時(shí)。


當(dāng)我準(zhǔn)備好將所有 PCB 整合到一塊時(shí),模塊也已經(jīng)間隔地安裝在了木頭上,并使用 3D 打印墊片(spacer)來固定。接著上傳了一個(gè)測(cè)試程序并開始測(cè)試。


原型機(jī)示意圖如下:





Arduino 平臺(tái)僅用來調(diào)試,沒有在最終成品中使用。
盡管我單獨(dú)測(cè)試了每個(gè) PCB,但首次嘗試還是失敗了,這不足為奇。我又不得不花費(fèi)大量時(shí)間來找失敗的原因,找出了一些錯(cuò)誤,如很難發(fā)現(xiàn)的時(shí)序問題。
輸入 / 輸出端口
我構(gòu)建的 RISC-V CPU 擁有兩個(gè) 8 位輸入端口和兩個(gè) 8 位輸出端口,你可以通過 RJ50 連接器在前板上訪問。此外,頂部模塊上有一個(gè) 7 段式顯示器(7-segment display),它與一個(gè)可以通過程序訪問的寄存器相連。
至于與 VGA 顯示器的連接,我受 Ben Eater 的啟發(fā)構(gòu)建了一個(gè) VGA 卡。VGA 的輸出分辨率是 200×150 像素,黑白顯示。雖然我想實(shí)現(xiàn)彩色顯示,但需要使用大型 V-RAM,太貴了,也就放棄了。
下板(board)將顯示存儲(chǔ)在 EEPROM(帶電可擦可編程只讀存儲(chǔ)器,型號(hào) 39SF010A)中的靜態(tài)圖像。我在最終成品中使用到了雙端口 SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)。



我還構(gòu)建了一些演示用的 I/O 模塊,它們?cè)谀┒硕加?RJ50 連接器。


PS/2 解碼器是買的現(xiàn)成的,我沒有時(shí)間自己制作。
最終成品
讓原型機(jī)運(yùn)行不太容易,在大約 5 個(gè)月的時(shí)間后,我終于成功了。
我又重新設(shè)計(jì)了所有的 PCB,修復(fù)錯(cuò)誤,并將這些 PCB 以塔狀結(jié)構(gòu)堆疊,所以每個(gè)模塊僅用針座(pinheader)相連接。重新設(shè)計(jì) PCB 大約花了 3 個(gè)月的時(shí)間,然后對(duì)最終的 PCB 進(jìn)行有序排列。
此外,我還設(shè)計(jì)并使用 Prusa i3 3D 打印機(jī)打印了一個(gè)圓柱體外殼,足以容納所有的 PCB 和 I/O 連接器,這樣也可以將鍵盤和 VGA 顯示器直接連接到計(jì)算機(jī)。


最終成品,左:無圓柱體外殼,右:安裝圓柱體外殼。
最終成品的組件拆卸:



方框圖:



編程
最后,在經(jīng)過了數(shù)百小時(shí)的設(shè)計(jì)、焊接和調(diào)試,我終于看到了成功的曙光。在好友 Jan Vykydal 的幫助下,我設(shè)置了一個(gè)兼容 RISC-V 且運(yùn)行良好的編譯器,使用 C 語(yǔ)言編寫了一些系統(tǒng)軟件和 demo 程序。這個(gè)編譯器可以生成機(jī)器代碼,我使用一個(gè) Python 腳本來接收代碼并 flash 入 CPU 內(nèi)存。



我還創(chuàng)建了一個(gè)具有一些有用函數(shù)的庫(kù),代碼如下:



Pineshell:利用這個(gè)庫(kù),我創(chuàng)建了一個(gè)簡(jiǎn)單的 shell 程序,這樣可以通過「與其中一個(gè)輸入端口相連的 PS/2 鍵盤」來實(shí)現(xiàn)與該程序的交互。我使用帶有模塊的 PS/2 鍵盤將輸入信號(hào)解碼為 8 位。



大功告成!



你管這破玩意叫 CPU ?
C語(yǔ)言算法:希爾排序,圖解
return 1還是return 0?不必太較真
視頻:純手工飛線,自制CPU

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉