大俠好,歡迎來(lái)到FPGA技術(shù)江湖,江湖偌大,相見即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡?!爸缶蒲詺g”進(jìn)入IC技術(shù)圈,這里有近100個(gè)IC技術(shù)公眾號(hào)。
今天給大俠帶來(lái)在FPAG技術(shù)交流群里平時(shí)討論的問(wèn)題答疑合集(六),以后還會(huì)多推出本系列,話不多說(shuō),上貨。
Q1:深入應(yīng)用FPGA技術(shù),對(duì)于人形機(jī)器人的實(shí)用化可能產(chǎn)生哪些影響?為什么?
這里說(shuō)的深入應(yīng)用,不是指在9年前已經(jīng)在工業(yè)機(jī)器人中實(shí)用化的 “用FPGA實(shí)現(xiàn)伺服驅(qū)動(dòng)、驅(qū)控一體”,而是指將FPGA的應(yīng)用范圍拓展到人形機(jī)器人的整個(gè)控制系統(tǒng)。
具體而言是:
發(fā)揮FPGA高速、并行、運(yùn)算及引腳資源極其豐富、定時(shí)精確(納秒級(jí))、硬件直接實(shí)現(xiàn)算法、操作數(shù)存取機(jī)制簡(jiǎn)單且高效、功能極其靈活、開發(fā)調(diào)試手段先進(jìn)的優(yōu)點(diǎn),將FPGA用于實(shí)現(xiàn)(以及協(xié)助CPU實(shí)現(xiàn))人形機(jī)器人控制系統(tǒng)之中基于多路高速并行協(xié)同采樣、高速并行運(yùn)行多路大運(yùn)算量協(xié)作算法、運(yùn)算結(jié)果的多通道精準(zhǔn)協(xié)同輸出、具備強(qiáng)實(shí)時(shí)性(低延遲量+低延遲抖動(dòng)量)需求的高性能復(fù)雜反饋控制算法。
典型算法包括:
基于多個(gè)、多模態(tài)傳感器對(duì)環(huán)境/本體/任務(wù)對(duì)象進(jìn)行實(shí)時(shí)建模,基于對(duì)模型的實(shí)時(shí)結(jié)算獲得環(huán)境/本體/任務(wù)對(duì)象的特征信息;
運(yùn)用上述特征信息、基于需要實(shí)現(xiàn)的任務(wù)目標(biāo)(例如用洗衣機(jī)洗衣服)對(duì)人形機(jī)器人本體各肢節(jié)進(jìn)行運(yùn)動(dòng)規(guī)劃;
運(yùn)用上述特征信息對(duì)環(huán)境/本體/任務(wù)對(duì)象的安全性做出判斷、基于判斷結(jié)果對(duì)人形機(jī)器人本體各肢節(jié)進(jìn)行運(yùn)動(dòng)規(guī)劃;
基于上述運(yùn)動(dòng)規(guī)劃的結(jié)果,對(duì)各關(guān)節(jié)電機(jī)進(jìn)行運(yùn)動(dòng)控制;
以及,以FPGA為核心實(shí)現(xiàn)人形機(jī)器人控制系統(tǒng)中數(shù)據(jù)/指令/狀態(tài)的傳輸信道,完成多通道數(shù)據(jù)流的高帶寬并發(fā)傳輸、精準(zhǔn)協(xié)同傳輸、強(qiáng)實(shí)時(shí)性(低延遲量+低延遲抖動(dòng)量)傳輸。
A:深入應(yīng)用 FPGA 技術(shù)對(duì)于人形機(jī)器人的實(shí)用化可能產(chǎn)生以下重要影響,拙見,僅供參考:
1. 性能提升:FPGA 高速、并行的運(yùn)算能力能夠極大地提高人形機(jī)器人控制系統(tǒng)中復(fù)雜算法的執(zhí)行速度。例如,對(duì)于基于多個(gè)、多模態(tài)傳感器的實(shí)時(shí)建模和特征信息提取等大運(yùn)算量任務(wù),能夠?qū)崿F(xiàn)更快速和精準(zhǔn)的處理,從而提升機(jī)器人對(duì)環(huán)境和自身狀態(tài)的感知能力。
2. 實(shí)時(shí)響應(yīng)優(yōu)化:納秒級(jí)的定時(shí)精確性以及強(qiáng)實(shí)時(shí)性(低延遲量和低延遲抖動(dòng)量)的特點(diǎn),有助于人形機(jī)器人在執(zhí)行任務(wù)時(shí)做出更及時(shí)、更穩(wěn)定的響應(yīng)。這對(duì)于需要快速?zèng)Q策和動(dòng)作調(diào)整的場(chǎng)景,如避免碰撞、執(zhí)行緊急任務(wù)等,至關(guān)重要。
3. 運(yùn)動(dòng)控制精度增強(qiáng):在對(duì)各關(guān)節(jié)電機(jī)的運(yùn)動(dòng)控制方面,F(xiàn)PGA 能夠?qū)崿F(xiàn)更精確和協(xié)同的控制,提高機(jī)器人運(yùn)動(dòng)的準(zhǔn)確性和平滑性,使其動(dòng)作更加自然和高效。
4. 系統(tǒng)靈活性和可擴(kuò)展性:豐富的引腳資源和靈活的功能配置使機(jī)器人的控制系統(tǒng)能夠更容易地適應(yīng)不同的任務(wù)需求和硬件配置變化。當(dāng)需要添加新的傳感器或執(zhí)行新的任務(wù)時(shí),可以通過(guò)重新編程 FPGA 來(lái)實(shí)現(xiàn),而無(wú)需大規(guī)模的硬件改動(dòng)。
5. 數(shù)據(jù)傳輸效率提高:以 FPGA 為核心構(gòu)建的數(shù)據(jù)傳輸信道能夠?qū)崿F(xiàn)多通道數(shù)據(jù)流的高帶寬并發(fā)、精準(zhǔn)協(xié)同和強(qiáng)實(shí)時(shí)傳輸,確保機(jī)器人各個(gè)部分之間的信息交流快速、準(zhǔn)確,提高整個(gè)系統(tǒng)的協(xié)同工作效率。
6. 整體可靠性提升:硬件直接實(shí)現(xiàn)算法減少了軟件層面的復(fù)雜性和潛在的錯(cuò)誤,提高了系統(tǒng)的穩(wěn)定性和可靠性,降低了故障發(fā)生的概率。
等等……
綜上所述,深入應(yīng)用 FPGA 技術(shù)有望在性能、實(shí)時(shí)性、精度、靈活性和可靠性等多個(gè)關(guān)鍵方面推動(dòng)人形機(jī)器人的實(shí)用化進(jìn)程,使其能夠更好地適應(yīng)復(fù)雜多變的實(shí)際應(yīng)用場(chǎng)景。
Q2:SDRAM掉電能保持多長(zhǎng)時(shí)間?
A:SDRAM是一種易失性存儲(chǔ)器,掉電后數(shù)據(jù)無(wú)法長(zhǎng)期保持。
SDRAM 內(nèi)部的數(shù)據(jù)是通過(guò)電容來(lái)存儲(chǔ)的,而電容器件會(huì)隨著時(shí)間流逝慢慢放電(存在漏電流),導(dǎo)致數(shù)據(jù)丟失。
一般來(lái)說(shuō),SDRAM 掉電后數(shù)據(jù)的保持時(shí)間在幾秒鐘到幾分鐘不等。具體的保持時(shí)間會(huì)受到多種因素的影響,例如環(huán)境溫度等。在低溫環(huán)境下,數(shù)據(jù)可能可以保存相對(duì)較長(zhǎng)的時(shí)間,比如 1 個(gè)小時(shí)左右,但這也不是絕對(duì)的,而且長(zhǎng)時(shí)間的低溫保存并不常見。
需要注意的是,SDRAM 通常用于需要快速讀寫數(shù)據(jù)的場(chǎng)合,例如計(jì)算機(jī)的內(nèi)存。在實(shí)際應(yīng)用中,為了避免數(shù)據(jù)丟失,系統(tǒng)通常會(huì)在掉電前采取措施將重要數(shù)據(jù)保存到非易失性存儲(chǔ)器(如硬盤、閃存等)中,或者使用不間斷電源(UPS)來(lái)維持系統(tǒng)的供電,以確保數(shù)據(jù)的安全性和完整性。
如果對(duì)數(shù)據(jù)的保存有較高要求,建議使用具有非易失性的存儲(chǔ)介質(zhì)來(lái)長(zhǎng)期存儲(chǔ)重要數(shù)據(jù),而不僅僅依賴 SDRAM 的短暫數(shù)據(jù)保持能力。
Q3:FPGA 中常用的編程語(yǔ)言有哪些?
A:在 FPGA 開發(fā)中常用的編程語(yǔ)言主要有以下三種:
1. Verilog:這是一種硬件描述語(yǔ)言,廣泛用于數(shù)字電路的設(shè)計(jì)和建模。它的語(yǔ)法類似于 C 語(yǔ)言,簡(jiǎn)潔明了,容易學(xué)習(xí)和理解。
2. VHDL:也是一種硬件描述語(yǔ)言,具有嚴(yán)格的語(yǔ)法和結(jié)構(gòu),適用于大型、復(fù)雜的設(shè)計(jì)項(xiàng)目。
3. SystemVerilog:是 Verilog 的擴(kuò)展版本,增加了許多新的特性和功能,如面向?qū)ο缶幊?、斷言等,提高了設(shè)計(jì)的效率和可維護(hù)性。
這三種語(yǔ)言是 FPGA 開發(fā)中最為常用的編程語(yǔ)言,開發(fā)者可以根據(jù)項(xiàng)目需求和個(gè)人偏好選擇適合的語(yǔ)言。
Q4:異步FIFO地址從快時(shí)鐘域同步到慢時(shí)鐘域的問(wèn)題,誰(shuí)能解答一下???
我想問(wèn)一下異步FIFO地址從快時(shí)鐘域同步到慢時(shí)鐘域,兩個(gè)問(wèn)題。
1. 是多bit打拍,這樣會(huì)不會(huì)有時(shí)延?
2. 從快時(shí)鐘到慢時(shí)鐘,會(huì)不會(huì)漏采樣,就是快時(shí)鐘域的地址會(huì)被扣掉?
A:1. 多 bit 打拍會(huì)有時(shí)延。通過(guò)多 bit 打拍的方式進(jìn)行時(shí)鐘域同步,必然會(huì)引入一定的時(shí)延。但這是為了確保在不同時(shí)鐘域之間安全地傳遞數(shù)據(jù)所采取的必要措施。
2. 從快時(shí)鐘域到慢時(shí)鐘域,存在漏采樣的可能性。在快時(shí)鐘域中地址變化較快,如果慢時(shí)鐘的采樣頻率跟不上快時(shí)鐘域地址的變化頻率,就可能出現(xiàn)漏采樣的情況。
為了減少漏采樣的風(fēng)險(xiǎn),通常會(huì)采用一些特殊的設(shè)計(jì)技巧,比如使用格雷碼來(lái)表示地址,或者增加一些握手信號(hào)來(lái)確保數(shù)據(jù)的準(zhǔn)確傳輸。
今天先整理四個(gè)問(wèn)題答疑,后續(xù)還會(huì)持續(xù)推出本系列。