文章摘要: 雲梯物聯網系統能夠在電梯眾多複雜的活動場景中通過深度學習和智慧演算法分析準確識別出電梯困人事件並主動救援雲梯就是應用在我們每天都會用到的出行工具——電梯這個場景下的物聯網系統
這是和@ HarryChen 在這學期數字邏輯課上做的專案。主要是利用FPGA模擬一個終端。專案放在 https://github.com/miskcoo/fpga-virtual-console 上。
現在大部分的作業系統都是內建有虛擬終端,就像Linux下的xterm、gnome-terminal。但是,在最初控制檯和計算機是相互獨立的。控制檯一般是由鍵盤和螢幕組成,鍵盤將使用者輸入傳入計算機,計算機將輸出傳送顯示給使用者。這整個通訊的過程是有一套標準來規定的,例如VT100就是一個早期的標準,更進一步有VT220、xterm-256color等。由於計算機回顯的資料並不是單純地整個螢幕的畫素資料,而是更高層次的類似控制命令的內容,例如表示游標移動到某個位置,在某個位置插入某個字元,刪除某一行的字元等。這些標準主要是定義了計算機發送回的這些控制命令的行為,和鍵盤傳送給計算機的控制命令的行為。
我們做的這個專案就是一個物理上的終端!通過FPGA接受鍵盤的輸入,將輸入轉化為控制命令通過串列埠輸出給計算機。同時也通過串列埠接受計算機傳回的控制命令名且解析、執行,修改對應位置的字元,再將字元進行渲染通過VGA輸出到螢幕。
主要支援的標準是VT220,以及xterm-256color下大部分影響最終顯示效果的指令,對於大部分linux下的程式的輸出都可以正確地解析。同時串列埠速度提升到了3M可以支援以大約170fps的幀率播放黑白字元視屏,和約30fps的幀率播放彩色字元視屏。簡單來說,就是正常終端可以做的事情這個物理終端都可以做到。
比如下面就是一個呼叫筆記本上攝像頭的例子(
我真的不是直接把VGA連到電腦上了
),這時候串列埠速度還沒那麼快所以看起來有點卡……
具體的細節我就不打算說了,文件裡都寫得非常明白。
https://github.com/miskcoo/fpga-virtual-console/raw/v1.0/doc/report.pdf